2016年のサイバーグランドチャレンジ(CGC)は、リアルタイムでソフトウェアの欠陥を発見、証明、修正できる自動防御システムを開発するために、国防高等研究計画局(DARPA)によって作成されたチャレンジでした[ 3 ]。
このイベントでは、機械対機械(人間の介入なし)で「世界初の自動ネットワーク防御トーナメント」と呼ばれるものが行われた。[ 4 ]
最終イベントは、2016年8月4日にネバダ州ラスベガスのパリスホテル&カンファレンスセンターで開催された第24回DEF CONハッカーコンベンションの一環として行われた。
その構造は、長年行われているキャプチャー・ザ・フラッグ(CTF)セキュリティ競技会に似ており、優勝したシステムは実際に、数日後に開催された「古典的な」DEF CON CTFで人間と競い合った。しかし、サイバーグランドチャレンジでは、より標準化されたスコアリングおよび脆弱性証明システムが採用されていた。すべてのエクスプロイトとパッチ適用済みバイナリは、審査インフラストラクチャによって提出され、評価された。[ 5 ]
CGCに加えて、DARPAは他の技術分野でも賞金付きコンテストを実施している。
脆弱性を悪用しようとする犯罪者と、重大な被害が発生する前に評価、修復、チェック、パッチの展開を行うアナリストとの間で競争が繰り広げられています。[ 3 ]専門家は、複雑な推論に続いて各セキュリティシグネチャとソフトウェアパッチを手動で作成するプロセスに従います。これは、数か月と費用を要する技術的なプロセスです。[ 3 ]その結果、さまざまなソフトウェアのセキュリティ上の問題が攻撃者に有利になっています。[ 2 ] [ 3 ] DARPAによると、スマートテレビ、ウェアラブルテクノロジー、インターネットに接続されたハイエンド家電などのデバイスは、必ずしもセキュリティを念頭に置いて製造されているわけではなく、さらに、電力システム、送電網、信号機は攻撃に対してより脆弱である可能性があります。[ 4 ]
これらの課題を克服するために、DARPAは2014年にサイバーグランドチャレンジを開始しました[ 6 ]。これは、欠陥について推論し、パッチを作成し、ネットワークにリアルタイムで展開できる自動防御システムを作成することを目的とした2年間のコンテストです。コンテストは2つの主要なイベントに分かれており、2015年に開催されるオープン予選イベントと、予選を通過した上位7チームのみが参加できる2016年の決勝イベントです。決勝イベントの優勝者には200万ドルが授与され、第24回DEF CONキャプチャー・ザ・フラッグ競技で人間と対戦する機会が与えられます。[ 7 ]
Challenge Binariesは、簡略化されたABIではあるものの、完全な32ビットIntel x86アーキテクチャ上で動作した。[ 8 ]
外部との相互作用を基本コンポーネント(例えば、明確に定義された入出力のためのシステムコール、動的メモリ割り当て、単一の乱数源など)にまで減らすことで、モデル化が簡素化され、バイナリを安全に分離して実行し、その動作を観察することが可能になった。
しかし、内部の複雑さには制限がなく、粒子物理シミュレーター[ 9 ] 、チェス[ 10 ] 、 プログラミング/スクリプト言語[ 11 ] [ 12 ] 、 大量のマークアップデータの解析[ 13 ] 、 ベクターグラフィックス[ 14 ] 、ジャストインタイムコンパイル[ 15 ] 、VM [ 16 ]などの実装にまで課題が及んだ。
課題作成者自身も、プレイヤーの相対的なパフォーマンスをどれだけうまく区別できたかに基づいて採点され、自動推論の特定の弱点(例えば、状態爆発)を突くような課題を促しつつ、適切に構築されたシステムで解決可能な課題となるように促された。
各対戦システム(完全自動化された「サイバー推論システム」(CRS))は、コンピュータセキュリティのいくつかの分野で能力を実証する必要があった。
各チームはさまざまな場で自分たちのアプローチについて説明した。[ 17 ] [ 18 ] さらに、3位入賞チーム(Shellphish)はシステム全体のソースコードを公開した。[ 19 ]
タスクの複雑さから、プレイヤーは複数のテクニックを組み合わせ、完全に無人で時間効率よく実行する必要がありました。たとえば、最高攻撃スコアは、ガイド付きファジングとシンボリック実行の組み合わせ、つまり、QEMU ベースのエミュレーションと実行トレースシステムを活用したangr バイナリ解析フレームワークとAFL ベースのファザーを組み合わせることによって脆弱性を発見することで達成されました。[ 18 ]
CGC 予選イベント (CQE) は 2015 年 6 月 3 日に開催され、24 時間続きました。[ 20 ] CQE には 2 つのトラックがありました。提案に基づいて DARPA によって選ばれた 7 チームのための資金提供トラック (チームごとに最大 75 万ドルの賞金) と、自己資金で参加できるオープン トラックです。100 を超えるチームが国際的に登録し、28 チームが予選イベントに到達しました。[ 21 ]イベント中、チームには 131 種類のプログラムが与えられ、パフォーマンスと機能を維持しながら脆弱性を見つけて自動的に修正するという課題が与えられました。すべてのチームが、提供された 131 のプログラムのうち 99 の脆弱性を特定することに成功しました。[ 22 ]競技者からのすべての提出物を収集した後、DARPA はパッチ適用と脆弱性発見能力に基づいてすべてのチームをランク付けしました。
上位7チームとファイナリストはアルファベット順で以下の通りです。[ 23 ]
予選を通過した上記の7チームはそれぞれ、最終イベントに向けた準備資金として75万ドルを受け取った。
CGCファイナルイベント(CFE)は2016年8月4日に開催され、11時間続いた。[ 3 ]ファイナルイベントでは、ファイナリストたちは、完全自動のキャプチャー・ザ・フラッグ競技で、自分たちのマシン同士が対戦するのを見た。[ 4 ]予選を通過した7つのチームはそれぞれ、賞金総額約400万ドルを分け合う上位3位を目指して競い合った。[ 4 ]
サイバーグランドチャレンジ(CGC)決勝戦の優勝システムは以下のとおりです。
その他の競合システムは以下のとおりです。