Các tính năng nâng cao về bảo mật

Android liên tục cải thiện các tính năng và dịch vụ bảo mật của mình. Xem danh sách các tính năng nâng cao theo bản phát hành trong bảng điều hướng bên trái.

Android 14

Mỗi bản phát hành Android đều có hàng chục tính năng bảo mật nâng cao để bảo vệ người dùng. Dưới đây là một số điểm cải tiến chính về bảo mật có trong Android 14:

  • AddressSanitizer được hỗ trợ phần cứng (HWASan), được giới thiệu trong Android 10, là một công cụ phát hiện lỗi bộ nhớ tương tự như AddressSanitizer. Android 14 mang đến những điểm cải tiến đáng kể cho HWASan. Tìm hiểu cách tính năng này giúp ngăn chặn lỗi xuất hiện trong bản phát hành Android, HWAddressSanitizer
  • Trên Android 14, bắt đầu với các ứng dụng chia sẻ dữ liệu vị trí với bên thứ ba, hộp thoại cấp quyền khi bắt đầu chạy của hệ thống hiện có một phần nhấp vào được để nêu bật các phương pháp chia sẻ dữ liệu của ứng dụng, bao gồm cả thông tin như lý do ứng dụng có thể quyết định chia sẻ dữ liệu với bên thứ ba.
  • Android 12 đã ra mắt một tuỳ chọn để tắt tính năng hỗ trợ 2G ở cấp modem, giúp bảo vệ người dùng khỏi rủi ro bảo mật vốn có từ mô hình bảo mật lỗi thời của 2G. Nhận ra cách việc tắt 2G có thể quan trọng đối với khách hàng doanh nghiệp, Android 14 sẽ bật tính năng bảo mật này trong Android Enterprise, ra mắt dịch vụ hỗ trợ dành cho quản trị viên CNTT để hạn chế khả năng của để hạ cấp xuống khả năng kết nối 2G.
  • Bổ sung tính năng hỗ trợ để từ chối các kết nối di động được phân tách rỗng, đảm bảo lưu lượng thoại và SMS được chuyển đổi mạch luôn được mã hoá và bảo vệ khỏi bị động đánh chặn qua mạng không dây. Tìm hiểu thông tin khác về chương trình tăng cường kết nối di động của Android.
  • Bổ sung tính năng hỗ trợ nhiều số IMEI
  • Kể từ Android 14, AES-HCTR2 là chế độ mã hoá tên tệp được ưu tiên cho các thiết bị có hướng dẫn mật mã học tăng tốc.
  • Khả năng kết nối di động
  • Bổ sung tài liệu cho Trung tâm an toàn của Android
  • Nếu ứng dụng của bạn nhắm đến Android 14 và sử dụng tính năng Tải mã động (DCL), tất cả tệp được tải động phải được đánh dấu là chỉ đọc. Nếu không, hệ thống sẽ gửi ra một ngoại lệ. Ứng dụng nên tránh linh hoạt tải mã bất cứ khi nào có thể, vì làm như vậy sẽ làm tăng đáng kể rủi ro mà một ứng dụng có thể bị xâm phạm bằng cách chèn mã hoặc can thiệp mã.

Hãy xem ghi chú phát hành đầy đủ của AOSP và danh sách tính năng và thay đổi dành cho nhà phát triển Android.

Android 13

Mỗi bản phát hành Android đều có hàng chục tính năng nâng cao bảo mật để bảo vệ người dùng. Dưới đây là một số điểm cải tiến chính về bảo mật có trong Android 13:

  • Android 13 bổ sung tính năng hỗ trợ trình bày nhiều tài liệu. Giao diện Phiên trình bày mới này cho phép ứng dụng thực hiện một bản trình bày nhiều tài liệu, điều không thể thực hiện được với API hiện có. Để biết thêm thông tin, hãy tham khảo phần Thông tin xác thực danh tính
  • Trong Android 13, ý định bắt nguồn từ các ứng dụng bên ngoài sẽ được gửi đến thành phần được xuất khi và chỉ khi ý định khớp với các phần tử bộ lọc ý định đã khai báo.
  • Open Mobile API (OMAPI) là một API chuẩn dùng để giao tiếp với Phần tử bảo mật của thiết bị. Trước Android 13, chỉ các ứng dụng và mô-đun khung mới có quyền truy cập vào giao diện này. Bằng cách chuyển đổi sang một giao diện ổn định của nhà cung cấp, Các mô-đun HAL cũng có khả năng giao tiếp với các phần tử bảo mật thông qua dịch vụ OMAPI. Để biết thêm thông tin, hãy xem Giao diện ổn định của nhà cung cấp OMAPI.
  • Kể từ Android 13-QPR, UID dùng chung sẽ không được dùng nữa. Người dùng Android 13 trở lên nên đặt dòng "android:sharedUserMaxSdkVersion="32"" vào tệp kê khai. Mục nhập này ngăn người dùng mới nhận được UID chung. Để biết thêm thông tin về UID, hãy xem Ký ứng dụng.
  • Android 13 đã thêm các thuật toán mật mã đối xứng của Kho khoá như AES (Tiêu chuẩn mã hoá nâng cao), HMAC (Mã xác thực thông báo băm khoá) và các thuật toán mật mã bất đối xứng (bao gồm cả Elliptic Curve, RSA2048, RSA4096 và Curve 25519)
  • Hỗ trợ Android 13 (API cấp 33) trở lên quyền khi bắt đầu chạy để gửi thông báo không miễn trừ từ một ứng dụng. Điều này cho phép người dùng kiểm soát những thông báo về quyền mà họ thấy.
  • Đã thêm cho mỗi lần sử dụng đối với các ứng dụng yêu cầu quyền truy cập vào tất cả nhật ký thiết bị, giúp người dùng cấp quyền hoặc từ chối cấp quyền truy cập.
  • ra mắt Khung ảo hoá Android (AVF), để kết hợp nhiều trình điều khiển ảo hoá vào một khung với các API được chuẩn hoá. Công cụ này cung cấp môi trường thực thi an toàn và riêng tư để thực thi khối lượng công việc được cách ly bằng trình điều khiển ảo hoá.
  • Ra mắt lược đồ chữ ký APK phiên bản 3.1 Theo mặc định, tất cả chế độ xoay khoá mới sử dụng apksigner đều sử dụng lược đồ chữ ký v3.1 theo mặc định để nhắm mục tiêu độ xoay cho Android 13 trở lên.

Hãy xem ghi chú phát hành AOSP đầy đủ của chúng tôi và nhà phát triển Android tính năng và danh sách thay đổi.

