Wednesday, September 9, 2020

السرعة> الأمان - نهج Apple لأمان بيانات iOS

Speed Security - نهج Apple لأمان بيانات iOS

سأناقش اليوم فهمي لبعض مفاهيم الأمان التي طبقتها Apple في نظام التشغيل iOS – بما في ذلك كيفية تأثير هذه المفاهيم على تجربة المستخدم والنتيجة الحتمية لأمن بياناتك الشخصية. تركز هذه المقالة بشكل خاص على آليات معالجة حالة التشفير داخل iOS (التي تتعامل مع المواقف التي يتم فيها تخزين البيانات المخزنة على جهاز iOS الخاص بك في حالة مشفرة أو غير مشفرة). أجد هذا الموضوع مثيرًا للاهتمام بشكل خاص بسبب التصور الشائع لدى المستهلك بأن جهاز iOS يحتوي على جميع بيانات وسائط المستخدم المشفرة – على عكس بحثي الذي يثبت عكس ذلك. من الجدير بالذكر أنه ليس كل هذا “غير صحيح”. هناك الكثير من الوكالات الخاصة والأفراد الذين يبحثون أيضًا! – أحب أن أجعل بحثي عامًا وأن أطور حلولًا مفتوحة المصدر حيثما كان ذلك ممكنًا أخلاقياً وقانونياً!

لنبدأ في فهم حالات التشفير ذات الصلة بنظام iOS

أعلاه ، سترى جدولًا صغيرًا قمت بإنشائه يصف بعض الميزات الأساسية لكلتا حالتي التشفير ، ذات الصلة على وجه التحديد بـ iPhone.

أولاً ، دعنا نناقش حالة BFU ، والتي ترمز إلى Before First Unlock. إنها الحالة التي سيكون فيها جهاز iPhone الخاص بك إذا قمت بإعادة التشغيل ولم تقم بإدخال رمز المرور. في هذه الحالة ، يعتقد المستهلكون عمومًا (عن حق) أن جميع بياناتهم “مشفرة بالكامل” ولا يمكن استردادها بدون رمز مرور الجهاز. سنتحدث أكثر عن الحقيقة وراء هذا لاحقًا في المقالة.

أخيرًا ، لدينا دولة AFU. يرمز AFU إلى After First Unlock ويصف حالة يكون فيها إما رمز مرور المستخدم معروفًا للمحقق ، أو يكون الجهاز بعد إلغاء القفل ، أو في المواقف التي يكون فيها الجهاز مغلقًا ولكنه يلبي مجموعة متنوعة من الشروط المحددة.

في حالة AFU ، سيسمح SEP بفك تشفير وسائط المستخدم.

يبدو أنها جميلة ، أليس كذلك؟

يعالج معالج SEP عملية تشفير البيانات ، وهناك فصل بين بيانات المستخدم وحجم النظام ، والعديد من المواقف التي ستضع الجهاز من AFU إلى حالة BFU.

لنفكر في تجربة مستخدم iOS.

يفتح iPhone بسرعة مذهلة عند الإقلاع وهو أمر رائع لتجربة المستخدم ، ويبدو مذهلاً في الإعلانات! هناك أيضًا حقيقة أنك ستستمر في استرداد الإشعارات لتطبيقاتك المفضلة في حالة BFU.

يبدو رائعا ، أليس كذلك؟

هناك ضخم تضحية فيما يتعلق بأمان الجهاز الذي يحدث في الخلفية …

كيف يتم إلغاء قفل جهاز iPhone الخاص بك بهذه السرعة إذا كان كل شيء مشفرًا ، وكيف يسحب جهاز iPhone إشعارات التطبيق قبل فتح القفل الأول؟ سيكون لدى المستخدم نفس مستوى الوصول مثل iPhone (إذا تم تمهيده أثناء استغلاله باستخدام checkm8 ).

إذا لم يكن هناك إدخال رمز مرور لـ SEP لإلغاء تأمين وحدة تخزين وسائط المستخدم ، فكيف يمكن أن يكون ذلك ممكنًا؟ هل هناك استغلال لـ SEP؟ نوع من “الالتفافية” السحرية؟

حسنًا ، لم يتم تشفير القيم المعنية من البداية. يحتفظ iPhone بقواعد بيانات وذاكرة تخزين مؤقت وسجلات مختلفة في شكل مفكك تمامًا.

