بسم الله الرحمن الرحيم
SPD exploit
⦿- الـ exploit في مجالنا غالبًا ما نعرفه بشڪل عام ومختصر.. هو استغلال لـ ثغرة أمنية خاصة بالمعالج فـ الفيرموير، تسمح بإرسال ملف « لودر غير مُوقع » لتخطي الحماية التي تم وضعها بواسطة الـ vendor أو مُشغل الجهاز..
⦿- أي vendor يقوم بعملية توقيع لملفات DA أو مُحمِلات خاصة (download-agents) خاصة به، أيًا ڪان المعالج. عندما تقوم بتوصيل الجهاز وتحاول تبويته، في مرحلة المصادقة او الـ (boot-handshake) يڪون هناك مفتاح مڪتوب مسبقًا ومشفر في الجهاز يتم مقارنته بالمفتاح الموجود في ملف الـ DA.. إذا ڪان المفتاح متطابقًا، فإن عملية البوت ستڪتمل ويمكنك تفليش الجهاز وتنفيذ أي عملية تتطلب تعديل او حذف قطاع معين.. إذا ڪان المفتاح غير متطابق، فهذا يعني أنك حددت ملف DA غير معروف بالنسبة للجهاز. قد يكون ملفٌ عامٌ أو ملفُ موقع، ولڪن لجهازٍ أو معالجٍ آخرٍ بناءً على نوع التوقيع الذي يستخدمه البائعُ..
⦿- هنا يأتي دورُ المطورينَ وخبراء الهندسة العڪسية حيثُ يحاولونَ اكتشافَ ثغرات من خلالها يقوموا بإرسال ملفات تهيئة مثل "auth" او "payload” أو في بعضِ الأحيان لودر أو مُحمِل صغير، وتقوم بدورِها بإزالة الحماية المسؤولة عن حماية الكتابة أو التوقيع نفسه.
⦿- بعد تخطي مرحلة التوقيع، المطور يقدر يصنع مُحمل او لودر خاص فيه، يقوم بعمل نفس مهام المُحمل الاساسي.. او التعديل على المُحمل الأساسي وإعادة تعيين الدوال الي ممكن يكون عن طريقها تم حجب عمليات الفورمات والـ Download..
وأيضاً بالإمڪان إضافة أوامر جديدة تسمح بالدخول الى صلاحيات للـ crypto-engine وتفعيل الأوامر اللي ممكن تسمح بفك البوتلودر او سحب وڪتابة وفورمات قطاع RPMB.. ولڪن يشترط أنّ المطور يڪون خبير كفاية .. بحيث يقدر يعدل على المُحمل او يقدر يبني مُحمل بنفس لغة البرمجة اللي تم ڪِتابه المُحمل الأساسي بها.
قام بالشرح الأخ مفضل
SPD exploit
⦿- الـ exploit في مجالنا غالبًا ما نعرفه بشڪل عام ومختصر.. هو استغلال لـ ثغرة أمنية خاصة بالمعالج فـ الفيرموير، تسمح بإرسال ملف « لودر غير مُوقع » لتخطي الحماية التي تم وضعها بواسطة الـ vendor أو مُشغل الجهاز..
⦿- أي vendor يقوم بعملية توقيع لملفات DA أو مُحمِلات خاصة (download-agents) خاصة به، أيًا ڪان المعالج. عندما تقوم بتوصيل الجهاز وتحاول تبويته، في مرحلة المصادقة او الـ (boot-handshake) يڪون هناك مفتاح مڪتوب مسبقًا ومشفر في الجهاز يتم مقارنته بالمفتاح الموجود في ملف الـ DA.. إذا ڪان المفتاح متطابقًا، فإن عملية البوت ستڪتمل ويمكنك تفليش الجهاز وتنفيذ أي عملية تتطلب تعديل او حذف قطاع معين.. إذا ڪان المفتاح غير متطابق، فهذا يعني أنك حددت ملف DA غير معروف بالنسبة للجهاز. قد يكون ملفٌ عامٌ أو ملفُ موقع، ولڪن لجهازٍ أو معالجٍ آخرٍ بناءً على نوع التوقيع الذي يستخدمه البائعُ..
⦿- هنا يأتي دورُ المطورينَ وخبراء الهندسة العڪسية حيثُ يحاولونَ اكتشافَ ثغرات من خلالها يقوموا بإرسال ملفات تهيئة مثل "auth" او "payload” أو في بعضِ الأحيان لودر أو مُحمِل صغير، وتقوم بدورِها بإزالة الحماية المسؤولة عن حماية الكتابة أو التوقيع نفسه.
⦿- بعد تخطي مرحلة التوقيع، المطور يقدر يصنع مُحمل او لودر خاص فيه، يقوم بعمل نفس مهام المُحمل الاساسي.. او التعديل على المُحمل الأساسي وإعادة تعيين الدوال الي ممكن يكون عن طريقها تم حجب عمليات الفورمات والـ Download..
وأيضاً بالإمڪان إضافة أوامر جديدة تسمح بالدخول الى صلاحيات للـ crypto-engine وتفعيل الأوامر اللي ممكن تسمح بفك البوتلودر او سحب وڪتابة وفورمات قطاع RPMB.. ولڪن يشترط أنّ المطور يڪون خبير كفاية .. بحيث يقدر يعدل على المُحمل او يقدر يبني مُحمل بنفس لغة البرمجة اللي تم ڪِتابه المُحمل الأساسي بها.
قام بالشرح الأخ مفضل