Android 12

Mỗi bản phát hành Android đều có hàng chục tính năng bảo mật nâng cao để bảo vệ người dùng. Dưới đây là một số điểm cải tiến chính về bảo mật có trong Android 12:

  • Android 12 giới thiệu API BiometricManager.Strings. API này cung cấp các chuỗi được bản địa hoá cho các ứng dụng sử dụng BiometricPrompt để xác thực. Các chuỗi này được thiết kế để nhận biết thiết bị và cung cấp cụ thể hơn về loại xác thực nào có thể được sử dụng. Android 12 cũng hỗ trợ cảm biến vân tay ở dưới màn hình
  • Bổ sung tính năng hỗ trợ cho cảm biến vân tay ở dưới màn hình
  • Giới thiệu về Vân tay số Ngôn ngữ định nghĩa giao diện Android (AIDL)
  • Hỗ trợ Face AIDL mới
  • Ra mắt Rust làm ngôn ngữ phát triển nền tảng
  • Thêm tuỳ chọn để người dùng chỉ cấp quyền truy cập vào thông tin vị trí gần đúng của họ
  • Thêm các chỉ báo về Quyền riêng tư trên thanh trạng thái khi một ứng dụng đang dùng máy ảnh hoặc micrô
  • Chế độ cài đặt Riêng tư của Android Lõi điện toán (PCC)
  • Thêm tuỳ chọn tắt tính năng hỗ trợ 2G

Android 11

Mỗi bản phát hành Android đều có hàng chục tính năng nâng cao bảo mật để bảo vệ người dùng. Để biết danh sách một số tính năng bảo mật nâng cao chính có trong Android 11, hãy xem Ghi chú phát hành Android.

Android 10

Mỗi bản phát hành Android đều có hàng chục tính năng nâng cao bảo mật để bảo vệ người dùng. Android 10 có một số tính năng nâng cao về bảo mật và quyền riêng tư. Xem ghi chú phát hành của Android 10 để xem danh sách đầy đủ các thay đổi trong Android 10.

Bảo mật

BoundsSanitizer

Android 10 triển khai BoundsSanitizer (BoundSan) trong Bluetooth và bộ mã hoá và giải mã. BoundSan sử dụng trình dọn dẹp giới hạn của UBSan. Giải pháp giảm thiểu này được bật ở cấp độ từng mô-đun. Giúp thu hút khách hàng quan trọng các thành phần của Android an toàn và không được tắt. BoundSan được bật trong các bộ mã hoá và giải mã sau:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec
  • libaac
  • libxaac

Bộ nhớ chỉ thực thi

Theo mặc định, các phần mã thực thi cho tệp nhị phân hệ thống AArch64 được đánh dấu là chỉ thực thi (không đọc được) để giảm thiểu việc tấn công tái sử dụng mã đúng thời điểm. Mã kết hợp dữ liệu và mã với nhau và mã kiểm tra có chủ đích các phần này (mà không cần ánh xạ lại các phân đoạn bộ nhớ ở dạng có thể đọc trước tiên) không còn hoạt động nữa. Các ứng dụng có SDK mục tiêu là Android 10 (API cấp 29 trở lên) sẽ bị ảnh hưởng nếu ứng dụng cố gắng đọc các phần mã của thư viện hệ thống đã bật bộ nhớ chỉ thực thi (XOM) trong bộ nhớ mà không đánh dấu trước phần đó là có thể đọc được.

Quyền truy cập mở rộng

Tác nhân tin cậy, cơ chế cơ bản mà xác thực cấp ba sử dụng các cơ chế như Smart Lock chỉ có thể kéo dài thời gian mở khoá trong Android 10. Độ tin cậy nhân viên hỗ trợ không thể mở khoá một thiết bị đã khoá và chỉ có thể giữ cho thiết bị luôn mở khoá trong tối đa bốn giờ.

Xác thực khuôn mặt

Khuôn mặt xác thực cho phép người dùng mở khoá thiết bị của họ chỉ bằng cách nhìn vào trước thiết bị của họ. Android 10 hỗ trợ thêm một ngăn xếp xác thực khuôn mặt mới có thể xử lý các khung hình máy ảnh một cách an toàn, bảo vệ tính bảo mật và quyền riêng tư trong quá trình xác thực khuôn mặt trên phần cứng được hỗ trợ. Android 10 cũng cung cấp một cách dễ dàng để triển khai các biện pháp tuân thủ bảo mật nhằm cho phép tích hợp ứng dụng cho các giao dịch như ngân hàng trực tuyến hoặc các dịch vụ khác.

Dọn dẹp tràn số nguyên

Android 10 bật tính năng Thêm số nguyên Dọn dẹp (IntSan) trong bộ mã hoá và giải mã phần mềm. Đảm bảo hiệu suất phát ở mức chấp nhận được đối với mọi bộ mã hoá và giải mã không được hỗ trợ trong phần cứng của thiết bị. IntSan được bật trong các bộ mã hoá và giải mã sau:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec

Thành phần hệ thống mô-đun

Android 10 mô-đun hoá một số thành phần hệ thống Android và cho phép cập nhật các thành phần đó bên ngoài chu kỳ phát hành Android thông thường. Một số mô-đun bao gồm:

OEMCrypto

Android 10 sử dụng OEMCrypto API phiên bản 15.

Scudo

Scudo là một trình phân bổ bộ nhớ động ở chế độ người dùng được thiết kế để có khả năng chống chịu tốt hơn trước các lỗ hổng liên quan đến vùng nhớ khối xếp. Thư viện này cung cấp các nguyên hàm phân bổ và giải phóng C tiêu chuẩn, cũng như các nguyên hàm C++.

ShadowCallStack

ShadowCallStack (SCS) là một LLVM khả năng đo lường giúp chống lại việc ghi đè địa chỉ trả về (như vùng đệm ngăn xếp bị tràn) bằng cách lưu địa chỉ trả về của một hàm vào một thực thể ShadowCallStack được phân bổ trong nhật ký hàm là các hàm không có lá và tải địa chỉ trả về từ Thực thể ShadowCallStack trong phần tóm tắt của hàm.

WPA3 và Wi-Fi Enhanced Open

Android 10 hỗ trợ thêm Wi-Fi Các tiêu chuẩn bảo mật bảo mật Protected Access 3 (WPA3) và Wi-Fi mở rộng để bảo vệ quyền riêng tư và tăng cường độ mạnh mẽ trước các cuộc tấn công đã biết.

Quyền riêng tư

