Bảo mật thiết bị Android

Android tích hợp các tính năng bảo mật hàng đầu trong ngành và hợp tác với các nhà phát triển cũng như nhà triển khai thiết bị để đảm bảo an toàn cho nền tảng và hệ sinh thái Android. Mô hình bảo mật mạnh mẽ là yếu tố thiết yếu để tạo ra một hệ sinh thái mạnh mẽ của các ứng dụng và thiết bị được xây dựng trên và xung quanh nền tảng Android, đồng thời được các dịch vụ đám mây hỗ trợ. Do đó, trong toàn bộ vòng đời phát triển, Android đã phải tuân thủ một chương trình bảo mật nghiêm ngặt.

Android được thiết kế để mang tính mở. Các ứng dụng Android sử dụng phần cứng và phần mềm tiên tiến, cũng như dữ liệu cục bộ và dữ liệu được phân phát, được hiển thị thông qua nền tảng để mang lại sự đổi mới và giá trị cho người tiêu dùng. Để hiện thực hoá giá trị đó, nền tảng này cung cấp một môi trường ứng dụng bảo vệ tính bảo mật, tính toàn vẹn và khả năng sử dụng của người dùng, dữ liệu, ứng dụng, thiết bị và mạng.

Để bảo mật một nền tảng mở, bạn cần có một cấu trúc bảo mật mạnh mẽ và các chương trình bảo mật nghiêm ngặt. Android được thiết kế với tính năng bảo mật nhiều lớp vừa linh hoạt để hỗ trợ nền tảng mở vừa bảo vệ tất cả người dùng nền tảng. Để biết thông tin về cách báo cáo vấn đề bảo mật và quy trình cập nhật, hãy xem phần Bản cập nhật và tài nguyên bảo mật.

Android được thiết kế cho nhà phát triển. Các biện pháp kiểm soát bảo mật được thiết kế để giảm bớt gánh nặng cho nhà phát triển. Nhà phát triển am hiểu về bảo mật có thể dễ dàng làm việc và dựa vào các biện pháp kiểm soát bảo mật linh hoạt. Nhà phát triển ít am hiểu về bảo mật hơn được bảo vệ bằng chế độ cài đặt mặc định an toàn.

Ngoài việc cung cấp một nền tảng ổn định để xây dựng, Android còn hỗ trợ thêm cho nhà phát triển theo một số cách. Nhóm bảo mật của Android tìm kiếm các lỗ hổng tiềm ẩn trong ứng dụng và đề xuất cách khắc phục các vấn đề đó. Đối với các thiết bị có Google Play, Dịch vụ Play sẽ cung cấp bản cập nhật bảo mật cho các thư viện phần mềm quan trọng, chẳng hạn như OpenSSL, được dùng để bảo mật hoạt động giao tiếp của ứng dụng. Nhóm bảo mật Android đã phát hành một công cụ kiểm thử SSL (nogotofail) giúp nhà phát triển tìm thấy các vấn đề bảo mật tiềm ẩn trên bất kỳ nền tảng nào mà họ đang phát triển.

Android cũng tận dụng tính năng hỗ trợ phần cứng cơ bản để bảo mật. Ví dụ: công nghệ ARM TrustZone được dùng để cung cấp bộ nhớ bảo mật cho khoá mã hoá cũng như chứng thực tính toàn vẹn của quá trình khởi động. DICE được dùng để đo lường chương trình cơ sở được tải trước khi khởi động Android. Điều này cho phép xác minh từ xa rằng phần mềm cơ sở không bị ảnh hưởng bởi các lỗ hổng nghiêm trọng đã biết có thể được khai thác để gây hại cho cả nhà phát triển và người dùng.

Bạn có thể xem thêm thông tin dành cho nhà phát triển ứng dụng Android trên developer.android.com.

Android được thiết kế cho người dùng. Người dùng có thể xem các quyền mà mỗi ứng dụng yêu cầu và kiểm soát các quyền đó. Thiết kế này dựa trên giả định rằng kẻ tấn công sẽ cố gắng thực hiện các cuộc tấn công phổ biến, chẳng hạn như tấn công bằng kỹ thuật xã hội để thuyết phục người dùng thiết bị cài đặt phần mềm độc hại và tấn công các ứng dụng bên thứ ba trên Android. Android được thiết kế để vừa giảm khả năng xảy ra các cuộc tấn công này, vừa hạn chế đáng kể tác động của cuộc tấn công trong trường hợp cuộc tấn công thành công. Tính năng bảo mật của Android tiếp tục hoạt động sau khi thiết bị đến tay người dùng. Android hợp tác với các đối tác và công chúng để cung cấp bản vá cho mọi thiết bị Android đang tiếp tục nhận bản cập nhật bảo mật.

Người dùng cuối có thể xem thêm thông tin trong Trung tâm trợ giúp của Nexus, Trung tâm trợ giúp của Pixel hoặc trung tâm trợ giúp của nhà sản xuất thiết bị.

