بدأت Google في تقديم تشفير القرص الكامل (FDE) الافتراضي مع Android 5.0 Lollipop. في البداية ، عندما تم تنفيذ التشفير في أجهزة Nexus 6 ، اشتكى العديد من المستخدمين من تدهور الأداء عند قراءة البيانات وكتابتها على محرك الأقراص ، ولكن من إصدار Android 6.0 ، يبدو أن هذه المشكلة قد تم حلها.يعمل تشفير القرص بالكامل على حماية جميع المعلومات الموجودة على الهاتف حتى إذا سقط الجهاز في أيدي جهات تطبيق القانون أو المتسللين الآخرين .AES . , .
iOS 9 256- , . , -, - Apple
. - 0day-. ,
.
تشفير كامل للقرص في iOSوبالتالي ، لا يمكن استخدام القوة الغاشمة لـ FDE إلا باستخدام جهاز معين. هذا يعقد بشكل كبير الهجوم. في الحالة المعتادة ، يمكنك إنشاء مليون نسخة وموازنة القوة الوحشية في الخدمة السحابية ، مما يسمح لك بالعثور بسرعة على 99٪ من كلمات المرور الحقيقية. ولكن في هذه الحالة ، يجب أن نقصر أنفسنا على الجهاز الوحيد الذي تضيف عليه Apple تداخلًا إضافيًا - التأخير بين محاولات كلمة المرور ، والحد من الحد الأقصى لعدد المحاولات ، إلخ. هذا هو السبب في أنه من المهم للغاية بالنسبة للخدمات الخاصة أن تجد طريقة لاسترداد UID للأجهزة ، ثم تصبح كلمة مرور القوة الغاشمة مهمة فنية عادية.يتم تنفيذ تشفير القرص بالكامل في Android 5.0+ بشكل مختلف إلى حد ما عن iOS 9 ، ويتم وصفه بالتفصيل في Android.
, 128- - (Device Encryption Key — DEK) 128- . DEK , — // ( ) . DEK
crypto footer. , DEK, , .
كما هو الحال في نظام التشغيل iOS 9 ، يقوم نظام التشغيل Android بتنفيذ ربط نظام التشفير بأجهزة معينة لمنع القوة الغاشمة على نسخ نظام التشغيل. يتم تنفيذ وظيفة ربط الأجهزة بواسطة تخزين خاص للأجهزة - KeyMaster ، والذي يعمل في بيئة تنفيذ موثوقة خاصة (TEE) ، وهي مستقلة تمامًا عن نظام تشغيل Android. يعد أمان المفتاح في بيئة KeyMaster أمرًا بالغ الأهمية. هذا فقط يحمي نظام التشفير الكامل للقرص من إجراء القوة الغاشمة الفعالة في التدفقات المتوازية على نسخ من نظام التشغيل.على أجهزة Android ، لا تصدر البيئة المعزولة مطلقًا مفتاحها الخاص في بيئة "غير آمنة". على العكس من ذلك ، تتلقى وحدة KeyMaster "مفتاح مفتاح" من بيئة غير آمنة ، وتقوم بفك تشفير المفتاح المخزن هناك ، وتعيده. وبعبارة أخرى ، فإن تشغيل نظام التشفير ممكن فقط على الجهاز ، ولكن ليس في بيئة افتراضية على جهاز كمبيوتر آخر.بشكل عام ، يمكن تصوير العملية برمتها بشكل تخطيطي في مثل هذا الرسم التخطيطي ، الذي يعطيه نيكولاي إلينكوف .
يتم ضمان حماية بيئة KeyMaster وتنفيذ الأوامر على معالج آمن مخصص من خلال البيئة المحمية التي توفرها الشركة المصنعة للمعدات. في حالة Qualcomm ، هذه هي QSEE (بيئة تنفيذ Qualcomm الآمنة). يسمح فقط بتشغيل تطبيقات صغيرة منفصلة تسمى Trustlets على معالج مخصص. واحدة من هذه Trustlets هي KeyMaster. يحتوي رمز مصدر Android على تعليمات للوصول إلى تطبيق KeyMaster. في الواقع ، يدعم Trustlet أربعة إرشادات فقط: * Commands supported
*/
enum keymaster_cmd_t {
KEYMASTER_GENERATE_KEYPAIR = 0x00000001,
KEYMASTER_IMPORT_KEYPAIR = 0x00000002,
KEYMASTER_SIGN_DATA = 0x00000003,
KEYMASTER_VERIFY_DATA = 0x00000004,
};
يعمل KeyMaster تمامًا كما هو موضح أعلاه: فهو يتلقى المفتاح الرئيسي ويحسب التوقيع ويضعه في المخزن المؤقت.والآن وصلنا تمامًا إلى المرحلة التي تعمل فيها برمجية إكسبلويت الجديدة ، والتي ظهرت في المجال العام في 30 يونيو ( مستودع على Github ). يستغل استغلال الثغرات التي تم اكتشافها مؤخرًا CVE-2015-6639 و CVE-2016-2431 .كتب كاتب الاستغلال ، المتخصص في الأمن Gal Beniamini ، نسخة مزيفة من تطبيق QSEE ، وباستخدام الثغرات المذكورة أعلاه ، تمكن من تحميله في بيئة آمنة ، وبالتالي زيادة الامتيازات وكسر حماية بيئة QSEE ، التي تشارك في عملية توليد مفتاح لتشفير القرص.وبالتالي ، يمكن للمهاجم الافتراضي "تزييف" مكون الأجهزة لمفتاح التشفير وتنفيذ القوة الغاشمة للمكونات المتبقية ، متجاوزًا حماية Android بعدد مرات إعادة المحاولة. يبقى فقط لتحديد PIN / كلمة المرور للمستخدم بالقوة الغاشمة.بالمناسبة ، للحالة النادرة عندما يقوم المستخدم بتعيين كلمة مرور معقدة حقًا ذات إنتروبير مرتفع للتشفير ولا يمكن التقاطها بالقوة الغاشمة لفترة مقبولة ، هناك خطة احتياطية. إذا كان كسر التشفير ضروريًا حقًا ، يمكنك العثور على نفس الهاتف بالضبط ، من نفس الطراز ، مع نفس الخدوش وحالة الحماية - وبرمجته لإرسال كلمة مرور بمجرد دخول الضحية إليه. يتم إرفاق هذا الجهاز المزيف بالضحية بدلاً من الأصلي. لتجنب الإفصاح وفي نفس الوقت القضاء على خطر دخول الضحية كلمة مرور خاطئة في المحاولة الأولى ، يجب برمجة الهاتف بحيث لا يقبل أي كلمة مرور مثل كلمة المرور الصحيحة.لكن هذه حالة متطرفة بالطبع. من السهل جدًا التقاط رموز PIN وكلمات المرور العادية إذا لم تكن هناك قيود على الأجهزة على القوة الغاشمة.هناك نقطة مثيرة للاهتمام. لا يتم تعيين البيئة الآمنة على الأجهزة المحمولة بواسطة Qualcomm نفسها ، ولكن بواسطة OEMs. يمكنهم التعاون مع سلطات إنفاذ القانون في البلد الذي تقع فيه ولايتهم وتلبية متطلبات طلبات المحكمة. وفقًا لذلك ، إذا تم تنفيذ مخطط التشفير من قبل شركة روسية ، فسيتم رفع السرية عن المعلومات الموجودة على الهاتف الذكي بناءً على طلب المحكمة الروسية.. , Qualcomm Google, — ( Android
), . , , , .
,
Github. .
Python, .
hashcat/
oclHashcat.
, Google OEM- - , .
, Android-.