フェイスブック、Androidアプリケーションのセキュリティバグを検出する内部ツールをオープンソース化

Facebook社は、セキュリティチームがAndroidやJavaアプリケーションのバグを発見・修正するために使用している社内セキュリティツールの1つである「Mariana Trench」をオープンソース化しました。

Open-sourcing Mariana Trench: Analyzing Android and Java app security in depth
Mariana Trench is an open source static analyzer that we wrote to detect and prevent security issues in Android and Java applications.

AndroidやJavaアプリケーションのセキュリティやプライバシーに関するバグを発見し、防止するためのツールであるMariana Trench(MT)の詳細をご紹介します。自動化によるセキュリティ強化の一環として、MTをオープンソース化し、Facebookや業界全体のセキュリティエンジニアを支援します。

このツールは、Facebook、Instagram、WhatsAppのAndroidアプリケーションのバグを見つけるために、Facebookの社内で使用されてきました。

Facebook社によると、このツールはDalvikバイトコード(Androidアプリケーションが配布用にパッケージ化された形式)を分析することで動作するとコメントしています。

Dalvik bytecode  |  Android Open Source Project

Dalvikバイトコードを扱うことができる利点は、Mariana Trench(MT)がアプリのソースコードに直接アクセスしてもしなくてもスキャンできることで、Mariana Trenchは、Facebookがこれまでにリリースした3つ目の静的コードアナライザとなります。これまでのリリースは

  • Zoncolan(2019年8月) – プログラミング言語Hackで書かれたウェブアプリを分析するためのツール(Facebookのウェブアプリのバグを見つけるために、Facebookの社内で使用されている
  • Pysa(2020年8月) – Pythonコードを分析するためのツール(Instagramプラットフォームのバグを見つけるために社内で使用されている

Mariana Trenchは、最初の2つのツールと同じように、データがコードベースに入る「sources」とデータが終わる「sinks」を探します。

3つのツールは、コードベース上のデータの移動を追跡し、コードを実行したり、ユーザーの機密データを取得したり、操作したりできる関数など、危険な「sinks」を見つけます。

危険なsinksが発見されると、ツールは開発者に通知し、開発者は報告された問題に対処し、巨大なコードベースの中の小さなコードの更新が誤ってコードの別の部分の脆弱性を開いてしまうことを防ぐことができます。

スピードを追求したMariana Trench

JavaコードやAndroidアプリ用に開発された静的コード解析ツールは数多くあり、中には数十年の歴史を持つものもありますが、Facebook社によると、MTの最大の利点はそのスピードにあり、数千万行と推定されるFacebookのコードベース全体を調べるのに必要な時間は約45分とのことです。

ソーシャルネットワークは、自動化されたバグ検出システムへの依存度が高まっているセキュリティチームにとって、Zoncolan、Pysa、Mariana Trenchのようなツールが不可欠だと述べています。

2021年上半期、当社のアプリ群で発見されたセキュリティ脆弱性の50%以上が、自動化ツールを使って検出されました。

詳細およびツールのドキュメントは、Mariana Trenchの公式サイトで確認することができます。

Mariana Trench | Mariana Trench
Security focused static analysis tool for Android and Java applications.

コメント

タイトルとURLをコピーしました