اندروید به طور مداوم توانایی ها و امکانات امنیتی خود را بهبود می بخشد. لیست بهبودها را با انتشار در ناوبری سمت چپ مشاهده کنید.
اندروید 14
每个 Android 版本中都包含数十种安全增强功能,以保护用户。以下是 Android 14 中提供的一些主要安全增强功能:
- Android 10 中引入的硬件辅助 AddressSanitizer (HWASan) 是一款类似于 AddressSanitizer 的内存错误检测工具。Android 14 对 HWASan 进行了重大改进。如需了解它如何帮助防止 bug 进入 Android 版本,请访问 HWAddressSanitizer
- 在 Android 14 中,从与第三方共享位置数据的应用开始,系统运行时权限对话框现在包含一个可点击的部分,用于突出显示应用的数据分享做法,包括诸如以下信息:应用为什么可能会决定与第三方分享数据。
- Android 12 引入了在调制解调器级别停用 2G 支持的选项,以保护用户免受 2G 的过时安全模型固有的安全风险的影响。认识到停用 2G 对企业客户的重要性后,Android 14 在 Android Enterprise 中启用了此安全功能,以便 IT 管理员能够限制受管设备降级到 2G 连接。
- 开始支持拒绝未加密的移动网络连接,确保电路交换语音和短信流量始终会加密,并可防范被动无线拦截。详细了解 Android 的移动网络连接强化计划。
- 新增了对多个 IMEI 的支持
- 从 Android 14 开始,AES-HCTR2 是采用加速加密指令的设备的首选文件名加密模式。
- 移动网络连接
- 在 Android 安全中心添加了相关文档
- 如果您的应用以 Android 14 为目标平台并使用动态代码加载 (DCL) 功能,则必须将所有动态加载的文件标记为只读。否则,系统会抛出异常。我们建议应用尽可能避免动态加载代码,因为这样做会大大增加应用因代码注入或代码篡改而遭到入侵的风险。
اندروید 13
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 13 آورده شده است:
- اندروید 13 پشتیبانی از ارائه چند سند را اضافه می کند. این رابط جدید Presentation Session به یک برنامه امکان میدهد یک ارائه چند سندی انجام دهد، چیزی که با API موجود امکانپذیر نیست. برای اطلاعات بیشتر، به شناسه شناسنامه مراجعه کنید
- در Android 13، اهدافی که از برنامههای خارجی نشأت میگیرند، در صورتی و تنها در صورتی به یک مؤلفه صادر شده تحویل داده میشوند که مقاصد با عناصر فیلتر قصد اعلام شده مطابقت داشته باشند.
- Open Mobile API (OMAPI) یک API استاندارد است که برای برقراری ارتباط با عنصر امن دستگاه استفاده می شود. قبل از اندروید 13، تنها برنامه ها و ماژول های فریم ورک به این رابط دسترسی داشتند. با تبدیل آن به یک رابط پایدار فروشنده، ماژول های HAL همچنین می توانند از طریق سرویس OMAPI با عناصر امن ارتباط برقرار کنند. برای اطلاعات بیشتر، OMAPI Vendor Stable Interface را ببینید.
- از Android 13-QPR، UIDهای مشترک منسوخ شده اند. کاربران اندروید 13 یا بالاتر باید خط «android:sharedUserMaxSdkVersion="32" را در مانیفست خود قرار دهند. این ورودی از دریافت یک UID مشترک توسط کاربران جدید جلوگیری می کند. برای اطلاعات بیشتر در مورد UID ها، به امضای برنامه مراجعه کنید.
- Android 13 از رمزنگاری های اولیه متقارن Keystore مانند AES (استاندارد رمزگذاری پیشرفته)، HMAC (کد احراز هویت پیام هش کلید) و الگوریتم های رمزنگاری نامتقارن (شامل منحنی بیضی، RSA2048، RSA4095، و منحنی)22 اضافه کرد.
- Android 13 (سطح API 33) و بالاتر از مجوز زمان اجرا برای ارسال اعلانهای غیرمستقیم از یک برنامه پشتیبانی میکند. این به کاربران اجازه می دهد تا کنترل کنند که کدام اعلان های مجوز را می بینند.
- درخواست هر بار استفاده برای برنامههایی که درخواست دسترسی به همه گزارشهای دستگاه را دارند اضافه شده است و به کاربران امکان میدهد دسترسی را مجاز یا رد کنند.
- چارچوب مجازی سازی اندروید (AVF) را معرفی کرد که هایپروایزرهای مختلف را تحت یک چارچوب با APIهای استاندارد گرد هم می آورد. محیط های اجرای امن و خصوصی را برای اجرای بارهای کاری جدا شده توسط Hypervisor فراهم می کند.
- معرفی طرح امضای APK نسخه 3.1 همه چرخشهای کلید جدید که از apksigner استفاده میکنند به طور پیشفرض از طرح امضای v3.1 برای هدفگیری چرخش برای اندروید 13 و بالاتر استفاده میکنند.
یادداشتهای انتشار کامل AOSP و لیست ویژگیها و تغییرات برنامهنویس Android را بررسی کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 13 آورده شده است:
- اندروید 13 پشتیبانی از ارائه چند سند را اضافه می کند. این رابط جدید Presentation Session به یک برنامه امکان میدهد یک ارائه چند سندی انجام دهد، چیزی که با API موجود امکانپذیر نیست. برای اطلاعات بیشتر، به شناسه شناسنامه مراجعه کنید
- در Android 13، اهدافی که از برنامههای خارجی نشأت میگیرند، در صورتی و تنها در صورتی به یک مؤلفه صادر شده تحویل داده میشوند که مقاصد با عناصر فیلتر قصد اعلام شده مطابقت داشته باشند.
- Open Mobile API (OMAPI) یک API استاندارد است که برای برقراری ارتباط با عنصر امن دستگاه استفاده می شود. قبل از اندروید 13، تنها برنامه ها و ماژول های فریم ورک به این رابط دسترسی داشتند. با تبدیل آن به یک رابط پایدار فروشنده، ماژول های HAL همچنین می توانند از طریق سرویس OMAPI با عناصر امن ارتباط برقرار کنند. برای اطلاعات بیشتر، OMAPI Vendor Stable Interface را ببینید.
- از Android 13-QPR، UIDهای مشترک منسوخ شده اند. کاربران اندروید 13 یا بالاتر باید خط «android:sharedUserMaxSdkVersion="32" را در مانیفست خود قرار دهند. این ورودی از دریافت یک UID مشترک توسط کاربران جدید جلوگیری می کند. برای اطلاعات بیشتر در مورد UID ها، به امضای برنامه مراجعه کنید.
- Android 13 از رمزنگاری های اولیه متقارن Keystore مانند AES (استاندارد رمزگذاری پیشرفته)، HMAC (کد احراز هویت پیام هش کلید) و الگوریتم های رمزنگاری نامتقارن (شامل منحنی بیضی، RSA2048، RSA4095، و منحنی)22 اضافه کرد.
- Android 13 (سطح API 33) و بالاتر از مجوز زمان اجرا برای ارسال اعلانهای غیرمستقیم از یک برنامه پشتیبانی میکند. این به کاربران اجازه می دهد تا کنترل کنند که کدام اعلان های مجوز را می بینند.
- درخواست هر بار استفاده برای برنامههایی که درخواست دسترسی به همه گزارشهای دستگاه را دارند اضافه شده است و به کاربران امکان میدهد دسترسی را مجاز یا رد کنند.
- چارچوب مجازی سازی اندروید (AVF) را معرفی کرد که هایپروایزرهای مختلف را تحت یک چارچوب با APIهای استاندارد گرد هم می آورد. محیط های اجرای امن و خصوصی را برای اجرای بارهای کاری جدا شده توسط Hypervisor فراهم می کند.
- معرفی طرح امضای APK نسخه 3.1 همه چرخشهای کلید جدید که از apksigner استفاده میکنند به طور پیشفرض از طرح امضای v3.1 برای هدفگیری چرخش برای اندروید 13 و بالاتر استفاده میکنند.
یادداشتهای انتشار کامل AOSP و لیست ویژگیها و تغییرات برنامهنویس Android را بررسی کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 13 آورده شده است:
- اندروید 13 پشتیبانی از ارائه چند سند را اضافه می کند. این رابط جدید Presentation Session به یک برنامه امکان میدهد یک ارائه چند سندی انجام دهد، چیزی که با API موجود امکانپذیر نیست. برای اطلاعات بیشتر، به شناسه شناسنامه مراجعه کنید
- در Android 13، اهدافی که از برنامههای خارجی نشأت میگیرند، در صورتی و تنها در صورتی به یک مؤلفه صادر شده تحویل داده میشوند که مقاصد با عناصر فیلتر قصد اعلام شده مطابقت داشته باشند.
- Open Mobile API (OMAPI) یک API استاندارد است که برای برقراری ارتباط با عنصر امن دستگاه استفاده می شود. قبل از اندروید 13، تنها برنامه ها و ماژول های فریم ورک به این رابط دسترسی داشتند. با تبدیل آن به یک رابط پایدار فروشنده، ماژول های HAL همچنین می توانند از طریق سرویس OMAPI با عناصر امن ارتباط برقرار کنند. برای اطلاعات بیشتر، OMAPI Vendor Stable Interface را ببینید.
- از Android 13-QPR، UIDهای مشترک منسوخ شده اند. کاربران اندروید 13 یا بالاتر باید خط «android:sharedUserMaxSdkVersion="32" را در مانیفست خود قرار دهند. این ورودی از دریافت یک UID مشترک توسط کاربران جدید جلوگیری می کند. برای اطلاعات بیشتر در مورد UID ها، به امضای برنامه مراجعه کنید.
- Android 13 از رمزنگاری های اولیه متقارن Keystore مانند AES (استاندارد رمزگذاری پیشرفته)، HMAC (کد احراز هویت پیام هش کلید) و الگوریتم های رمزنگاری نامتقارن (شامل منحنی بیضی، RSA2048، RSA4095، و منحنی)22 اضافه کرد.
- Android 13 (سطح API 33) و بالاتر از مجوز زمان اجرا برای ارسال اعلانهای غیرمستقیم از یک برنامه پشتیبانی میکند. این به کاربران اجازه می دهد تا کنترل کنند که کدام اعلان های مجوز را می بینند.
- درخواست هر بار استفاده برای برنامههایی که درخواست دسترسی به همه گزارشهای دستگاه را دارند اضافه شده است و به کاربران امکان میدهد دسترسی را مجاز یا رد کنند.
- چارچوب مجازی سازی اندروید (AVF) را معرفی کرد که هایپروایزرهای مختلف را تحت یک چارچوب با APIهای استاندارد گرد هم می آورد. محیط های اجرای امن و خصوصی را برای اجرای بارهای کاری جدا شده توسط Hypervisor فراهم می کند.
- معرفی طرح امضای APK نسخه 3.1 همه چرخشهای کلید جدید که از apksigner استفاده میکنند به طور پیشفرض از طرح امضای v3.1 برای هدفگیری چرخش برای اندروید 13 و بالاتر استفاده میکنند.
یادداشتهای انتشار کامل AOSP و لیست ویژگیها و تغییرات برنامهنویس Android را بررسی کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 13 آورده شده است:
- اندروید 13 پشتیبانی از ارائه چند سند را اضافه می کند. این رابط جدید Presentation Session به یک برنامه امکان میدهد یک ارائه چند سندی انجام دهد، چیزی که با API موجود امکانپذیر نیست. برای اطلاعات بیشتر، به شناسه شناسنامه مراجعه کنید
- در Android 13، اهدافی که از برنامههای خارجی نشأت میگیرند، در صورتی و تنها در صورتی به یک مؤلفه صادر شده تحویل داده میشوند که مقاصد با عناصر فیلتر قصد اعلام شده مطابقت داشته باشند.
- Open Mobile API (OMAPI) یک API استاندارد است که برای برقراری ارتباط با عنصر امن دستگاه استفاده می شود. قبل از اندروید 13، تنها برنامه ها و ماژول های فریم ورک به این رابط دسترسی داشتند. با تبدیل آن به یک رابط پایدار فروشنده، ماژول های HAL همچنین می توانند از طریق سرویس OMAPI با عناصر امن ارتباط برقرار کنند. برای اطلاعات بیشتر، OMAPI Vendor Stable Interface را ببینید.
- از Android 13-QPR، UIDهای مشترک منسوخ شده اند. کاربران اندروید 13 یا بالاتر باید خط «android:sharedUserMaxSdkVersion="32" را در مانیفست خود قرار دهند. این ورودی از دریافت یک UID مشترک توسط کاربران جدید جلوگیری می کند. برای اطلاعات بیشتر در مورد UID ها، به امضای برنامه مراجعه کنید.
- Android 13 از رمزنگاری های اولیه متقارن Keystore مانند AES (استاندارد رمزگذاری پیشرفته)، HMAC (کد احراز هویت پیام هش کلید) و الگوریتم های رمزنگاری نامتقارن (شامل منحنی بیضی، RSA2048، RSA4095، و منحنی)22 اضافه کرد.
- Android 13 (سطح API 33) و بالاتر از مجوز زمان اجرا برای ارسال اعلانهای غیرمستقیم از یک برنامه پشتیبانی میکند. این به کاربران اجازه می دهد تا کنترل کنند که کدام اعلان های مجوز را می بینند.
- درخواست هر بار استفاده برای برنامههایی که درخواست دسترسی به همه گزارشهای دستگاه را دارند اضافه شده است و به کاربران امکان میدهد دسترسی را مجاز یا رد کنند.
- چارچوب مجازی سازی اندروید (AVF) را معرفی کرد که هایپروایزرهای مختلف را تحت یک چارچوب با APIهای استاندارد گرد هم می آورد. محیط های اجرای امن و خصوصی را برای اجرای بارهای کاری جدا شده توسط Hypervisor فراهم می کند.
- معرفی طرح امضای APK نسخه 3.1 همه چرخشهای کلید جدید که از apksigner استفاده میکنند به طور پیشفرض از طرح امضای v3.1 برای هدفگیری چرخش برای اندروید 13 و بالاتر استفاده میکنند.
یادداشتهای انتشار کامل AOSP و لیست ویژگیها و تغییرات برنامهنویس Android را بررسی کنید.
اندروید 12
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 12 آورده شده است:
- Android 12 BiometricManager.Strings API را معرفی میکند که رشتههای محلی شده را برای برنامههایی که از BiometricPrompt برای احراز هویت استفاده میکنند، ارائه میکند. این رشتهها برای آگاهی از دستگاهها و ارائه ویژگیهای بیشتر در مورد اینکه کدام نوع احراز هویت ممکن است استفاده شود، در نظر گرفته شده است. اندروید 12 همچنین از حسگرهای اثر انگشت زیر نمایشگر پشتیبانی می کند
- پشتیبانی از حسگرهای اثر انگشت زیر نمایشگر اضافه شده است
- معرفی زبان تعریف رابط اثر انگشت اندروید (AIDL)
- پشتیبانی از Face AIDL جدید
- معرفی Rust به عنوان زبانی برای توسعه پلتفرم
- گزینه ای برای کاربران برای اعطای دسترسی فقط به مکان تقریبی آنها اضافه شد
- هنگامی که یک برنامه از دوربین یا میکروفون استفاده می کند، نشانگرهای حریم خصوصی در نوار وضعیت اضافه شده است
- هسته محاسباتی خصوصی اندروید (PCC)
- گزینه ای برای غیرفعال کردن پشتیبانی 2G اضافه شده است
اندروید 11
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. برای لیستی از برخی از پیشرفتهای امنیتی اصلی موجود در Android 11، به یادداشتهای انتشار Android مراجعه کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. برای لیستی از برخی از پیشرفتهای امنیتی اصلی موجود در Android 11، به یادداشتهای انتشار Android مراجعه کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. برای لیستی از برخی از پیشرفتهای امنیتی اصلی موجود در Android 11، به یادداشتهای انتشار Android مراجعه کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. برای لیستی از برخی از پیشرفتهای امنیتی اصلی موجود در Android 11، به یادداشتهای انتشار Android مراجعه کنید.
اندروید 10
每个 Android 版本中都包含数十项用于保护用户的安全增强功能。Android 10 包含多项安全和隐私增强功能。如需查看 Android 10 中变化的完整列表,请参阅 Android 10 版本说明。
安全性
BoundsSanitizer
Android 10 在蓝牙和编解码器中部署了 BoundsSanitizer (BoundSan)。BoundSan 使用 UBSan 的边界排错程序。该缓解功能在各个模块级别启用,有助于确保 Android 关键组件的安全性,因此不应停用。以下编解码器启用了 BoundSan:
libFLAClibavcdeclibavcenclibhevcdeclibmpeg2libopuslibvpxlibspeexresamplerlibvorbisideclibaaclibxaac
只执行内存
默认情况下,AArch64 系统二进制文件的可执行代码部分会被标记为只执行(不可读取),作为应对即时代码重用攻击的安全强化缓解方法。将数据和代码混合在一起的代码以及有目的地检查这些部分的代码(无需首先将内存段重新映射为可读)将不再起作用。如果目标 SDK 为 Android 10(API 级别 29 或更高)的应用尝试读取内存中已启用只执行内存 (XOM) 的系统库的代码部分,而未首先将该部分标记为可读,则此类应用将会受到影响。
扩展访问权限
可信代理是 Smart Lock 等三重身份验证机制使用的底层机制,只能在 Android 10 中延长解锁时间。可信代理无法再解锁已锁定的设备,并且最多只能将设备解锁状态维持四个小时。
人脸识别身份验证
借助人脸识别身份验证功能,用户只需将面孔对准设备正面即可将其解锁。Android 10 添加了对一种全新人脸识别身份验证堆栈的支持,该堆栈可安全处理相机帧,从而在支持的硬件上进行人脸识别身份验证时保障安全和隐私。Android 10 还提供了一种快捷的方式来集成符合安全标准的实现方案,让人们能通过集成应用来处理一些事务(如网上银行或其他服务)。
整数溢出排错功能
Android 10 在软件编解码器中启用了整数溢出排错功能 (IntSan)。确保播放性能对于设备硬件中不支持的任何编解码器而言都在接受范围内。 以下编解码器启用了 IntSan:
libFLAClibavcdeclibavcenclibhevcdeclibmpeg2libopuslibvpxlibspeexresamplerlibvorbisidec
模块化系统组件
Android 10 采用模块化方式处理一些 Android 系统组件,使其能够在 Android 的常规发布周期外的时间进行更新。下面列举了几种模块:
- Android 运行时
- Conscrypt
- DNS 解析器
- DocumentsUI
- ExtServices
- 媒体
- ModuleMetadata
- 网络
- PermissionController
- 时区数据
OEMCrypto
Android 10 使用 OEMCrypto API 版本 15。
Scudo
Scudo 是一个动态的用户模式内存分配器,旨在提高遇到堆相关漏洞时的复原能力。它提供了标准 C 分配和取消分配基元,以及 C++ 基元。
ShadowCallStack
ShadowCallStack
(SCS) 是一种 LLVM 插桩模式,可将函数的返回地址保存到非叶函数的函数 prolog 中单独分配的 ShadowCallStack 实例,并从函数 epilog 中的 ShadowCallStack 实例加载返回地址,从而防止返回地址覆盖(比如堆栈缓冲区溢出)。
WPA3 和 Wi-Fi Enhanced Open
Android 10 添加了对 Wi-Fi Protected Access 3 (WPA3) 和 Wi-Fi Enhanced Open 安全标准的支持,可更好地保护隐私,更稳健地防御已知攻击。
隐私设置
以 Android 9 或更低版本为目标平台时的应用访问权限
如果您的应用在 Android 10 或更高版本上运行,但其目标平台是 Android 9(API 级别 28)或更低版本,则 Android 平台具有以下行为:
- 如果您的应用为
ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION声明了<uses-permission>元素,则系统会在安装期间自动为ACCESS_BACKGROUND_LOCATION添加<uses-permission>元素。 - 如果您的应用请求了
ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION,系统会自动将ACCESS_BACKGROUND_LOCATION添加到请求中。
后台 Activity 限制
从 Android 10 开始,系统会增加针对从后台启动 Activity 的限制。此项行为变更有助于最大限度地减少对用户造成的干扰,并且可以让用户更好地控制其屏幕上显示的内容。只要您的应用启动 activity 是因用户互动直接引发的,该应用就极有可能不会受到这些限制的影响。
如需详细了解从后台启动 activity 的建议替代方法,请参阅有关如何在应用中提醒用户注意有时效性的事件的指南。
相机元数据
Android 10 更改了 getCameraCharacteristics() 方法默认返回的信息的广度。具体而言,您的应用必须具有 CAMERA 权限才能访问此方法的返回值中可能包含的设备特定元数据。
如需详细了解这些变更,请参阅关于需要权限的相机字段的部分。
剪贴板数据
对于 Android 10 或更高版本,除非您的应用是默认输入法 (IME) 或是目前聚焦的应用,否则它无法访问剪贴板中的数据。
设备位置
为了让用户更好地控制应用对位置信息的访问权限,Android 10 引入了 ACCESS_BACKGROUND_LOCATION 权限。
不同于 ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION 权限,ACCESS_BACKGROUND_LOCATION 权限仅会影响应用在后台运行时对位置信息的访问权限。除非符合以下条件之一,否则应用将被视为在后台访问位置信息:
- 属于该应用的 Activity 可见。
- 该应用运行的某个前台服务已声明前台服务类型为
location。
如需将应用中的某个服务声明为前台服务类型,请将应用的targetSdkVersion或compileSdkVersion设置为29或更高版本。详细了解前台服务如何继续执行用户发起的需要访问位置信息的操作。
外部存储空间
默认情况下,以 Android 10 及更高版本为目标平台的应用在访问外部存储设备中的文件时存在范围限制,即分区存储。此类应用可以查看外部存储设备内以下类型的文件,无需请求任何与存储相关的用户权限:
- 特定于应用的目录中的文件(使用
getExternalFilesDir()访问)。 - 应用创建的照片、视频和音频片段(通过媒体库访问)。
如需详细了解分区存储以及如何共享、访问和修改在外部存储设备上保存的文件,请参阅有关如何管理外部存储设备中的文件以及如何访问和修改媒体文件的指南。
随机分配 MAC 地址
默认情况下,在搭载 Android 10 或更高版本的设备上,系统会传输随机分配的 MAC 地址。
如果您的应用处理企业使用场景,Android 平台会提供 API,用于执行与 MAC 地址相关的几个操作。
- 获取随机分配的 MAC 地址:设备所有者应用和资料所有者应用可以通过调用
getRandomizedMacAddress()检索分配给特定网络的随机分配 MAC 地址。 - 获取实际的出厂 MAC 地址:设备所有者应用可以通过调用
getWifiMacAddress()检索设备的实际硬件 MAC 地址。此方法对于跟踪设备队列非常有用。
不可重置的设备标识符
从 Android 10 开始,应用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才能访问设备的不可重置标识符(包括 IMEI 和序列号)。
BuildTelephonyManager
如果您的应用没有该权限,但您仍尝试查询不可重置标识符的相关信息,则 Android 平台的响应会因目标 SDK 版本而异:
- 如果应用以 Android 10 或更高版本为目标平台,则会发生
SecurityException。 - 如果应用以 Android 9(API 级别 28)或更低版本为目标平台,则相应方法会返回
null或占位符数据(如果应用具有READ_PHONE_STATE权限)。否则,会发生SecurityException。
身体活动识别
Android 10 针对需要检测用户步数或对用户的身体活动(例如步行、骑车或坐车)进行分类的应用引入了 android.permission.ACTIVITY_RECOGNITION 运行时权限。此项权限旨在让用户了解设备传感器数据在“设置”中的使用方式。
除非用户已向您的应用授予此权限,否则 Google Play 服务中的一些库(例如 Activity Recognition API 和 Google Fit API)不会提供结果。
设备上要求您声明此权限的内置传感器只有计步器和步测器传感器。
如果您的应用以 Android 9(API 级别 28)或更低版本为目标平台,只要您的应用满足以下各项条件,系统会根据需要自动向您的应用授予 android.permission.ACTIVITY_RECOGNITION 权限:
- 清单文件包含
com.google.android.gms.permission.ACTIVITY_RECOGNITION权限。 - 清单文件不包含
android.permission.ACTIVITY_RECOGNITION权限。
如果系统自动授予 android.permission.ACTIVITY_RECOGNITION 权限,当您将应用更新为以 Android 10 为目标平台后,您的应用会保留此权限。但是,用户可以随时在系统设置中撤消此权限。
/proc/net 文件系统限制
在搭载 Android 10 或更高版本的设备上,应用无法访问 /proc/net,包括与设备的网络状态相关的信息。需要访问此信息的应用(如 VPN)应使用 NetworkStatsManager 或 ConnectivityManager 类。
从界面中移除了权限组
从 Android 10 开始,应用无法在界面中查询权限的分组方式。
移除了联系人关系密切程度
从 Android 10 开始,平台不再记录联系人的关系密切程度信息。因此,如果您的应用对用户的联系人进行搜索,系统将不会按互动频率对搜索结果排序。
有关 ContactsProvider 的指南包含一项说明特定字段和方法已废弃的声明(从 Android 10 开始,这些字段和方法在所有设备上已作废)。
限制对屏幕内容的访问
为了保护用户的屏幕内容,Android 10 更改了 READ_FRAME_BUFFER、CAPTURE_VIDEO_OUTPUT 和 CAPTURE_SECURE_VIDEO_OUTPUT 权限的作用域,从而禁止以静默方式访问设备的屏幕内容。从 Android 10 开始,这些权限只能通过签名访问。
需要访问设备屏幕内容的应用应使用 MediaProjection API,此 API 会显示要求用户同意访问的提示。
USB 设备序列号
如果您的应用以 Android 10 或更高版本为目标平台,则该应用只能在用户授予其访问 USB 设备或配件的权限后才能读取序列号。
如需详细了解如何使用 USB 设备,请参阅有关如何配置 USB 主机的指南。
Wi-Fi
以 Android 10 或更高版本为目标平台的应用无法启用或停用 Wi-Fi。WifiManager.setWifiEnabled() 方法始终返回 false。
如果您需要提示用户启用或停用 Wi-Fi,请使用设置面板。
对直接访问已配置的 Wi-Fi 网络实施了限制
为了保护用户隐私,只有系统应用和设备政策控制者 (DPC) 支持手动配置 Wi-Fi 网络列表。给定 DPC 可以是设备所有者,也可以是资料所有者。
如果应用以 Android 10 或更高版本为目标平台,并且应用不是系统应用或 DPC,则下列方法不会返回有用数据:
getConfiguredNetworks()方法始终返回空列表。- 每个返回整数值的网络操作方法(
addNetwork()和updateNetwork())始终返回 -1。 - 每个返回布尔值的网络操作(
removeNetwork()、reassociate()、enableNetwork()、disableNetwork()、reconnect()和disconnect())始终返回false。
اندروید 9
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. برای لیستی از برخی از پیشرفتهای امنیتی اصلی موجود در Android 9، به یادداشتهای انتشار Android مراجعه کنید.
اندروید 8
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در اندروید 8.0 آورده شده است:
- رمزگذاری پشتیبانی برای خروج کلید در نمایه کاری اضافه شد.
- بوت تایید شده Android Verified Boot (AVB) اضافه شد. پایگاه کد بوت تایید شده که از محافظت برگشتی برای استفاده در بوت لودرهای اضافه شده به AOSP پشتیبانی می کند. پشتیبانی بوت لودر را برای محافظت از حالت برگشتی برای HLOS توصیه کنید. بوتلودرهای توصیهشده را فقط میتوان با تعامل فیزیکی کاربر با دستگاه باز کرد.
- صفحه قفل . پشتیبانی برای استفاده از سخت افزار مقاوم در برابر دستکاری برای تأیید اعتبار صفحه قفل اضافه شده است.
- فروشگاه کلید . گواهی کلید لازم برای همه دستگاههایی که با Android نسخه ۸.۰ و بالاتر عرضه میشوند. اضافه شدن پشتیبانی از گواهی شناسه برای بهبود ثبت نام Zero Touch.
- سندباکسینگ با استفاده از رابط استاندارد Project Treble بین فریمورک و اجزای خاص دستگاه، بسیاری از مؤلفهها را محکمتر sandbox کرد . فیلتر seccomp را برای همه برنامههای نامعتبر اعمال کرد تا سطح حمله هسته را کاهش دهد. WebView اکنون در یک فرآیند مجزا با دسترسی بسیار محدود به بقیه سیستم اجرا می شود.
- سخت شدن هسته . کپی کاربری سخت شده ، شبیه سازی PAN، فقط خواندنی پس از شروع، و KASLR پیاده سازی شده است.
- سخت شدن فضای کاربری CFI برای پشته رسانه پیاده سازی شده است. پوششهای برنامه دیگر نمیتوانند پنجرههای حیاتی سیستم را پوشش دهند و کاربران راهی برای رد کردن آنها دارند.
- پخش جریانی به روز رسانی سیستم عامل بهروزرسانیهای فعال در دستگاههایی که فضای دیسک کم دارند.
- برنامه های ناشناخته را نصب کنید . کاربران باید اجازه نصب برنامهها را از منبعی که فروشگاه برنامه شخص اول نیست، بدهند .
- حریم خصوصی Android ID (SSAID) برای هر برنامه و هر کاربر در دستگاه مقدار متفاوتی دارد. برای برنامههای مرورگر وب، Widevine Client ID مقدار متفاوتی را برای نام بسته برنامه و مبدا وب برمیگرداند.
net.hostnameاکنون خالی است و کلاینت dhcp دیگر نام میزبان را ارسال نمی کند.android.os.Build.SERIALباBuild.SERIALAPI جایگزین شده است که در پشت یک مجوز کنترل شده توسط کاربر محافظت می شود. بهبود تصادفی آدرس MAC در برخی از چیپست ها.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در اندروید 8.0 آورده شده است:
- رمزگذاری پشتیبانی برای خروج کلید در نمایه کاری اضافه شد.
- بوت تایید شده Android Verified Boot (AVB) اضافه شد. پایگاه کد بوت تایید شده که از محافظت برگشتی برای استفاده در بوت لودرهای اضافه شده به AOSP پشتیبانی می کند. پشتیبانی بوت لودر را برای محافظت از حالت برگشتی برای HLOS توصیه کنید. بوتلودرهای توصیهشده را فقط میتوان با تعامل فیزیکی کاربر با دستگاه باز کرد.
- صفحه قفل . پشتیبانی برای استفاده از سخت افزار مقاوم در برابر دستکاری برای تأیید اعتبار صفحه قفل اضافه شده است.
- فروشگاه کلید . گواهی کلید لازم برای همه دستگاههایی که با Android نسخه ۸.۰ و بالاتر عرضه میشوند. اضافه شدن پشتیبانی از گواهی شناسه برای بهبود ثبت نام Zero Touch.
- سندباکس . با استفاده از رابط استاندارد Project Treble بین فریمورک و اجزای خاص دستگاه، بسیاری از مؤلفهها را محکمتر sandbox کرد . فیلتر seccomp را برای همه برنامههای نامعتبر اعمال کرد تا سطح حمله هسته را کاهش دهد. WebView اکنون در یک فرآیند مجزا با دسترسی بسیار محدود به بقیه سیستم اجرا می شود.
- سخت شدن هسته . کپی کاربری سخت شده ، شبیه سازی PAN، فقط خواندنی پس از شروع، و KASLR پیاده سازی شده است.
- سخت شدن فضای کاربری CFI برای پشته رسانه پیاده سازی شده است. پوششهای برنامه دیگر نمیتوانند پنجرههای حیاتی سیستم را پوشش دهند و کاربران راهی برای رد کردن آنها دارند.
- پخش جریانی به روز رسانی سیستم عامل بهروزرسانیهای فعال در دستگاههایی که فضای دیسک کم دارند.
- برنامه های ناشناخته را نصب کنید . کاربران باید اجازه نصب برنامهها را از منبعی که فروشگاه برنامه شخص اول نیست، بدهند .
- حریم خصوصی Android ID (SSAID) برای هر برنامه و هر کاربر در دستگاه مقدار متفاوتی دارد. برای برنامههای مرورگر وب، Widevine Client ID مقدار متفاوتی را برای نام بسته برنامه و مبدا وب برمیگرداند.
net.hostnameاکنون خالی است و کلاینت dhcp دیگر نام میزبان را ارسال نمی کند.android.os.Build.SERIALباBuild.SERIALAPI جایگزین شده است که در پشت یک مجوز کنترل شده توسط کاربر محافظت می شود. بهبود تصادفی آدرس MAC در برخی از چیپست ها.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در اندروید 8.0 آورده شده است:
- رمزگذاری پشتیبانی برای خروج کلید در نمایه کاری اضافه شد.
- بوت تایید شده Android Verified Boot (AVB) اضافه شد. پایگاه کد بوت تایید شده که از محافظت برگشتی برای استفاده در بوت لودرهای اضافه شده به AOSP پشتیبانی می کند. پشتیبانی بوت لودر را برای محافظت از حالت برگشتی برای HLOS توصیه کنید. بوتلودرهای توصیهشده را فقط میتوان با تعامل فیزیکی کاربر با دستگاه باز کرد.
- صفحه قفل . پشتیبانی برای استفاده از سخت افزار مقاوم در برابر دستکاری برای تأیید اعتبار صفحه قفل اضافه شده است.
- فروشگاه کلید . گواهی کلید لازم برای همه دستگاههایی که با Android نسخه ۸.۰ و بالاتر عرضه میشوند. اضافه شدن پشتیبانی از گواهی شناسه برای بهبود ثبت نام Zero Touch.
- سندباکس . با استفاده از رابط استاندارد Project Treble بین فریمورک و اجزای خاص دستگاه، بسیاری از مؤلفهها را محکمتر sandbox کرد . فیلتر seccomp را برای همه برنامههای نامعتبر اعمال کرد تا سطح حمله هسته را کاهش دهد. WebView اکنون در یک فرآیند مجزا با دسترسی بسیار محدود به بقیه سیستم اجرا می شود.
- سخت شدن هسته . کپی کاربری سخت شده ، شبیه سازی PAN، فقط خواندنی پس از شروع، و KASLR پیاده سازی شده است.
- سخت شدن فضای کاربری CFI برای پشته رسانه پیاده سازی شده است. پوششهای برنامه دیگر نمیتوانند پنجرههای حیاتی سیستم را پوشش دهند و کاربران راهی برای رد کردن آنها دارند.
- پخش جریانی به روز رسانی سیستم عامل بهروزرسانیهای فعال در دستگاههایی که فضای دیسک کم دارند.
- برنامه های ناشناخته را نصب کنید . کاربران باید اجازه نصب برنامهها را از منبعی که فروشگاه برنامه شخص اول نیست، بدهند .
- حریم خصوصی Android ID (SSAID) برای هر برنامه و هر کاربر در دستگاه مقدار متفاوتی دارد. برای برنامههای مرورگر وب، Widevine Client ID مقدار متفاوتی را برای نام بسته برنامه و مبدا وب برمیگرداند.
net.hostnameاکنون خالی است و کلاینت dhcp دیگر نام میزبان را ارسال نمی کند.android.os.Build.SERIALباBuild.SERIALAPI جایگزین شده است که در پشت یک مجوز کنترل شده توسط کاربر محافظت می شود. بهبود تصادفی آدرس MAC در برخی از چیپست ها.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در اندروید 8.0 آورده شده است:
- رمزگذاری پشتیبانی برای خروج کلید در نمایه کاری اضافه شد.
- بوت تایید شده Android Verified Boot (AVB) اضافه شد. پایگاه کد بوت تایید شده که از محافظت برگشتی برای استفاده در بوت لودرهای اضافه شده به AOSP پشتیبانی می کند. پشتیبانی بوت لودر را برای محافظت از حالت برگشتی برای HLOS توصیه کنید. بوتلودرهای توصیهشده را فقط میتوان با تعامل فیزیکی کاربر با دستگاه باز کرد.
- صفحه قفل . پشتیبانی برای استفاده از سخت افزار مقاوم در برابر دستکاری برای تأیید اعتبار صفحه قفل اضافه شده است.
- فروشگاه کلید . گواهی کلید لازم برای همه دستگاههایی که با Android نسخه ۸.۰ و بالاتر عرضه میشوند. اضافه شدن پشتیبانی از گواهی شناسه برای بهبود ثبت نام Zero Touch.
- سندباکسینگ . با استفاده از رابط استاندارد Project Treble بین فریمورک و اجزای خاص دستگاه، بسیاری از مؤلفهها را محکمتر sandbox کرد . فیلتر seccomp را برای همه برنامههای نامعتبر اعمال کرد تا سطح حمله هسته را کاهش دهد. WebView اکنون در یک فرآیند مجزا با دسترسی بسیار محدود به بقیه سیستم اجرا می شود.
- سخت شدن هسته . کپی کاربری سخت شده ، شبیه سازی PAN، فقط خواندنی پس از شروع، و KASLR پیاده سازی شده است.
- سخت شدن فضای کاربری CFI برای پشته رسانه پیاده سازی شده است. پوششهای برنامه دیگر نمیتوانند پنجرههای حیاتی سیستم را پوشش دهند و کاربران راهی برای رد کردن آنها دارند.
- پخش جریانی به روز رسانی سیستم عامل بهروزرسانیهای فعال در دستگاههایی که فضای دیسک کم دارند.
- برنامه های ناشناخته را نصب کنید . کاربران باید اجازه نصب برنامهها را از منبعی که فروشگاه برنامه شخص اول نیست، بدهند .
- حریم خصوصی Android ID (SSAID) برای هر برنامه و هر کاربر در دستگاه مقدار متفاوتی دارد. برای برنامههای مرورگر وب، Widevine Client ID مقدار متفاوتی را برای نام بسته برنامه و مبدا وب برمیگرداند.
net.hostnameاکنون خالی است و کلاینت dhcp دیگر نام میزبان را ارسال نمی کند.android.os.Build.SERIALباBuild.SERIALAPI جایگزین شده است که در پشت یک مجوز کنترل شده توسط کاربر محافظت می شود. بهبود تصادفی آدرس MAC در برخی از چیپست ها.
اندروید 7
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در اندروید 7.0 آورده شده است:
- رمزگذاری مبتنی بر فایل رمزگذاری در سطح فایل، بهجای رمزگذاری کل فضای ذخیرهسازی بهعنوان یک واحد، کاربران و پروفایلهای فردی (مانند شخصی و کاری) را در دستگاه بهتر ایزوله و محافظت میکند.
- بوت مستقیم . فعال شده توسط رمزگذاری مبتنی بر فایل، Direct Boot به برنامههای خاصی مانند ساعت زنگ دار و ویژگیهای دسترسپذیری اجازه میدهد زمانی که دستگاه روشن است اما قفل آن باز نمیشود، اجرا شوند.
- بوت تایید شده اکنون بوت تایید شده برای جلوگیری از بوت شدن دستگاه های در معرض خطر به شدت اعمال می شود. از تصحیح خطا برای بهبود قابلیت اطمینان در برابر خرابی داده های غیر مخرب پشتیبانی می کند.
- SELinux . پیکربندی بهروزرسانیشده SELinux و افزایش پوشش seccomp، Application Sandbox را بیشتر قفل میکند و سطح حمله را کاهش میدهد.
- تصادفی سازی مرتبه بارگذاری کتابخانه و بهبود ASLR . افزایش تصادفی بودن برخی از حملات استفاده مجدد از کد را کمتر قابل اعتماد می کند.
- سخت شدن هسته . با علامتگذاری بخشهایی از حافظه هسته بهعنوان فقط خواندنی، محدود کردن دسترسی هسته به آدرسهای فضای کاربر و کاهش بیشتر سطح حمله موجود، حفاظت حافظه اضافی برای هستههای جدیدتر اضافه شد.
- طرح امضای APK v2 . یک طرح امضای کل فایل را معرفی کرد که سرعت راستیآزمایی را بهبود میبخشد و تضمینهای یکپارچگی را تقویت میکند.
- فروشگاه CA مورد اعتماد برای اینکه برنامهها بتوانند دسترسی به ترافیک شبکه ایمن خود را کنترل کنند، مقامات گواهی نصبشده توسط کاربر و مواردی که از طریق Device Admin API نصب شدهاند، دیگر بهطور پیشفرض برای برنامههایی که API سطح 24 و بالاتر را هدف قرار میدهند، قابل اعتماد نیستند. علاوه بر این، همه دستگاههای Android جدید باید با همان فروشگاه CA قابل اعتماد ارسال شوند.
- پیکربندی امنیت شبکه امنیت شبکه و TLS را از طریق یک فایل پیکربندی اعلامی پیکربندی کنید.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در اندروید 7.0 آورده شده است:
- رمزگذاری مبتنی بر فایل رمزگذاری در سطح فایل، بهجای رمزگذاری کل فضای ذخیرهسازی بهعنوان یک واحد، کاربران و پروفایلهای فردی (مانند شخصی و کاری) را در دستگاه بهتر ایزوله و محافظت میکند.
- بوت مستقیم . فعال شده توسط رمزگذاری مبتنی بر فایل، Direct Boot به برنامههای خاصی مانند ساعت زنگ دار و ویژگیهای دسترسپذیری اجازه میدهد زمانی که دستگاه روشن است اما قفل آن باز نمیشود، اجرا شوند.
- بوت تایید شده اکنون بوت تایید شده برای جلوگیری از بوت شدن دستگاه های در معرض خطر به شدت اعمال می شود. از تصحیح خطا برای بهبود قابلیت اطمینان در برابر خرابی داده های غیر مخرب پشتیبانی می کند.
- SELinux . پیکربندی بهروزرسانیشده SELinux و افزایش پوشش seccomp، Application Sandbox را بیشتر قفل میکند و سطح حمله را کاهش میدهد.
- تصادفی سازی مرتبه بارگذاری کتابخانه و بهبود ASLR . افزایش تصادفی بودن برخی از حملات استفاده مجدد از کد را کمتر قابل اعتماد می کند.
- سخت شدن هسته . با علامتگذاری بخشهایی از حافظه هسته بهعنوان فقط خواندنی، محدود کردن دسترسی هسته به آدرسهای فضای کاربر و کاهش بیشتر سطح حمله موجود، حفاظت حافظه اضافی برای هستههای جدیدتر اضافه شد.
- طرح امضای APK v2 . یک طرح امضای کل فایل را معرفی کرد که سرعت راستیآزمایی را بهبود میبخشد و تضمینهای یکپارچگی را تقویت میکند.
- فروشگاه CA مورد اعتماد برای اینکه برنامهها بتوانند دسترسی به ترافیک شبکه ایمن خود را کنترل کنند، مقامات گواهی نصبشده توسط کاربر و مواردی که از طریق Device Admin API نصب شدهاند، دیگر بهطور پیشفرض برای برنامههایی که API سطح 24 و بالاتر را هدف قرار میدهند، قابل اعتماد نیستند. علاوه بر این، همه دستگاههای Android جدید باید با همان فروشگاه CA قابل اعتماد ارسال شوند.
- پیکربندی امنیت شبکه امنیت شبکه و TLS را از طریق یک فایل پیکربندی اعلامی پیکربندی کنید.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در اندروید 7.0 آورده شده است:
- رمزگذاری مبتنی بر فایل رمزگذاری در سطح فایل، بهجای رمزگذاری کل فضای ذخیرهسازی بهعنوان یک واحد، کاربران و پروفایلهای فردی (مانند شخصی و کاری) را در دستگاه بهتر ایزوله و محافظت میکند.
- بوت مستقیم . فعال شده توسط رمزگذاری مبتنی بر فایل، Direct Boot به برنامههای خاصی مانند ساعت زنگ دار و ویژگیهای دسترسپذیری اجازه میدهد زمانی که دستگاه روشن است اما قفل آن باز نمیشود، اجرا شوند.
- بوت تایید شده اکنون بوت تایید شده برای جلوگیری از بوت شدن دستگاه های در معرض خطر به شدت اعمال می شود. از تصحیح خطا برای بهبود قابلیت اطمینان در برابر خرابی داده های غیر مخرب پشتیبانی می کند.
- SELinux . پیکربندی بهروزرسانیشده SELinux و افزایش پوشش seccomp، Application Sandbox را بیشتر قفل میکند و سطح حمله را کاهش میدهد.
- تصادفی سازی مرتبه بارگذاری کتابخانه و بهبود ASLR . افزایش تصادفی بودن برخی از حملات استفاده مجدد از کد را کمتر قابل اعتماد می کند.
- سخت شدن هسته . با علامتگذاری بخشهایی از حافظه هسته بهعنوان فقط خواندنی، محدود کردن دسترسی هسته به آدرسهای فضای کاربر و کاهش بیشتر سطح حمله موجود، حفاظت حافظه اضافی برای هستههای جدیدتر اضافه شد.
- طرح امضای APK v2 . یک طرح امضای کل فایل را معرفی کرد که سرعت راستیآزمایی را بهبود میبخشد و تضمینهای یکپارچگی را تقویت میکند.
- فروشگاه CA مورد اعتماد برای اینکه برنامهها بتوانند دسترسی به ترافیک شبکه ایمن خود را کنترل کنند، مقامات گواهی نصبشده توسط کاربر و مواردی که از طریق Device Admin API نصب شدهاند، دیگر بهطور پیشفرض برای برنامههایی که API سطح 24 و بالاتر را هدف قرار میدهند، قابل اعتماد نیستند. علاوه بر این، همه دستگاههای Android جدید باید با همان فروشگاه CA قابل اعتماد ارسال شوند.
- پیکربندی امنیت شبکه امنیت شبکه و TLS را از طریق یک فایل پیکربندی اعلامی پیکربندی کنید.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در اندروید 7.0 آورده شده است:
- رمزگذاری مبتنی بر فایل رمزگذاری در سطح فایل، بهجای رمزگذاری کل فضای ذخیرهسازی بهعنوان یک واحد، کاربران و پروفایلهای فردی (مانند شخصی و کاری) را در دستگاه بهتر ایزوله و محافظت میکند.
- بوت مستقیم . فعال شده توسط رمزگذاری مبتنی بر فایل، Direct Boot به برنامههای خاصی مانند ساعت زنگ دار و ویژگیهای دسترسپذیری اجازه میدهد زمانی که دستگاه روشن است اما قفل آن باز نمیشود، اجرا شوند.
- بوت تایید شده اکنون بوت تایید شده برای جلوگیری از بوت شدن دستگاه های در معرض خطر به شدت اعمال می شود. از تصحیح خطا برای بهبود قابلیت اطمینان در برابر خرابی داده های غیر مخرب پشتیبانی می کند.
- SELinux . پیکربندی به روز شده SELinux و افزایش پوشش seccomp باعث قفل شدن بیشتر Application Sandbox و کاهش سطح حمله می شود.
- تصادفی سازی مرتبه بارگذاری کتابخانه و بهبود ASLR . افزایش تصادفی بودن برخی از حملات استفاده مجدد از کد را کمتر قابل اعتماد می کند.
- سخت شدن هسته . با علامتگذاری بخشهایی از حافظه هسته بهعنوان فقط خواندنی، محدود کردن دسترسی هسته به آدرسهای فضای کاربر و کاهش بیشتر سطح حمله موجود، حفاظت حافظه اضافی برای هستههای جدیدتر اضافه شد.
- طرح امضای APK v2 . یک طرح امضای کل فایل را معرفی کرد که سرعت راستیآزمایی را بهبود میبخشد و تضمینهای یکپارچگی را تقویت میکند.
- فروشگاه CA مورد اعتماد برای اینکه برنامهها بتوانند دسترسی به ترافیک شبکه ایمن خود را کنترل کنند، مقامات گواهی نصبشده توسط کاربر و مواردی که از طریق Device Admin API نصب شدهاند، دیگر بهطور پیشفرض برای برنامههایی که API سطح 24 و بالاتر را هدف قرار میدهند، قابل اعتماد نیستند. علاوه بر این، همه دستگاههای Android جدید باید با همان فروشگاه CA قابل اعتماد ارسال شوند.
- پیکربندی امنیت شبکه امنیت شبکه و TLS را از طریق یک فایل پیکربندی اعلامی پیکربندی کنید.
اندروید 6
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در Android 6.0 آورده شده است:
- مجوزهای زمان اجرا برنامهها بهجای اینکه در زمان نصب برنامه به آنها اجازه داده شود، در زمان اجرا درخواست مجوز میکنند. کاربران میتوانند مجوزها را برای برنامههای M و قبل از M روشن و خاموش کنند.
- بوت تایید شده مجموعه ای از بررسی های رمزنگاری نرم افزار سیستم قبل از اجرا برای اطمینان از سالم بودن تلفن از بوت لودر تا سیستم عامل انجام می شود.
- امنیت جدا شده از سخت افزار لایه انتزاعی سخت افزار جدید (HAL) که توسط Fingerprint API، Lockscreen، Device Encryption و Client Certificates برای محافظت از کلیدها در برابر نفوذ هسته و/یا حملات فیزیکی محلی استفاده می شود.
- اثر انگشت . اکنون می توان قفل دستگاه ها را تنها با یک لمس باز کرد. توسعه دهندگان همچنین می توانند از API های جدید برای استفاده از اثر انگشت برای قفل و باز کردن کلیدهای رمزگذاری استفاده کنند.
- پذیرش کارت SD . رسانههای قابل جابجایی را میتوان در دستگاه استفاده کرد و فضای ذخیرهسازی موجود را برای دادههای محلی برنامه، عکسها، ویدیوها و غیره افزایش داد، اما همچنان با رمزگذاری در سطح بلوک محافظت میشود.
- ترافیک متن را پاک کنید . توسعه دهندگان می توانند از یک StrictMode جدید استفاده کنند تا مطمئن شوند برنامه آنها از متن واضح استفاده نمی کند.
- سخت شدن سیستم سخت شدن سیستم از طریق سیاست های اعمال شده توسط SELinux. این انزوا بهتر بین کاربران، فیلتر IOCTL، کاهش تهدید خدمات در معرض، سفت شدن بیشتر دامنه های SELinux و دسترسی بسیار محدود به /proc را ارائه می دهد.
- کنترل دسترسی USB: کاربران باید تأیید کنند که USB به فایلها، فضای ذخیرهسازی یا سایر عملکردهای تلفن اجازه دسترسی داشته باشد. هزینه پیشفرض اکنون فقط با دسترسی به فضای ذخیرهسازی که نیاز به تأیید صریح کاربر دارد، محاسبه میشود.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در Android 6.0 آورده شده است:
- مجوزهای زمان اجرا برنامهها بهجای اینکه در زمان نصب برنامه به آنها اجازه داده شود، در زمان اجرا درخواست مجوز میکنند. کاربران میتوانند مجوزها را برای برنامههای M و قبل از M روشن و خاموش کنند.
- بوت تایید شده مجموعه ای از بررسی های رمزنگاری نرم افزار سیستم قبل از اجرا برای اطمینان از سالم بودن تلفن از بوت لودر تا سیستم عامل انجام می شود.
- امنیت جدا شده از سخت افزار لایه انتزاعی سخت افزار جدید (HAL) که توسط Fingerprint API، Lockscreen، Device Encryption و Client Certificates برای محافظت از کلیدها در برابر نفوذ هسته و/یا حملات فیزیکی محلی استفاده می شود.
- اثر انگشت . اکنون می توان قفل دستگاه ها را تنها با یک لمس باز کرد. توسعه دهندگان همچنین می توانند از API های جدید برای استفاده از اثر انگشت برای قفل و باز کردن کلیدهای رمزگذاری استفاده کنند.
- پذیرش کارت SD . رسانههای قابل جابجایی را میتوان در دستگاه استفاده کرد و فضای ذخیرهسازی موجود را برای دادههای محلی برنامه، عکسها، ویدیوها و غیره افزایش داد، اما همچنان با رمزگذاری در سطح بلوک محافظت میشود.
- ترافیک متن را پاک کنید . توسعه دهندگان می توانند از یک StrictMode جدید استفاده کنند تا مطمئن شوند برنامه آنها از متن واضح استفاده نمی کند.
- سخت شدن سیستم سخت شدن سیستم از طریق سیاست های اعمال شده توسط SELinux. این انزوا بهتر بین کاربران، فیلتر IOCTL، کاهش تهدید خدمات در معرض، سفت شدن بیشتر دامنه های SELinux و دسترسی بسیار محدود به /proc را ارائه می دهد.
- کنترل دسترسی USB: کاربران باید تأیید کنند که USB به فایلها، فضای ذخیرهسازی یا سایر عملکردهای تلفن اجازه دسترسی داشته باشد. هزینه پیشفرض اکنون فقط با دسترسی به فضای ذخیرهسازی که نیاز به تأیید صریح کاربر دارد، محاسبه میشود.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در Android 6.0 آورده شده است:
- مجوزهای زمان اجرا برنامهها بهجای اینکه در زمان نصب برنامه به آنها اجازه داده شود، در زمان اجرا درخواست مجوز میکنند. کاربران میتوانند مجوزها را برای برنامههای M و قبل از M روشن و خاموش کنند.
- بوت تایید شده مجموعه ای از بررسی های رمزنگاری نرم افزار سیستم قبل از اجرا برای اطمینان از سالم بودن تلفن از بوت لودر تا سیستم عامل انجام می شود.
- امنیت جدا شده از سخت افزار لایه انتزاعی سخت افزار جدید (HAL) که توسط Fingerprint API، Lockscreen، Device Encryption و Client Certificates برای محافظت از کلیدها در برابر نفوذ هسته و/یا حملات فیزیکی محلی استفاده می شود.
- اثر انگشت . اکنون می توان قفل دستگاه ها را تنها با یک لمس باز کرد. توسعه دهندگان همچنین می توانند از API های جدید برای استفاده از اثر انگشت برای قفل و باز کردن کلیدهای رمزگذاری استفاده کنند.
- پذیرش کارت SD . رسانههای قابل جابجایی را میتوان در دستگاه استفاده کرد و فضای ذخیرهسازی موجود را برای دادههای محلی برنامه، عکسها، ویدیوها و غیره افزایش داد، اما همچنان با رمزگذاری در سطح بلوک محافظت میشود.
- ترافیک متن را پاک کنید . توسعه دهندگان می توانند از یک StrictMode جدید استفاده کنند تا مطمئن شوند برنامه آنها از متن واضح استفاده نمی کند.
- سخت شدن سیستم سخت شدن سیستم از طریق سیاست های اعمال شده توسط SELinux. این انزوا بهتر بین کاربران، فیلتر IOCTL، کاهش تهدید خدمات در معرض، سفت شدن بیشتر دامنه های SELinux و دسترسی بسیار محدود به /proc را ارائه می دهد.
- کنترل دسترسی USB: کاربران باید تأیید کنند که USB به فایلها، فضای ذخیرهسازی یا سایر عملکردهای تلفن اجازه دسترسی داشته باشد. هزینه پیشفرض اکنون فقط با دسترسی به فضای ذخیرهسازی که نیاز به تأیید صریح کاربر دارد، محاسبه میشود.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در Android 6.0 آورده شده است:
- مجوزهای زمان اجرا برنامهها بهجای اینکه در زمان نصب برنامه به آنها اجازه داده شود، در زمان اجرا درخواست مجوز میکنند. کاربران میتوانند مجوزها را برای برنامههای M و قبل از M روشن و خاموش کنند.
- بوت تایید شده مجموعه ای از بررسی های رمزنگاری نرم افزار سیستم قبل از اجرا برای اطمینان از سالم بودن تلفن از بوت لودر تا سیستم عامل انجام می شود.
- امنیت جدا شده از سخت افزار لایه انتزاعی سخت افزار جدید (HAL) که توسط Fingerprint API، Lockscreen، Device Encryption و Client Certificates برای محافظت از کلیدها در برابر نفوذ هسته و/یا حملات فیزیکی محلی استفاده می شود.
- اثر انگشت . اکنون می توان قفل دستگاه ها را تنها با یک لمس باز کرد. توسعه دهندگان همچنین می توانند از API های جدید برای استفاده از اثر انگشت برای قفل و باز کردن کلیدهای رمزگذاری استفاده کنند.
- پذیرش کارت SD . رسانههای قابل جابجایی را میتوان در دستگاه استفاده کرد و فضای ذخیرهسازی موجود را برای دادههای محلی برنامه، عکسها، ویدیوها و غیره افزایش داد، اما همچنان با رمزگذاری در سطح بلوک محافظت میشود.
- ترافیک متن را پاک کنید . توسعه دهندگان می توانند از یک StrictMode جدید استفاده کنند تا مطمئن شوند برنامه آنها از متن واضح استفاده نمی کند.
- سخت شدن سیستم سخت شدن سیستم از طریق سیاست های اعمال شده توسط SELinux. این انزوا بهتر بین کاربران، فیلتر IOCTL، کاهش تهدید خدمات در معرض، سفت شدن بیشتر دامنه های SELinux و دسترسی بسیار محدود به /proc را ارائه می دهد.
- کنترل دسترسی USB: کاربران باید تأیید کنند که USB به فایلها، فضای ذخیرهسازی یا سایر عملکردهای تلفن اجازه دسترسی داشته باشد. هزینه پیشفرض اکنون فقط با دسترسی به فضای ذخیرهسازی که نیاز به تأیید صریح کاربر دارد، محاسبه میشود.
اندروید 5
5.0
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در Android 5.0 آورده شده است:
- به صورت پیش فرض رمزگذاری شده است. در دستگاههایی که با L خارج از جعبه ارسال میشوند، رمزگذاری کامل دیسک به طور پیشفرض فعال میشود تا حفاظت از دادههای دستگاههای گم شده یا دزدیده شده را بهبود بخشد. دستگاه هایی که به L به روز می شوند را می توان در تنظیمات > امنیت رمزگذاری کرد.
- رمزگذاری کامل دیسک بهبود یافته است. رمز عبور کاربر در برابر حملات brute-force با استفاده از
scryptمحافظت می شود و در صورت وجود، کلید به فروشگاه کلید سخت افزاری متصل می شود تا از حملات خارج از دستگاه جلوگیری شود. مثل همیشه، راز قفل صفحه اندروید و کلید رمزگذاری دستگاه از دستگاه ارسال نمی شود یا در معرض هیچ برنامه ای قرار نمی گیرد. - سندباکس اندروید با SELinux تقویت شده است . اندروید اکنون به SELinux در حالت اعمال برای همه دامنه ها نیاز دارد. SELinux یک سیستم کنترل دسترسی اجباری (MAC) در هسته لینوکس است که برای تقویت مدل امنیتی کنترل دسترسی اختیاری (DAC) استفاده می شود. این لایه جدید محافظت بیشتری در برابر آسیب پذیری های امنیتی بالقوه ارائه می دهد.
- قفل هوشمند. اندروید اکنون دارای Trustlet هایی است که انعطاف پذیری بیشتری را برای باز کردن قفل دستگاه ها فراهم می کند. برای مثال، تراستلتها میتوانند به دستگاهها اجازه دهند که بهطور خودکار قفل آنها را زمانی که به دستگاه مورد اعتماد دیگری نزدیک میشوند (از طریق NFC، بلوتوث) یا شخصی با چهره مورد اعتماد استفاده میکند، باز شود.
- حالتهای چند کاربر، نمایه محدود و مهمان برای تلفنها و تبلتها. اندروید اکنون چندین کاربر را در تلفنها فراهم میکند و یک حالت مهمان دارد که میتواند برای دسترسی موقت آسان به دستگاه شما بدون اجازه دسترسی به دادهها و برنامههای شما استفاده شود.
- به روز رسانی WebView بدون OTA. اکنون WebView می تواند مستقل از چارچوب و بدون OTA سیستم به روز شود. این امکان پاسخ سریعتر به مسائل امنیتی احتمالی در WebView را فراهم می کند.
- رمزنگاری به روز شده برای HTTPS و TLS/SSL. TLSv1.2 و TLSv1.1 اکنون فعال است، Forward Secrecy اکنون ترجیح داده شده است، AES-GCM اکنون فعال است، و مجموعههای رمزگذاری ضعیف (MD5، 3DES، و مجموعههای رمز صادراتی) اکنون غیرفعال شدهاند. برای جزئیات بیشتر به https://developer.android.com/reference/javax/net/ssl/SSLSocket.html مراجعه کنید.
- پشتیبانی پیوند دهنده غیر PIE حذف شد. اندروید اکنون برای پشتیبانی از PIE (اجرای مستقل از موقعیت) به همه فایلهای اجرایی مرتبط با پیوند پویا نیاز دارد. این امر اجرای تصادفی طرح بندی فضای آدرس (ASLR) اندروید را افزایش می دهد.
- FORTIFY_SOURCE بهبود. توابع libc زیر اکنون حفاظت های FORTIFY_SOURCE را پیاده سازی می کنند:
stpcpy(),stpncpy(),read(),recvfrom(),FD_CLR(),FD_SET()وFD_ISSET(). این محافظت در برابر آسیبپذیریهای تخریب حافظه مربوط به آن عملکردها را فراهم میکند. - رفع امنیتی اندروید 5.0 همچنین شامل رفع آسیبپذیریهای خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android در دسترس است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در Android 5.0 آورده شده است:
- به صورت پیش فرض رمزگذاری شده است. در دستگاههایی که با L خارج از جعبه ارسال میشوند، رمزگذاری کامل دیسک به طور پیشفرض فعال میشود تا حفاظت از دادههای دستگاههای گم شده یا دزدیده شده را بهبود بخشد. دستگاه هایی که به L به روز می شوند را می توان در تنظیمات > امنیت رمزگذاری کرد.
- رمزگذاری کامل دیسک بهبود یافته است. رمز عبور کاربر در برابر حملات brute-force با استفاده از
scryptمحافظت می شود و در صورت وجود، کلید به فروشگاه کلید سخت افزاری متصل می شود تا از حملات خارج از دستگاه جلوگیری شود. مثل همیشه، راز قفل صفحه اندروید و کلید رمزگذاری دستگاه از دستگاه ارسال نمی شود یا در معرض هیچ برنامه ای قرار نمی گیرد. - سندباکس اندروید با SELinux تقویت شده است . اندروید اکنون به SELinux در حالت اعمال برای همه دامنه ها نیاز دارد. SELinux یک سیستم کنترل دسترسی اجباری (MAC) در هسته لینوکس است که برای تقویت مدل امنیتی کنترل دسترسی اختیاری (DAC) استفاده می شود. این لایه جدید محافظت بیشتری در برابر آسیب پذیری های امنیتی بالقوه ارائه می دهد.
- قفل هوشمند. اندروید اکنون دارای Trustlet هایی است که انعطاف پذیری بیشتری را برای باز کردن قفل دستگاه ها فراهم می کند. برای مثال، تراستلتها میتوانند به دستگاهها اجازه دهند که بهطور خودکار قفل آنها را زمانی که به دستگاه مورد اعتماد دیگری نزدیک میشوند (از طریق NFC، بلوتوث) یا شخصی با چهره مورد اعتماد استفاده میکند، باز شود.
- حالتهای چند کاربر، نمایه محدود و مهمان برای تلفنها و تبلتها. اندروید اکنون چندین کاربر را در تلفنها فراهم میکند و یک حالت مهمان دارد که میتواند برای دسترسی موقت آسان به دستگاه شما بدون اجازه دسترسی به دادهها و برنامههای شما استفاده شود.
- به روز رسانی WebView بدون OTA. اکنون WebView می تواند مستقل از چارچوب و بدون OTA سیستم به روز شود. این امکان پاسخ سریعتر به مسائل امنیتی احتمالی در WebView را فراهم می کند.
- رمزنگاری به روز شده برای HTTPS و TLS/SSL. TLSv1.2 و TLSv1.1 اکنون فعال است، Forward Secrecy اکنون ترجیح داده شده است، AES-GCM اکنون فعال است، و مجموعههای رمزگذاری ضعیف (MD5، 3DES، و مجموعههای رمز صادراتی) اکنون غیرفعال شدهاند. برای جزئیات بیشتر به https://developer.android.com/reference/javax/net/ssl/SSLSocket.html مراجعه کنید.
- پشتیبانی پیوند دهنده غیر PIE حذف شد. اندروید اکنون برای پشتیبانی از PIE (اجرای مستقل از موقعیت) به همه فایلهای اجرایی مرتبط با پیوند پویا نیاز دارد. این امر اجرای تصادفی طرح بندی فضای آدرس (ASLR) اندروید را افزایش می دهد.
- FORTIFY_SOURCE بهبود. توابع libc زیر اکنون حفاظت های FORTIFY_SOURCE را پیاده سازی می کنند:
stpcpy(),stpncpy(),read(),recvfrom(),FD_CLR(),FD_SET()وFD_ISSET(). این محافظت در برابر آسیبپذیریهای تخریب حافظه مربوط به آن عملکردها را فراهم میکند. - رفع امنیتی اندروید 5.0 همچنین شامل رفع آسیبپذیریهای خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android در دسترس است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در Android 5.0 آورده شده است:
- به صورت پیش فرض رمزگذاری شده است. در دستگاههایی که با L خارج از جعبه ارسال میشوند، رمزگذاری کامل دیسک به طور پیشفرض فعال میشود تا حفاظت از دادههای دستگاههای گم شده یا دزدیده شده را بهبود بخشد. دستگاه هایی که به L به روز می شوند را می توان در تنظیمات > امنیت رمزگذاری کرد.
- رمزگذاری کامل دیسک بهبود یافته است. رمز عبور کاربر در برابر حملات brute-force با استفاده از
scryptمحافظت می شود و در صورت وجود، کلید به فروشگاه کلید سخت افزاری متصل می شود تا از حملات خارج از دستگاه جلوگیری شود. مثل همیشه، راز قفل صفحه اندروید و کلید رمزگذاری دستگاه از دستگاه ارسال نمی شود یا در معرض هیچ برنامه ای قرار نمی گیرد. - سندباکس اندروید با SELinux تقویت شده است . اندروید اکنون به SELinux در حالت اعمال برای همه دامنه ها نیاز دارد. SELinux یک سیستم کنترل دسترسی اجباری (MAC) در هسته لینوکس است که برای تقویت مدل امنیتی کنترل دسترسی اختیاری (DAC) استفاده می شود. این لایه جدید محافظت بیشتری در برابر آسیب پذیری های امنیتی بالقوه ارائه می دهد.
- قفل هوشمند. اندروید اکنون دارای Trustlet هایی است که انعطاف پذیری بیشتری را برای باز کردن قفل دستگاه ها فراهم می کند. برای مثال، تراستلتها میتوانند به دستگاهها اجازه دهند که بهطور خودکار قفل آنها را زمانی که به دستگاه مورد اعتماد دیگری نزدیک میشوند (از طریق NFC، بلوتوث) یا شخصی با چهره مورد اعتماد استفاده میکند، باز شود.
- حالتهای چند کاربر، نمایه محدود و مهمان برای تلفنها و تبلتها. اندروید اکنون چندین کاربر را در تلفنها فراهم میکند و یک حالت مهمان دارد که میتواند برای دسترسی موقت آسان به دستگاه شما بدون اجازه دسترسی به دادهها و برنامههای شما استفاده شود.
- به روز رسانی WebView بدون OTA. اکنون WebView می تواند مستقل از چارچوب و بدون OTA سیستم به روز شود. این امکان پاسخ سریعتر به مسائل امنیتی احتمالی در WebView را فراهم می کند.
- رمزنگاری به روز شده برای HTTPS و TLS/SSL. TLSv1.2 و TLSv1.1 اکنون فعال است، Forward Secrecy اکنون ترجیح داده شده است، AES-GCM اکنون فعال است، و مجموعههای رمزگذاری ضعیف (MD5، 3DES، و مجموعههای رمز صادراتی) اکنون غیرفعال شدهاند. برای جزئیات بیشتر به https://developer.android.com/reference/javax/net/ssl/SSLSocket.html مراجعه کنید.
- پشتیبانی پیوند دهنده غیر PIE حذف شد. اندروید اکنون برای پشتیبانی از PIE (اجرای مستقل از موقعیت) به همه فایلهای اجرایی مرتبط با پیوند پویا نیاز دارد. این امر اجرای تصادفی طرح بندی فضای آدرس (ASLR) اندروید را افزایش می دهد.
- FORTIFY_SOURCE بهبود. توابع libc زیر اکنون حفاظت های FORTIFY_SOURCE را پیاده سازی می کنند:
stpcpy(),stpncpy(),read(),recvfrom(),FD_CLR(),FD_SET()وFD_ISSET(). این محافظت در برابر آسیبپذیریهای تخریب حافظه مربوط به آن عملکردها را فراهم میکند. - رفع امنیتی اندروید 5.0 همچنین شامل رفع آسیبپذیریهای خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android در دسترس است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در Android 5.0 آورده شده است:
- به صورت پیش فرض رمزگذاری شده است. در دستگاههایی که با L خارج از جعبه ارسال میشوند، رمزگذاری کامل دیسک به طور پیشفرض فعال میشود تا حفاظت از دادههای دستگاههای گم شده یا دزدیده شده را بهبود بخشد. دستگاه هایی که به L به روز می شوند را می توان در تنظیمات > امنیت رمزگذاری کرد.
- رمزگذاری کامل دیسک بهبود یافته است. رمز عبور کاربر در برابر حملات brute-force با استفاده از
scryptمحافظت می شود و در صورت وجود، کلید به فروشگاه کلید سخت افزاری متصل می شود تا از حملات خارج از دستگاه جلوگیری شود. مثل همیشه، راز قفل صفحه اندروید و کلید رمزگذاری دستگاه از دستگاه ارسال نمی شود یا در معرض هیچ برنامه ای قرار نمی گیرد. - سندباکس اندروید با SELinux تقویت شده است . اندروید اکنون به SELinux در حالت اعمال برای همه دامنه ها نیاز دارد. SELinux یک سیستم کنترل دسترسی اجباری (MAC) در هسته لینوکس است که برای تقویت مدل امنیتی کنترل دسترسی اختیاری (DAC) استفاده می شود. این لایه جدید محافظت بیشتری در برابر آسیب پذیری های امنیتی بالقوه ارائه می دهد.
- قفل هوشمند. اندروید اکنون دارای Trustlet هایی است که انعطاف پذیری بیشتری را برای باز کردن قفل دستگاه ها فراهم می کند. برای مثال، تراستلتها میتوانند به دستگاهها اجازه دهند که بهطور خودکار قفل آنها را زمانی که به دستگاه مورد اعتماد دیگری نزدیک میشوند (از طریق NFC، بلوتوث) یا شخصی با چهره مورد اعتماد استفاده میکند، باز شود.
- حالتهای چند کاربر، نمایه محدود و مهمان برای تلفنها و تبلتها. اندروید اکنون چندین کاربر را در تلفنها فراهم میکند و یک حالت مهمان دارد که میتواند برای دسترسی موقت آسان به دستگاه شما بدون اجازه دسترسی به دادهها و برنامههای شما استفاده شود.
- به روز رسانی WebView بدون OTA. اکنون WebView می تواند مستقل از چارچوب و بدون OTA سیستم به روز شود. این امکان پاسخ سریعتر به مسائل امنیتی احتمالی در WebView را فراهم می کند.
- رمزنگاری به روز شده برای HTTPS و TLS/SSL. TLSv1.2 و TLSv1.1 اکنون فعال است، Forward Secrecy اکنون ترجیح داده شده است، AES-GCM اکنون فعال است، و مجموعههای رمزگذاری ضعیف (MD5، 3DES، و مجموعههای رمز صادراتی) اکنون غیرفعال شدهاند. برای جزئیات بیشتر به https://developer.android.com/reference/javax/net/ssl/SSLSocket.html مراجعه کنید.
- پشتیبانی پیوند دهنده غیر PIE حذف شد. اندروید اکنون برای پشتیبانی از PIE (اجرای مستقل از موقعیت) به همه فایلهای اجرایی مرتبط با پیوند پویا نیاز دارد. این امر اجرای تصادفی طرح بندی فضای آدرس (ASLR) اندروید را افزایش می دهد.
- FORTIFY_SOURCE بهبود. توابع libc زیر اکنون حفاظت های FORTIFY_SOURCE را پیاده سازی می کنند:
stpcpy(),stpncpy(),read(),recvfrom(),FD_CLR(),FD_SET()وFD_ISSET(). این محافظت در برابر آسیبپذیریهای تخریب حافظه مربوط به آن عملکردها را فراهم میکند. - رفع امنیتی اندروید 5.0 همچنین شامل رفع آسیبپذیریهای خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android در دسترس است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
اندروید 4 و پایین تر
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی موجود در اندروید 4.4 هستند:
- سندباکس اندروید با SELinux تقویت شده است. اندروید اکنون از SELinux در حالت اعمال استفاده می کند. SELinux یک سیستم کنترل دسترسی اجباری (MAC) در هسته لینوکس است که برای تقویت مدل امنیتی مبتنی بر کنترل دسترسی اختیاری (DAC) استفاده میشود. این محافظت اضافی در برابر آسیب پذیری های امنیتی بالقوه فراهم می کند.
- VPN برای هر کاربر. در دستگاه های چند کاربره، VPN ها اکنون برای هر کاربر اعمال می شوند. این می تواند به کاربر اجازه دهد تا تمام ترافیک شبکه را از طریق VPN بدون تأثیر بر سایر کاربران دستگاه هدایت کند.
- پشتیبانی از ارائه دهنده ECDSA در AndroidKeyStore. اندروید اکنون یک ارائه دهنده فروشگاه کلید دارد که امکان استفاده از الگوریتم های ECDSA و DSA را فراهم می کند.
- هشدارهای نظارت بر دستگاه در صورتی که گواهینامه ای به فروشگاه گواهی دستگاه اضافه شده باشد که می تواند امکان نظارت بر ترافیک شبکه رمزگذاری شده را فراهم کند، اندروید به کاربران هشدار می دهد.
- FORTIFY_SOURCE. اندروید اکنون از FORTIFY_SOURCE سطح 2 پشتیبانی می کند و همه کدها با این حفاظت ها کامپایل شده اند. FORTIFY_SOURCE برای کار با clang ارتقا یافته است.
- پین کردن گواهی Android 4.4 گواهیهای جعلی Google را که در ارتباطات امن SSL/TLS استفاده میشود، شناسایی کرده و از آن جلوگیری میکند.
- رفع امنیتی اندروید 4.4 همچنین شامل رفع آسیبپذیریهای خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی موجود در اندروید 4.3 هستند:
- سندباکس اندروید با SELinux تقویت شده است. این نسخه سندباکس اندروید را با استفاده از سیستم کنترل دسترسی اجباری SELinux (MAC) در هسته لینوکس تقویت می کند. تقویت SELinux برای کاربران و توسعه دهندگان نامرئی است و به مدل امنیتی اندروید موجود استحکام می بخشد و در عین حال سازگاری با برنامه های موجود را حفظ می کند. برای اطمینان از سازگاری مداوم، این نسخه امکان استفاده از SELinux را در حالت مجاز میدهد. این حالت هرگونه نقض خطمشی را ثبت میکند، اما برنامهها را خراب نمیکند یا بر رفتار سیستم تأثیر نمیگذارد.
- بدون برنامه
setuidیاsetgid. پشتیبانی از قابلیت های سیستم فایل را به فایل های سیستم اندروید اضافه کرد و تمام برنامه هایsetuidیاsetgidرا حذف کرد. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد. - احراز هویت ADB. با شروع در Android 4.2.2، اتصالات به ADB با یک جفت کلید RSA احراز هویت می شوند. این کار از استفاده غیرمجاز از ADB در جایی که مهاجم به یک دستگاه دسترسی فیزیکی دارد جلوگیری می کند.
- Setuid را از برنامه های اندروید محدود کنید. اکنون پارتیشن
/systemبرای فرآیندهای ایجاد شده توسط zygote nosuid نصب شده است و از اجرای برنامههایsetuidتوسط برنامههای اندروید جلوگیری میکند. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد. - مرزبندی قابلیت Android zygote و ADB اکنون از
prctl(PR_CAPBSET_DROP)برای حذف قابلیتهای غیر ضروری قبل از اجرای برنامهها استفاده میکنند. این مانع از به دست آوردن قابلیت های ممتاز برنامه های Android و برنامه های راه اندازی شده از پوسته می شود. - ارائه دهنده AndroidKeyStore. اندروید اکنون یک ارائهدهنده فروشگاه کلید دارد که به برنامهها اجازه میدهد کلیدهای استفاده انحصاری ایجاد کنند. این برنامهها را با یک API برای ایجاد یا ذخیره کلیدهای خصوصی که توسط سایر برنامهها قابل استفاده نیستند، فراهم میکند.
- KeyChain
isBoundKeyAlgorithm. Keychain API اکنون روشی (isBoundKeyType) ارائه میکند که به برنامهها اجازه میدهد تأیید کنند که کلیدهای سراسر سیستم به ریشه سختافزاری اعتماد دستگاه متصل هستند. این مکانی را برای ایجاد یا ذخیره کلیدهای خصوصی فراهم می کند که نمی توان آنها را از دستگاه صادر کرد، حتی در صورت به خطر افتادن ریشه. -
NO_NEW_PRIVS. Android zygote اکنون ازprctl(PR_SET_NO_NEW_PRIVS)برای مسدود کردن اضافه کردن امتیازات جدید قبل از اجرای کد برنامه استفاده میکند. این امر از اجرای عملیاتی که می تواند امتیازات را از طریق execve بالا ببرد، برنامه های اندروید را انجام ندهند. (این به هسته لینوکس نسخه 3.5 یا بالاتر نیاز دارد). - بهبودهای
FORTIFY_SOURCE.FORTIFY_SOURCEدر Android x86 و MIPS و تماسهایstrchr(),strrchr(),strlen()وumask()تقویت شده فعال شده است. این میتواند آسیبپذیریهای بالقوه خرابی حافظه یا ثابتهای رشتهای نامحدود را شناسایی کند. - حفاظت از جابجایی جابهجاییهای فقط خواندنی (relro) را برای فایلهای اجرایی پیوند داده شده فعال کرد و همه جابهجاییهای متن در کد Android را حذف کرد. این امر دفاع عمیقی در برابر آسیبپذیریهای بالقوه تخریب حافظه فراهم میکند.
- EntropyMixer بهبود یافته است. اکنون EntropyMixer علاوه بر اختلاط دورهای، آنتروپی را هنگام خاموش شدن یا راهاندازی مجدد مینویسد. این اجازه می دهد تا تمام آنتروپی تولید شده در هنگام روشن شدن دستگاه ها حفظ شود و به ویژه برای دستگاه هایی که بلافاصله پس از تهیه مجدد راه اندازی می شوند مفید است.
- اصلاحات امنیتی اندروید 4.3 همچنین شامل رفع آسیبپذیریهای خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی موجود در اندروید 4.3 هستند:
- سندباکس اندروید با SELinux تقویت شده است. این نسخه سندباکس اندروید را با استفاده از سیستم کنترل دسترسی اجباری SELinux (MAC) در هسته لینوکس تقویت می کند. تقویت SELinux برای کاربران و توسعه دهندگان نامرئی است و به مدل امنیتی اندروید موجود استحکام می بخشد و در عین حال سازگاری با برنامه های موجود را حفظ می کند. برای اطمینان از سازگاری مداوم، این نسخه امکان استفاده از SELinux را در حالت مجاز میدهد. این حالت هرگونه نقض خطمشی را ثبت میکند، اما برنامهها را خراب نمیکند یا بر رفتار سیستم تأثیر نمیگذارد.
- بدون برنامه
setuidیاsetgid. پشتیبانی از قابلیت های سیستم فایل را به فایل های سیستم اندروید اضافه کرد و تمام برنامه هایsetuidیاsetgidرا حذف کرد. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد. - احراز هویت ADB. با شروع در Android 4.2.2، اتصالات به ADB با یک جفت کلید RSA احراز هویت می شوند. این کار از استفاده غیرمجاز از ADB در جایی که مهاجم به یک دستگاه دسترسی فیزیکی دارد جلوگیری می کند.
- Setuid را از برنامه های اندروید محدود کنید. اکنون پارتیشن
/systemبرای فرآیندهای ایجاد شده توسط zygote nosuid نصب شده است و از اجرای برنامههایsetuidتوسط برنامههای اندروید جلوگیری میکند. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد. - مرزبندی قابلیت Android zygote و ADB اکنون از
prctl(PR_CAPBSET_DROP)برای حذف قابلیتهای غیر ضروری قبل از اجرای برنامهها استفاده میکنند. این مانع از به دست آوردن قابلیت های ممتاز برنامه های Android و برنامه های راه اندازی شده از پوسته می شود. - ارائه دهنده AndroidKeyStore. اندروید اکنون یک ارائه دهنده فروشگاه کلید دارد که به برنامه ها اجازه می دهد کلیدهای استفاده انحصاری ایجاد کنند. این برنامهها را با یک API برای ایجاد یا ذخیره کلیدهای خصوصی که توسط سایر برنامهها قابل استفاده نیستند، فراهم میکند.
- KeyChain
isBoundKeyAlgorithm. Keychain API اکنون روشی (isBoundKeyType) ارائه میکند که به برنامهها اجازه میدهد تأیید کنند که کلیدهای سراسر سیستم به ریشه سختافزاری اعتماد دستگاه متصل هستند. این مکانی را برای ایجاد یا ذخیره کلیدهای خصوصی فراهم می کند که نمی توان آنها را از دستگاه صادر کرد، حتی در صورت به خطر افتادن ریشه. -
NO_NEW_PRIVS. Android zygote اکنون ازprctl(PR_SET_NO_NEW_PRIVS)برای مسدود کردن اضافه کردن امتیازات جدید قبل از اجرای کد برنامه استفاده میکند. این امر از اجرای عملیاتی که می تواند امتیازات را از طریق execve بالا ببرد، برنامه های اندروید را انجام ندهند. (این به هسته لینوکس نسخه 3.5 یا بالاتر نیاز دارد). - بهبودهای
FORTIFY_SOURCE.FORTIFY_SOURCEدر Android x86 و MIPS و تماسهایstrchr(),strrchr(),strlen()وumask()تقویت شده فعال شده است. این میتواند آسیبپذیریهای بالقوه خرابی حافظه یا ثابتهای رشتهای نامحدود را شناسایی کند. - حفاظت از جابجایی جابهجاییهای فقط خواندنی (relro) را برای فایلهای اجرایی مرتبط شده به صورت ایستا فعال کرد و همه جابجاییهای متن در کد Android را حذف کرد. این امر دفاع عمیقی در برابر آسیبپذیریهای بالقوه تخریب حافظه فراهم میکند.
- EntropyMixer بهبود یافته است. اکنون EntropyMixer علاوه بر اختلاط دورهای، آنتروپی را هنگام خاموش شدن یا راهاندازی مجدد مینویسد. این اجازه می دهد تا تمام آنتروپی تولید شده در هنگام روشن شدن دستگاه ها حفظ شود و به ویژه برای دستگاه هایی که بلافاصله پس از تهیه مجدد راه اندازی می شوند مفید است.
- اصلاحات امنیتی اندروید 4.3 همچنین شامل رفع آسیبپذیریهای خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی موجود در اندروید 4.3 هستند:
- سندباکس اندروید با SELinux تقویت شده است. این نسخه سندباکس اندروید را با استفاده از سیستم کنترل دسترسی اجباری SELinux (MAC) در هسته لینوکس تقویت می کند. تقویت SELinux برای کاربران و توسعه دهندگان نامرئی است و به مدل امنیتی اندروید موجود استحکام می بخشد و در عین حال سازگاری با برنامه های موجود را حفظ می کند. برای اطمینان از سازگاری مداوم، این نسخه امکان استفاده از SELinux را در حالت مجاز میدهد. این حالت هرگونه نقض خطمشی را ثبت میکند، اما برنامهها را خراب نمیکند یا بر رفتار سیستم تأثیر نمیگذارد.
- بدون برنامه
setuidیاsetgid. پشتیبانی از قابلیت های سیستم فایل را به فایل های سیستم اندروید اضافه کرد و تمام برنامه هایsetuidیاsetgidرا حذف کرد. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد. - احراز هویت ADB. با شروع در Android 4.2.2، اتصالات به ADB با یک جفت کلید RSA احراز هویت می شوند. این کار از استفاده غیرمجاز از ADB در جایی که مهاجم به یک دستگاه دسترسی فیزیکی دارد جلوگیری می کند.
- Setuid را از برنامه های اندروید محدود کنید. اکنون پارتیشن
/systemبرای فرآیندهای ایجاد شده توسط zygote nosuid نصب شده است و از اجرای برنامههایsetuidتوسط برنامههای اندروید جلوگیری میکند. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد. - مرزبندی قابلیت Android zygote و ADB اکنون از
prctl(PR_CAPBSET_DROP)برای حذف قابلیتهای غیر ضروری قبل از اجرای برنامهها استفاده میکنند. این مانع از به دست آوردن قابلیت های ممتاز برنامه های Android و برنامه های راه اندازی شده از پوسته می شود. - ارائه دهنده AndroidKeyStore. اندروید اکنون یک ارائهدهنده فروشگاه کلید دارد که به برنامهها اجازه میدهد کلیدهای استفاده انحصاری ایجاد کنند. این برنامهها را با یک API برای ایجاد یا ذخیره کلیدهای خصوصی که توسط سایر برنامهها قابل استفاده نیستند، فراهم میکند.
- KeyChain
isBoundKeyAlgorithm. Keychain API اکنون روشی (isBoundKeyType) ارائه میکند که به برنامهها اجازه میدهد تأیید کنند که کلیدهای سراسر سیستم به ریشه سختافزاری اعتماد دستگاه متصل هستند. این مکانی را برای ایجاد یا ذخیره کلیدهای خصوصی فراهم می کند که نمی توان آنها را از دستگاه صادر کرد، حتی در صورت به خطر افتادن ریشه. -
NO_NEW_PRIVS. Android zygote اکنون ازprctl(PR_SET_NO_NEW_PRIVS)برای مسدود کردن اضافه کردن امتیازات جدید قبل از اجرای کد برنامه استفاده میکند. این امر از اجرای عملیاتی که می تواند امتیازات را از طریق execve بالا ببرد، برنامه های اندروید را انجام ندهند. (این به هسته لینوکس نسخه 3.5 یا بالاتر نیاز دارد). - بهبودهای
FORTIFY_SOURCE.FORTIFY_SOURCEدر Android x86 و MIPS و تماسهایstrchr(),strrchr(),strlen()وumask()تقویت شده فعال شده است. این میتواند آسیبپذیریهای بالقوه خرابی حافظه یا ثابتهای رشتهای نامحدود را شناسایی کند. - حفاظت از جابجایی جابهجاییهای فقط خواندنی (relro) را برای فایلهای اجرایی پیوند داده شده فعال کرد و همه جابهجاییهای متن در کد Android را حذف کرد. این امر دفاع عمیقی در برابر آسیبپذیریهای بالقوه تخریب حافظه فراهم میکند.
- EntropyMixer بهبود یافته است. اکنون EntropyMixer علاوه بر اختلاط دورهای، آنتروپی را هنگام خاموش شدن یا راهاندازی مجدد مینویسد. این اجازه می دهد تا تمام آنتروپی تولید شده در هنگام روشن شدن دستگاه ها حفظ شود و به ویژه برای دستگاه هایی که بلافاصله پس از تهیه مجدد راه اندازی می شوند مفید است.
- اصلاحات امنیتی اندروید 4.3 همچنین شامل رفع آسیب پذیری های خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی موجود در اندروید 4.3 هستند:
- سندباکس اندروید با SELinux تقویت شده است. این نسخه سندباکس اندروید را با استفاده از سیستم کنترل دسترسی اجباری SELinux (MAC) در هسته لینوکس تقویت می کند. تقویت SELinux برای کاربران و توسعه دهندگان نامرئی است و به مدل امنیتی اندروید موجود استحکام می بخشد و در عین حال سازگاری با برنامه های موجود را حفظ می کند. برای اطمینان از سازگاری مداوم، این نسخه امکان استفاده از SELinux را در حالت مجاز میدهد. این حالت هرگونه نقض خطمشی را ثبت میکند، اما برنامهها را خراب نمیکند یا بر رفتار سیستم تأثیر نمیگذارد.
- بدون برنامه
setuidیاsetgid. پشتیبانی از قابلیت های سیستم فایل را به فایل های سیستم اندروید اضافه کرد و تمام برنامه هایsetuidیاsetgidرا حذف کرد. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد. - احراز هویت ADB با شروع در Android 4.2.2، اتصالات به ADB با یک جفت کلید RSA احراز هویت می شوند. این کار از استفاده غیرمجاز از ADB در جایی که مهاجم به یک دستگاه دسترسی فیزیکی دارد جلوگیری می کند.
- Setuid را از برنامه های اندروید محدود کنید. اکنون پارتیشن
/systemبرای فرآیندهای ایجاد شده توسط zygote nosuid نصب شده است و از اجرای برنامههایsetuidتوسط برنامههای اندروید جلوگیری میکند. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد. - مرزبندی قابلیت Android zygote و ADB اکنون از
prctl(PR_CAPBSET_DROP)برای حذف قابلیتهای غیر ضروری قبل از اجرای برنامهها استفاده میکنند. این مانع از به دست آوردن قابلیت های ممتاز برنامه های Android و برنامه های راه اندازی شده از پوسته می شود. - ارائه دهنده AndroidKeyStore. اندروید اکنون یک ارائهدهنده فروشگاه کلید دارد که به برنامهها اجازه میدهد کلیدهای استفاده انحصاری ایجاد کنند. این برنامهها را با یک API برای ایجاد یا ذخیره کلیدهای خصوصی که توسط سایر برنامهها قابل استفاده نیستند، فراهم میکند.
- KeyChain
isBoundKeyAlgorithm. Keychain API اکنون روشی (isBoundKeyType) ارائه میکند که به برنامهها اجازه میدهد تأیید کنند که کلیدهای سراسر سیستم به ریشه سختافزاری اعتماد دستگاه متصل هستند. این مکانی را برای ایجاد یا ذخیره کلیدهای خصوصی فراهم می کند که نمی توان آنها را از دستگاه صادر کرد، حتی در صورت به خطر افتادن ریشه. -
NO_NEW_PRIVS. Android zygote اکنون ازprctl(PR_SET_NO_NEW_PRIVS)برای مسدود کردن اضافه کردن امتیازات جدید قبل از اجرای کد برنامه استفاده میکند. این امر از اجرای عملیاتی که می تواند امتیازات را از طریق execve بالا ببرد، برنامه های اندروید را انجام ندهند. (این به هسته لینوکس نسخه 3.5 یا بالاتر نیاز دارد). - بهبودهای
FORTIFY_SOURCE.FORTIFY_SOURCEدر Android x86 و MIPS و تماسهایstrchr(),strrchr(),strlen()وumask()تقویت شده فعال شده است. این میتواند آسیبپذیریهای بالقوه خرابی حافظه یا ثابتهای رشتهای نامحدود را شناسایی کند. - حفاظت از جابجایی جابهجاییهای فقط خواندنی (relro) را برای فایلهای اجرایی پیوند داده شده فعال کرد و همه جابهجاییهای متن در کد Android را حذف کرد. این امر دفاع عمیقی در برابر آسیبپذیریهای بالقوه تخریب حافظه فراهم میکند.
- EntropyMixer بهبود یافته است. اکنون EntropyMixer علاوه بر اختلاط دورهای، آنتروپی را هنگام خاموش شدن یا راهاندازی مجدد مینویسد. این اجازه می دهد تا تمام آنتروپی تولید شده در هنگام روشن شدن دستگاه ها حفظ شود و به ویژه برای دستگاه هایی که بلافاصله پس از تهیه مجدد راه اندازی می شوند مفید است.
- اصلاحات امنیتی اندروید 4.3 همچنین شامل رفع آسیب پذیری های خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
Android یک مدل امنیتی چند لایه ارائه میکند که در نمای کلی امنیت Android توضیح داده شده است. هر به روز رسانی اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی معرفی شده در اندروید 4.2 هستند:
- تأیید برنامه: کاربران می توانند انتخاب کنند که تأیید برنامه ها را فعال کنند و برنامه ها را قبل از نصب توسط تأیید کننده برنامه غربال کنند. تأیید برنامه میتواند به کاربر در صورت تلاش برای نصب برنامهای که ممکن است مضر باشد، هشدار دهد. اگر برنامه ای به خصوص بد باشد، می تواند نصب را مسدود کند.
- کنترل بیشتر پیامکهای ممتاز: اگر برنامهای بخواهد پیامک را به کد کوتاهی ارسال کند که از خدمات ممتاز استفاده میکند که ممکن است هزینههای اضافی ایجاد کند، Android یک اعلان ارائه میکند. کاربر می تواند انتخاب کند که آیا به برنامه اجازه ارسال پیام را بدهد یا آن را مسدود کند.
- VPN همیشه روشن: VPN را می توان طوری پیکربندی کرد که برنامه ها تا زمانی که اتصال VPN برقرار نشود به شبکه دسترسی نداشته باشند. این امر مانع از ارسال داده توسط برنامه ها در سایر شبکه ها می شود.
- پین کردن گواهی: کتابخانه های هسته اندروید اکنون از پین کردن گواهی پشتیبانی می کنند. اگر گواهی به مجموعهای از گواهیهای مورد انتظار متصل نشود، دامنههای پینشده، تأیید اعتبار گواهی را با شکست مواجه میکنند. این امر در برابر خطر احتمالی مقامات گواهی محافظت می کند.
- نمایش بهبود یافته مجوزهای Android: مجوزها در گروه هایی سازماندهی می شوند که برای کاربران راحت تر قابل درک است. در حین بررسی مجوزها، کاربر می تواند برای مشاهده اطلاعات دقیق تر در مورد مجوز، روی مجوز کلیک کند.
- سختسازی نصبشده: دیمون
installdبهعنوان کاربر ریشه اجرا نمیشود و سطح حمله احتمالی را برای افزایش امتیاز ریشه کاهش میدهد. - سختسازی اسکریپت init: اسکریپتهای init اکنون معنای
O_NOFOLLOWرا برای جلوگیری از حملات مرتبط با پیوندهای نمادین اعمال میکنند. -
FORTIFY_SOURCE: اندروید اکنونFORTIFY_SOURCEپیاده سازی می کند. این توسط کتابخانه های سیستم و برنامه ها برای جلوگیری از خراب شدن حافظه استفاده می شود. - پیکربندی پیشفرض ContentProvider: برنامههایی که سطح API 17 را هدف میگیرند
exportبهطور پیشفرض برای هر ارائهدهنده محتوا رویfalseتنظیم کردهاند، که سطح حمله پیشفرض را برای برنامهها کاهش میدهد. - رمزنگاری: اجرای پیش فرض SecureRandom و Cipher.RSA را برای استفاده از OpenSSL تغییر داد. اضافه شدن پشتیبانی از سوکت SSL برای TLSv1.1 و TLSv1.2 با استفاده از OpenSSL 1.0.1
- رفعهای امنیتی: کتابخانههای منبع باز ارتقا یافته با اصلاحات امنیتی شامل WebKit، libpng، OpenSSL و LibXML میشوند. اندروید 4.2 همچنین شامل رفع آسیب پذیری های خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
Android یک مدل امنیتی چند لایه ارائه میکند که در نمای کلی امنیت Android توضیح داده شده است. هر به روز رسانی اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی معرفی شده در اندروید 4.2 هستند:
- تأیید برنامه: کاربران می توانند انتخاب کنند که تأیید برنامه ها را فعال کنند و برنامه ها را قبل از نصب توسط تأیید کننده برنامه غربال کنند. تأیید برنامه میتواند به کاربر در صورت تلاش برای نصب برنامهای که ممکن است مضر باشد، هشدار دهد. اگر برنامه ای به خصوص بد باشد، می تواند نصب را مسدود کند.
- کنترل بیشتر پیامکهای ممتاز: اگر برنامهای بخواهد پیامک را به کد کوتاهی ارسال کند که از خدمات ممتاز استفاده میکند که ممکن است هزینههای اضافی ایجاد کند، Android یک اعلان ارائه میکند. کاربر می تواند انتخاب کند که آیا به برنامه اجازه ارسال پیام را بدهد یا آن را مسدود کند.
- VPN همیشه روشن: VPN را می توان طوری پیکربندی کرد که برنامه ها تا زمانی که اتصال VPN برقرار نشود به شبکه دسترسی نداشته باشند. این امر مانع از ارسال داده توسط برنامه ها در سایر شبکه ها می شود.
- پین کردن گواهی: کتابخانه های هسته اندروید اکنون از پین کردن گواهی پشتیبانی می کنند. اگر گواهی به مجموعهای از گواهیهای مورد انتظار متصل نشود، دامنههای پینشده، تأیید اعتبار گواهی را با شکست مواجه میکنند. این امر در برابر خطر احتمالی مقامات گواهی محافظت می کند.
- نمایش بهبود یافته مجوزهای Android: مجوزها در گروه هایی سازماندهی می شوند که برای کاربران راحت تر قابل درک است. در حین بررسی مجوزها، کاربر می تواند برای مشاهده اطلاعات دقیق تر در مورد مجوز، روی مجوز کلیک کند.
- سختسازی نصبشده: دیمون
installdبهعنوان کاربر ریشه اجرا نمیشود و سطح حمله احتمالی را برای افزایش امتیاز ریشه کاهش میدهد. - سختسازی اسکریپت init: اسکریپتهای init اکنون معنای
O_NOFOLLOWرا برای جلوگیری از حملات مرتبط با پیوندهای نمادین اعمال میکنند. -
FORTIFY_SOURCE: اندروید اکنونFORTIFY_SOURCEپیاده سازی می کند. این توسط کتابخانه های سیستم و برنامه ها برای جلوگیری از خراب شدن حافظه استفاده می شود. - پیکربندی پیشفرض ContentProvider: برنامههایی که سطح API 17 را هدف میگیرند
exportبهطور پیشفرض برای هر ارائهدهنده محتوا رویfalseتنظیم کردهاند، که سطح حمله پیشفرض را برای برنامهها کاهش میدهد. - رمزنگاری: اجرای پیش فرض SecureRandom و Cipher.RSA را برای استفاده از OpenSSL تغییر داد. اضافه شدن پشتیبانی از سوکت SSL برای TLSv1.1 و TLSv1.2 با استفاده از OpenSSL 1.0.1
- رفعهای امنیتی: کتابخانههای منبع باز ارتقا یافته با اصلاحات امنیتی شامل WebKit، libpng، OpenSSL و LibXML میشوند. اندروید 4.2 همچنین شامل رفع آسیب پذیری های خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
Android یک مدل امنیتی چند لایه ارائه میکند که در نمای کلی امنیت Android توضیح داده شده است. هر به روز رسانی اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی معرفی شده در اندروید 4.2 هستند:
- تأیید برنامه: کاربران می توانند انتخاب کنند که تأیید برنامه ها را فعال کنند و برنامه ها را قبل از نصب توسط تأیید کننده برنامه غربال کنند. تأیید برنامه میتواند به کاربر در صورت تلاش برای نصب برنامهای که ممکن است مضر باشد، هشدار دهد. اگر برنامه ای به خصوص بد باشد، می تواند نصب را مسدود کند.
- کنترل بیشتر پیامکهای ممتاز: اگر برنامهای بخواهد پیامک را به کد کوتاهی ارسال کند که از خدمات ممتاز استفاده میکند که ممکن است هزینههای اضافی ایجاد کند، Android یک اعلان ارائه میکند. کاربر می تواند انتخاب کند که آیا به برنامه اجازه ارسال پیام را بدهد یا آن را مسدود کند.
- VPN همیشه روشن: VPN را می توان طوری پیکربندی کرد که برنامه ها تا زمانی که اتصال VPN برقرار نشود به شبکه دسترسی نداشته باشند. این امر مانع از ارسال داده توسط برنامه ها در سایر شبکه ها می شود.
- پین کردن گواهی: کتابخانه های هسته اندروید اکنون از پین کردن گواهی پشتیبانی می کنند. اگر گواهی به مجموعهای از گواهیهای مورد انتظار متصل نشود، دامنههای پینشده، تأیید اعتبار گواهی را با شکست مواجه میکنند. این امر در برابر خطر احتمالی مقامات گواهی محافظت می کند.
- نمایش بهبود یافته مجوزهای Android: مجوزها در گروه هایی سازماندهی می شوند که برای کاربران راحت تر قابل درک است. در حین بررسی مجوزها، کاربر می تواند برای مشاهده اطلاعات دقیق تر در مورد مجوز، روی مجوز کلیک کند.
- سختسازی نصبشده: دیمون
installdبهعنوان کاربر ریشه اجرا نمیشود و سطح حمله احتمالی را برای افزایش امتیاز ریشه کاهش میدهد. - سختسازی اسکریپت init: اسکریپتهای init اکنون معنای
O_NOFOLLOWرا برای جلوگیری از حملات مرتبط با پیوندهای نمادین اعمال میکنند. -
FORTIFY_SOURCE: اندروید اکنونFORTIFY_SOURCEپیاده سازی می کند. این توسط کتابخانه های سیستم و برنامه ها برای جلوگیری از خراب شدن حافظه استفاده می شود. - پیکربندی پیشفرض ContentProvider: برنامههایی که سطح API 17 را هدف میگیرند
exportبهطور پیشفرض برای هر ارائهدهنده محتوا رویfalseتنظیم کردهاند، که سطح حمله پیشفرض را برای برنامهها کاهش میدهد. - رمزنگاری: اجرای پیش فرض SecureRandom و Cipher.RSA را برای استفاده از OpenSSL تغییر داد. اضافه شدن پشتیبانی از سوکت SSL برای TLSv1.1 و TLSv1.2 با استفاده از OpenSSL 1.0.1
- رفعهای امنیتی: کتابخانههای منبع باز ارتقا یافته با اصلاحات امنیتی شامل WebKit، libpng، OpenSSL و LibXML میشوند. اندروید 4.2 همچنین شامل رفع آسیب پذیری های خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
Android یک مدل امنیتی چند لایه ارائه میکند که در نمای کلی امنیت Android توضیح داده شده است. هر به روز رسانی اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی معرفی شده در اندروید 4.2 هستند:
- تأیید برنامه: کاربران می توانند انتخاب کنند که تأیید برنامه ها را فعال کنند و برنامه ها را قبل از نصب توسط تأیید کننده برنامه غربال کنند. تأیید برنامه میتواند به کاربر در صورت تلاش برای نصب برنامهای که ممکن است مضر باشد، هشدار دهد. اگر برنامه ای به خصوص بد باشد، می تواند نصب را مسدود کند.
- کنترل بیشتر پیامکهای ممتاز: اگر برنامهای بخواهد پیامک را به کد کوتاهی ارسال کند که از خدمات ممتاز استفاده میکند که ممکن است هزینههای اضافی ایجاد کند، Android یک اعلان ارائه میکند. کاربر می تواند انتخاب کند که آیا به برنامه اجازه ارسال پیام را بدهد یا آن را مسدود کند.
- VPN همیشه روشن: VPN را می توان طوری پیکربندی کرد که برنامه ها تا زمانی که اتصال VPN برقرار نشود به شبکه دسترسی نداشته باشند. این امر مانع از ارسال داده توسط برنامه ها در سایر شبکه ها می شود.
- پین کردن گواهی: کتابخانه های هسته اندروید اکنون از پین کردن گواهی پشتیبانی می کنند. اگر گواهی به مجموعهای از گواهیهای مورد انتظار متصل نشود، دامنههای پینشده، تأیید اعتبار گواهی را با شکست مواجه میکنند. این امر در برابر خطر احتمالی مقامات گواهی محافظت می کند.
- نمایش بهبود یافته مجوزهای Android: مجوزها در گروه هایی سازماندهی می شوند که برای کاربران راحت تر قابل درک است. در حین بررسی مجوزها، کاربر می تواند برای مشاهده اطلاعات دقیق تر در مورد مجوز، روی مجوز کلیک کند.
- سختسازی نصبشده: دیمون
installdبهعنوان کاربر ریشه اجرا نمیشود و سطح حمله احتمالی را برای افزایش امتیاز ریشه کاهش میدهد. - سختسازی اسکریپت init: اسکریپتهای init اکنون معنای
O_NOFOLLOWرا برای جلوگیری از حملات مرتبط با پیوندهای نمادین اعمال میکنند. -
FORTIFY_SOURCE: اندروید اکنونFORTIFY_SOURCEپیاده سازی می کند. این توسط کتابخانه های سیستم و برنامه ها برای جلوگیری از خراب شدن حافظه استفاده می شود. - پیکربندی پیشفرض ContentProvider: برنامههایی که سطح API 17 را هدف میگیرند
exportبهطور پیشفرض برای هر ارائهدهنده محتوا رویfalseتنظیم کردهاند، که سطح حمله پیشفرض را برای برنامهها کاهش میدهد. - رمزنگاری: اجرای پیش فرض SecureRandom و Cipher.RSA را برای استفاده از OpenSSL تغییر داد. اضافه شدن پشتیبانی از سوکت SSL برای TLSv1.1 و TLSv1.2 با استفاده از OpenSSL 1.0.1
- رفعهای امنیتی: کتابخانههای منبع باز ارتقا یافته با اصلاحات امنیتی شامل WebKit، libpng، OpenSSL و LibXML میشوند. اندروید 4.2 همچنین شامل رفع آسیب پذیری های خاص اندروید است. اطلاعات مربوط به این آسیبپذیریها در اختیار اعضای Open Handset Alliance قرار گرفته است و رفع آن در پروژه منبع باز Android موجود است. برای بهبود امنیت، برخی از دستگاههای دارای نسخههای قبلی Android نیز ممکن است این اصلاحات را داشته باشند.
Android 提供了一个多层安全模型,Android 安全性概述中对该模型进行了介绍。每个 Android 更新版本中都包含数十项用于保护用户的安全增强功能。以下是 Android 1.5 至 4.1 版中引入的一些安全增强功能:
- Android 1.5
- ProPolice:旨在防止堆栈缓冲区溢出 (-fstack-protector)
- safe_iop:旨在减少整数溢出
- OpenBSD dlmalloc 的扩展程序:旨在防范 double free() 漏洞和连续块攻击。连续块攻击是利用堆损坏的常见攻击方式。
- OpenBSD calloc:旨在防止在内存分配期间发生整数溢出
- Android 2.3
- 格式化字符串漏洞防护功能 (-Wformat-security -Werror=format-security)
- 基于硬件的 No eXecute (NX):旨在防止在堆栈和堆上执行代码
- Linux mmap_min_addr:旨在降低空指针解引用提权风险(在 Android 4.1 中得到了进一步增强)
- Android 4.0
- 地址空间布局随机化 (ASLR):旨在随机排列内存中的关键位置
- Android 4.1
- PIE(位置无关可执行文件)支持
- 只读重定位/立即绑定 (-Wl,-z,relro -Wl,-z,now)
- 启用了 dmesg_restrict(避免内核地址泄露)
- 启用了 kptr_restrict(避免内核地址泄露)