
مكوّن إضافي لـ Binary Ninja يستخدم التقطيع العكسي للمتغيرات كمحرك لتحليل التلوث الثابت
Mole هو إضافة لـ Binary Ninja مصممة لتحديد مسارات التنفيذ المثيرة للاهتمام في الملفات الثنائية. تقوم بـ القطع العكسي (backward slicing) على المتغيرات باستخدام لغة وسيطة متوسطة المستوى (MLIL) الخاصة بـ Binary Ninja بشكل تعيين واحد ثابت (SSA)، مما يشكل الأساس لـ تحليل التلوث الثابت (static taint analysis).
في Mole، يشير المسار (path) إلى تدفق البيانات بين مصدر ومصرف (sink) معرَّفين. ما يشكل مسارًا "مثيرًا للاهتمام" يعتمد على أهداف التحليل. على سبيل المثال، عند البحث عن ثغرات، قد يبحث المرء عن مسارات حيث تؤثر المدخلات غير الموثوقة (المصادر) على العمليات الحساسة (المصارف) بطرق قد تكون خطيرة.
تسلط القائمة التالية الضوء على بعض الميزات الحالية لـ Mole:
.bndb الخاص بـ Binary Ninja). يمكن أيضًا تصدير المسارات، على سبيل المثال، عند إجراء تحليل رأسي عبر العديد من الملفات الثنائية على نظام ملفات، مما يسمح باستيراد المسارات المحددة لاحقًا لسهولة الاستكشاف داخل Binary Ninja.شاهد Mole أثناء عمله وهو يكشف CVE-2021-4045، وهي ثغرة حقن أوامر غير مصادق عليها في كاميرا IP TP-Link Tapo C200 (انقر على الصورة أدناه للمشاهدة على YouTube):
Mole هو حاليًا عمل قيد التقدم. إذا واجهت خطأ، أو كان لديك اختبار وحدة جديد مفيد يسلط الضوء على إيجابية أو سلبية كاذبة، أو لديك اقتراح لميزة جديدة، فيرجى التفكير في فتح مشكلة أو المساهمة عبر طلب سحب. لاحظ أيضًا أن اختبارات الوحدة الحالية تم التحقق منها فقط على الملفات الثنائية linux-x86_64 و linux-armv7 حتى الآن.
إذا كانت لديك قصة نجاح مثيرة للاهتمام - مثل العثور على ثغرة بمساعدة Mole - فسنكون سعداء بسماعها! لا تتردد في مشاركة تجربتك معنا.