Маріана Тренч, аналізатор статичного коду Facebook з відкритим вихідним кодом

Facebook представлений кілька днів тому він звільнився статичний аналізатор з відкритим кодом, Маріанська западина, який призначений для виявлення вразливостей у додатках Android та програмах Java.

В надається можливість аналізу проектів без вихідних кодів, для якого доступний лише байт -код для віртуальної машини Dalvik. Ще однією перевагою є дуже висока швидкість виконання (аналіз кількох мільйонів рядків коду займає близько 10 секунд), що дозволяє використовувати Маріанську западину для перевірки всіх запропонованих змін під час їх введення.

Аналізатор був розроблений як частина проекту для автоматизації процесу перегляду коду джерело мобільних додатків Facebook, Instagram та Whatsapp.

Ми ділимося подробицями про Mariana Trench (MT) - інструмент, який ми використовуємо для виявлення та запобігання помилкам безпеки та конфіденційності у додатках Android та Java. В рамках наших зусиль, спрямованих на посилення безпеки через автоматизацію будівель, ми нещодавно відкрили MT для підтримки інженерів з безпеки у Facebook та у всій галузі.

Цей пост є третім у нашій серії глибоких занурень у інструменти статичного та динамічного аналізу, яким ми довіряємо. MT - це остання система, що слідує за Zoncolan та Pysa, побудована відповідно до коду Hack та Python.

У першій половині 2021 року половина всіх уразливостей у мобільних додатках Facebook була виявлена ​​за допомогою автоматизованих інструментів аналізу. Код Маріанської траншеї тісно переплітається з іншими проектами Facebook, наприклад, операція оптимізатора байткоду Redex використовується для аналізу байт -коду, а бібліотека 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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.