
تحسينات أمنية كبيرة في الإصدارات الرئيسية الأخيرة من أندرويد.
تحسينات أمنية مهمة في الإصدارات الرئيسية الحديثة من أندرويد، بدءًا من أندرويد 5.0 لوليبوب (API 21).
WebView حزمة منفصلة، انظر تحسينات الأمان في أندرويد 5.0 وWebView القابل للتحديث على أندرويد 5.0 لوليبوب: ما هو ولماذا يجب أن تهتم؟isInsideSecureHardware) للتحقق مما إذا كان مفتاح KeyStore مخزنًا في جهاز آمن (مثل بيئة التنفيذ الموثوقة (TEE) أو العنصر الآمن (SE))، انظر طريقة isInsideSecureHardware من KeyInfoWebView، لذا لا يمكن لرمز JavaScript الوصول إلى ذاكرة التطبيق بسهولة، انظر الجديد في أمان WebView وقسم الأمان من تغييرات سلوك أندرويد 8.0 لجميع التطبيقاتWebView إعداد أمان الشبكة وعلامة cleartextTrafficPermitted (على إصدارات أندرويد الأقدم، يقوم بتحميل مواقع HTTP حتى إذا كان التكوين لا يسمح بـ حركة مرور النص الصريح)، انظر قسم الأمان من تغييرات سلوك أندرويد 8.0 للتطبيقات التي تستهدف أندرويد 8.0WebView ليتم تحذير المستخدمين عند محاولة الانتقال إلى موقع ويب قد يكون غير آمن (يتم التحقق منه بواسطة التصفح الآمن من Google) إذا تم تفعيلها، انظر قسم واجهات برمجة تطبيقات WebView من ميزات وواجهات برمجة تطبيقات أندرويد 8.0FLAG_SECURE الخاصة بـ Window مدعومة بشكل أكبر وتمنع التقاط لقطات شاشة للشاشة التي تم ضبطها عليهاملاحظات إصدار أندرويد 9 - ميزات الأمان
cleartextTrafficPermitted إلى true بشكل صريح في إعداد أمان الشبكة إذا كانت لا تزال تريد استخدامها (غير موصى به)، انظر قسم تمكين TLS للشبكة افتراضيًا من تغييرات السلوك: التطبيقات التي تستهدف مستوى API 28+ وأندرويد: حركة مرور HTTP بالنص الصريح غير مسموح بها في أندرويد 9ملاحظات إصدار أندرويد 10 - ميزات الأمان
WebView، انظر طريقة setAllowFileAccess من WebSettingsملاحظات إصدار أندرويد 11 - الأمان
taskAffinity الخاص به ليطابق التطبيق المستهدف لخداع المستخدم لتشغيله حتى لو كان ينوي تشغيل التطبيق المستهدف واستخدم أيقونة التطبيق الشرعية)، انظر هجوم StrandHogg / ثغرة تقارب المهام وثغرة StrandhoggrequestLegacyExternalStorage، انظر تحديثات التخزين في أندرويد 11 وقسم إلغاء الاشتراك في تطبيق الإنتاج من حالات استخدام التخزين في أندرويد وأفضل الممارساتandroid:exported صراحةً في ملفات Manifest للمكوّنات (Activities، Content Providers، إلخ) التي تُعلن عن Intent Filters، انظر قسم تصدير المكوّنات بشكل أكثر أمانًا في تغييرات السلوك: التطبيقات التي تستهدف Android 12requestLegacyExternalStorage، انظر قسم إلغاء الاشتراك في تطبيق الإنتاج لديك في حالات استخدام التخزين وأفضل الممارسات في Androidملاحظات إصدار Android 13 - الأمان
POST_NOTIFICATIONS لإرسال الإشعارات غير المستثناة (بما في ذلك الخدمات الأمامية (FGS)) من التطبيق، انظر إذن وقت تشغيل الإشعارات وandroid.permission.POST_NOTIFICATIONSملاحظات إصدار الأمان لنظام Android 14
targetSdk: لم يعد بالإمكان تثبيت التطبيقات التي تستهدف إصدارات Android أقدم من Android 6 (API 23). هذا يعني أنه يمكنك افتراض أن القيود الأمنية (ومن الجدير بالذكر التعامل مع أذونات وقت التشغيل في هذه الحالة) التي تم تقديمها مع Android 6 (API 23) تنطبق الآن على جميع التطبيقات المثبتة على الجهاز (من المتوقع أن يزداد هذا الحد الأدنى مع كل إصدار مستقبلي من Android)، انظر قسم الحد الأدنى لمستوى API الهدف القابل للتثبيت في تغييرات السلوك: جميع التطبيقاتQUERY_ALL_PACKAGES - الأمر الذي يتطلب مراجعة يدوية خاصة من Google Play للحصول عليه)، انظر قسم قد يتم حجب أسماء حزم مالكي ملفات الوسائط في تغييرات السلوك: جميع التطبيقاتملاحظات إصدار الأمان لنظام Android 15
PendingIntent الآن تشغيل الأنشطة في الخلفية افتراضيًا إذا كان تطبيقك يستهدف Android 15 (API 35)، انظر قسم تغييرات أخرى في تغييرات السلوك: التطبيقات التي تستهدف Android 15 أو أحدثPendingIntent بامتيازات تشغيل الأنشطة في الخلفية أو كان للمرسل امتيازات تشغيل الأنشطة في الخلفية، إذا كان تطبيقك يستهدف Android 15 (API 35)، انظر قسم تغييرات أخرى في تغييرات السلوك: التطبيقات التي تستهدف Android 15 أو أحدثملاحظات إصدار الأمان لنظام Android 16* إضافة حماية افتراضية ضد هجمات إعادة توجيه Intent العامة، مما يمنع تشغيل Intents المستلمة من التطبيقات الأخرى، على سبيل المثال تلك المغلفة كـ Extra إلى Intent الذي يشغّل التطبيق الحالي، اطلع على قسم تحسين الحماية ضد هجمات إعادة توجيه Intent في تغييرات السلوك: جميع التطبيقات
RESULT_DISCOVERY_TIMEOUT. بدلاً من ذلك، يتم إشعار المستخدم بأحداث انتهاء المهلة عبر حوار مرئي. وعندما يغلق المستخدم الحوار، يتم تنبيه التطبيق إلى فشل الاقتران باستخدام RESULT_USER_REJECTED، اطلع على قسم التطبيقات المصاحبة لم تعد تُشعَر بانتهاء مهلة الاكتشاف في تغييرات السلوك: جميع التطبيقاتMediaStore#getVersion() الآن فريدة لكل تطبيق. يؤدي ذلك إلى إزالة الخصائص المميِّزة من سلسلة الإصدار لمنع إساءة الاستخدام والاستخدام في تقنيات بصمة الجهاز، اطلع على قسم تقييد إصدار MediaStore في تغييرات السلوك: التطبيقات التي تستهدف Android 16 أو إصدارًا أحدث وطريقة getVersion من MediaStoreREAD_CONTATCS، اطلع على قسم منتقي جهات اتصال Android في الميزات وواجهات برمجة التطبيقاتKeyStoreException، اطلع على قسم حدود مخزن المفاتيح لكل تطبيق في تغييرات السلوك: جميع التطبيقاتsetViewsetViewBiometricPrompt للمصادقة.FLAG_SECURE لمطالبات بيانات الاعتماد البيومترية أو بيانات اعتماد الجهاز (PIN أو النمط أو كلمة المرور)، بما في ذلك فتح قفل الجهاز وBiometricPrompt في التطبيقات - وهذا يعني أنك لا تستطيع التقاط لقطة شاشة لهذه الشاشات كما تظهر معتمة في مشاركة الشاشة، انظر مصدر com.android.systemui.biometrics.AuthContainerView على Android Code Searchapksigner ستستخدم مخطط التوقيع v3.1 افتراضيًا لتدوير الاستهداف لنظام Android 13 والإصدارات الأحدث.Exceptionnull) مع أي مرشحات intent. هذا يعني أن الـ intents المستخدمة لتشغيل الأنشطة أو الخدمات يجب أن تحتوي على action محدد بوضوح، انظر قسم الـ Intents الأكثر أمانًا في تغييرات السلوك: التطبيقات التي تستهدف Android 15 أو أحدثPendingIntent باعتباره مرسل الـ intent المُحيط، وليس مرسل الـ pending intent، انظر قسم الـ Intents الأكثر أمانًا في تغييرات السلوك: التطبيقات التي تستهدف Android 15 أو أحدثBiometricPrompt: لا يمكنه "التراجع" إلى بيانات اعتماد الجهاز بعد الفشل في البيانات البيومترية لإتمام مصادقة المستخدم. لاحظ أنه لا يزال بإمكان المستخدم استخدام بيانات اعتماد الجهاز باختياره عبر زر في المطالبة إذا كان هذا المصادق مسموحًا به (وإذا لم يفشل المستخدم في المطالبة عدة مرات بالفعل). عندما يُقفل الجهاز، ستُلغى المطالبة ويجب تشغيل مطالبة جديدة بعد فتح قفل الجهاز لإتمام المصادقة بنجاح. انظر Android 15 يضمن أن اللصوص لا يمكنهم إفراغ حسابك البنكي إذا سرقوا هاتفك غير المقفلmoduleHash في بنية KeyDescription، يمكن استخدامه للتحقق من سلامة وحدات APEX المحملة، اطلع على قسم سلامة الجهاز في ملاحظات إصدار Android 16 وإثبات هوية المفتاح والمعرّف