Quyền truy cập vào ứng dụng khi nhắm đến Android 9 trở xuống

Nếu ứng dụng của bạn chạy trên Android 10 trở lên nhưng nhắm đến Android 9 (API cấp 28) hoặc thấp hơn, nền tảng sẽ áp dụng hành vi sau:

  • Nếu ứng dụng của bạn khai báo phần tử <uses-permission> cho ACCESS_FINE_LOCATION hoặc ACCESS_COARSE_LOCATION, hệ thống sẽ tự động thêm phần tử <uses-permission> cho ACCESS_BACKGROUND_LOCATION trong quá trình cài đặt.
  • Nếu ứng dụng của bạn yêu cầu ACCESS_FINE_LOCATION hoặc ACCESS_COARSE_LOCATION, hệ thống sẽ tự động thêm ACCESS_BACKGROUND_LOCATION vào yêu cầu.

Hạn chế hoạt động ở chế độ nền

Kể từ Android 10, hệ thống sẽ đặt ra các quy định hạn chế khi bắt đầu hoạt động ở chế độ nền. Thay đổi về hành vi này giúp giảm thiểu sự gián đoạn cho người dùng và giúp người dùng kiểm soát tốt hơn nội dung hiển thị trên màn hình. Miễn là ứng dụng của bạn bắt đầu các hoạt động do kết quả trực tiếp của hoạt động tương tác của người dùng, thì rất có thể ứng dụng của bạn sẽ không bị ảnh hưởng bởi các quy định hạn chế này.
Để tìm hiểu thêm về giải pháp thay thế được đề xuất cho việc bắt đầu các hoạt động ở chế độ nền, hãy xem hướng dẫn về cách cảnh báo người dùng về các sự kiện nhạy cảm về thời gian trong ứng dụng.

Siêu dữ liệu của camera

Android 10 thay đổi phạm vi thông tin mà phương thức getCameraCharacteristics() trả về theo mặc định. Cụ thể, ứng dụng của bạn phải có CAMERA để truy cập vào siêu dữ liệu có thể dành riêng cho thiết bị được bao gồm trong giá trị trả về của phương thức này.
Để tìm hiểu thêm về những thay đổi này, hãy xem phần về các trường máy ảnh cần có quyền.

Dữ liệu bảng nhớ tạm

Trừ phi ứng dụng của bạn là phương thức đầu vào mặc định trình chỉnh sửa phương thức (IME) hoặc là ứng dụng hiện có tiêu điểm, ứng dụng của bạn không thể truy cập vào dữ liệu bảng nhớ tạm trên Android 10 trở lên.

Vị trí thiết bị

Để hỗ trợ thêm quyền kiểm soát mà người dùng có đối với quyền truy cập của ứng dụng vào thông tin vị trí, Android 10 đã ra mắt quyền ACCESS_BACKGROUND_LOCATION.
Ngừng thích ACCESS_FINE_LOCATIONACCESS_COARSE_LOCATION thì quyền ACCESS_BACKGROUND_LOCATION chỉ ảnh hưởng đến quyền truy cập của ứng dụng vào thông tin vị trí khi ứng dụng đó chạy ở chế độ nền. Một ứng dụng được xem là truy cập thông tin vị trí ở chế độ nền, trừ phi một trong những điều sau thoả mãn điều kiện:

  • Bạn có thể nhìn thấy một hoạt động thuộc về ứng dụng đó.
  • Ứng dụng đang chạy một dịch vụ trên nền trước đã khai báo loại dịch vụ trên nền trướclocation.
    Cách khai báo dịch vụ trên nền trước nhập cho một dịch vụ trong ứng dụng của bạn, đặt targetSdkVersion hoặc compileSdkVersion đến 29 trở lên. Tìm hiểu thêm về cách các dịch vụ trên nền trước có thể tiếp tục những hành động do người dùng thực hiện yêu cầu quyền truy cập vào thông tin vị trí.

Bộ nhớ ngoài

Theo mặc định, những ứng dụng nhắm đến Android 10 trở lên sẽ được cung cấp phạm vi quyền truy cập vào bộ nhớ ngoài hoặc bộ nhớ có giới hạn. Những ứng dụng như vậy có thể xem các loại tệp sau vào thiết bị lưu trữ bên ngoài mà không cần để yêu cầu quyền của người dùng liên quan đến bộ nhớ:

Để tìm hiểu thêm về bộ nhớ có giới hạn, cũng như cách chia sẻ, truy cập và sửa đổi các tệp được lưu trên thiết bị bộ nhớ ngoài, hãy xem hướng dẫn về cách quản lý tệp trong bộ nhớ ngoàitruy cập và sửa đổi tệp phương tiện.

Gán địa chỉ MAC ngẫu nhiên

Trên các thiết bị chạy Android 10 trở lên, hệ thống sẽ truyền tin MAC ngẫu nhiên địa chỉ email theo mặc định.
Nếu ứng dụng của bạn xử lý một trường hợp sử dụng dành cho doanh nghiệp, thì nền tảng sẽ cung cấp các API cho một số thao tác liên quan đến địa chỉ MAC:

  • Nhận địa chỉ MAC ngẫu nhiên: Ứng dụng của chủ sở hữu thiết bị và ứng dụng của chủ sở hữu hồ sơ có thể truy xuất địa chỉ MAC ngẫu nhiên được gán cho một mạng cụ thể bằng cách gọi getRandomizedMacAddress().
  • Lấy địa chỉ MAC thực tế ban đầu:Các ứng dụng của chủ sở hữu thiết bị có thể truy xuất địa chỉ MAC phần cứng thực tế của thiết bị bằng cách gọi getWifiMacAddress(). Phương pháp này rất hữu ích khi theo dõi các nhóm thiết bị.

Giá trị nhận dạng thiết bị không thể đặt lại

Kể từ Android 10, ứng dụng phải có quyền đặc quyền READ_PRIVILEGED_PHONE_STATE để truy cập vào giá trị nhận dạng không thể đặt lại của thiết bị, bao gồm cả IMEI và số sê-ri.

Nếu ứng dụng của bạn không có quyền này và bạn vẫn cố gắng yêu cầu thông tin về giá trị nhận dạng không thể đặt lại, thì phản hồi của nền tảng sẽ khác nhau tuỳ theo phiên bản SDK mục tiêu:

  • Nếu ứng dụng của bạn nhắm đến Android 10 trở lên, thì SecurityException sẽ xảy ra.
  • Nếu ứng dụng của bạn nhắm đến Android 9 (API cấp 28) trở xuống, thì phương thức này sẽ trả về null hoặc dữ liệu phần giữ chỗ nếu ứng dụng có READ_PHONE_STATE quyền. Nếu không, SecurityException sẽ xảy ra.