Trang này trình bày các mục tiêu của chương trình bảo mật Android, mô tả các nguyên tắc cơ bản của cấu trúc bảo mật Android và trả lời các câu hỏi liên quan nhất cho các kiến trúc sư hệ thống và nhà phân tích bảo mật. Tài liệu này tập trung vào các tính năng bảo mật của nền tảng cốt lõi của Android và không thảo luận về các vấn đề bảo mật dành riêng cho các ứng dụng cụ thể, chẳng hạn như các vấn đề liên quan đến trình duyệt hoặc ứng dụng SMS.

Thông tin khái quát

Android cung cấp một nền tảng nguồn mở và môi trường ứng dụng cho các thiết bị di động.

Các phần và trang dưới đây mô tả các tính năng bảo mật của nền tảng Android. Hình 1 minh hoạ các thành phần bảo mật và những điểm cần cân nhắc ở nhiều cấp của ngăn xếp phần mềm Android. Mỗi thành phần giả định rằng các thành phần bên dưới được bảo mật đúng cách. Ngoại trừ một lượng nhỏ mã hệ điều hành Android chạy dưới quyền root, tất cả mã trên hạt nhân Linux đều bị Hộp cát ứng dụng hạn chế.

Hình 1: Ngăn xếp phần mềm Android

Hình 1. Ngăn xếp phần mềm Android

Các thành phần chính của nền tảng Android bao gồm:

  • Phần cứng thiết bị: Android chạy trên nhiều cấu hình phần cứng, bao gồm điện thoại di động, máy tính bảng, đồng hồ, ô tô, TV thông minh, hộp trò chơi OTT và hộp giải mã tín hiệu số. Android không phụ thuộc vào bộ xử lý, nhưng tận dụng một số tính năng bảo mật dành riêng cho phần cứng, chẳng hạn như ARM eXecute-Never.
  • Hệ điều hành Android: Hệ điều hành cốt lõi được xây dựng dựa trên nhân Linux. Tất cả tài nguyên thiết bị, chẳng hạn như chức năng máy ảnh, dữ liệu GPS, chức năng Bluetooth, chức năng điện thoại và kết nối mạng đều được truy cập thông qua hệ điều hành.
  • Android Application Runtime (Android Runtime): Ứng dụng Android thường được viết bằng ngôn ngữ lập trình Java và chạy trong Android Runtime (ART). Tuy nhiên, nhiều ứng dụng, bao gồm cả các dịch vụ và ứng dụng cốt lõi của Android, là ứng dụng gốc hoặc chứa thư viện gốc. Cả ART và ứng dụng gốc đều chạy trong cùng một môi trường bảo mật, nằm trong Hộp cát ứng dụng. Ứng dụng sẽ có một phần chuyên dụng của hệ thống tệp để ghi dữ liệu riêng tư, bao gồm cả cơ sở dữ liệu và tệp thô.

Ứng dụng Android mở rộng hệ điều hành Android cốt lõi. Có hai nguồn chính cho ứng dụng:

  • Ứng dụng cài sẵn: Android bao gồm một bộ ứng dụng cài sẵn bao gồm điện thoại, email, lịch, trình duyệt web và danh bạ. Các ứng dụng này hoạt động như ứng dụng người dùng và cung cấp các chức năng chính của thiết bị mà các ứng dụng khác có thể truy cập. Ứng dụng cài đặt trước có thể là một phần của nền tảng Android nguồn mở hoặc có thể do nhà sản xuất thiết bị phát triển cho một thiết bị cụ thể.
  • Ứng dụng do người dùng cài đặt: Android cung cấp một môi trường phát triển mở hỗ trợ mọi ứng dụng bên thứ ba. Google Play cung cấp cho người dùng hàng trăm nghìn ứng dụng.

Dịch vụ bảo mật của Google

Google cung cấp một bộ dịch vụ dựa trên đám mây dành cho các thiết bị Android tương thích với Dịch vụ Google dành cho thiết bị di động. Mặc dù không thuộc Dự án nguồn mở Android (AOSP), nhưng các dịch vụ này có trên nhiều thiết bị Android. Để biết thêm thông tin về một số dịch vụ này, hãy xem bài viết Tổng quan về năm 2018 của Nhóm bảo mật Android.

