فیسبوک یک تحلیلگر استاتیک منبع باز جدید به نام Mariana Trench را معرفی کرده است که هدف آن شناسایی آسیب پذیری ها در برنامه های اندروید و برنامه های جاوا است. امکان تجزیه و تحلیل پروژه ها بدون کد منبع وجود دارد که فقط بایت کد برای ماشین مجازی دالویک در دسترس است. مزیت دیگر سرعت اجرای بسیار بالای آن است (تجزیه و تحلیل چند میلیون خط کد حدود 10 ثانیه طول می کشد) که به شما امکان می دهد از Mariana Trench برای بررسی همه تغییرات پیشنهادی هنگام رسیدن آنها استفاده کنید. کد پروژه به زبان C++ نوشته شده و تحت مجوز MIT توزیع شده است.
این تحلیلگر به عنوان بخشی از پروژه ای برای خودکارسازی فرآیند بازبینی متن منبع برنامه های تلفن همراه برای فیس بوک، اینستاگرام و واتساپ توسعه یافته است. در نیمه اول سال 2021، نیمی از آسیبپذیریهای اپلیکیشنهای موبایل فیسبوک با استفاده از ابزارهای تحلیل خودکار شناسایی شدند. کد ماریانا ترنچ با پروژه های دیگر فیس بوک ارتباط نزدیکی دارد؛ به عنوان مثال، از بهینه ساز بایت کد Redex برای تجزیه بایت و از کتابخانه SPARTA برای تفسیر بصری و مطالعه نتایج تجزیه و تحلیل استاتیک استفاده شده است.
آسیبپذیریهای بالقوه و مسائل مربوط به حریم خصوصی با تجزیه و تحلیل جریانهای داده در طول اجرای برنامه شناسایی میشوند تا موقعیتهایی را شناسایی کنند که دادههای خارجی خام در ساختارهای خطرناک پردازش میشوند، مانند پرسوجوهای SQL، عملیات فایل، و فراخوانیهایی که برنامههای خارجی را راهاندازی میکنند.
کار تجزیه و تحلیلگر به شناسایی منابع داده و تماس های خطرناکی می رسد که در آن داده های منبع نباید استفاده شود - تحلیلگر عبور داده ها را از طریق زنجیره فراخوانی تابع ردیابی می کند و داده های منبع را با مکان های بالقوه خطرناک در کد متصل می کند. . برای مثال، دادههای دریافتشده از طریق تماس با Intent.getData نیاز به ردیابی منبع دارند و تماسهای Log.w و Runtime.exec کاربردهای خطرناکی در نظر گرفته میشوند.
منبع: opennet.ru