Nhận dạng hoạt động thể chất

Android 10 ra mắt android.permission.ACTIVITY_RECOGNITION quyền khi bắt đầu chạy cho những ứng dụng cần phát hiện số bước của người dùng, hoặc phân loại hoạt động thể chất của người dùng, ví dụ như đi bộ, đi xe đạp, hoặc di chuyển trong chiếc xe. Mục đích của tính năng này là giúp người dùng biết cách dữ liệu cảm biến thiết bị được sử dụng trong phần Cài đặt.
Một số thư viện trong Dịch vụ Google Play, chẳng hạn như Activity Recognition APIGoogle API Fit, không cung cấp kết quả trừ phi người dùng đã cấp quyền này cho ứng dụng của bạn quyền.
Ứng dụng cài sẵn duy nhất cảm biến trên thiết bị yêu cầu bạn khai báo quyền này là bước bộ đếmbước máy phát hiện.
Nếu ứng dụng của bạn nhắm đến Android 9 (API cấp 28) trở xuống, hệ thống tự động cấp quyền android.permission.ACTIVITY_RECOGNITION cho ứng dụng của bạn (nếu cần) nếu ứng dụng đó đáp ứng mỗi điều kiện sau điều kiện:

  • Tệp kê khai bao gồm Quyền com.google.android.gms.permission.ACTIVITY_RECOGNITION.
  • Tệp kê khai không bao gồm quyền android.permission.ACTIVITY_RECOGNITION.

Nếu hệ thống tự động cấp Quyền android.permission.ACTIVITY_RECOGNITION, ứng dụng của bạn vẫn giữ lại quyền sau khi bạn cập nhật ứng dụng để nhắm đến Android 10. Tuy nhiên, người dùng có thể thu hồi quyền này bất cứ lúc nào trong phần cài đặt hệ thống.

Các quy định hạn chế về hệ thống tệp /proc/net

Trên các thiết bị chạy Android 10 trở lên, ứng dụng không thể truy cập vào /proc/net, trong đó có thông tin về trạng thái mạng của thiết bị. Các ứng dụng cần quyền truy cập vào thông tin này, chẳng hạn như VPN, nên sử dụng NetworkStatsManager hoặc ConnectivityManager .

Xoá nhóm quyền khỏi giao diện người dùng

Kể từ Android 10, các ứng dụng không thể tra cứu cách nhóm các quyền trong giao diện người dùng.

Xoá đối tượng chung sở thích liên hệ

Kể từ Android 10, nền tảng này không theo dõi thông tin về mối quan hệ tương đồng của người liên hệ. Do đó, nếu ứng dụng của bạn thực hiện tìm kiếm danh bạ của người dùng, kết quả không được sắp xếp theo tần suất tương tác.
Hướng dẫn về ContactsProvider có một thông báo mô tả các trường và phương thức cụ thể đã lỗi thời trên tất cả thiết bị bắt đầu từ Android 10.

Hạn chế quyền truy cập vào nội dung trên màn hình

Để bảo vệ nội dung màn hình, Android 10 ngăn chặn quyền truy cập im lặng vào nội dung trên màn hình của thiết bị bằng cách thay đổi phạm vi của READ_FRAME_BUFFER, CAPTURE_VIDEO_OUTPUT và Quyền CAPTURE_SECURE_VIDEO_OUTPUT. Kể từ Android 10, là quyền truy cập bằng chữ ký .
Các ứng dụng cần truy cập vào nội dung trên màn hình của thiết bị phải sử dụng API MediaProjection. API này sẽ hiển thị lời nhắc yêu cầu người dùng đồng ý.

Số sê-ri của thiết bị USB

Nếu ứng dụng của bạn nhắm đến Android 10 trở lên, thì ứng dụng đó sẽ không đọc được sê-ri số điện thoại cho đến khi người dùng cấp cho ứng dụng của bạn quyền truy cập vào thiết bị USB hoặc phụ kiện.
Để tìm hiểu thêm về cách làm việc với thiết bị USB, hãy xem hướng dẫn về cách định cấu hình máy chủ USB.

Wi-Fi

Các ứng dụng nhắm đến Android 10 trở lên không thể bật hoặc tắt Wi-Fi. Chiến lược phát hành đĩa đơn WifiManager.setWifiEnabled() luôn trả về false.
Nếu bạn cần nhắc người dùng bật và tắt Wi-Fi, hãy sử dụng bảng điều khiển cài đặt.

Các hạn chế đối với quyền truy cập trực tiếp vào mạng Wi-Fi đã định cấu hình

Để bảo vệ quyền riêng tư của người dùng, hãy định cấu hình danh sách mạng Wi-Fi theo cách thủ công chỉ dành cho các ứng dụng hệ thống và chính sách thiết bị bộ điều khiển (DPC). Một DPC nhất định có thể là chủ sở hữu thiết bị hoặc chủ sở hữu hồ sơ.
Nếu ứng dụng của bạn nhắm đến Android 10 trở lên và không phải là ứng dụng hệ thống hoặc DPC, thì các phương thức sau sẽ không trả về dữ liệu hữu ích:

Android 9

Mỗi bản phát hành Android đều có hàng chục tính năng bảo mật nâng cao để bảo vệ người dùng. Để xem danh sách một số tính năng bảo mật nâng cao chính hiện có trong Android 9, hãy xem Bản phát hành Android Ghi chú.

Android 8

