5. ツールのリリース
Atlas プラットフォームは、ゼロから始めた場合よりもはるかに強力な解析ツールの作成を可能にするものであり、実用的で高いスケーラビリティを持つソフトウェア分析の手法に関する長年の研究開発の成果である。
セキュリティツールボックスとフロー解析ツールボックスは、無制限の権利とともに政府に提供される。プロジェクトの終了時に、ENSOFT は、最終版のセキュリティツールボックスとフロー解析ツールボックスを実行するのに必要なバージョンの Atlas について、セキュリティツールボックスとフロー解析ツールボックスを使用することのみを目的とした、組織全体のパーペチュアルライセンスを、追加費用なしで政府に提供する。さらに、プロジェクトの終了時に、ENSOFT は 1 年間の無料保守サービスを政府に提供する。これには、ENSOFT の世界水準のサポートと、保守期間中の Atlas のすべてのアップデートが含まれる。
Atlas プラットフォームに対するあらゆる変更は、引き続き ENSOFT の単独の所有物である。提供される Atlas のライセンスはすべて、Atlas のバイナリに対するものである。ENSOFT は、必要に応じて、ISU やほかの技術領域の参加チームを含む政府以外の当事者にバイナリを提供する。ENSOFT は、政府にソースとバイナリを提供する。このソースコードは、セキュリティツールボックスとフロー解析ツールボックスで使用する Atlas をビルドすることのみを目的として、政府にライセンスされる。このソースコードは政府以外の当事者に開示してはならず、引き続き ENSOFT の単独の所有物である。
市販品(COTS)版の Atlas に関する情報は、ENSOFT の Web ページ [5] で入手できる。XCSG スキーマに関する情報と Atlas を学ぶためのチュートリアルは、オンライン [6] で入手できる。セキュリティツールボックスのいくつかのコンポーネントは、より小さな汎用のツールボックスプラグインとして切り出され、MIT ライセンスのもとで公開されている [7]。
6. 結びの言葉
DARPA APAC プログラムにより、我々は 3 つの重要な技術的進歩を遂げる機会を得た。
- 自動化と人間の理解の両方を促進する、グラフデータベースによるプログラム分析プラットフォームと、プログラムの意味論を表現するグラフスキーマ。
- マルウェアの分析手法と、それをセキュリティツールボックスに組み込み、新規で高度な Android マルウェアを検出する人間と機械による分析システムを提供すること。
- 大規模なソフトウェアライブラリを要約する革新的な手法と、それを、正確でスケーラブルな部分プログラム解析のために、表現力があり簡潔な情報フローの要約をライブラリからマイニングする FlowMiner ツールに組み込むこと。
これらの技術的進歩により、我々はチャレンジのエンゲージメントでよい成績を収めることができた。ほぼすべてのエンゲージメントにおいて、我々のチームの分析時間はほかのすべての参加チームよりも短かった。我々は、分析の速さと正確さを、ツールの成熟度と、非常に大規模なコードについて複雑なクエリをすばやく走査して答えるその能力によるものと考えている。我々は、これがあらゆるマルウェア検出ツールにとって非常に重要な能力であると考える。我々のツールの成熟度と使いやすさは、Red チームから繰り返し称賛された。我々のツールの能力はエンゲージメントの結果として大きく成熟したと考えているが、マルウェアの難しさを定量的に定義できないため、それを証明することは難しい。
APAC の Board Area Announcement(BAA)は、国防総省(DoD)のアプリストアにマルウェアが入らないようにするための実用的なプログラム分析ツールを開発することを、プログラムの主要な目標として挙げていた。ツールの有用性を判断するため、チャレンジアプリの報告書では、ツールがチャレンジの解決にどのように役立ったかについて書面による説明が求められたが、多くの場合、ツールの有用性は、プログラムの会議での動画やライブデモによってよりよく示せたはずである。我々のチームは、PI ミーティングや関心を持つ関係者に向けてツールのデモンストレーションを行うことに力を注いだが、いくつかのチームはそうしなかった。
Red チームは、非常にドメイン固有の悪意のある脆弱性を作り出すことができた。たとえば、それ自身の別のインスタンスと組み合わさるとメッセージのブロードキャストストームを引き起こす独自のプロトコルである(エンゲージメント 2B の SMSBot)。決定的な難しさは、よいマルウェアの仮説を立てることにある。正しい定理を考え出すことこそが難しい部分なのである!
当初、ヒューマン・イン・ザ・ループのプロセスを提案したのは我々のチームだけであったが、完全に自動化されたプロセスを提案したチームはいずれも人間の役割の重要性を過小評価しており、プログラムが進むにつれて、我々のチームの提案と同様の戦略を採用したようである。我々の考えでは、人間の分析者がドメイン固有のマルウェアの仮説を立てられるようにするための、大幅な新しい研究が必要である。
