6 結果と考察
6.1 結果
すべての Blue チームが、STAC プログラムを通じて 7 回のエンゲージメントに参加した。
- エンゲージメント 1(E1)は、2016 年 2 月に DARPA で行われたライブのエンゲージメントであった。
- エンゲージメント 2(E2)は、エンゲージメント 1 の持ち帰り版であり、2016 年 7 月に終了した。
- エンゲージメント 3(E3)は、2017 年 1 月に行われたライブのエンゲージメントであった。
- エンゲージメント 4(E4)は、エンゲージメント 3 の持ち帰り版であり、2017 年 6 月に終了した。
- エンゲージメント 5(E5)には、2018 年 1 月に終了した持ち帰りの部分と、2018 年 2 月に DARPA で行われたライブの協働エンゲージメントがあった。
- エンゲージメント 6(E6)には、持ち帰りの部分と、2018 年 8 月に DARPA で行われたライブの協働エンゲージメントがあった。
- エンゲージメント 7(E7)には、持ち帰りの部分と、2019 年 2 月に DARPA で行われたライブの協働エンゲージメントがあった。
ISU-ENSOFT チームの結果のまとめを下の図に示す。結果は、チャレンジアプリケーションの各セットについて、最後のエンゲージメントのものを示している。たとえば、E1 と E2 は同じチャレンジアプリケーションに基づいており、E3 と E4 も同様であった。E5、E6、E7 にはそれぞれ持ち帰りの部分があり、そのあとにライブの部分が続いた。下にはライブのエンゲージメント後の結果を示す。
6.2 エンゲージメントに関する所見
図 14 は、我々の正答率がエンゲージメントごとに(最後のものを除いて)上がり続けたことを示している。最後のエンゲージメントである E7 より前は、チームはアプリケーションの問いの一部だけを選んで分析できた(「回答数」の列はそれを反映している)。E7 では、すべてのチームがすべての問いに答えることを求められた。これが、E7 で正答率がわずかに下がった理由である。
7. 結論
STAC プログラムは非常に困難なものであった。プログラムは、脆弱性の 2 つの種類としてアルゴリズム計算量(AC)とサイドチャネル(SC)に限定されていたが、それらにはトリガーと悪意のあるペイロードのほぼ無限の変種がある。こうした変種があるため、これらの脆弱性を検出する解析を考え出すことは極めて困難である。それには、ループを含む複雑な解析が必要になることが多い。ループ解析に関する膨大な研究から得られた既存の手法は、エンゲージメントの問題に取り組むうえで特に有用ではなく、新しい手法が必要であった。
STAC プログラムは、大きな進歩を可能にした。最も重要な進歩は、AC 脆弱性と SC 脆弱性を検出するための知能増幅(IA)技術である。チューリング賞と米国国家技術賞の受賞者である Fredrick Brooks は、次のように書いている。「非常に困難な問題を解くコンピュータシステムを構築することが本当に我々の目的であるなら、私の主張は IA > AI、すなわち、利用可能なシステム技術のどの水準においても、知能増幅システムは AI システムに勝てるということである。つまり、機械と心は、単独で動作する、心を模倣する機械に勝てるのである。」複雑なソフトウェア工学の問題は AI では解けず、IA 技術が必要である。本報告書では、複雑なソフトウェアの問題に取り組むための IA 自動化技術を示した。
自動化された解析と人間の創意工夫を組み合わせる効果的な方法を考え出すうえで、いくつかの課題に直面した。本報告書では、それらの課題とその対処方法を論じた。IA 技術の進歩は、エンゲージメントでの成績の着実な向上につながった。プログラムマネージャーは、IA 技術を採用候補として推奨した。
持ち帰りとオンサイトのエンゲージメントは、研究を推進するうえで非常に有用であった。エンゲージメントによって手法の弱点を特定でき、それを洗練するための具体的な方向性が得られた。エンゲージメントに追加された協働の部分は特に有用であった。ほかのチームが取った手法を理解することは役に立ち、すべてのチームが互いに学び合うことで恩恵を受けた。
