measurement-and-instrumentation
كيف يمكن للمهندس العكسي مؤسسة بيولوجيا لمراجعة الحسابات الأمنية
Table of Contents
إن البرمجيات الهندسية العكسية للبرمجيات البترولية هي مهارة بالغة الأهمية بالنسبة للمهنيين الأمنيين المكلفين بمراجعة أقل طبقات ثقة النظام، وهذه البرمجيات التي تُطلق الأجهزة وتحمّل نظام التشغيل تمثل واحدا من أكثر البيئات تميزا في التنفيذ في حاسوب، ويمكن أن يؤدي وجود ضعف واحد في هذه الطبعة إلى تقويض المنهاج بأكمله، مما يجعل التحليل الأمني الشامل أمرا أساسيا، ويوفر نهجا شاملا ومتدرجة في مجال التحقق من الأدوات الهندسية
فهم نظام المعلومات الأساسية ونظام المعلومات البيئية
يشير مصطلح " بيوس " تاريخياً إلى نظام المدخلات/النواتج الأساسي، وهو معيار مخلف للبرمجيات الثابتة يُطلق عليه الأجهزة ويوفر خدمات تشغيلية لجهاز إدارة العمليات ونظام التشغيل في ويندوز المبكر، وقد انتقلت النظم الحديثة إلى شبكة المعلوماتية (الإنترنت المكثف وغير المكثف) وهي مواصفات أكثر تطوراً تدعم أحجاماسوب البيانات المالية الأكبر، وأسرع في تطبيقات البرمجيات
ومن منظور أمني، فإن البرمجيات الثابتة تمتلك أعلى مستوى من الامتيازات (الدرجة الثانية أو طريقة إدارة النظام) ويمكنها الوصول إلى جميع الذاكرات والأجهزة وسجلات وحدة منع الحمل دون أن يكتشفها مكتب خدمات الرقابة الداخلية، مما يجعل من البرمجيات المفترسة هدفاً جذاباً للمهاجمين الذين يسعون إلى تحقيق الثبات أو السرقة أو الأجهزة الخلفية، وبالتالي تركز عمليات مراجعة الحسابات المتعلقة بالمعاهد على تحديد مواطن الضعف التي يمكن استغلالها للحصول على هذا الفهم المتصاعد.
لماذا المهندس المُتَعَبِّر المُخَلِّق لمُراجعات الأمن؟
وتُجرى هندسة البرمجيات العكسية لكشف أوجه الضعف التي لا يمكن اكتشافها من خلال المسح التقليدي على مستوى سطح الأرض، وتشمل النتائج المشتركة وثائق التفويض المثبتة، وآليات التحديث غير الآمنة، والتدفقات الفوقية في معالجي شركة SMI، والاختلالات الخاطئة في السمات الأمنية مثل الفول أو الفول المؤمن، ويستهدف المهاجمون بشكل متزايد البرمجيات المثبتة التي تُثبت وجودها حتى المستودعات.
الأدوات الأساسية لتحليل البرمجيات
ويعتمد نجاح تدفق الأعمال الهندسية على مجموعة قوية من الأدوات المتخصصة، فيما يلي قائمة مصنفة مع وصف لأدوارها في عملية مراجعة الحسابات.
الاستغناء عن المستلزمات وقطعها
- Flashrom] — Open-source tool for reading, writing, and erasing flash memory ress. Supports a wide range of frsets and can dump the entire firmware image from the motherboard via the host CPU or a equipment programmer.
- UEFITool] - A graphical utility for parsing UEFI firmware images. It can extract, insert, and replace firmware volumes, files, and sections, making it indispensable for structural analysis.
- SPI programmer equipment] — Dedicated equipment (e.g., Dediprog, Bus Pirate) to directly read the SPI flashرق on the motherboard, bypassing any firmware-level restrictions.
محررو الخوذات الحرارية والتحليلات الثنائية
- 010 محرر ] - محرر متطور ذو سقف مع نماذج ثنائية يمكن أن تقطع هياكل البرمجيات (مثلاً، جدول تجزئة شركة GUID، مجلدات البرمجيات الحسنة).
- HxD] - الوزن الخفيف ولكن المحرر ذو الثعبان قادر على التفتيش السريع وعمليات التفتيش النمطي.
- binwalk] - Command-line tool for analyzing, extracting, and identifying embedded files in firmware images (frequently used for Linux-based firmware, but also applicable to some BIOS modules).
المفرقعات والمساكن
- Ghidra] — Open-source reverse engineering framework developed by the NSA. Supports many structures (x86, x64, ARM, etc.) and includes a powerful decompiler. It can process UEFI PE32+ images and analysis scripts.
- IDA Pro] — Industry-standard commercial disassembler with extensive plugin support. Essential for analyzing complex code paths, especially in 64-bit UEFI modules.
- Binary Ninja] - مجمّع تجاري بديل له واجهة حديثة وقدرات تحليلية قوية.
دال - التعبئة والتداخل بين الأوجه
- JTAG] — A equipment debugging interface (IEE 1149.1) used to halt the CPU, examine memory, and step through firmware execution at the lowest level.
- UART/serial console] - Many motherboards expose a chain port during boot that can provide debugging output or even an interactive shell.
- Software emulators - Emulators like QEMU (with UEFI firmware support) can be used to run firmware modules in a controlled environment without physical equipment.
ولكل أداة قوة، يستخدم تدفق العمل النموذجي فلاشروم أو مبرمج معدات للحصول على الصورة، ويستخدم نظام يو بي تيبول لمسح هيكله، أو غيدرا أو المؤسسة الدولية للتنمية، من أجل التشريد، وأحياناً مناظراً للتحليل الدينامي، وبالنسبة للجديدين في غيدرا، يقدم الموقع الشبكي الرسمي لمشروع غيدرا حمولات ووثائق.
عملية الإعداد للبرمجيات الهندسية العكسية
وتشكل الخطوات التالية منهجية منظمة، وهي تُقر النظام استنادا إلى الصورة المحددة للبرمجيات الثابتة وأهداف مراجعة الحسابات.
1 - الحصول على صورة البرمجيات
الخطوة الأولى هي الحصول على نسخة مشروعة من البرمجيات، وهناك طريقتان رئيسيتان:
- ]From the buyer ] - Download a BIOS/UEFI update package from the motherboard or system buyers website. These are typically provided as capsules (.cap,bin,rom) or executable updaters.
- From physical equipment] – Use Flashrom (with appropriate kernel modules) or an external SPI programmer to dump the flash memory directly from the motherboard. This method captures the actual firmware version running on the tool, including any runtime modifications.
التحقق دائما من سلامة الصورة المكتسبة باستخدام العجلات المتوقعة أو المزودة بالبائعين، والعمل في بيئة مختبر نظيفة لتجنب التلوث عبر الحدود، وإنقاذ الدفن الخام في موقع آمن للتحليل.
2 - فحص هيكل البرمجيات
فتح الصورة في معهد الطاقة الكهربائية أو محرر من مادة السداسي لفهم مخططه، وتأتي معظم البرامجيات الحديثة في أعقاب مواصفات مؤسسة الطاقة المتجددة، التي تتألف من نظام Firmware File System (FFS) الذي يحتوي على عدة فولوم Firmware، ويقسم كل مجلد إلى ملفات تحددها الدول الجزرية الصغيرة النامية.
- SEC (Security Phase)] - The root of trust, responsible for initial formation.
- PEI (Pre-EFI Initialization) ] - Handles early CPU/memory setup.
- DXE (Driver Execution Environment)] - يحتوي على معظم سائقي المنصة ورمز SMM (System Management Mode)
- NVRAMتغيرات ] - التخزين المستمر لتشكيل الاتحاد الأوروبي للمعلومات المتعلقة بالطبيعة (مثل مفاتيح الأحذية الآمنة).
- UEFI drivers and applications] - ملفات يمكن استخراجها وتفكيكها.
(ب) إيلاء اهتمام خاص لأي ملفات تحتوي على معلومات مشبوهة أو غير مسماة، حيث يمكن أن تشير هذه الملفات إلى الباب الخلفي أو رمز الاختبارات، ويمكن أن يستخرج المعهد وحدات نموذجية فردية يمكن تحليلها بصورة مستقلة، ويمكن تحليل دليل مفصل لاستخدام نظام تبادل المعلومات والاتصالات في مستودعات غيت هوب .]
3 - تفكيك الوحدات الرئيسية
Extract the PEI and DXE modules from the firmware and load them into Ghidra or IDA Pro. Focus on modules that handle security-critical functions:
- وحدات التحقق من الخردة الآمنة - ابحث عن شفرة تثبت التوقيعات على حمولات الأحذية.
- Firmware update facilities] -حلل المهمة التي تكتب برمجيات جديدة إلى وضح، تحقق من فقدان التوقيعات أو نقاط الضعف المتجددة.
- SMM modules] - نظام إدارة النظام يُستخدم في حيز مستقل للعناوين، ويحلل معالجي شركة SMI لتدفقات احتياطية زائدة أو القدرة على تنفيذ مدونة تعسفية.
- Hardware initialization code] - Validate that memory controllers and PCIe bridges configure security features (e.g., IOMMU, memory remapping) correctly.
عند تفكك نقطة الدخول وتتبع تدفق المراقبة، استخدام التحلل لتبسيط تحليل الخوارزميات المعقدة، والبحث عن أنماط ضعيفة مشتركة مثل عدم التحقق من طول الحاجز، واستخدام بدلاً من ، أو عدم التحقق من التوقيعات البكترية.
4- البحث عن الأسرار المبردة والبيوت الخلفية
وكثيرا ما تتضمن صور البرمجيات البرمجية وثائق التفويض المثبتة، أو المفاتيح البكائية، أو المبانى الخلفية التي تُركت عن طريق الخطأ، وتستخدم محررا للثدوكس للبحث عن خيوط مشتركة:
- كلمات السر الافتراضية (مثل "الإضافة" كلمة السر" ، "الخطأ"
- أوامر اختبار البرمجيات الصلبة أو الواجهات البينية (مثلاً، قوائم الطعام الخاصة بيورت)
- مفاتيح خاصة (مفاتيح خاصة تابعة للوكالة، ومفاتيح التشفير المترية).
- خيوط سحرية خاصة بالزناد تُثير سلوكاً خاصاً
وبالإضافة إلى ذلك، تحقق من المساحة المتغيرة لنظام تقييم المخاطر الوطنية بالنسبة للمفاتيح أو البيانات المتعلقة بالتشكيلات، وتشمل بعض الصور التي تستخدمها أجهزة الحاسوب التي تكشف عن وصول كامل للذاكرة من خلال وصلات متسلسلة أو شبكة، وتوثيق الأثر وتقديم تقرير إلى البائع إذا وجدت.
5 - آلية تحليل تحديث نظام المعلومات
عملية التحديث هي ناقل هجوم مشترك، ونسخ وحدة تحديث للتحقق من الممتلكات الأمنية التالية:
- التحديث موقع بشكل مبدئي، والتحقق من التوقيع يتم بشكل صحيح (مثل التحقق من الفشل الذي يقع في طريق "النجاحات".
- يتم فحص حمولة التحديث للتأكد من نزاهة قبل أن يتم كتابتها للكشف
- ولا يمكن إعادة إحياء الحماية من التخلف عن العمل.
- وتسير عملية التحديث في سياق آمن (مثلاً داخل الإدارة المستدامة للأراضي) ولا يمكن أن تقاطعها دائرة العمليات.
تحديد مسار الشفرة الذي يصادق على رأس الصور المجهزة بالبخار والتوقيع، ابحث عن تدفقات احتياطية زائدة في صالون الكبسولة التي يمكن أن تسمح بتنفيذ القانون التعسفي خلال تحديث.
6- التحقيق في ضمان وجود أحذية ومراقبة
وبالنسبة لشركة UEFI Corporationware، التحقق من أن شركة Secure Boot تنفذ تنفيذا صحيحا، إذ تجري وتعد التوقيعات الواردة في البرمجيات الثابتة: وهي شركة KEK (Key Exchange Key Key) و db (التوقيعات المنخفضة) و(التوقيعات المحرمة) وتحلل كيفية تحميل هذه القواعد والتحقق منها، وتتحقق أيضا من ما إذا كان المنبر ينفذ على النحو الواجب تدابير البرمجيات المتطورة.
الالتزامات العامة غير المكتشفة خلال مراجعة الحسابات
واستنادا إلى قواعد البيانات المنشورة للبحوث والإفصاح العام، كثيرا ما توجد أوجه الضعف التالية في إطار برامجيات ثابتة:
| Vulnerability Type | Example Impact | Common Location |
|---|---|---|
| Buffer overflow in SMI handler | Arbitrary code execution in SMM (ring -2) | DXE SMM drivers |
| Insecure firmware update (no signature check) | Attacker can install a backdoored firmware | Update capsule parsing |
| Hardcoded cryptographic keys | Decrypting or signing traffic/firmware | PEIM or DXE modules |
| Debug interfaces left enabled | Full memory read/write via JTAG/UART | Hardware init phase |
| Incorrect Secure Boot policy | Allows unsigned bootloaders to execute | Secure Boot driver |
وينبغي تصنيف كل استنتاج على حدة وبقابلية التكاثر، وتوفر منهجية الاختبار الأمني في إطار برنامج " أوواس " إطاراً ممتازاً لتصنيف هذه مواطن الضعف والإبلاغ عنها (انظر ]WASP Firmware Security Testing Methodology).
الاعتبارات القانونية والأخلاقية
وقد تخضع برامجيات الهندسة العكسية لقوانين الملكية الفكرية، واتفاقات تراخيص المستعملين النهائيين، وضوابط التصدير، وتحصل دائما على إذن صريح من بائع المعدات قبل إجراء عمليات مراجعة أمنية، لا سيما إذا أمكن الكشف عن النتائج علنا، ولا تستخدم إلا الصور الجاهزة التي تملكها أو قدمت بموجب اتفاق قانوني، ولا تستخدم أبدا في تحميل أو توزيع برامج حاسوبية مستخرجة دون إذن مناسب.
وبالإضافة إلى ذلك، قد يؤدي استخراج المعدات الحاسوبية من الناحية المادية إلى إبطال الضمانات أو التلف، إذا لم يكن أداؤه صحيحا، واستخدام الاحتياطات المناسبة للتصريف الكهروستانتي والتحقق من التوجه الرقائقي قبل تطبيق السلطة، وإذا لم تكن واثقا من مراقبة المعدات، فإن ذلك يعتمد على أساليب استخراج البرمجيات (تحديثات عن المواد).
أفضل الممارسات لمراجعة الحسابات الناجحة في مجال البرمجيات
To maximize the effectiveness of your reverse engineering effort, adopt the following practices:
- Establish a Sandboxed environment] - Use a dedicated analysis VM or air-gapped machine. Isolate the firmware analysis tools from any production network.
- Maintain a chain of custody] - Document every step: how the firmware was acquired, its checksum, analysis tools used, and findings. This is critical for admissibility in any legal context.
- Start with known good patterns] – Compare the target firmware against a reference image (e.g., a clean version from the Brand).
- استخدام مفرقعات متعددة ] - نتائج الإحالة بين شركة Ghidra ووكالة التنمية الدولية لتلافي سوء تفسير هياكل الرموز.
- Collaborate with the suppliers - Many buyers have cheap bounty programs and responsible disclosure channels.
For those building a firmware analysis laboratory, consider invest in a dedicated SPI programmer and a test bed motherboard that can be safely bricked and recovered. The Flashrom official website[Flashrom supported equipment and provides detailed documentation.
خاتمة
إن البرمجيات الهندسية العكسية للمراجعات الأمنية هي نظام متطلب ولكن مكافئ، ويكشف عن مواطن الضعف في أعمق طبقة من المنبر، حيث لا يمكن حتى لنظام التشغيل أن يكشف عن النشاط الخبيث، ولا يمكن أن يسهم في اتباع منهجية منظمة - تستخلص الصورة، وتقطع هيكلها، وتفكك الوحدات الرئيسية، والبحث عن مواطن ضعف مشتركة يمكن أن يحدد ويساعد على معالجة أوجه القصور التي قد تظل مخفية إلى حد بعيد.