فتح Facebook رمز محلل Mariana Trench الثابت

قدم فيسبوك محللًا ثابتًا جديدًا مفتوح المصدر، Mariana Trench، يهدف إلى تحديد نقاط الضعف في تطبيقات Android وبرامج Java. من الممكن تحليل المشاريع بدون أكواد المصدر، والتي يتوفر لها فقط الكود الثانوي لجهاز Dalvik الظاهري. ميزة أخرى هي سرعة التنفيذ العالية جدًا (يستغرق تحليل عدة ملايين من أسطر التعليمات البرمجية حوالي 10 ثوانٍ)، مما يسمح لك باستخدام Mariana Trench للتحقق من جميع التغييرات المقترحة فور وصولها. كود المشروع مكتوب بلغة C++ ويتم توزيعه بموجب ترخيص MIT.

تم تطوير المحلل كجزء من مشروع لأتمتة عملية مراجعة النصوص المصدرية لتطبيقات الهاتف المحمول الخاصة بـ Facebook وInstagram وWhatsApp. في النصف الأول من عام 2021، تم تحديد نصف جميع نقاط الضعف في تطبيقات فيسبوك للهاتف المحمول باستخدام أدوات التحليل الآلي. يتشابك كود Mariana Trench بشكل وثيق مع مشاريع فيسبوك الأخرى؛ على سبيل المثال، تم استخدام مُحسِّن Redex bytecode لتحليل الكود الثانوي، وتم استخدام مكتبة SPARTA لتفسير ودراسة نتائج التحليل الثابت بشكل مرئي.

يتم تحديد نقاط الضعف المحتملة ومشكلات الخصوصية من خلال تحليل تدفقات البيانات أثناء تنفيذ التطبيق لتحديد المواقف التي تتم فيها معالجة البيانات الخارجية الأولية في بنيات خطيرة، مثل استعلامات SQL وعمليات الملفات والمكالمات التي تؤدي إلى تشغيل برامج خارجية.

يتلخص عمل المحلل في تحديد مصادر البيانات والاستدعاءات الخطيرة التي لا ينبغي فيها استخدام بيانات المصدر - يقوم المحلل بتتبع مرور البيانات من خلال سلسلة استدعاءات الوظائف وربط بيانات المصدر بالأماكن التي يحتمل أن تكون خطرة في الكود . على سبيل المثال، تعتبر البيانات التي يتم تلقيها من خلال استدعاء Intent.getData تتطلب تتبع المصدر، كما تعتبر الاستدعاءات إلى Log.w وRuntime.exec استخدامات خطيرة.

فتح Facebook رمز محلل Mariana Trench الثابت


المصدر: opennet.ru

إضافة تعليق