ماريانا ترينش ، محلل الكود الثابت مفتوح المصدر على Facebook

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

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

المحلل كجزء من مشروع لأتمتة عملية مراجعة الكود مصدر تطبيقات الهاتف المحمول من Facebook و Instagram و Whatsapp.

نشارك تفاصيل حول Mariana Trench (MT) ، وهي أداة نستخدمها لاكتشاف ومنع أخطاء الأمان والخصوصية في تطبيقات Android و Java. كجزء من جهودنا للمساعدة في توسيع نطاق الأمان من خلال أتمتة المباني ، افتتحنا مؤخرًا MT لدعم مهندسي الأمن على Facebook وعبر الصناعة.

هذا المنشور هو الثالث في سلسلتنا من الغوص العميق في أدوات التحليل الثابتة والديناميكية التي نثق بها. MT هو أحدث نظام ، يتبع Zoncolan و Pysa ، المصمم من أجل Hack و Python code على التوالي.

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

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

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

تختصر وظيفة المحلل في تحديد مصادر البيانات والمكالمات الخطيرة ، حيث لا ينبغي استخدام البيانات الأصلية: يراقب المحلل مرور البيانات عبر سلسلة استدعاءات الوظائف ويربط البيانات الأولية بأماكن يحتمل أن تكون خطرة في الكود.

نظرًا لأنه في MT ، يمكن وصف تدفق البيانات من خلال:

  • المصدر: نقطة الأصل. يمكن أن تكون هذه سلسلة يتحكم فيها المستخدم الذي يدخل التطبيق من خلال "Intent.getData".
  • بالوعة: وجهة. على Android ، يمكن أن يكون هذا استدعاءً لـ "Log.w" أو "Runtime.exec". على سبيل المثال ، تعتبر البيانات الواردة من استدعاء Intent.getData مصدرًا للمراقبة ، وتعتبر المكالمات إلى Log.w و Runtime.exec استخدامات خطيرة.

يمكن أن تحتوي قاعدة التعليمات البرمجية الكبيرة على العديد من الأنواع المختلفة من المصادر وأجهزة الاستقبال المقابلة. يمكننا إخبار MT لتظهر لنا تدفقات محددة من خلال تحديد القواعد.

يمكن أن تحدد القاعدة ، على سبيل المثال ، أننا نريد العثور على عمليات إعادة التوجيه المقصودة (المشكلات التي تسمح للمهاجمين باعتراض البيانات الحساسة) من خلال تحديد قاعدة توضح لنا جميع عمليات التتبع من المصادر "التي يتحكم فيها المستخدم" إلى مصدر "عمليات إعادة توجيه النوايا.

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.