Các dịch vụ bảo mật chính của Google là:

  • Google Play: Google Play là một tập hợp các dịch vụ cho phép người dùng khám phá, cài đặt và mua ứng dụng trên thiết bị Android hoặc trên web. Google Play giúp nhà phát triển dễ dàng tiếp cận người dùng Android và khách hàng tiềm năng. Google Play cũng cung cấp dịch vụ xem xét của cộng đồng, xác minh giấy phép ứng dụng, quét bảo mật ứng dụng và các dịch vụ bảo mật khác.
  • Bản cập nhật Android: Dịch vụ cập nhật Android cung cấp các tính năng mới và bản cập nhật bảo mật cho một số thiết bị Android, bao gồm cả bản cập nhật qua web hoặc qua mạng không dây (OTA).
  • Dịch vụ ứng dụng: Các khung cho phép ứng dụng Android sử dụng các tính năng trên đám mây, chẳng hạn như (sao lưu) dữ liệu và chế độ cài đặt ứng dụng cũng như tính năng nhắn tin từ đám mây sang thiết bị (C2DM) để nhắn tin đẩy.
  • Xác minh ứng dụng: Cảnh báo hoặc tự động chặn quá trình cài đặt ứng dụng gây hại, đồng thời liên tục quét các ứng dụng trên thiết bị, cảnh báo hoặc xoá ứng dụng gây hại.
  • SafetyNet: Một hệ thống phát hiện xâm nhập bảo vệ quyền riêng tư để hỗ trợ Google theo dõi, giảm thiểu các mối đe doạ bảo mật đã biết và xác định các mối đe doạ bảo mật mới.
  • Chứng thực SafetyNet: API của bên thứ ba để xác định xem thiết bị có tương thích với CTS hay không. Chứng thực cũng có thể xác định ứng dụng Android đang giao tiếp với máy chủ ứng dụng.
  • Trình quản lý thiết bị Android: Một ứng dụng webứng dụng Android để định vị thiết bị bị mất hoặc bị đánh cắp.

Tổng quan về chương trình bảo mật

Các thành phần chính của Chương trình bảo mật Android bao gồm:

  • Xem xét thiết kế: Quá trình bảo mật của Android bắt đầu từ sớm trong vòng đời phát triển bằng cách tạo một mô hình và thiết kế bảo mật phong phú và có thể định cấu hình. Mỗi tính năng chính của nền tảng đều được các tài nguyên bảo mật và kỹ thuật xem xét, với các biện pháp kiểm soát bảo mật thích hợp được tích hợp vào cấu trúc của hệ thống.
  • Kiểm thử xâm nhập và đánh giá mã: Trong quá trình phát triển nền tảng, các thành phần nguồn mở và do Android tạo đều phải trải qua quy trình đánh giá bảo mật nghiêm ngặt. Các quy trình đánh giá này do Nhóm bảo mật Android, Nhóm kỹ thuật bảo mật thông tin của Google và các chuyên gia tư vấn bảo mật độc lập thực hiện. Mục tiêu của các bài đánh giá này là xác định các điểm yếu và lỗ hổng có thể xảy ra trước khi phát hành các bản phát hành chính, cũng như mô phỏng các loại phân tích do các chuyên gia bảo mật bên ngoài thực hiện sau khi phát hành.
  • Nguồn mở và đánh giá của cộng đồng: AOSP cho phép mọi bên quan tâm đánh giá rộng rãi về tính bảo mật. Android cũng sử dụng các công nghệ nguồn mở đã trải qua quy trình đánh giá bảo mật bên ngoài đáng kể, chẳng hạn như nhân hệ điều hành Linux. Google Play cung cấp một diễn đàn để người dùng và các công ty cung cấp thông tin trực tiếp cho người dùng về các ứng dụng cụ thể.
  • Phản hồi sự cố: Ngay cả khi có các biện pháp phòng ngừa này, các vấn đề bảo mật vẫn có thể xảy ra sau khi vận chuyển. Đó là lý do dự án Android đã tạo ra một quy trình phản hồi bảo mật toàn diện. Các thành viên toàn thời gian của nhóm bảo mật Android theo dõi cộng đồng bảo mật chung và dành riêng cho Android để thảo luận về các lỗ hổng tiềm ẩn và xem xét lỗi bảo mật được gửi trên cơ sở dữ liệu lỗi của Android. Khi phát hiện các vấn đề hợp lệ, nhóm Android sẽ có quy trình phản hồi để giảm thiểu nhanh chóng các lỗ hổng nhằm đảm bảo giảm thiểu tối đa rủi ro tiềm ẩn cho tất cả người dùng Android. Các phản hồi được hỗ trợ trên đám mây này có thể bao gồm việc cập nhật nền tảng Android (bản cập nhật AOSP), xoá ứng dụng khỏi Google Play và xoá ứng dụng khỏi thiết bị trong trường.
  • Bản cập nhật bảo mật hằng tháng: Nhóm bảo mật Android cung cấp bản cập nhật hằng tháng cho các thiết bị Android của Google và tất cả đối tác sản xuất thiết bị của chúng tôi.

Cấu trúc bảo mật của nền tảng

Android hướng đến việc trở thành hệ điều hành an toàn và hữu dụng nhất cho các nền tảng di động bằng cách sử dụng lại các chế độ kiểm soát bảo mật hệ điều hành truyền thống để:

  • Bảo vệ ứng dụng và dữ liệu người dùng
  • Bảo vệ tài nguyên hệ thống (bao gồm cả mạng)
  • Cung cấp tính năng tách biệt ứng dụng với hệ thống, các ứng dụng khác và người dùng

Để đạt được các mục tiêu này, Android cung cấp các tính năng bảo mật chính sau:

  • Bảo mật mạnh mẽ ở cấp hệ điều hành thông qua nhân Linux
  • Hộp cát ứng dụng bắt buộc cho tất cả ứng dụng
  • Giao tiếp liên quy trình bảo mật
  • Ký ứng dụng
  • Quyền do ứng dụng xác định và quyền do người dùng cấp