Mỗi bản phát hành Android đều có hàng chục tính năng nâng cao bảo mật để bảo vệ người dùng. Sau đây là một số điểm cải tiến bảo mật chính có trong Android 8.0:

  • Mã hoá. Thêm tính năng hỗ trợ để xoá khoá trong hồ sơ công việc.
  • Xác minh quy trình khởi động. Thêm quy trình Khởi động được xác minh trên Android (AVB). Đã xác minh Cơ sở mã khởi động hỗ trợ tính năng bảo vệ khôi phục để sử dụng trong các trình tải khởi động được thêm vào AOSP (Dự án nguồn mở Android) Đề xuất hỗ trợ trình tải khởi động để bảo vệ tính năng khôi phục cho HLOS. Đề xuất chỉ người dùng có thể tương tác thực tế với thiết bị mới có thể mở khoá trình tải khởi động.
  • Màn hình khoá. Bổ sung tính năng hỗ trợ sử dụng tính năng chống can thiệp để xác minh thông tin đăng nhập màn hình khoá.
  • KeyStore (Kho khoá). Khoá bắt buộc chứng thực đối với tất cả thiết bị chạy Android 8.0 trở lên. Đã thêm mã nhận dạng chứng thực để cải thiện tính năng Đăng ký tự động.
  • Cơ chế hộp cát. Đặt nhiều thành phần vào hộp cát chặt chẽ hơn bằng cách sử dụng giao diện tiêu chuẩn của Project Treble giữa khung và các thành phần dành riêng cho thiết bị. Áp dụng bộ lọc seccomp cho tất cả ứng dụng không đáng tin cậy để giảm bề mặt tấn công của hạt nhân. WebView hiện được chạy trong một quá trình tách biệt với quyền truy cập rất hạn chế vào phần còn lại của hệ thống.
  • Cứng hạt nhân. Triển khai usercopy tăng cường, mô phỏng PAN, chỉ có thể đọc sau khi khởi tạo và KASLR.
  • Cải thiện độ bảo mật của không gian người dùng. Triển khai CFI cho ngăn xếp nội dung nghe nhìn. Lớp phủ ứng dụng không còn có thể che các cửa sổ quan trọng đối với hệ thống và người dùng có cách để đóng các lớp phủ đó.
  • Cập nhật hệ điều hành qua mạng. Bản cập nhật đã bật trên các thiết bị sắp hết dung lượng ổ đĩa.
  • Cài đặt ứng dụng không xác định. Người dùng phải cấp quyền để cài đặt ứng dụng từ một nguồn không phải là cửa hàng ứng dụng bên thứ nhất.
  • Quyền riêng tư. Mã nhận dạng Android (SSAID) có một giá trị khác cho từng ứng dụng và từng người dùng trên thiết bị. Đối với các ứng dụng trình duyệt web, Client-ID Widevine sẽ trả về một giá trị riêng cho từng tên gói ứng dụng và nguồn gốc web. net.hostname hiện trống và ứng dụng dhcp không còn gửi tên máy chủ. android.os.Build.SERIAL đã được thay thế bằng API Build.SERIAL được bảo vệ sau một quyền do người dùng kiểm soát. Cải thiện tính năng tạo địa chỉ MAC ngẫu nhiên trong một số chipset.

Android 7

Mỗi bản phát hành Android đều có hàng chục tính năng nâng cao bảo mật để bảo vệ người dùng. Dưới đây là một số tính năng bảo mật nâng cao chính hiện có trên Android 7,0:

  • Mã hoá dựa trên tệp. Mã hoá ở cấp tệp, thay vì mã hoá toàn bộ khu vực lưu trữ dưới dạng một đơn vị duy nhất, tách biệt và bảo vệ từng người dùng và tiểu sử (chẳng hạn như cá nhân và hoạt động) trên một thiết bị.
  • Khởi động trực tiếp. Được bật bằng phương thức mã hoá dựa trên tệp, tính năng Khởi động trực tiếp cho phép một số ứng dụng như đồng hồ báo thức và tính năng hỗ trợ tiếp cận chạy khi thiết bị đang bật nhưng chưa được mở khoá.
  • Xác minh quy trình khởi động. Xác minh quy trình khởi động giờ đây được thực thi nghiêm ngặt đối với ngăn thiết bị bị xâm nhập khởi động; nó hỗ trợ sửa lỗi để cải thiện độ tin cậy trước hành vi hỏng dữ liệu không gây hại.
  • SELinux. Cập nhật cấu hình SELinux và tăng phạm vi sử dụng seccomp để khoá chặt hơn Hộp cát ứng dụng và giảm bề mặt tấn công.
  • Tính năng ngẫu nhiên hoá thứ tự tải thư viện và cải thiện ASLR. Tăng mức độ ngẫu nhiên khiến một số cuộc tấn công sử dụng lại mã trở nên kém tin cậy hơn.
  • Cứng hạt nhân. Thêm lớp bảo vệ bộ nhớ bổ sung cho các nhân mới hơn bằng cách đánh dấu các phần của bộ nhớ nhân là chỉ đọc, hạn chế quyền truy cập nhân hệ điều hành vào địa chỉ không gian người dùng và giảm thiểu cuộc tấn công hiện có nền tảng.
  • Lược đồ chữ ký APK phiên bản 2. Đã giới thiệu chữ ký toàn bộ tệp giúp cải thiện tốc độ xác minh và củng cố đảm bảo tính toàn vẹn.
  • Cửa hàng CA đáng tin cậy. Để giúp các ứng dụng dễ dàng kiểm soát hơn quyền truy cập vào lưu lượng truy cập mạng bảo mật, tổ chức phát hành chứng chỉ do người dùng cài đặt và những ứng dụng được cài đặt thông qua API Quản trị thiết bị không còn được tin cậy theo mặc định đối với ứng dụng nhắm đến API cấp 24 trở lên. Ngoài ra, tất cả thiết bị Android mới phải vận chuyển cùng một cửa hàng CA đáng tin cậy.
  • Cấu hình bảo mật mạng. Định cấu hình bảo mật mạng và TLS thông qua tệp cấu hình khai báo.

Android 6

Mỗi bản phát hành Android đều có hàng chục tính năng bảo mật nâng cao để bảo vệ người dùng. Dưới đây là một số tính năng bảo mật nâng cao chính hiện có trên Android 6.0:

  • Quyền khi bắt đầu chạy. Ứng dụng yêu cầu cấp quyền khi bắt đầu chạy thay vì được cấp quyền tại thời điểm cài đặt ứng dụng. Người dùng có thể bật và tắt quyền cho cả giai đoạn M và giai đoạn trước M của chúng tôi.
  • Xác minh quy trình khởi động. Một tập hợp các bước kiểm tra bằng mật mã của hệ thống được tiến hành trước khi để đảm bảo điện thoại hoạt động tốt từ trình tải khởi động cho đến hệ điều hành.
  • Bảo mật được tách biệt bằng phần cứng. Lớp trừu tượng hoá phần cứng (HAL) mới do API vân tay, Màn hình khoá, Mã hoá thiết bị và Chứng chỉ máy khách sử dụng để bảo vệ khoá khỏi bị xâm phạm hạt nhân và/hoặc các cuộc tấn công vật lý cục bộ
  • Vân tay. Giờ đây, bạn có thể mở khoá thiết bị chỉ bằng một thao tác chạm. Nhà phát triển cũng có thể thực hiện tận dụng các API mới để sử dụng vân tay nhằm khoá và mở khoá khoá mã hoá.
  • Sử dụng thẻ SD. Bạn có thể sử dụng phương tiện có thể tháo rời cho một thiết bị và mở rộng bộ nhớ có sẵn cho dữ liệu cục bộ của ứng dụng, ảnh, video, v.v., nhưng vẫn được bảo vệ bằng phương thức mã hoá cấp khối.
  • Lưu lượng truy cập qua văn bản rõ ràng. Nhà phát triển có thể dùng StrictMode mới để đảm bảo ứng dụng của họ không dùng văn bản thô.
  • Tăng cường hệ thống. Củng cố hệ thống bằng các chính sách do SELinux thực thi. Việc này mang đến trải nghiệm tốt hơn sự tách biệt giữa người dùng, cơ chế lọc IOML, giảm mối đe doạ đối với dịch vụ tiếp xúc, siết chặt hơn nữa miền SELinux và truy cập /proc cực kỳ hạn chế.
  • Kiểm soát quyền truy cập USB: Người dùng phải xác nhận để cho phép USB truy cập vào các tệp, bộ nhớ hoặc chức năng khác trên điện thoại. Chế độ mặc định hiện là chỉ tính phí với quyền truy cập vào bộ nhớ yêu cầu người dùng phê duyệt rõ ràng.

