Table of Contents
ويمثل استخراج البرمجيات وتحليلها انضباطاً بالغ الأهمية في إطار أمن المعدات، وتطوير النظم المدمجة، والبحث عن القابلية للتأثر، إذ أن أجهزة الاستهلاك تتراوح بين أجهزة توجيه ومحاور منزلية ذكية ومجسات إيوت والتكنولوجيا الجاهزة تعتمد جميعها على برامجيات ثابتة ذات مستوى منخفض مخزنة في الذاكرة غير المتطورة، وتتحكم في عمليات الاستدلال والاتصالات والوظيفية الأساسية، ويتيح توفير إمكانية الوصول إلى هذه المواصفات البرمجية المستغلة.
فهم الهياكل الأساسية لوسائط التخزين
:: تخزين أجهزة المستهلكين الحديثة في مختلف أنواع الذاكرة غير المتطورة، وكل منها له خصائص الدخول الخاصة به وتحديات استخراجه، وتشمل أكثر وسائط التخزين شيوعا ما يلي:
- SPI Flash (Serial Peripheral Interface): ] Widely used in routers,elli home hubs, and IoT devices due to its small footprint and low fat count. Chip sizes range from 1 MB to 64 MB, often organized in 256 KB to 4 MB sectors SPI flash is relatively easy to read with a programme.
- NAND Flash:] found in higher-capacity devices such as network video recorders,elli TVs, and some advanced routers. NAND flash has higher density (128 MB to 8 GB or more) but requires more complex handling due to bad block management, wear leveling, and Error Correction Code (ECC) requirements.
- NOR Flash:] Used in legacy devices and some microcontrollers. NOR allows random access and fast read speeds but is more expensive per byte. It is common in low-capacity firmware frs (1 MB-16 MB) for power-up code.
- eMMC and SD NAND:] Managed flash solutions that include a controller and wear-leveling logical internally. They appear as standard block devices and are commonly used inellis, tablets, and single-board computers. Extraction can often be done via JTAG or by booting a recovery image.
- Microcontrollers with On-Chip Flash:] Many small IoT devices contain an MCU with integrated flash memory. Extraction typically requires debug interfaces (SWD, JTAG) or bootloader vulnerabilities.
ففهم نوع التخزين هو الخطوة الأولى في تحديد طريقة الاستخراج المناسبة، فعلى سبيل المثال، يمكن استخراج محرك يستخدم مشبكاً بسيطاً، بينما قد يتطلب تلفزيون ذكي يستخدم جهاز إم إم سي إم سي تفكيك اللوح الرئيسي والربط بين أجهزة قياس الحركة الإلكترونية.
إعداد برامجيات تسليم البرمجيات
ويتطلب النجاح في استخراج البرمجيات الجاهزة الإعداد الدقيق لتجنب الإضرار بالجهاز أو البيانات الفاسدة.
- Device Documentation and Community Resources:] search for datasheets, schematic diagrams, and teardown videos from the manufacturer or third-party sources. Online communities like the OpenWrt forum, the r/embedded subreddit, and the Firmware Security GitHub repositories often contain detailed fatouts and extraction
- Hardware Tools:] depending on the extraction method, you may need an SPI flash programmer (e.g., CH341A, Bus Pirate), a JTAG debugger (Segger J-Link, OpenOCD with FT2232H), a UART-to-USB adapter (CP2102)
- Software Tools:] Install tools such as binwalk (for signature extraction), GNU binutils (objdump, strings), firmware-mod-kit (for unpacking filesystem images), and a disassembler/analysis framework such as Ghidra or IDA ProOS are available.
- (ب) المعارف الإلكترونية الأساسية: [(FLT:1]] Familiarity with soldering, desoldering, and identifying IC sssssssssssssssssssssssssssssssssssssssssssssssssssss,
- Safe Handling Practices:] always ground yourself before working with open electronics. Use a magnifying lens and proper lighting for fine-pitch components. If using a clip programmer, verify alignment with a multimeter or oscilloscope before attempting reads.
أساليب استخراج البرمجيات
ويمكن الحصول على البرمجيات من خلال وسائل البرمجيات (عن طريق تحديث الملفات أو وصلات الوصل بينية من نوع ديباغ) أو عن طريق وصلات مباشرة بالمعدات، ويتوقف الاختيار على إمكانية وصول الجهاز، والحماية الأمنية، ومستوى مهارة الباحث.
:: استخراج المواد البرمجية: ملفات تحديثية في إطار برنامج " Firmware Update "
ويوفر العديد من أجهزة المستهلكين معلومات مستكملة عن طريق موقع الصانع على شبكة الإنترنت أو عن طريق آلية برمجيات مستهلكة (فوق الهواء) وكثيرا ما يكون استخراج البرمجيات من ملف مستكمل هو أبسط نهج ولا يتطلب الوصول المادي إلى الجهاز، وتكون ملفات المستجدات عادة موسعة مثل [(FLT:0]]، ، ، أو [FLT:]
وللعمل مع هذه الملفات، تحميل آخر المستجدات من صفحة دعم الصانع، واستخدام أدوات محررة أو خط قيادة للدوكس مثل و لدراسة المنافذ السحرية للملف.
- TRX:] رئيس يستخدمه جهاز برودكوم-الاستناد إلى أو ].
- U-Boot image:] Typically starts with (CRC) and includes a header with load address and entry point.
- UbiFS or SquashFS:] Compressed filesystems used by many embedded Linux devices. SquashFS magic is , and UBI headers start with .
يمكن لأدوات مثل (]GitHub) أن تفحص تلقائياً التوقيعات المعروفة والملفات المستخرجة، مثلاً، أن تشغيل ] سيستخرج جميع الملفات المكتشفة والملفات بطريقة غير قابلة للتعديل، وتجعل الشركة مقياساً للكلمات ()
تسليم المعدات ذات الأغراض الصلبة: UART, JTAG, and SPI
وعندما يتم تشفير الملفات المحدثة، أو لا تكون متاحة للجمهور، أو غير كافية للتحليل، يصبح استخراج المعدات ضروريا، أما الوصلات الثلاث الرئيسية للمعدات فهي:
UART (Universal Asynchronous Receiver/Transmitter)
(أ) أن تكون وحدة تبادل المعلومات والاتصالات قائمة على معظم الأجهزة المدمجة، وكثيراً ما تستخدم في قطع الأخشاب أو الوصول إلى الأحذية، وأن الاتصال بأجهزة الإستخراج غير المستعمل (TX, RX, GND, and sometimes VCC) يتيح لك التفاعل مع أجهزة تحميل العتاد أو نظام التشغيل، وإذا كشفت الحاوية عن فائدة البرمجيات، فإنك قد تكون قادراً على إلقاء الذاكرة أو تحميل الصور الجاهزة.
فريق العمل المشترك المعني بالاختبارات
(ج) يتيح الوصول المباشر إلى ميناء دير وحدة مراقبة الممتلكات، ويمكّن من قراءة/كتابة الذاكرة، ويخطو التعليم، وهو أكثر أساليب استخراجية قوة لأنه يمكن قراءة خريطة الذاكرة الكاملة، بما في ذلك الوميض، والسجلات.() وتحتفظ معظم أجهزة التثبيت والمسح الضوئي، وأجهزة الإقفال (JTAG)، رغم أن الدبابيس قد تكون مخبأة تحت الحماية أو تحمل علامات على نقاط الاختبار.
SPI Flash Direct Reading
For devices with external SPI flashرقs, physically removing or clipping onto theرقة to read its contents with a programmer is straightforward. Use an SOIC clip (8-pin or 16-pin) attached to a programmer like the CH341A. Ensure the target fris down and the programmer is set to the correct voltage (3.3V is standard). Read the entire frition memory using software such as FF note14
تقنيات أخرى في مجال برامجيات البرمجيات
وبالنسبة لأجهزة أكثر تحدياً، قد يستخدم الباحثون حقن خطأ (التشغيل)، أو تحليل الشاشات الجانبية، أو إزالة الرقائق من أجل الوصول إلى الموت، وهذه التقنيات المتقدمة تتطلب معدات متخصصة (مثلاً، قطع الليزر، أو المسبار الكهرومغناطيسية) ولا تستخدم عادة إلا في البحوث الأمنية ذات الاتساع العالية.
محلل مستخرج
وبمجرد أن تحصلوا على نفايات ثابتة (أو ملف آخر)، تبدأ مرحلة التحليل، وتشمل هذه العملية تحديد هيكل الخلايا، واستخراج الملفات، ورمز الهندسة العكسية، والبحث عن مواطن الضعف، وتوفر الخطوات التالية تدفقا منظما للعمل.
التفتيش الأولي مع بنوالك و سترينغز
Forwalk on the raw dump to reveal embedded files, compression algorithms, and filesystem images. Binwalk’s signature database covers common formats such as SquashFS, JFFS2, CramFS, Gzip, LZMA, and ELF executables. The command extracts all components discovered use
امتحانات الأفلام والتحصين
() معظم أجهزة لينكس المدمجة تستخدم نسخة مستنسخة فقط للملفات وقسماً قابلاً للقراءة (JFFS2 أو UBI) للتشكيل، وبعد استخراجها باستخدام ثنائي الوحل، يمكنك أن تجهز صورة SquashFS لملفات مصفوفة: .
التحليل الازدحامي والثباتي
(أ) بالنسبة إلى بحوث الضعف المتعمقة، أو تفكيك أهم أجهزة خدمة الإنترنت (التي غالباً ما تكون بمثابة أو ) باستخدام موقع Ghidra () أو موقع شبكي أو شركة IDA Pro.
وإذا استخدمت الشركة نظاماً تشغيلياً في الوقت الحقيقي بدلاً من لينكس، فإن الخلية الثنائية لا تملك أي صورة ملفية على الإطلاق، بل مجرد صورة أحادية اللون تحتوي على الكينال وجميع المهام، وفي هذه الحالات، يمكن أن تساعد الأدوات المزعجة في تحديد نقاط الدخول، ووظائف الجدول الزمني، وقطع مراقبة المهام، واستخدام عنوان حمولة الشركة (التي غالباً ما تكون في بداية الوميض) لإعادة فرض النسيج على النحو السليم.
التحليل الديناميكي من خلال التلقيح
ويتيح التداول التنفيذ الآمن للبرمجيات الثابتة في بيئة خاضعة للمراقبة دون المعدات المادية، وقد تحتاج أدوات مثل وحدة التفتيش المشتركة (مع طريقة نظامية لهيكلات محددة من وحدات التصوير الفوتوزي، أو إطار " أفاتار2 " إلى الحصول على صور مستخرجة من أجهزة البرمجيات البرمجية، وقد تحتاج إلى توفير حد أدنى من الملفات الأساسية وشبكة إلكترونية مناسبة.
وكثيرا ما تكشف عملية التلقيح في البرمجيات عن وجود حشرات في الوقت المناسب تفتقد التحليلات الثابتة، مثل ظروف العرق، وفساد الذاكرة الذي تسببه مدخلات محددة، ومواطن الضعف في التوثيق التي تتعرض لها خدمات الشبكة، غير أن العديد من الأجهزة لديها أطراف مؤمنة على الملكية تتطلب التصحيح أو الاستحواذ على البرمجيات الجاهزة.
تحديد المسؤوليات
وتشمل فئات الضعف المشتركة في مجال برامج المستهلكين:
- Hardcoded accreditation:] Backdoor usernames and passwords found in web interfaces or telnet/SSH services. Examples: admin/admin, root/password, or hidden accounts for OEM support.
- حقن محمي: ] Web interface parameters (e.g., ping, traceroute) passed unsanitized to shell commands.
- Buffer overflows:] Improper input validation in HTTP headers, POST data, or SNMP community strings.
- Insecure firmware update mechanisms:] Updates delivered over HTTP without signature verification, allowing man-in-the-middle attacks.
- Privilege escalation:] Web services running as root with world-writable formation files.
ويعد توثيق أوجه الضعف أمراً بالغ الأهمية، وبعد اكتشافها، تتبع ممارسات الكشف المسؤولة عن المعلومات عن طريق إبلاغ المصنع أو عن طريق منابر مثل CVE.
الاعتبارات القانونية والأخلاقية
ويخضع استخراج البرمجيات وتحليلها لموضوع البحث الأمني، ولكن الأطر القانونية تختلف حسب الولاية القضائية، وفي بلدان كثيرة، يمكن تطبيق قانون حقوق التأليف الرقمية في الولايات المتحدة أو قانون الاحتيال والإساءة في الحاسوب، غير أن الاستثناءات موجودة للبحث الأمني، والهندسة العكسية من أجل قابلية التشغيل المتبادل، والدراسة الأكاديمية، وتتأكد دائما من حصولك على إذن صريح من مالك الجهاز أو تعمل مع أجهزة تملكها شخصيا.
وتشمل ممارسات البحوث الأخلاقية ما يلي:
- فقط أجهزة تحليل تملكها قانونياً أو تكون قد كتبت الموافقة على الإختبار
- استخدام النتائج لتحسين الأمن بدلا من استغلال المستخدمين.
- الإبلاغ عن أوجه الضعف لدى المصنعين مع إتاحة وقت معقول لتطوير رقعة الإنتاج.
- لا تكشف عن رمز الاستغلال العام حتى تتوفر المواصفات
ويساند العديد من الصانعين الآن برامج مكافأة الحشرات التي تكافئ الكشف عن المعلومات المسؤولة، وحتى بدون مكافأة، فإن إصدار تقرير عن الضعف الموثق جيدا يبني سمعة مهنية.
خاتمة
إن الخلاص والتحليل من أجهزة المستهلكين عملية متعددة الخطوات تدمج هندسة البرمجيات مع اختراق المعدات، بدءا من فهم وسيط التخزين، واختيار طريقة الاستخلاص المناسبة (الملفات المستكملة، و UART، و JTAG، أو قراءة نظام المعلومات الإدارية الخاصة)، والتقدم المحرز من خلال تحليل ثابت ودينامي، يمكن للباحثين كشف أوجه الضعف الأمنية الحرجة والحصول على نظرة متعمقة لعملية تشغيل الأجهزة.