Nhóm bảo mật Android chịu trách nhiệm quản lý các lỗ hổng bảo mật được phát hiện trong nền tảng Android và nhiều ứng dụng Android cốt lõi đi kèm với các thiết bị Android.
Nhóm bảo mật Android tìm thấy các lỗ hổng bảo mật thông qua nghiên cứu nội bộ và cũng phản hồi các lỗi do bên thứ ba báo cáo. Các nguồn lỗi bên ngoài bao gồm các vấn đề được báo cáo thông qua mẫu Vấn đề bảo mật Android , nghiên cứu học thuật đã xuất bản và xuất bản trước, người duy trì dự án nguồn mở ngược dòng, thông báo từ các đối tác nhà sản xuất thiết bị của chúng tôi và các vấn đề được tiết lộ công khai được đăng trên blog hoặc phương tiện truyền thông xã hội.
Báo cáo các vấn đề bảo mật
Bất kỳ nhà phát triển, người dùng Android hoặc nhà nghiên cứu bảo mật nào cũng có thể thông báo cho nhóm bảo mật Android về các vấn đề bảo mật tiềm ẩn thông qua biểu mẫu báo cáo lỗ hổng bảo mật .
Các lỗi được đánh dấu là vấn đề bảo mật không hiển thị ra bên ngoài, nhưng cuối cùng chúng có thể hiển thị sau khi vấn đề được đánh giá hoặc giải quyết. Nếu bạn định gửi bản vá hoặc bản kiểm tra Bộ kiểm tra tương thích (CTS) để giải quyết vấn đề bảo mật, vui lòng đính kèm nó vào báo cáo lỗi và đợi phản hồi trước khi tải mã lên AOSP.
Xử lý lỗi
Nhiệm vụ đầu tiên trong việc xử lý lỗ hổng bảo mật là xác định mức độ nghiêm trọng của lỗi và thành phần nào của Android bị ảnh hưởng. Mức độ nghiêm trọng xác định cách vấn đề được ưu tiên và thành phần xác định ai sửa lỗi, ai được thông báo và cách khắc phục được triển khai cho người dùng.
Các loại ngữ cảnh
Bảng này bao gồm các định nghĩa về bối cảnh bảo mật phần cứng và phần mềm. Bối cảnh có thể được xác định bởi độ nhạy của dữ liệu mà nó thường xử lý hoặc khu vực mà nó chạy. Không phải tất cả các bối cảnh bảo mật đều có thể áp dụng cho tất cả các hệ thống. Bảng này được sắp xếp từ ít nhất đến đặc quyền nhất.
Loại ngữ cảnh | Định nghĩa loại |
---|---|
Bối cảnh hạn chế | Một môi trường thực thi bị hạn chế nơi chỉ cung cấp các quyền tối thiểu nhất. Ví dụ: "hộp cát" ứng dụng để xử lý dữ liệu không đáng tin cậy mà không cho phép truy cập vào hệ thống bên dưới. |
Bối cảnh đặc quyền | Một môi trường thực thi điển hình được mong đợi bởi mã không đặc quyền. Ví dụ: một ứng dụng Android chạy trong miền SELinux với thuộc tính untrusted_app_all . |
Bối cảnh đặc quyền | Một môi trường thực thi đặc quyền có thể có quyền truy cập vào các quyền nâng cao, xử lý PII của nhiều người dùng và / hoặc duy trì tính toàn vẹn của hệ thống. Ví dụ: một ứng dụng Android có các khả năng sẽ bị miền SELinux untrusted_app cấm hoặc có quyền truy cập vào privileged|signature . |
Cơ sở máy tính đáng tin cậy (TCB) | Chức năng là một phần của hạt nhân, chạy trong cùng ngữ cảnh CPU với hạt nhân (chẳng hạn như trình điều khiển thiết bị), có quyền truy cập trực tiếp vào bộ nhớ nhân (chẳng hạn như các thành phần phần cứng trên thiết bị), có khả năng tải các tập lệnh vào một thành phần nhân ( ví dụ: eBPF), bộ xử lý truyền thông hoặc là một trong số ít các dịch vụ người dùng được coi là tương đương với nhân: apexd , bpfloader , init , ueventd và vold . |
Chuỗi bộ nạp khởi động | Một thành phần cấu hình thiết bị khi khởi động và sau đó chuyển quyền kiểm soát cho hệ điều hành Android. |
Môi trường thực thi tin cậy (TEE) | Một thành phần được thiết kế để được bảo vệ khỏi nhân thù địch (ví dụ: TrustZone và Hypervisor). |
Secure Enclave / Phần tử bảo mật (SE) | Một thành phần phần cứng tùy chọn được thiết kế để được bảo vệ khỏi tất cả các thành phần khác trên thiết bị và khỏi bị tấn công vật lý, như được định nghĩa trong Giới thiệu về Phần tử Bảo mật . Điều này bao gồm chip Titan-M có trong một số thiết bị Pixel. |
Mức độ nghiêm trọng
Mức độ nghiêm trọng của một lỗi thường phản ánh tác hại tiềm ẩn có thể xảy ra nếu một lỗi được khai thác thành công. Sử dụng các tiêu chí sau để xác định mức độ nghiêm trọng.
Xếp hạng | Hệ quả của việc khai thác thành công |
---|---|
Phê bình |
|
Cao |
|
Vừa phải |
|
Thấp |
|
Tác động bảo mật không đáng kể (NSI) |
|
Công cụ sửa đổi xếp hạng
Mặc dù mức độ nghiêm trọng của các lỗ hổng bảo mật thường dễ xác định, nhưng xếp hạng có thể thay đổi tùy theo trường hợp.
Lý do | Hiệu ứng |
---|---|
Yêu cầu chạy như một ngữ cảnh đặc quyền để thực hiện cuộc tấn công | -1 mức độ nghiêm trọng |
Các chi tiết cụ thể về lỗ hổng bảo mật hạn chế tác động của vấn đề | -1 mức độ nghiêm trọng |
Bỏ qua xác thực sinh trắc học yêu cầu thông tin sinh trắc học trực tiếp từ chủ sở hữu thiết bị | -1 mức độ nghiêm trọng |
Cấu hình trình biên dịch hoặc nền tảng giảm thiểu lỗ hổng trong mã nguồn | Mức độ nghiêm trọng Trung bình nếu lỗ hổng cơ bản là Trung bình hoặc cao hơn |
Yêu cầu quyền truy cập vật lý vào bên trong thiết bị và vẫn có thể thực hiện được nếu thiết bị đang tắt hoặc chưa được mở khóa kể từ khi được bật nguồn | -1 mức độ nghiêm trọng |
Yêu cầu quyền truy cập vật lý vào bên trong thiết bị khi thiết bị đang bật và đã được mở khóa trước đó | -2 Mức độ nghiêm trọng |
Một cuộc tấn công cục bộ yêu cầu mở khóa chuỗi bộ nạp khởi động | Không cao hơn Thấp |
Một cuộc tấn công cục bộ yêu cầu Chế độ nhà phát triển hoặc bất kỳ cài đặt chế độ nhà phát triển liên tục nào hiện được bật trên thiết bị (và không phải là lỗi trong chính Chế độ nhà phát triển). | Không cao hơn Thấp |
Nếu không có miền SELinux nào có thể tiến hành hoạt động theo SEPolicy do Google cung cấp | Tác động bảo mật không đáng kể |
Địa phương so với Gần so với Từ xa
Vectơ tấn công từ xa chỉ ra rằng lỗi có thể bị khai thác mà không cần cài đặt ứng dụng hoặc không có quyền truy cập vật lý vào thiết bị. Điều này bao gồm các lỗi có thể được kích hoạt bằng cách duyệt đến một trang web, đọc email, nhận tin nhắn SMS hoặc kết nối với một mạng thù địch. Với mục đích xếp hạng mức độ nghiêm trọng của chúng tôi, chúng tôi cũng coi các vectơ tấn công "gần" là từ xa. Chúng bao gồm các lỗi chỉ có thể bị khai thác bởi kẻ tấn công đang ở gần thiết bị mục tiêu, chẳng hạn như lỗi yêu cầu gửi các gói Wi-Fi hoặc Bluetooth không đúng định dạng. Chúng tôi coi các cuộc tấn công dựa trên băng thông siêu rộng (UWB) và NFC là gần và do đó là từ xa.
Các cuộc tấn công cục bộ yêu cầu nạn nhân chạy một ứng dụng, bằng cách cài đặt và chạy một ứng dụng hoặc bằng cách đồng ý chạy Ứng dụng tức thì . Với mục đích xếp hạng mức độ nghiêm trọng, chúng tôi cũng coi các vectơ tấn công vật lý là cục bộ. Chúng bao gồm các lỗi chỉ có thể bị khai thác bởi kẻ tấn công có quyền truy cập vật lý vào thiết bị, ví dụ như lỗi trên màn hình khóa hoặc lỗi yêu cầu cắm cáp USB. Lưu ý rằng các cuộc tấn công yêu cầu kết nối USB đều có mức độ nghiêm trọng như nhau bất kể thiết bị có được yêu cầu mở khóa hay không; Việc mở khóa thiết bị khi cắm vào USB là điều thường thấy.
An ninh mạng
Android cho rằng tất cả các mạng đều là thù địch và có thể thực hiện các cuộc tấn công hoặc theo dõi lưu lượng truy cập. Mặc dù bảo mật lớp liên kết (ví dụ: mã hóa Wi-Fi) đảm bảo giao tiếp giữa thiết bị và Điểm truy cập mà nó được kết nối, nó không làm gì để bảo mật các liên kết còn lại trong chuỗi giữa thiết bị và máy chủ mà nó đang giao tiếp.
Ngược lại, HTTPS thường bảo vệ toàn bộ giao tiếp từ đầu đến cuối, mã hóa dữ liệu tại nguồn của nó, sau đó giải mã và xác minh nó chỉ khi nó đến đích cuối cùng. Do đó, các lỗ hổng làm ảnh hưởng đến bảo mật mạng lớp liên kết được đánh giá là ít nghiêm trọng hơn các lỗ hổng trong HTTPS / TLS: Chỉ riêng mã hóa Wi-Fi là không đủ cho hầu hết các giao tiếp trên internet.
Xác thực sinh trắc học
Xác thực sinh trắc học là một không gian đầy thách thức và ngay cả những hệ thống tốt nhất cũng có thể bị đánh lừa bởi một kết quả gần trùng khớp (xem Blog nhà phát triển Android: Màn hình khóa và cải tiến xác thực trong Android 11 ). Các xếp hạng mức độ nghiêm trọng này phân biệt giữa hai loại tấn công và nhằm phản ánh rủi ro thực tế đối với người dùng cuối.
Loại tấn công đầu tiên cho phép bỏ qua xác thực sinh trắc học một cách tổng quát mà không cần dữ liệu sinh trắc học chất lượng cao từ chủ sở hữu. Ví dụ: nếu kẻ tấn công có thể đặt một miếng kẹo cao su lên cảm biến vân tay và nó cấp quyền truy cập vào thiết bị dựa trên phần còn lại trên cảm biến, thì đó là một cuộc tấn công đơn giản có thể được thực hiện trên bất kỳ thiết bị nhạy cảm nào. Nó không yêu cầu bất kỳ kiến thức nào về chủ sở hữu thiết bị. Cho rằng nó có thể tổng quát hóa và có khả năng tác động đến số lượng người dùng lớn hơn, cuộc tấn công này nhận được xếp hạng mức độ nghiêm trọng đầy đủ (ví dụ: Cao, đối với bỏ qua Màn hình khóa).
Các loại tấn công khác thường liên quan đến một công cụ tấn công trình bày (giả mạo) dựa trên chủ sở hữu thiết bị. Đôi khi thông tin sinh trắc học này tương đối dễ lấy (ví dụ: nếu ảnh hồ sơ của ai đó trên phương tiện truyền thông xã hội đủ để đánh lừa xác thực sinh trắc học, thì việc bỏ qua sinh trắc học sẽ nhận được đánh giá mức độ nghiêm trọng đầy đủ). Nhưng nếu kẻ tấn công cần thu thập dữ liệu sinh trắc học trực tiếp từ chủ sở hữu thiết bị (ví dụ: quét hồng ngoại khuôn mặt của họ), thì đó là rào cản đủ đáng kể để hạn chế số người bị ảnh hưởng bởi cuộc tấn công, vì vậy có -1 sửa đổi .
SYSTEM_ALERT_WINDOW
và Tapjacking
Để biết thông tin về các chính sách của chúng tôi liên quan đến SYSTEM_ALERT_WINDOW
và xâm nhập, hãy xem phần " Lỗ hổng Tapjacking / overlay SYSTEM_ALERT_WINDOW trên màn hình không quan trọng về bảo mật " trên trang Lỗi không có tác động bảo mật của Đại học BugHunter.
Thành phần bị ảnh hưởng
Nhóm phát triển chịu trách nhiệm sửa lỗi phụ thuộc vào thành phần mà lỗi nằm trong thành phần nào. Đó có thể là thành phần cốt lõi của nền tảng Android, trình điều khiển nhân do nhà sản xuất thiết bị gốc (OEM) cung cấp hoặc một trong những ứng dụng được tải sẵn trên thiết bị Pixel .
Nhóm kỹ sư Android đã sửa lỗi trong mã AOSP. Các lỗi có mức độ nghiêm trọng thấp, lỗi trong một số thành phần nhất định hoặc các lỗi đã được biết đến công khai có thể được sửa trực tiếp trong nhánh chính của AOSP có sẵn công khai; nếu không, chúng sẽ được cố định trong kho lưu trữ nội bộ của chúng tôi trước.
Thành phần cũng là một yếu tố trong cách người dùng nhận được bản cập nhật. Một lỗi trong khuôn khổ hoặc hạt nhân yêu cầu cập nhật chương trình cơ sở qua mạng (OTA) mà mỗi OEM cần phải đẩy. Lỗi trong ứng dụng hoặc thư viện được xuất bản trong Google Play (ví dụ: Gmail, Dịch vụ của Google Play hoặc WebView) có thể được gửi đến người dùng Android dưới dạng bản cập nhật từ Google Play.
Thông báo cho các đối tác
Khi một lỗ hổng bảo mật trong AOSP được khắc phục trong Bản tin bảo mật Android, chúng tôi sẽ thông báo cho các đối tác Android về chi tiết vấn đề và cung cấp các bản vá. Danh sách các phiên bản được hỗ trợ cổng sau thay đổi theo từng bản phát hành Android mới. Liên hệ với nhà sản xuất thiết bị của bạn để biết danh sách các thiết bị được hỗ trợ.
Phát hành mã cho AOSP
Nếu lỗi bảo mật nằm trong thành phần AOSP, bản sửa lỗi sẽ được chuyển sang AOSP sau khi OTA được phát hành cho người dùng. Các bản sửa lỗi cho các vấn đề mức độ nghiêm trọng thấp có thể được gửi trực tiếp đến chi nhánh chính của AOSP trước khi có bản sửa lỗi cho các thiết bị thông qua OTA.
Nhận bản cập nhật Android
Các bản cập nhật cho hệ thống Android thường được gửi đến các thiết bị thông qua các gói cập nhật OTA. Các bản cập nhật này có thể đến từ OEM đã sản xuất thiết bị hoặc nhà cung cấp dịch vụ cung cấp dịch vụ cho thiết bị. Các bản cập nhật thiết bị Google Pixel đến từ nhóm Google Pixel sau khi trải qua quy trình kiểm tra chấp nhận kỹ thuật của nhà cung cấp dịch vụ (TA). Google cũng xuất bản các hình ảnh xuất xưởng của Pixel có thể tải về các thiết bị.
Cập nhật các dịch vụ của Google
Ngoài việc cung cấp các bản vá cho các lỗi bảo mật, nhóm bảo mật Android sẽ xem xét các lỗi bảo mật để xác định xem có cách nào khác để bảo vệ người dùng hay không. Ví dụ: Google Play quét tất cả các ứng dụng và xóa bất kỳ ứng dụng nào cố gắng khai thác lỗi bảo mật. Đối với các ứng dụng được cài đặt từ bên ngoài Google Play, các thiết bị có Dịch vụ của Google Play cũng có thể sử dụng tính năng Xác minh ứng dụng để cảnh báo người dùng về các ứng dụng có thể gây hại.
Các nguồn lực khác
Thông tin dành cho nhà phát triển ứng dụng Android: https://developer.android.com
Thông tin bảo mật tồn tại trên các trang web dành cho Nhà phát triển và Nguồn mở Android. Những nơi tốt để bắt đầu:
- https://source.android.com/security/index
- https://developer.android.com/training/articles/security-tips
Báo cáo
Đôi khi, nhóm Bảo mật Android xuất bản báo cáo hoặc sách trắng. Xem Báo cáo bảo mật để biết thêm chi tiết.