Android 5

5

Mỗi bản phát hành Android đều có hàng chục tính năng nâng cao bảo mật để bảo vệ người dùng. Dưới đây là một số tính năng bảo mật nâng cao chính hiện có trên Android 5:

  • Được mã hoá theo mặc định. Trên các thiết bị đi kèm với L ngay từ đầu, tính năng mã hoá toàn bộ ổ đĩa được bật theo mặc định để cải thiện khả năng bảo vệ dữ liệu trên các thiết bị bị mất hoặc bị đánh cắp. Bạn có thể mã hoá các thiết bị cập nhật lên L trong phần Cài đặt > Bảo mật .
  • Cải thiện tính năng mã hoá toàn bộ đĩa. Mật khẩu của người dùng là được bảo vệ khỏi các cuộc tấn công brute force bằng scrypt và, có sẵn, khoá sẽ được liên kết với kho khoá phần cứng để ngăn chặn cuộc tấn công ra ngoài thiết bị. Như mọi khi, khoá bí mật màn hình Android và khoá mã hoá thiết bị sẽ không được gửi ra khỏi thiết bị hoặc hiển thị cho bất kỳ ứng dụng nào.
  • Hộp cát Android được tăng cường bằng SELinux . Android ngay bây giờ yêu cầu SELinux trong chế độ thực thi cho tất cả các miền. SELinux là một hệ thống kiểm soát truy cập (MAC) bắt buộc trong nhân Linux được sử dụng để tăng cường mô hình bảo mật kiểm soát truy cập tuỳ ý (DAC) hiện tại. Lớp mới này cung cấp biện pháp bảo vệ bổ sung trước các lỗ hổng bảo mật tiềm ẩn.
  • Smart Lock. Android hiện có các trustlet giúp tăng tính linh hoạt khi mở khoá thiết bị. Ví dụ: trustlet có thể cho phép tự động mở khoá thiết bị khi ở gần một thiết bị tin cậy khác (thông qua NFC, Bluetooth) hoặc khi thiết bị được một người có khuôn mặt được tin cậy sử dụng.
  • Nhiều người dùng, hồ sơ bị hạn chế và chế độ khách cho điện thoại và máy tính bảng. Android hiện cung cấp cho nhiều người dùng trên điện thoại và có một chế độ khách có thể dùng để giúp bạn dễ dàng truy cập tạm thời vào mà không cấp quyền truy cập vào dữ liệu và ứng dụng của bạn.
  • Cập nhật WebView mà không cần OTA. Giờ đây, bạn có thể cập nhật WebView độc lập với khung và không cần hệ thống OTA. Điều này cho phép phản hồi nhanh hơn các vấn đề bảo mật tiềm ẩn trong WebView.
  • Cập nhật thuật toán mã hoá cho HTTPS và TLS/SSL. TLSv1.2 và TLSv1.1 hiện đã được bật, tính năng Bảo mật chuyển tiếp hiện được ưu tiên, AES-GCM hiện đã được bật và các bộ thuật toán mật mã yếu (MD5, 3DES và bộ thuật toán mật mã xuất) hiện đã bị tắt. Hãy xem https://developer.android.com/reference/javax/net/ssl/SSLSocket.html để biết thêm thông tin chi tiết.
  • Xoá tính năng hỗ trợ trình liên kết không phải PIE. Android hiện yêu cầu tất cả các tệp thực thi được liên kết linh động để hỗ trợ PIE (các tệp thực thi độc lập với vị trí). Điều này giúp cải thiện việc triển khai tính năng bố cục không gian địa chỉ ngẫu nhiên (ASLR) của Android.
  • Cải tiếnFORTIFY_SOURCE. Thư viện sau đây các hàm hiện triển khai biện pháp bảo vệ FORTIFY_SOURCE: stpcpy(), stpncpy(), read(), recvfrom() FD_CLR(), FD_SET()FD_ISSET(). Chiến dịch này cung cấp biện pháp bảo vệ chống lại các lỗ hổng bảo mật làm hỏng bộ nhớ liên quan đến các hàm đó.
  • Bản sửa lỗi bảo mật. Android 5.0 cũng bao gồm các bản sửa lỗi cho Các lỗ hổng bảo mật dành riêng cho Android. Thông tin về những lỗ hổng bảo mật này được cung cấp cho các thành viên của Open Handset Alliance và có các bản sửa lỗi tại Dự án nguồn mở Android. Để tăng cường bảo mật, một số thiết bị có cài đặt các phiên bản Android cũng có thể bao gồm các bản sửa lỗi này.

Android 4 trở xuống