قد يجادل البعض بأنه من الضروري فك تشفير بعض القيم قبل فتح القفل الأول ، مثل معرف Apple الذي تم تسجيل الدخول إليه ، وربما صورة مصغرة لمرور المحفظة المثبتة (قبل إدخال رمز المرور ، قد تكون بيانات المرور ليس لا تكن مشاغبا).

في حين أنه من الصحيح أن بعض البيانات ضرورية للتشغيل الأساسي للجهاز في BFU ، فمن المهم بالنسبة لنا التركيز على الكم الهائل من البيانات المتبقية في حالة فك تشفير ، ومدى إمكانية استغلال عدم أمان النظام الأساسي هذا ، و البيانات التي يمكن ، بدورها ، استعادتها دون معرفة رمز مرور المستخدم.

يمكننا أن نبدأ اكتشف ، تحليل ، معالجة و تصور البيانات من iPhone مغلق

كيف يتم فتح قفل جهاز iPhone الخاص بك بهذه السرعة إذا تم تشفير كل شيء؟ كيف يسحب جهاز iPhone الخاص بك هذه الإشعارات لتطبيقاتك قبل فتحها لأول مرة؟ سيكون لجهاز iPhone نفس مستوى وصول المستخدم.

في لحظة سوف نكتشف ذلك اي شخص يمكنهم تفريغ محتويات iPhone الخاصة بهم. ومع ذلك ، فإن المحتويات التي ستجدها ستعتمد على قدرتك على التدقيق في البيانات. لحسن الحظ بالنسبة لنا ، هناك بعض الخطوات التي يمكننا اتخاذها لأتمتة عملية الاكتشاف والعرض التقديمي! سنعود إلى ذلك قريبًا – على أي حال ، نعود إلى المقالة …

إذا لم يكن هناك إدخال رمز مرور من أجل سبتمبر لفتح حجم وسائط المستخدم ، كيف يمكن استخراج البيانات؟

حسنًا ، الحقيقة هي أن القيم المعنية كانت لم يتم تشفيرها في المقام الأول .

يحتفظ iPhone بقواعد بيانات وذاكرة تخزين مؤقت وسجلات مختلفة بشكل مفكك تمامًا. هذا يعني أن أي شخص لديه وقت كافي (وجهاز متوافق مع استغلال checkm8 لبدء برنامج SSH Daemon على الجهاز) يمكنه تحليل ومعالجة وتصور استخراج جزئي للبيانات من الجهاز بدون رمز مرور صالح.

التكنولوجيا لتسهيل / أتمتة هذه العملية خاصة إلى حد كبير وغير معلنة للجمهور. شعرت أنه يجب أن يكون هناك حل مفتوح المصدر لمثل هذه المهمة.

على الرغم من أن هذا يمثل سؤالًا أخلاقيًا رئيسيًا بسبب سوء الاستخدام المحتمل ، إلا أنني أعتقد أن حلًا مجانيًا مفتوح المصدر سيزيد من فهم الجمهور لمثل هذه العمليات ويكون قادرًا على زيادة الاهتمام والبحث في هذا المجال.

ما الذي يمكن للمهاجم معرفته عني باستخدام iPhone المقفل؟

إنه سؤال مخيف ، ولسوء الحظ يأتي بإجابة مخيفة أيضًا …

كمية البيانات التي يمكن الوصول إليها باستخدام تقنيات مختلفة في BFU الدولة ، على سبيل المثال لا الحصر:

  • حسابات البريد الإلكتروني على الجهاز
  • معرفات مستخدم الحساب الاجتماعي – SnapChat تسجيل الدخول اسم الحساب ، على سبيل المثال
  • معرفات الاتصال الفريدة والمحادثة لبعض تطبيقات الطرف الثالث – بما في ذلك SnapChat و WhatsApp
  • نقاط وصول WiFi (تاريخي)
  • بيانات الموقع التاريخي
  • الوصول الجزئي لوسائط المستخدم
  • التطبيقات المثبتة & بيانات الاستخدام الأساسية
  • أكثر من ذلك بكثير! – هذا مجرد خدش السطح

أتساءل كيف يبدو هذا في الكود؟ …

أعلاه ستجد مثالاً على “قطعة أثرية” لـ ZPET في شكل “هيكل” C.

