
هندسة عكسية للبرامج باستخدام محاكي نظام كامل
RESim هي أداة تحليل نظام ديناميكي توفر رؤية تفصيلية للعمليات والبرامج وتدفق البيانات داخل أجهزة الكمبيوتر المتصلة بالشبكة. تحاكي RESim شبكات الكمبيوتر من خلال استخدام نماذج عالية الدقة لمنصة Simics للمعالجات والأجهزة الطرفية (مثل بطاقات واجهة الشبكة) والأقراص. تقوم نماذج منصة الكمبيوتر المتصلة بالشبكة بتحميل وتشغيل البرامج المستهدفة المنسوخة من الصور المستخرجة من الأنظمة المادية التي يتم محاكاتها.
تساعد RESim في الهندسة العكسية وتحليل الثغرات لشبكات الأنظمة المبنية على لينكس وويندوز من خلال جرد العمليات من حيث البرامج التي تنفذها والبيانات التي تستهلكها. تشمل مصادر البيانات الملفات وواجهات الأجهزة وآليات التواصل بين العمليات. يتم توثيق تنفيذ العمليات واستهلاك البيانات من خلال التحليل الديناميكي لنظام محاكي قيد التشغيل دون تثبيت أو حقن برامج في النظام المحاكي، ودون معرفة تفصيلية بالنواة التي تستضيف العمليات.
توفر RESim أيضًا رؤية تفاعلية للبرامج المنفردة قيد التنفيذ من خلال استخدام إضافات لمفككي/مصححي IDA Pro و Ghidra. يسمح المفكك/المصحح بتعيين نقاط توقف لإيقاف المحاكاة مؤقتًا عند أحداث محددة إما في الزمن المستقبلي أو الزمن الماضي[2]. على سبيل المثال، يمكن لـ RESim توجيه حالة المحاكاة للتراجع حتى آخر تعديل لعنوان ذاكرة محدد. يمكن إنشاء نقاط تفتيش قابلة لإعادة التحميل في أي نقطة أثناء تنفيذ النظام. يمكن إيقاف محاكاة RESim مؤقتًا للفحص، على سبيل المثال، عندما يتم جدولة عملية محددة للتنفيذ، ثم متابعتها لاحقًا، مع إمكانية تغيير حالة الذاكرة أو السجلات. يمكن للمحلل تعديل محتوى الذاكرة أو السجلات بشكل صريح، ويمكن أيضًا تعزيز الذاكرة ديناميكيًا بناءً على أحداث النظام، على سبيل المثال، تغيير إدخال ملف كلمة المرور عند قراءته بواسطة برنامج su.
يتم التحليل بالكامل من خلال مراقبة حالة الذاكرة والمعالج للنظام المستهدف المحاكي، دون الحاجة إلى شل أو حقن برامج أو جداول رموز النواة. يقال إن التحليل خارجي لأن وظائف المراقبة ليس لها أي تأثير على حالة النظام المحاكي.
تم دمج RESim مع أداة American Fuzzing Lop (AFL) لاختبار التشويش. يقوم نظام التشويش هذا بحقن البيانات المشوشة مباشرة في مخزن القراءة للتطبيق، مما يبسط إعداد سير عمل التشويش. تقوم RESim تلقائيًا بإعادة تشغيل وتحليل أي أعطال تم اكتشافها، وتحديد أسباب الأعطال، مثل تلف التحكم في التنفيذ.
يرجى الرجوع إلى دليل مستخدم RESim للحصول على معلومات إضافية. يمكن مشاهدة عرض توضيحي مختصر لـ RESim هنا: (https://nps.box.com/s/rf3n104ualg38pon6b7fm6m6wqk9zz50)
تم وصف صور القرص المثالية في ملف readme هذا
RESim مشتقة من منصة فحص البرامج والتحليل الجنائي التي تم إنشاؤها لـ DARPA Cyber Grand Challenge. المستودع موجود هنا: https://github.com/mfthomps/cgc-monitor. ورقة بحثية تصف هذا العمل موجودة على https://www.sciencedirect.com/science/article/pii/S1742287618301920 وملخص جيد لاستخدام Simics في CGC Monitor موجود على https://software.intel.com/content/www/us/en/develop/blogs/simics-software-automates-cyber-grand-challenge-validation.html
[1]Simics هو محاكي نظام كامل تم تطويره بواسطة Intel، والتي تمتلك جميع العلامات التجارية ذات الصلة. [2]Simics 7 أوقف "التنفيذ العكسي"، لكن RESim تعيد إضافته.
This software was created by United States Government employees
and may not be copyrighted.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.