Mỗi bản phát hành Android đều có hàng chục tính năng nâng cao bảo mật để bảo vệ người dùng. Sau đây là một số tính năng bảo mật nâng cao hiện có trong Android 4.4:

  • Hộp cát Android được tăng cường bằng SELinux. Android hiện sử dụng SELinux ở chế độ thực thi. SELinux là bắt buộc hệ thống kiểm soát truy cập (MAC) trong nhân hệ điều hành Linux được sử dụng để tăng cường mô hình bảo mật dựa trên cơ chế kiểm soát truy cập tuỳ ý (DAC) hiện tại. Việc này giúp tăng cường biện pháp bảo vệ trước nguy cơ bảo mật lỗ hổng bảo mật.
  • Mạng riêng ảo (VPN) cho mỗi người dùng. Trên thiết bị nhiều người dùng, VPN hiện được áp dụng cho từng người dùng. Việc này có thể cho phép người dùng định tuyến tất cả lưu lượng truy cập mạng thông qua VPN mà không ảnh hưởng đến người dùng khác trên thiết bị.
  • Hỗ trợ Nhà cung cấp ECDSA trong AndroidKeyStore. Android hiện có một nhà cung cấp kho khoá cho phép sử dụng ECDSA và Các thuật toán của Quảng cáo tìm kiếm động.
  • Cảnh báo về hoạt động giám sát thiết bị. Android sẽ đưa ra cảnh báo cho người dùng nếu có chứng chỉ được thêm vào kho lưu trữ chứng chỉ thiết bị để có thể cho phép giám sát lưu lượng truy cập mạng đã mã hoá.
  • FORTIFY_SOURCE. Android hiện hỗ trợ FORTIFY_SOURCE cấp 2 và tất cả mã được biên dịch với các biện pháp bảo vệ này. FORTIFY_SOURCE đã được cải tiến để hoạt động với clang.
  • Ghim chứng chỉ. Android 4.4 phát hiện và ngăn chặn việc sử dụng chứng chỉ Google gian lận được dùng trong giao tiếp SSL/TLS bảo mật.
  • Các bản sửa lỗi bảo mật. Android 4.4 cũng bao gồm bản sửa lỗi cho các lỗ hổng bảo mật dành riêng cho Android. Thông tin về các lỗ hổng này đã được cung cấp cho các thành viên của Open Handset Alliance và các bản sửa lỗi có trong Dự án nguồn mở Android. Để cải thiện tính bảo mật, một số thiết bị chạy các phiên bản Android cũ hơn cũng có thể bao gồm các bản sửa lỗi này.

Mỗi bản phát hành Android đều có hàng chục tính năng bảo mật nâng cao để bảo vệ người dùng. Sau đây là một số tính năng bảo mật nâng cao hiện có trong Android 4.3:

  • Hộp cát Android được củng cố bằng SELinux. Bản phát hành này tăng cường hộp cát Android bằng cách sử dụng hệ thống kiểm soát quyền truy cập bắt buộc (MAC) của SELinux trong nhân Linux. SELinux tăng cường mà người dùng và nhà phát triển không nhìn thấy, đồng thời tăng thêm tính mạnh mẽ vào mô hình bảo mật Android hiện có mà vẫn duy trì khả năng tương thích với các ứng dụng hiện có. Để đảm bảo khả năng tương thích liên tục, bản phát hành này cho phép sử dụng SELinux ở chế độ cho phép. Chế độ này ghi lại mọi chính sách nhưng sẽ không làm hỏng ứng dụng hoặc ảnh hưởng đến hoạt động của hệ thống.
  • Không có chương trình setuid hoặc setgid. Bổ sung tính năng hỗ trợ các chức năng của hệ thống tệp vào tệp hệ thống Android và xoá tất cả chương trình setuid hoặc setgid. Chiến dịch này giảm bề mặt tấn công gốc và giảm thiểu khả năng bảo mật lỗ hổng bảo mật.
  • Xác thực ADB. Kể từ Android 4.2.2, các kết nối đến ADB là được xác thực bằng cặp khoá RSA. Điều này giúp ngăn chặn việc sử dụng trái phép ADB khi kẻ tấn công có quyền truy cập thực tế vào thiết bị.
  • Hạn chế Setuid trong các ứng dụng Android. Phân vùng /system hiện được gắn nosuid cho các quy trình do zygote tạo ra, ngăn ứng dụng Android thực thi các chương trình setuid. Điều này giúp giảm thiểu bề mặt tấn công gốc nguy cơ gặp phải lỗ hổng bảo mật tiềm ẩn.
  • Giới hạn chức năng. Android zygote và ADB hiện sử dụng prctl(PR_CAPBSET_DROP) để thả khả năng không cần thiết trước khi thực thi ứng dụng. Điều này ngăn các ứng dụng Android và ứng dụng được chạy từ shell có được các chức năng đặc quyền.
  • Nhà cung cấp AndroidKeyStore. Android hiện có một trình cung cấp kho khoá cho phép các ứng dụng tạo khoá sử dụng độc quyền. Điều này cung cấp cho các ứng dụng một API để tạo hoặc lưu trữ các khoá riêng tư mà các ứng dụng khác không thể sử dụng.
  • KeyChain isBoundKeyAlgorithm. Keychain API hiện cung cấp một phương thức (isBoundKeyType) cho phép các ứng dụng xác nhận rằng các khoá trên toàn hệ thống được liên kết với một gốc đáng tin cậy phần cứng cho thiết bị. Điều này mang lại một nơi để tạo hoặc lưu trữ các khoá riêng tư không thể xuất ra khỏi thiết bị, ngay cả trong trường hợp bị xâm phạm thư mục gốc.
  • NO_NEW_PRIVS. Android zygote hiện sử dụng prctl(PR_SET_NO_NEW_PRIVS) để chặn việc thêm các đặc quyền mới trước khi thực thi mã ứng dụng. Chiến dịch này ngăn ứng dụng Android thực hiện các thao tác có thể nâng cao đặc quyền thông qua người thực thi. (Điều này yêu cầu nhân Linux phiên bản 3.5 trở lên).
  • Các tính năng nâng cao cho FORTIFY_SOURCE. Đã bật FORTIFY_SOURCE trên Android x86 và MIPS và tăng cường strchr(), strrchr(), strlen(), và umask() cuộc gọi. Việc này có thể phát hiện các lỗ hổng tiềm ẩn về hỏng bộ nhớ hoặc hằng số chuỗi chưa kết thúc.
  • Biện pháp bảo vệ khi di chuyển. Bật tính năng di chuyển chỉ có thể đọc (relro) cho các tệp thực thi được liên kết tĩnh và xoá tất cả các lượt di chuyển văn bản trong mã Android. Điều này giúp bảo vệ theo chiều sâu trước các lỗ hổng tiềm ẩn về hỏng bộ nhớ.
  • Cải thiện EntropyMixer. EntropyMixer hiện ghi entropy khi tắt hoặc khởi động lại, ngoài việc trộn định kỳ. Điều này cho phép giữ lại tất cả entropy được tạo ra khi thiết bị đang bật nguồn và đặc biệt hữu ích cho các thiết bị được khởi động lại ngay sau khi cấp phép.
  • Các bản sửa lỗi bảo mật. Android 4.3 cũng bao gồm các bản sửa lỗi cho các lỗ hổng dành riêng cho Android. Thông tin về các lỗ hổng này đã được cung cấp cho các thành viên của Open Handset Alliance và các bản sửa lỗi có trong Dự án nguồn mở Android. Để cải thiện tính bảo mật, một số thiết bị chạy các phiên bản Android cũ hơn cũng có thể bao gồm các bản sửa lỗi này.

