أداة التوقيع على أوقد النار HDX تستغل بووتلوأدر

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

هذا هو بالضبط ما حدث لـ CVE-2014-0973 ، وهي ثغرة أمنية في محمل الإقلاع بنظام Android الذي يطلق عليه "Little Kernel (LK)". سنتحدث عن تفاصيل هذا الاستغلال في وقت لاحق قليلاً ، ولكن الآن دعونا نلقي نظرة على ما توصل إليه المطورون.

تمكنت Forum Member vortox من تنفيذ عملية استغلال استنادًا إلى CVE-2014-0973 ونشرت أداة لسلسلة Amazon Kindle Fire HDX ، والتي يمكنها توقيع صور تمهيد مخصصة إذا كنت تستخدم إصدار أداة تحميل أقدم. النقطة الأساسية هنا هي أنك لا تحتاج إلى أي نوع من فتح أو الخداع الأخرى لجعلها تعمل - يتيح استغلال استغلال الأداة لتوقيع الصور بطريقة تتجاوز مرحلة التحقق في أداة تحميل التمهيد بألوان متطايرة.

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

التفاصيل

حسنا ، لذلك دعونا تحقق من تفاصيل CVE-2014-0973. تكمن المشكلة في RSA ، وهو معيار تشفير يستخدم أيضًا للتوقيع على صور تمهيد Android. بعد قليل ، RSA هو نظام تشفير بالمفتاح العام حيث لديك مفتاحان ، مفتاح خاص ومفتاح عام. عادةً ما يتم استخدام المفتاح العمومي (والذي يمكن مشاركته مع أي شخص) لتشفير رسالة لا يمكن فك تشفيرها إلا مرة أخرى باستخدام المفتاح الخاص (الذي يبقى خاصًا ، ومن ثم الاسم). وبهذه الطريقة ، يمكن للطرفين التواصل دون الكشف عن المفاتيح الخاصة بهما ، والتي يلزم فك تشفيرها.

ومع ذلك ، يمكن أيضًا استخدام RSA للتحقق من محتويات الرسالة (أو في عالمنا ، "للتوقيع" على شيء). في هذه الحالة ، يتم تشفير الرسالة باستخدام المفتاح الخاص ويمكن بعد ذلك مشاركتها مع جهاز الاستقبال. يمكن بعد ذلك استخدام المفتاح العمومي لفك تشفير الرسالة ، وإذا كان فك التشفير يعمل بشكل صحيح ، فيمكن للمستلم التأكد من أن المحتويات المشفرة تنشأ من المؤلف الأصلي ولا يتم التخفيف من حدتها بأي شكل من الأشكال.

عند الحديث عن العبث ، يعد التحقق من التوقيع ميزة مهمة جدًا لجميع المصنّعين الأصليين لأجهزة Android ، حيث إنه من الضروري التحقق من أن جزءًا من البرنامج ينتمي بالفعل إلى الشركة المصنعة وليس من جهة خارجية (على سبيل المثال من مطور). لذلك ، على سبيل المثال ، عند محاولة وميض صورة تمهيد جديدة على جهازك ، يحدث ما يلي: سينظر محمل الإقلاع إلى توقيع RSA الرقمي للصورة ، ويقوم بفك تشفيرها باستخدام المفتاح العمومي الخاص بها ، وبالتالي تأكد من توقيع الصورة بواسطة المؤلف المقصود (OEM ، وهو الوحيد الذي لديه مفتاح خاص مطابق).

يحتوي التوقيع الذي تم فك تشفيره على قيمة تجزئة لبيانات صورة التمهيد ، والتي يمكن بعد ذلك استخدامها للمقارنة مع البيانات الفعلية التي توشك على وميضها. لذلك في هذه المرحلة ، يقوم أداة تحميل التشغيل بحساب قيمة التجزئة لصورة التمهيد ومقارنتها مقابل التجزئة الموجودة في توقيع RSA. إذا كانت هاتان التجزأتان تتطابقان مع بعضهما البعض ، فمن المؤكد إلى حد ما (بما يكفي لتكون آمنة وفقًا لمعايير اليوم) أن المحتويات لا يتم العبث بها وأن مالك المفتاح الخاص وقع على الصورة. وهو ما يعني في الأساس أنه من برامج المخزون من OEM أنه من الجيد أن تومض.

ربما كان فهم هذا الجزء أكثر صعوبة ، لذا تأكد من فهمه قبل المتابعة.

الضعف

الآن ماذا عن مشكلة عدم الحصانة ، لماذا يسمح لنا بتوقيع صور التمهيد على الرغم من عدم وجود المفتاح الخاص (الذي يمتلك OEM فقط)؟ حسنًا ، اتضح أن تنفيذ التحقق من صحة توقيع RSA في محمل الإقلاع Little Kernel معيب. المشكلة هنا هي أن خوارزمية فك التشفير لا تتحقق من طول البيانات التي تقوم بمعالجتها. في حين أن هذا قد يبدو بريئًا إلى حد ما ، فإن القراء المعنيين بالأمن سيرون المشكلة على الفور. تحتاج أنظمة التشفير دائمًا إلى التحقق من صحة بيانات المدخلات الخاصة بها بأفضل طريقة ممكنة ، ببساطة بافتراض أن البيانات "صحيحة" تجعل العملية بأكملها مفتوحة على مصراعيها لمختلف الهجمات.

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

إذا نظرت إلى موقع الويب الذي نشر مشكلة عدم الحصانة ، يبدو أولاً أن المشكلة قد تم الإعلان عنها مؤخرًا ، في 13 يونيو 2014 ، ولكن بعد إجراء المزيد من الأبحاث ، ستكتشف سريعًا أنها أكبر قليلاً. كبار السن في الواقع. يعود العدد الأصلي إلى عام 2006 ، حيث تحدث دانيال بليشنباكر عن ذلك على خشبة المسرح في المؤتمر الدولي للتشفير. من الواضح أنه لم يكن يتحدث عن محمل الإقلاع لنظام Android هناك ، لكنه اكتشف أن العديد من تطبيقات توقيع RSA كان بها خلل محتمل. واليوم ، بعد مرور تسع سنوات تقريبًا ، لا يزال بإمكاننا الاستفادة من الثغرة الأمنية القديمة جدًا حيث إنها تمكّن مالكي Amazon Fire HDX من التوقيع على صور تمهيد مخصصة يمكن استخدامها لاستئصال الجهاز أو فلاش استرداد مخصص.

إذا كنت ترغب في الحصول على صورة أكثر تفصيلًا لما يحدث وراء الكواليس ، فتأكد من مراجعة هذه الروابط:

  • تفاصيل عن حديث دانيال بليشنباخر الأصلي (2006): http://www.ietf.org/mail-archive/web/openpgp/current/msg00999.html
  • نشر مدونة من Symantec حول المشكلة (2006): //www.symantec.com/connect/blogs/common-rsa-implementation-mistake-explained
  • الكشف عن الثغرات الأمنية في منتدى Codeaurora (2014): //www.codeaurora.org/projects/security-advisories/incomplete-signature-parsing-during-boot-image-ishentication-leads-to-signature-forgery-cve-2014-0973