اندروید به طور مداوم توانایی ها و امکانات امنیتی خود را بهبود می بخشد. لیست بهبودها را با انتشار در ناوبری سمت چپ مشاهده کنید.
اندروید 14
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 14 آورده شده است:
- AddressSanitizer با کمک سخت افزار (HWASan)، که در اندروید 10 معرفی شد، یک ابزار تشخیص خطای حافظه شبیه به AddressSanitizer است. اندروید 14 پیشرفت های قابل توجهی را در HWASan به ارمغان می آورد. بیاموزید که چگونه از ایجاد اشکال در نسخههای Android، HWAddressSanitizer جلوگیری میکند
- در Android 14، با برنامههایی که دادههای موقعیت مکانی را با اشخاص ثالث به اشتراک میگذارند، گفتگوی مجوز زمان اجرا سیستم اکنون شامل یک بخش قابل کلیک است که رویههای اشتراکگذاری داده برنامه را برجسته میکند، از جمله اطلاعاتی مانند اینکه چرا یک برنامه ممکن است تصمیم به اشتراکگذاری دادهها با اشخاص ثالث بگیرد. .
- اندروید 12 گزینه ای را برای غیرفعال کردن پشتیبانی 2G در سطح مودم معرفی کرد که از کاربران در برابر خطرات امنیتی ذاتی ناشی از مدل امنیتی منسوخ 2G محافظت می کند. با تشخیص اینکه غیرفعال کردن 2G برای مشتریان سازمانی چقدر حیاتی میتواند باشد، Android 14 این ویژگی امنیتی را در Android Enterprise فعال میکند و از مدیران فناوری اطلاعات پشتیبانی میکند تا توانایی دستگاه مدیریتشده را برای کاهش به اتصال 2G محدود کند.
- پشتیبانی اضافه شده برای رد اتصالات سلولی رمزنگاری شده تهی، تضمین می کند که ترافیک صوتی و پیامک سوئیچ مدار همیشه رمزگذاری شده و از رهگیری غیرفعال هوایی محافظت می شود. درباره برنامه Android برای تقویت اتصال سلولی بیشتر بدانید .
- پشتیبانی از چندین IMEI اضافه شده است
- از Android 14، AES-HCTR2 حالت ترجیحی رمزگذاری نام فایل برای دستگاههایی است که دستورالعملهای رمزنگاری سریع دارند.
- اتصال سلولی
- اسناد برای Android Safety Center اضافه شد
- اگر برنامه شما Android 14 را هدف قرار میدهد و از بارگذاری کد پویا (DCL) استفاده میکند، همه فایلهای بارگذاری شده پویا باید بهعنوان فقط خواندنی علامتگذاری شوند. در غیر این صورت، سیستم یک استثنا ایجاد می کند. توصیه میکنیم برنامهها تا حد امکان از بارگذاری پویا کد خودداری کنند، زیرا انجام این کار خطر آسیبدیدگی یک برنامه با تزریق کد یا دستکاری کد را به شدت افزایش میدهد.
یادداشتهای انتشار کامل AOSP و لیست ویژگیها و تغییرات برنامهنویس Android را بررسی کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 14 آورده شده است:
- AddressSanitizer با کمک سخت افزار (HWASan)، که در اندروید 10 معرفی شد، یک ابزار تشخیص خطای حافظه شبیه به AddressSanitizer است. اندروید 14 پیشرفت های قابل توجهی را در HWASan به ارمغان می آورد. بیاموزید که چگونه از ایجاد اشکال در نسخههای Android، HWAddressSanitizer جلوگیری میکند
- در Android 14، با برنامههایی که دادههای موقعیت مکانی را با اشخاص ثالث به اشتراک میگذارند، گفتگوی مجوز زمان اجرا سیستم اکنون شامل یک بخش قابل کلیک است که رویههای اشتراکگذاری داده برنامه را برجسته میکند، از جمله اطلاعاتی مانند اینکه چرا یک برنامه ممکن است تصمیم به اشتراکگذاری دادهها با اشخاص ثالث بگیرد. .
- اندروید 12 گزینه ای را برای غیرفعال کردن پشتیبانی 2G در سطح مودم معرفی کرد که از کاربران در برابر خطرات امنیتی ذاتی ناشی از مدل امنیتی منسوخ 2G محافظت می کند. با تشخیص اینکه غیرفعال کردن 2G برای مشتریان سازمانی چقدر حیاتی میتواند باشد، Android 14 این ویژگی امنیتی را در Android Enterprise فعال میکند و از مدیران فناوری اطلاعات پشتیبانی میکند تا توانایی دستگاه مدیریتشده را برای کاهش به اتصال 2G محدود کند.
- پشتیبانی اضافه شده برای رد اتصالات سلولی رمزنگاری شده تهی، تضمین می کند که ترافیک صوتی و پیامک سوئیچ مدار همیشه رمزگذاری شده و از رهگیری غیرفعال هوایی محافظت می شود. درباره برنامه Android برای تقویت اتصال سلولی بیشتر بدانید .
- پشتیبانی از چندین IMEI اضافه شده است
- از Android 14، AES-HCTR2 حالت ترجیحی رمزگذاری نام فایل برای دستگاههایی است که دستورالعملهای رمزنگاری سریع دارند.
- اتصال سلولی
- اسناد برای Android Safety Center اضافه شد
- اگر برنامه شما Android 14 را هدف قرار میدهد و از بارگذاری کد پویا (DCL) استفاده میکند، همه فایلهای بارگذاری شده پویا باید بهعنوان فقط خواندنی علامتگذاری شوند. در غیر این صورت، سیستم یک استثنا ایجاد می کند. توصیه میکنیم برنامهها تا حد امکان از بارگذاری پویا کد خودداری کنند، زیرا انجام این کار خطر آسیبدیدگی یک برنامه با تزریق کد یا دستکاری کد را به شدت افزایش میدهد.
یادداشتهای انتشار کامل AOSP و لیست ویژگیها و تغییرات برنامهنویس Android را بررسی کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 14 آورده شده است:
- AddressSanitizer با کمک سخت افزار (HWASan)، که در اندروید 10 معرفی شد، یک ابزار تشخیص خطای حافظه شبیه به AddressSanitizer است. اندروید 14 پیشرفت های قابل توجهی را در HWASan به ارمغان می آورد. بیاموزید که چگونه از ایجاد اشکال در نسخههای Android، HWAddressSanitizer جلوگیری میکند
- در Android 14، با برنامههایی که دادههای موقعیت مکانی را با اشخاص ثالث به اشتراک میگذارند، گفتگوی مجوز زمان اجرا سیستم اکنون شامل یک بخش قابل کلیک است که رویههای اشتراکگذاری داده برنامه را برجسته میکند، از جمله اطلاعاتی مانند اینکه چرا یک برنامه ممکن است تصمیم به اشتراکگذاری دادهها با اشخاص ثالث بگیرد. .
- اندروید 12 گزینه ای را برای غیرفعال کردن پشتیبانی 2G در سطح مودم معرفی کرد که از کاربران در برابر خطرات امنیتی ذاتی ناشی از مدل امنیتی منسوخ 2G محافظت می کند. با تشخیص اینکه غیرفعال کردن 2G برای مشتریان سازمانی چقدر حیاتی میتواند باشد، Android 14 این ویژگی امنیتی را در Android Enterprise فعال میکند و از مدیران فناوری اطلاعات پشتیبانی میکند تا توانایی دستگاه مدیریتشده را برای کاهش به اتصال 2G محدود کند.
- پشتیبانی اضافه شده برای رد اتصالات سلولی رمزنگاری شده تهی، تضمین می کند که ترافیک صوتی و پیامک سوئیچ مدار همیشه رمزگذاری شده و از رهگیری غیرفعال هوایی محافظت می شود. درباره برنامه Android برای تقویت اتصال سلولی بیشتر بدانید .
- پشتیبانی از چندین IMEI اضافه شده است
- از Android 14، AES-HCTR2 حالت ترجیحی رمزگذاری نام فایل برای دستگاههایی است که دستورالعملهای رمزنگاری سریع دارند.
- اتصال سلولی
- اسناد برای Android Safety Center اضافه شد
- اگر برنامه شما Android 14 را هدف قرار میدهد و از بارگذاری کد پویا (DCL) استفاده میکند، همه فایلهای بارگذاری شده پویا باید بهعنوان فقط خواندنی علامتگذاری شوند. در غیر این صورت، سیستم یک استثنا ایجاد می کند. توصیه میکنیم برنامهها تا حد امکان از بارگذاری پویا کد خودداری کنند، زیرا انجام این کار خطر آسیبدیدگی یک برنامه با تزریق کد یا دستکاری کد را به شدت افزایش میدهد.
یادداشتهای انتشار کامل AOSP و لیست ویژگیها و تغییرات برنامهنویس Android را بررسی کنید.
،هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از مهمترین پیشرفتهای امنیتی موجود در اندروید 14 آورده شده است:
- AddressSanitizer با کمک سخت افزار (HWASan)، که در اندروید 10 معرفی شد، یک ابزار تشخیص خطای حافظه شبیه به AddressSanitizer است. اندروید 14 پیشرفت های قابل توجهی را در HWASan به ارمغان می آورد. بیاموزید که چگونه از ایجاد اشکال در نسخههای Android، HWAddressSanitizer جلوگیری میکند
- در Android 14، با برنامههایی که دادههای موقعیت مکانی را با اشخاص ثالث به اشتراک میگذارند، گفتگوی مجوز زمان اجرا سیستم اکنون شامل یک بخش قابل کلیک است که رویههای اشتراکگذاری داده برنامه را برجسته میکند، از جمله اطلاعاتی مانند اینکه چرا یک برنامه ممکن است تصمیم به اشتراکگذاری دادهها با اشخاص ثالث بگیرد. .
- اندروید 12 گزینه ای را برای غیرفعال کردن پشتیبانی 2G در سطح مودم معرفی کرد که از کاربران در برابر خطرات امنیتی ذاتی ناشی از مدل امنیتی منسوخ 2G محافظت می کند. با تشخیص اینکه غیرفعال کردن 2G برای مشتریان سازمانی چقدر حیاتی میتواند باشد، Android 14 این ویژگی امنیتی را در Android Enterprise فعال میکند و از مدیران فناوری اطلاعات پشتیبانی میکند تا توانایی دستگاه مدیریتشده را برای کاهش به اتصال 2G محدود کند.
- پشتیبانی اضافه شده برای رد اتصالات سلولی رمزنگاری شده تهی، تضمین می کند که ترافیک صوتی و پیامک سوئیچ مدار همیشه رمزگذاری شده و از رهگیری غیرفعال هوایی محافظت می شود. درباره برنامه Android برای تقویت اتصال سلولی بیشتر بدانید .
- پشتیبانی از چندین IMEI اضافه شده است
- از Android 14، AES-HCTR2 حالت ترجیحی رمزگذاری نام فایل برای دستگاههایی است که دستورالعملهای رمزنگاری سریع دارند.
- اتصال سلولی
- اسناد برای Android Safety Center اضافه شد
- اگر برنامه شما Android 14 را هدف قرار میدهد و از بارگذاری کد پویا (DCL) استفاده میکند، همه فایلهای بارگذاری شده پویا باید بهعنوان فقط خواندنی علامتگذاری شوند. در غیر این صورت، سیستم یک استثنا ایجاد می کند. توصیه میکنیم برنامهها تا حد امکان از بارگذاری پویا کد خودداری کنند، زیرا انجام این کار خطر آسیبدیدگی یک برنامه با تزریق کد یا دستکاری کد را به شدت افزایش میدهد.
یادداشتهای انتشار کامل AOSP و لیست ویژگیها و تغییرات برنامهنویس Android را بررسی کنید.
اندروید 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
Every Android release includes dozens of security enhancements to protect users. For a list of some of the major security enhancements available in Android 11, see the Android Release Notes.
اندروید 10
Every Android release includes dozens of security enhancements to protect users. Android 10 includes several security and privacy enhancements. See the Android 10 release notes for a complete list of changes in Android 10.
Security
BoundsSanitizer
Android 10 deploys BoundsSanitizer (BoundSan) in Bluetooth and codecs. BoundSan uses UBSan's bounds sanitizer. This mitigation is enabled on a per-module level. It helps keep critical components of Android secure and shouldn't be disabled. BoundSan is enabled in the following codecs:
libFLAC
libavcdec
libavcenc
libhevcdec
libmpeg2
libopus
libvpx
libspeexresampler
libvorbisidec
libaac
libxaac
Execute-only memory
By default, executable code sections for AArch64 system binaries are marked execute-only (nonreadable) as a hardening mitigation against just-in-time code reuse attacks. Code that mixes data and code together and code that purposefully inspects these sections (without first remapping the memory segments as readable) no longer functions. Apps with a target SDK of Android 10 (API level 29 or higher) are impacted if the app attempts to read code sections of execute-only memory (XOM) enabled system libraries in memory without first marking the section as readable.
Extended access
Trust agents, the underlying mechanism used by tertiary authentication mechanisms such as Smart Lock, can only extend unlock in Android 10. Trust agents can no longer unlock a locked device and can only keep a device unlocked for a maximum of four hours.
Face authentication
Face authentication allows users to unlock their device simply by looking at the front of their device. Android 10 adds support for a new face authentication stack that can securely process camera frames, preserving security and privacy during face authentication on supported hardware. Android 10 also provides an easy way for security-compliant implementations to enable app integration for transactions such as online banking or other services.
Integer Overflow Sanitization
Android 10 enables Integer Overflow Sanitization (IntSan) in software codecs. Ensure that playback performance is acceptable for any codecs that aren't supported in the device's hardware. IntSan is enabled in the following codecs:
libFLAC
libavcdec
libavcenc
libhevcdec
libmpeg2
libopus
libvpx
libspeexresampler
libvorbisidec
Modular system components
Android 10 modularizes some Android system components and enables them to be updated outside of the normal Android release cycle. Some modules include:
- Android Runtime
- Conscrypt
- DNS Resolver
- DocumentsUI
- ExtServices
- Media
- ModuleMetadata
- Networking
- PermissionController
- Time Zone Data
OEMCrypto
Android 10 uses OEMCrypto API version 15.
Scudo
Scudo is a dynamic user-mode memory allocator designed to be more resilient against heap-related vulnerabilities. It provides the standard C allocation and deallocation primitives, as well as the C++ primitives.
ShadowCallStack
ShadowCallStack
(SCS)
is an LLVM
instrumentation mode that protects against return address overwrites (like
stack buffer overflows) by saving a function's return address to a separately
allocated ShadowCallStack
instance in the function prolog of
nonleaf functions and loading the return address from the
ShadowCallStack
instance in the function epilog.
WPA3 and Wi-Fi Enhanced Open
Android 10 adds support for the Wi-Fi Protected Access 3 (WPA3) and Wi-Fi Enhanced Open security standards to provide better privacy and robustness against known attacks.
Privacy
App access when targeting Android 9 or lower
If your app runs on Android 10 or higher but targets Android 9 (API level 28) or lower, the platform applies the following behavior:
- If your app declares a
<uses-permission>
element for eitherACCESS_FINE_LOCATION
orACCESS_COARSE_LOCATION
, the system automatically adds a<uses-permission>
element forACCESS_BACKGROUND_LOCATION
during installation. - If your app requests either
ACCESS_FINE_LOCATION
orACCESS_COARSE_LOCATION
, the system automatically addsACCESS_BACKGROUND_LOCATION
to the request.
Background activity restrictions
Starting in Android 10, the system places restrictions
on starting activities from the background. This behavior change helps
minimize interruptions for the user and keeps the user more in control of what's
shown on their screen. As long as your app starts activities as a direct result
of user interaction, your app most likely isn't affected by these restrictions.
To learn more about the recommended alternative to starting activities from
the background, see the guide on how to alert
users of time-sensitive events in your app.
Camera metadata
Android 10 changes the breadth of information that the getCameraCharacteristics()
method returns by default. In particular, your app must have the CAMERA
permission in order to access potentially device-specific metadata that is
included in this method's return value.
To learn more about these changes, see the section about camera
fields that require permission.
Clipboard data
Unless your app is the default input method editor (IME) or is the app that currently has focus, your app cannot access clipboard data on Android 10 or higher.
Device location
To support the additional control that users have over an app's access to
location information, Android 10 introduces the ACCESS_BACKGROUND_LOCATION
permission.
Unlike the ACCESS_FINE_LOCATION
and ACCESS_COARSE_LOCATION
permissions, the ACCESS_BACKGROUND_LOCATION
permission only affects
an app's access to location when it runs in the background. An app is considered
to be accessing location in the background unless one of the following
conditions is satisfied:
- An activity belonging to the app is visible.
- The app is running a foreground service that has declared a foreground
service type of
location
.
To declare the foreground service type for a service in your app, set your app'stargetSdkVersion
orcompileSdkVersion
to29
or higher. Learn more about how foreground services can continue user-initiated actions that require access to location.
External storage
By default, apps targeting Android 10 and higher are given scoped access into external storage, or scoped storage. Such apps can see the following types of files within an external storage device without needing to request any storage-related user permissions:
- Files in the app-specific directory, accessed using
getExternalFilesDir()
. - Photos, videos, and audio clips that the app created from the media store.
To learn more about scoped storage, as well as how to share, access, and modify files that are saved on external storage devices, see the guides on how to manage files in external storage and access and modify media files.
MAC address randomization
On devices that run Android 10 or higher, the system transmits randomized MAC
addresses by default.
If your app handles an enterprise use case, the
platform provides APIs for several operations related to MAC addresses:
- Obtain randomized MAC address: Device owner apps and
profile owner apps can retrieve the randomized MAC address assigned to a
specific network by calling
getRandomizedMacAddress()
. - Obtain actual, factory MAC address: Device owner apps can
retrieve a device's actual hardware MAC address by calling
getWifiMacAddress()
. This method is useful for tracking fleets of devices.
Non-resettable device identifiers
Starting in Android 10, apps must have the
READ_PRIVILEGED_PHONE_STATE
privileged permission in order to
access the device's non-resettable identifiers, which include both IMEI and
serial number.
Build
TelephonyManager
If your app doesn't have the permission and you try asking for information about non-resettable identifiers anyway, the platform's response varies based on target SDK version:
- If your app targets Android 10 or higher, a
SecurityException
occurs. - If your app targets Android 9 (API level 28) or lower, the method returns
null
or placeholder data if the app has theREAD_PHONE_STATE
permission. Otherwise, aSecurityException
occurs.
Physical activity recognition
Android 10 introduces the android.permission.ACTIVITY_RECOGNITION
runtime permission for apps that need to detect the user's step count or
classify the user's physical activity, such as walking, biking, or moving in a
vehicle. This is designed to give users visibility of how device sensor data is
used in Settings.
Some libraries within Google Play services, such as the Activity
Recognition API and the Google
Fit API, don't provide results unless the user has granted your app this
permission.
The only built-in
sensors on the device that require you to declare this permission are the step
counter and step
detector sensors.
If your app targets Android 9 (API level 28) or lower, the system
auto-grants the android.permission.ACTIVITY_RECOGNITION
permission
to your app, as needed, if your app satisfies each of the following
conditions:
- The manifest file includes the
com.google.android.gms.permission.ACTIVITY_RECOGNITION
permission. - The manifest file doesn't include the
android.permission.ACTIVITY_RECOGNITION
permission.
If the system-auto grants the
android.permission.ACTIVITY_RECOGNITION
permission, your app
retains the permission after you update your app to target Android 10. However,
the user can revoke this permission at any time in system settings.
/proc/net filesystem restrictions
On devices that run Android 10 or higher, apps cannot access
/proc/net
, which includes information about a device's network
state. Apps that need access to this information, such as VPNs, should use the
NetworkStatsManager
or ConnectivityManager
class.
Permission groups removed from UI
As of Android 10, apps cannot look up how permissions are grouped in the UI.
Removal of contacts affinity
Starting in Android 10, the platform doesn't keep track of contacts affinity
information. As a result, if your app conducts a search on the user's contacts,
the results aren't ordered by frequency of interaction.
The guide about ContactsProvider
contains a notice describing
the specific fields
and methods that are obsolete on all devices starting in Android 10.
Restricted access to screen contents
To protect users' screen contents, Android 10 prevents silent access to the
device's screen contents by changing the scope of the
READ_FRAME_BUFFER
, CAPTURE_VIDEO_OUTPUT
, and
CAPTURE_SECURE_VIDEO_OUTPUT
permissions. As of Android 10, these
permissions are signature-access
only.
Apps that need to access the device's screen contents should use the
MediaProjection
API, which displays a prompt asking the user to provide consent.
USB device serial number
If your app targets Android 10 or higher, your app cannot read the serial
number until the user has granted your app permission to access the USB device
or accessory.
To learn more about working with USB devices, see the guide on how to configure
USB hosts.
Wi-Fi
Apps targeting Android 10 or higher cannot enable or disable Wi-Fi. The
WifiManager.setWifiEnabled()
method always returns false
.
If you need to prompt users to enable and disable Wi-Fi, use a settings
panel.
Restrictions on direct access to configured Wi-Fi networks
To protect user privacy, manual configuration of the list of Wi-Fi networks
is restricted to system apps and device policy
controllers (DPCs). A given DPC can be either the device owner or the
profile owner.
If your app targets Android 10 or higher, and it isn't a system app or a
DPC, then the following methods don't return useful data:
- The
getConfiguredNetworks()
method always returns an empty list. - Each network operation method that returns an integer value—
addNetwork()
andupdateNetwork()
—always returns -1. - Each network operation that returns a boolean value—
removeNetwork()
,reassociate()
,enableNetwork()
,disableNetwork()
,reconnect()
, anddisconnect()
—always returnsfalse
.
اندروید 9
Every Android release includes dozens of security enhancements to protect users. For a list of some of the major security enhancements available in Android 9, see the Android Release Notes.
اندروید 8
Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 8.0:
- Encryption. Added support to evict key in work profile.
- Verified Boot. Added Android Verified Boot (AVB). Verified Boot codebase supporting rollback protection for use in boot loaders added to AOSP. Recommend bootloader support for rollback protection for the HLOS. Recommend boot loaders can only be unlocked by user physically interacting with the device.
- Lock screen. Added support for using tamper-resistant hardware to verify lock screen credential.
- KeyStore. Required key attestation for all devices that ship with Android 8.0+. Added ID attestation support to improve Zero Touch Enrollment.
- Sandboxing. More tightly sandboxed many components using Project Treble's standard interface between framework and device-specific components. Applied seccomp filtering to all untrusted apps to reduce the kernel's attack surface. WebView is now run in an isolated process with very limited access to the rest of the system.
- Kernel hardening. Implemented hardened usercopy, PAN emulation, read-only after init, and KASLR.
- Userspace hardening. Implemented CFI for the media stack. App overlays can no longer cover system-critical windows and users have a way to dismiss them.
- Streaming OS update. Enabled updates on devices that are are low on disk space.
- Install unknown apps. Users must grant permission to install apps from a source that isn't a first-party app store.
- Privacy. Android ID (SSAID) has a different value for
each app and each user on the device. For web browser apps, Widevine Client ID
returns a different value for each app package name and web origin.
net.hostname
is now empty and the dhcp client no longer sends a hostname.android.os.Build.SERIAL
has been replaced with theBuild.SERIAL
API which is protected behind a user-controlled permission. Improved MAC address randomization in some chipsets.
اندروید 7
Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 7.0:
- File-based encryption. Encrypting at the file level, instead of encrypting the entire storage area as a single unit, better isolates and protects individual users and profiles (such as personal and work) on a device.
- Direct Boot. Enabled by file-based encryption, Direct Boot allows certain apps such as alarm clock and accessibility features to run when device is powered on but not unlocked.
- Verified Boot. Verified Boot is now strictly enforced to prevent compromised devices from booting; it supports error correction to improve reliability against non-malicious data corruption.
- SELinux. Updated SELinux configuration and increased seccomp coverage further locks down the Application Sandbox and reduces attack surface.
- Library load-order randomization and improved ASLR. Increased randomness makes some code-reuse attacks less reliable.
- Kernel hardening. Added additional memory protection for newer kernels by marking portions of kernel memory as read-only, restricting kernel access to userspace addresses and further reducing the existing attack surface.
- APK signature scheme v2. Introduced a whole-file signature scheme that improves verification speed and strengthens integrity guarantees.
- Trusted CA store. To make it easier for apps to control access to their secure network traffic, user-installed certificate authorities and those installed through Device Admin APIs are no longer trusted by default for apps targeting API Level 24+. Additionally, all new Android devices must ship with the same trusted CA store.
- Network Security Config. Configure network security and TLS through a declarative configuration file.
اندروید 6
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت های امنیتی اصلی موجود در 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 هایی است که انعطاف پذیری بیشتری را برای باز کردن قفل دستگاه ها فراهم می کند. برای مثال، 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 و پایین تر
Every Android release includes dozens of security enhancements to protect users. The following are some of the security enhancements available in Android 4.4:
- Android sandbox reinforced with SELinux. Android now uses SELinux in enforcing mode. SELinux is a mandatory access control (MAC) system in the Linux kernel used to augment the existing discretionary access control (DAC) based security model. This provides additional protection against potential security vulnerabilities.
- Per User VPN. On multi-user devices, VPNs are now applied per user. This can allow a user to route all network traffic through a VPN without affecting other users on the device.
- ECDSA Provider support in AndroidKeyStore. Android now has a keystore provider that allows use of ECDSA and DSA algorithms.
- Device Monitoring Warnings. Android provides users with a warning if any certificate has been added to the device certificate store that could allow monitoring of encrypted network traffic.
- FORTIFY_SOURCE. Android now supports FORTIFY_SOURCE level 2, and all code is compiled with these protections. FORTIFY_SOURCE has been enhanced to work with clang.
- Certificate Pinning. Android 4.4 detects and prevents the use of fraudulent Google certificates used in secure SSL/TLS communications.
- Security Fixes. Android 4.4 also includes fixes for Android-specific vulnerabilities. Information about these vulnerabilities has been provided to Open Handset Alliance members and fixes are available in Android Open Source Project. To improve security, some devices with earlier versions of Android may also include these fixes.
هر نسخه اندروید شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. موارد زیر برخی از بهبودهای امنیتی موجود در اندروید 4.3 هستند:
- سندباکس اندروید با SELinux تقویت شده است. این نسخه سندباکس اندروید را با استفاده از سیستم کنترل دسترسی اجباری SELinux (MAC) در هسته لینوکس تقویت می کند. تقویت SELinux برای کاربران و توسعه دهندگان نامرئی است و در عین حفظ سازگاری با برنامه های موجود، به مدل امنیتی اندروید موجود استحکام می بخشد. برای اطمینان از سازگاری مداوم، این نسخه امکان استفاده از SELinux را در حالت مجاز میدهد. این حالت هرگونه نقض خطمشی را ثبت میکند، اما برنامهها را خراب نمیکند یا بر رفتار سیستم تأثیر نمیگذارد.
- بدون برنامه setuid/setgid. پشتیبانی از قابلیت های سیستم فایل را به فایل های سیستم اندروید اضافه کرد و تمام برنامه های setuid/setguid را حذف کرد. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد.
- احراز هویت ADB. از اندروید 4.2.2، اتصالات به ADB با یک جفت کلید RSA احراز هویت می شوند. این کار از استفاده غیرمجاز از ADB در جایی که مهاجم به یک دستگاه دسترسی فیزیکی دارد جلوگیری می کند.
- Setuid را از برنامه های اندروید محدود کنید. پارتیشن سیستم / اکنون برای فرآیندهای ایجاد شده توسط zygote به صورت nosuid نصب شده است و از اجرای برنامه های setuid توسط برنامه های Android جلوگیری می کند. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد.
- مرزبندی قابلیت Android zygote و ADB اکنون از prctl (PR_CAPBSET_DROP) برای حذف قابلیتهای غیر ضروری قبل از اجرای برنامهها استفاده میکنند. این مانع از به دست آوردن قابلیت های ممتاز برنامه های Android و برنامه های راه اندازی شده از پوسته می شود.
- ارائه دهنده AndroidKeyStore. اندروید اکنون یک ارائهدهنده فروشگاه کلید دارد که به برنامهها اجازه میدهد کلیدهای استفاده انحصاری ایجاد کنند. این برنامهها را با یک API برای ایجاد یا ذخیره کلیدهای خصوصی که توسط سایر برنامهها قابل استفاده نیستند، فراهم میکند.
- KeyChain isBoundKey Algorithm. Keychain API اکنون روشی (isBoundKeyType) ارائه میکند که به برنامهها اجازه میدهد تأیید کنند که کلیدهای سراسر سیستم به یک ریشه سختافزاری اعتماد برای دستگاه متصل هستند. این مکانی را برای ایجاد یا ذخیره کلیدهای خصوصی فراهم می کند که نمی توان آنها را از دستگاه صادر کرد، حتی در صورت به خطر افتادن ریشه.
- NO_NEW_PRIVS. Android zygote اکنون از prctl (PR_SET_NO_NEW_PRIVS) برای جلوگیری از اضافه کردن امتیازات جدید قبل از اجرای کد برنامه استفاده میکند. این امر از اجرای عملیاتی که میتوانند امتیازات را از طریق execve بالا ببرند، برنامههای Android را متوقف میکند. (این به هسته لینوکس نسخه 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 provides a multi-layered security model described in the Android Security Overview. Each update to Android includes dozens of security enhancements to protect users. The following are some of the security enhancements introduced in Android 4.2:
- App verification: Users can choose to enable Verify Apps and have apps screened by an app verifier, prior to installation. App verification can alert the user if they try to install an app that might be harmful; if an app is especially bad, it can block installation.
- More control of premium SMS: Android provides a notification if an app attempts to send SMS to a short code that uses premium services that might cause additional charges. The user can choose whether to allow the app to send the message or block it.
- Always-on VPN: VPN can be configured so that apps won't have access to the network until a VPN connection is established. This prevents apps from sending data across other networks.
- Certificate pinning: The Android core libraries now support certificate pinning. Pinned domains receive a certificate validation failure if the certificate doesn't chain to a set of expected certificates. This protects against possible compromise of certificate authorities.
- Improved display of Android permissions: Permissions are organized into groups that are more easily understood by users. During review of the permissions, the user can click on the permission to see more detailed information about the permission.
- installd hardening: The
installd
daemon does not run as the root user, reducing potential attack surface for root privilege escalation. - init script hardening: init scripts now apply
O_NOFOLLOW
semantics to prevent symlink related attacks. FORTIFY_SOURCE
: Android now implementsFORTIFY_SOURCE
. This is used by system libraries and apps to prevent memory corruption.- ContentProvider default configuration: Apps that target API
level 17 have
export
set tofalse
by default for each Content Provider, reducing default attack surface for apps. - Cryptography: Modified the default implementations of SecureRandom and Cipher.RSA to use OpenSSL. Added SSL Socket support for TLSv1.1 and TLSv1.2 using OpenSSL 1.0.1
- Security fixes: Upgraded open source libraries with security fixes include WebKit, libpng, OpenSSL, and LibXML. Android 4.2 also includes fixes for Android-specific vulnerabilities. Information about these vulnerabilities has been provided to Open Handset Alliance members and fixes are available in Android Open Source Project. To improve security, some devices with earlier versions of Android may also include these fixes.
Android provides a multi-layered security model described in the Android Security Overview. Each update to Android includes dozens of security enhancements to protect users. The following are some of the security enhancements introduced in Android versions 1.5 through 4.1:
- Android 1.5
- ProPolice to prevent stack buffer overruns (-fstack-protector)
- safe_iop to reduce integer overflows
- Extensions to OpenBSD dlmalloc to prevent double free() vulnerabilities and to prevent chunk consolidation attacks. Chunk consolidation attacks are a common way to exploit heap corruption.
- OpenBSD calloc to prevent integer overflows during memory allocation
- Android 2.3
- Format string vulnerability protections (-Wformat-security -Werror=format-security)
- Hardware-based No eXecute (NX) to prevent code execution on the stack and heap
- Linux mmap_min_addr to mitigate null pointer dereference privilege escalation (further enhanced in Android 4.1)
- Android 4.0
- Address Space Layout Randomization (ASLR) to randomize key locations in memory
- Android 4.1
- PIE (Position Independent Executable) support
- Read-only relocations / immediate binding (-Wl,-z,relro -Wl,-z,now)
- dmesg_restrict enabled (avoid leaking kernel addresses)
- kptr_restrict enabled (avoid leaking kernel addresses)