Android cung cấp một mô hình bảo mật nhiều lớp được mô tả trong bài viết Tổng quan về tính bảo mật của Android. Mỗi bản cập nhật Android đều có hàng chục tính năng cải tiến về bảo mật để bảo vệ người dùng. Sau đây là một số tính năng bảo mật được cải tiến trong Android 4.2:

  • Xác minh ứng dụng: Người dùng có thể chọn bật tính năng Xác minh ứng dụng và có ứng dụng đã được trình xác minh ứng dụng kiểm tra trước khi cài đặt. Tính năng xác minh ứng dụng có thể cảnh báo người dùng nếu họ cố cài đặt một ứng dụng có thể gây hại; nếu một ứng dụng cực kỳ xấu, nó có thể chặn quá trình cài đặt.
  • Nhiều quyền kiểm soát hơn đối với tin nhắn dịch vụ: Android đưa ra thông báo nếu một ứng dụng ứng dụng cố gắng gửi tin nhắn SMS đến một mã ngắn sử dụng dịch vụ cao cấp có thể phát sinh thêm phí. Người dùng có thể chọn có cho phép để gửi tin nhắn hoặc chặn tin nhắn đó.
  • VPN luôn bật: VPN có thể được định cấu hình để các ứng dụng không có truy cập vào mạng cho đến khi thiết lập kết nối VPN. Điều này ngăn các ứng dụng gửi dữ liệu qua các mạng khác.
  • Ghim chứng chỉ: Các thư viện cốt lõi của Android hiện hỗ trợ tính năng ghim chứng chỉ. Các miền được ghim sẽ nhận được thông báo lỗi xác thực chứng chỉ nếu chứng chỉ đó không liên kết với một nhóm chứng chỉ dự kiến. Điều này giúp chống lại khả năng các tổ chức phát hành chứng chỉ xâm phạm.
  • Cải thiện khả năng hiển thị các quyền trên Android: Các quyền được sắp xếp hợp lý thành các nhóm dễ hiểu hơn đối với người dùng. Trong quá trình xem xét người dùng có thể nhấp vào quyền đó để xem thông tin chi tiết thông tin về quyền.
  • cài đặt cứng cứng: Daemon installd không chạy dưới dạng người dùng thư mục gốc, giảm bề mặt tấn công tiềm ẩn cho việc leo thang đặc quyền gốc.
  • Củng cố tập lệnh khởi động: các tập lệnh khởi động hiện áp dụng ngữ nghĩa O_NOFOLLOW để ngăn chặn các cuộc tấn công liên quan đến đường liên kết tượng trưng.
  • FORTIFY_SOURCE: Android hiện triển khai FORTIFY_SOURCE. Thư viện hệ thống và ứng dụng sử dụng tính năng này để ngăn chặn hỏng bộ nhớ.
  • Cấu hình mặc định của ContentProvider: Các ứng dụng nhắm đến API cấp 17 sẽ đặt export thành false theo mặc định cho mỗi Content Provider (Trình cung cấp nội dung), giúp giảm bề mặt tấn công mặc định cho ứng dụng.
  • Mật mã học: Sửa đổi các phương thức triển khai mặc định của SecureRandom và Cipher.RSA để sử dụng OpenSSL. Thêm tính năng hỗ trợ ổ cắm SSL cho TLSv1.1 và TLSv1.2 bằng cách sử dụng OpenSSL 1.0.1
  • Bản sửa lỗi bảo mật: Các thư viện nguồn mở đã nâng cấp có bản sửa lỗi bảo mật bao gồm WebKit, libpng, OpenSSL và LibXML. Android 4.2 cũng bao gồm các bản sửa lỗi cho các lỗ hổng dành riêng cho Android. Thông tin về các lỗ hổng này đã được cung cấp cho các thành viên của Liên minh điện thoại mở và các bản sửa lỗi có trong Dự án nguồn mở Android. Để cải thiện tính bảo mật, một số thiết bị chạy các phiên bản Android cũ hơn cũng có thể bao gồm các bản sửa lỗi này.

Android cung cấp một mô hình bảo mật nhiều lớp được mô tả trong bài viết Tổng quan về tính bảo mật của Android. Mỗi bản cập nhật Android đều có hàng chục tính năng cải tiến về bảo mật để bảo vệ người dùng. Sau đây là một số biện pháp bảo mật các tính năng nâng cao được giới thiệu trong các phiên bản Android từ 1.5 đến 4.1:

Android 1.5
  • ProPolice để ngăn tình trạng vùng đệm ngăn xếp vượt mức (-fstack-protector)
  • safety_iop để giảm tình trạng tràn số nguyên
  • Các tiện ích mở rộng cho OpenBSD dlmalloc để ngăn chặn các lỗ hổng bảo mật miễn phí hai lần và để ngăn các cuộc tấn công hợp nhất phân đoạn. Các cuộc tấn công hợp nhất phân đoạn là một cách phổ biến để khai thác lỗi vùng nhớ khối xếp.
  • OpenBSD calloc để ngăn tình trạng tràn số nguyên trong quá trình phân bổ bộ nhớ
Android 2.3
  • Các biện pháp bảo vệ lỗ hổng bảo mật chuỗi định dạng (-Wformat-security -Werror=format-security)
  • No eXecute (NX) dựa trên phần cứng để ngăn việc thực thi mã trên ngăn xếp và vùng nhớ khối xếp
  • Linux mmap_min_addr để giảm thiểu đặc quyền huỷ tham chiếu con trỏ rỗng chuyển lên cấp trên (nâng cao hơn trong Android 4.1)
Android 4.0
Sắp xếp ngẫu nhiên bố cục không gian địa chỉ (ASLR) để sắp xếp ngẫu nhiên các vị trí chính trong bộ nhớ
Android 4.1
  • Hỗ trợ PIE (Vị trí thực thi độc lập)
  • Chuyển vị trí chỉ đọc / liên kết ngay lập tức (-Wl,-z,relro -Wl,-z,now)
  • Bật dmesg_restrict (tránh rò rỉ địa chỉ hạt nhân)
  • Bật kptr_restrict (tránh rò rỉ địa chỉ hạt nhân)