Android tích hợp các tính năng bảo mật đầu ngành và hợp tác với các nhà phát triển cũng như nhà sản xuất thiết bị để đảm bảo nền tảng và hệ sinh thái Android luôn an toàn. Một mô hình bảo mật mạnh mẽ là điều cần thiết để tạo ra một hệ sinh thái mạnh mẽ gồm 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 theo một chương trình bảo mật nghiêm ngặt.
Android được thiết kế để có mã nguồn 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 cung cấp thông qua nền tảng để mang lại sự đổi mới và giá trị cho người tiêu dùng. Để nhận ra giá trị đó, nền tảng này cung cấp một môi trường ứng dụng giúp bảo vệ tính bảo mật, tính toàn vẹn và khả năng truy cập 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 vững chắc và các chương trình bảo mật nghiêm ngặt. Android được thiết kế với nhiều lớp bảo mật đủ linh hoạt để hỗ trợ một nền tảng mở trong khi vẫn bảo vệ tất cả người dùng của nền tảng này. Để 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ó mục đích 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 nhiều cách. Nhóm bảo mật 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 những vấn đề đó. Đối với các thiết bị có Google Play, Dịch vụ Play cung cấp các 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. Thư viện này được dùng để bảo mật thông tin liên lạc 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) nhằm giúp các nhà phát triển tìm ra 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 khả 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 các khoá mã hoá cũng như chứng thực tính toàn vẹn khi 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 không bị ảnh hưởng bởi các lỗ hổng nghiêm trọng đã biết. Những lỗ hổng này có thể bị khai thác để gây hại cho cả nhà phát triển và người dùng.
Nhà phát triển ứng dụng Android có thể xem thêm thông tin trên trang 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 những quyền đó. Thiết kế này bao gồm cả dự đoán 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 phi kỹ thuật để 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 tấn công thành công. Bảo mật Android tiếp tục tiến triển sau khi thiết bị nằm trong tay người dùng. Android hợp tác với các đối tác và cộng đồng để cung cấp bản vá cho mọi thiết bị Android vẫn tiếp tục nhận được 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 mục tiêu của chương trình bảo mật Android, mô tả những điều cơ bản về cấu trúc bảo mật Android và trả lời những câu hỏi phù hợp 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 chỉ có ở một số ứ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 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 dạng gốc, tất cả mã phía trên 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
Các thành phần chính của nền tảng Android là:
- 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 chơi 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ố chức 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ả các tài nguyên của 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.
- Môi trường thời gian chạy ứng dụng Android: Các ứng dụng Android thường được viết bằng ngôn ngữ lập trình Java và chạy trong môi trường thời gian chạy Android (ART). Tuy nhiên, nhiều ứng dụng, bao gồm cả các ứng dụng và dịch vụ cốt lõi của Android, là ứng dụng gốc hoặc có chứa các thư viện gốc. Cả ART và các ứ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. Các ứng dụng sẽ có một phần riêng biệt trong hệ thống tệp mà chúng có thể ghi dữ liệu riêng tư, bao gồm cả cơ sở dữ liệu và tệp thô.
Các ứ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:
- Các ứng dụng được cài đặt sẵn: Android có một bộ ứng dụng được cài đặt 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. Các ứng dụng được cài đặt sẵn có thể thuộc nền tảng Android mã nguồn mở hoặc 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.
Các 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 cho các thiết bị Android tương thích có Dịch vụ di động của Google. Mặc dù không thuộc Dự án nguồn mở Android (AOSP), nhưng những 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 Năm 2018 nhìn lại 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 tính năng đánh giá 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 chức 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 (OTA).
- Dịch vụ ứng dụng: Các khung cho phép ứng dụng Android sử dụng các chức 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ư nhắn tin từ đám mây sang thiết bị (C2DM) để gửi tin nhắn đẩ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 có 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 có hại.
- SafetyNet: Một hệ thống phát hiện xâm nhập bảo đảm 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 và ứ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 của Android bao gồm:
- Xem xét thiết kế: Quy 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 việc tạo ra 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 nguồn lực kỹ thuật và bảo mật xem xét, đồng thờ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ử thâ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 do Android tạo và các thành phần nguồn mở phải trải qua quy trình đánh giá bảo mật nghiêm ngặt. Những quy trình đánh giá này được thực hiện bởi 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. Mục tiêu của những quy trình đánh giá này là xác định các điểm yếu và lỗ hổng bảo mật có thể xảy ra trước khi phát hành các bản phát hành chính, đồng thời mô phỏng các loại phân tích do chuyên gia bảo mật bên ngoài thực hiện 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á tính bảo mật một cách rộng rãi. 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 về các ứng dụng cụ thể trực tiếp cho người dùng.
- Ứng phó với sự cố: Ngay cả khi đã thực hiện 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 phát hành. Đó là lý do dự án Android đã tạo ra một quy trình ứng phó toàn diện với vấn đề bảo mật. Các thành viên của nhóm bảo mật Android toàn thời gian giám sát cộng đồng bảo mật chung và cộng đồng bảo mật 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 ghi lại trong cơ sở dữ liệu lỗi của Android. Khi phát hiện ra các vấn đề chính đáng, nhóm Android sẽ có một quy trình phản hồi cho phép giảm thiểu nhanh chóng các lỗ hổng để đảm bảo giảm thiểu rủi ro tiềm ẩn cho tất cả người dùng Android. Những 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 các thiết bị trên thực địa.
- Bản cập nhật bảo mật hằng tháng: Nhóm bảo mật Android cung cấp các bản cập nhật hằng tháng cho các thiết bị Android của Google và tất cả các đối tác sản xuất thiết bị của chúng tôi.
Kiến trúc bảo mật nền tảng
Android hướng đến mục tiêu 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 điều chỉnh các chế độ kiểm soát bảo mật của 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)
- Cách ly ứng dụng khỏi hệ thống, các ứng dụng khác và khỏi người dùng
Để đạt được những 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 bắt buộc cho tất cả ứng dụng
- Giao tiếp liên quy trình an toàn
- Ký ứng dụng
- Quyền do ứng dụng xác định và quyền do người dùng cấp