تُستخدم المصنوعات اليدوية على نطاق واسع عبر صناعة الطب الشرعي كطريقة لتحديد كيفية تحديد / العثور على نقطة بيانات معينة في نظام الملفات. يمكن أن تأتي القطع الأثرية في شكل عدد كبير من التنسيقات ، بما في ذلك استعلامات SQL والأوامر والنصوص الكاملة في بعض الأحيان إذا كانت نقطة البيانات المعينة تتطلب تحليلًا مكثفًا للكشف عنها.

نتحدث عن القطع الأثرية وكيف يمكننا العثور عليها بمزيد من التفصيل في كتابي الجديد iOS حجم البحث والاستكشاف الأول – حيث لا يزال تسعير الطلب المسبق متاحًا لبضعة أيام أخرى.

من الأداة الموضحة أعلاه في استخراج وحدة ZPET ، يمكننا أن نستنتج أن الملف الذي سنقوم بتحليله هو com.apple.batterydata.cyclecount.plist . يحتوي هذا الملف الهدف على مئات القيم التي سنحتاجها لأتمتة عملية الغربلة.

لإثبات ذلك ، إليك مقتطف من ملف com.apple.batterydata.cyclecount.plist تمت طباعة PLIST (يجب أن يظهر أسفل هذا النص)

بصفتك محققًا ، فإن فحص كل ملف في نظام الملفات سيسمح لنا بالعثور على ما نحتاج إليه – في النهاية … ولكن بشكل واقعي ، نريد فقط إخراج “القيمة المحددة” التي نبحث عنها.

في حالة ZPET ، يمكننا تحديد “sval” بمعنى القيمة المحددة. يُعرف هذا أيضًا باسم “المفتاح” عند الحديث عن هيكل PLIST. من خلال مراقبة بنية plist ، يمكننا تحديد أن “المفتاح” سيكون تسلسليًا.

إذا لم تكن قد خمنت ، فسوف يسحب الرقم التسلسلي للبطارية. فيما يلي مثال على كيفية عرض هذه الأداة المحددة في ZPET Web Output:

إذا كنت مهتمًا باكتشاف القطع الأثرية الجديدة ، فإنني أوصيك بالتحقق من مشروع أتمتة البحث الخاص بي SPIDER ، والذي تم تصميمه خصيصًا للسماح للمبتدئين باكتشاف البيانات داخل تفريغ نظام ملفات iOS (يمكنك الحصول على هذا التفريغ من جهاز كسر الحماية الخاص بك (أو جهاز عرضة لـ checkm8) باستخدام أداة مجانية مثل iPhone-rootFS-Tool على جيثب الخاص بي).

أشجعك أيضًا على تفريغ نظام الملفات في كل من حالة BFU و AFU ومقارنة نتائجك! ستكون تجربة تعليمية رائعة وستساعدك على فهم “BFU vs AFU”.

سأقوم بنشر مقالات مماثلة لهذا قريبًا ، والتي ستتعمق أكثر في التقنية وتعمل مع الطب الشرعي لنظام iOS على مستوى أعمق.

القليل من الاستنتاج وإلى أين نذهب من هنا

شكرا للقراءة! أحاول أن أجعل مقالاتي قصيرة وموجزة – كان اليوم أطول قليلاً من المعتاد ؛ آمل أن يكون من السهل متابعته! لمزيد من القراءة ، أوصيك بتفريغ iDevice الخاص بك باستخدام أداة من اختيارك ، وإلقاء نظرة على ZPET كود المصدر ، وابدأ في إنشاء وحدات ZPET الخاصة بك.

تذكر تقديم طلب سحب وإعلامي حتى أتمكن من مشاركته عبر Twitter أيضًا!

كما هو الحال دائمًا ، اعتني بنفسك ولا تتردد في مراسلتي على Twitter في أي وقت في تضمين التغريدة

-جوامع

بواسطة James Duffy at 2020-08-31 11:52:02 المصدر مدونة ElcomSoft:
Speed Security - نهج Apple لأمان بيانات iOS

No comments:

Post a Comment

كيف يتغلب التصيد الاحتيالي الحديث على المصادقة متعددة العوامل الأساسية | يوبيكو

قبل عامين ، في مؤتمر أمان الإنترنت Black Hat US ، تمت دعوة فريق Yubico للتحدث عن كيفية عمل التصيد الاحتيالي المتقدم وكيف يمكن لمعايير مصادق...