ここから本文です

全自動ハッキングシステム同士の対決!? DEF CON 24 CTF & CGCレポート

THE ZERO/ONE 10/14(金) 14:57配信

8月4日から7日にかけての4日間、アメリカ・ラスベガスにてDEF CON24が開催された。前回のDEF CON23の記事に続いて、今年もCTF関連の様子を紹介しよう。

CTFを全自動で行うシステム「CGC」

昨年のDEF CON閉会式では、CTFの表彰と共に今年の競技についてのアナウンスがあった。一部では話題として出ていたのだが、DARPA(米国防高等研究計画局)の主催するCGC(CyberGrandChallenge)との連携になるとのこと。CGCはソフトウェアの脆弱性解析、パッチ開発、適用といったCTFで行っていることを全自動で行うシステムを開発する競技で、2013年にプロジェクトが始動した。104チームからなる予選を通過した7チームがDEF CON初日に開催される決勝戦に進出する。この勝者チームが翌日からDEF CONのCTFに参戦し人間たちとの攻防戦をするというものであった。

今年のDEF CONのテーマが、「The rise of the Machines」とされている。ご存じのとおり、これはターミネーター3のタイトル名「Terminator 3: Rise of the Machines」だ。入場券を兼ねて配布される参加者バッジのスケルトンをはじめとして、自動化されたCGCの大会開催を意識してのものと思われる。

CGCはいったい何なのか?

今年の(人間の)CTFの話をする前に、まずCGCの解説する必要がある。というのも、DEF CON開催まであと1ヵ月弱となった6月末に、今年のCTFはCGCのゲームフォーマットを使用するというアナウンスがされた。

通常の攻防戦で行われるCTFは各チームに配付されたサーバーで稼働する脆弱なサービスに対して、脆弱性の修正による防御と他チームへの攻撃、サービスの稼働の得点で競われる。CGCで使用される各チームサーバーはDCREEと呼ばれる通常数百あるシステムコールを7つに制限したカスタムのLinuxをベースとしたオープンソースOSを用いて行われる。

しかし各チームはサーバーを操作することができず、CB(Challenge Binary)と呼ばれる問題ファイルが提供され、見つけた脆弱性にパッチをあてて、バイナリを差し替えることで防御RCB(Replacement Challenge Binary)をする 。見つけた脆弱性については攻撃コードPoV(Proof-of-Vulnerability)を作成する。

PoVは相手のシステムをクラッシュさせEIPと他のレジスタの値を制御できることか、メモリ上の特定の領域のデータを読み出すことで攻撃成功となる。参加者チーム/機械たちは、提供されたCBに対して解析を行い、RCBの提出、PoVの提出を行い、中央の運営のサーバーにて5分に1度CB/RCB自体が正常に動作をしているのかのチェックを行うとともに各チームから提出されたPOVを元に攻撃、防御の成功可否を集計して得点が配分される。CGCでは8時間の96ラウンドで競技が行われた。

CGCでは競技が始まってしまうと、人間達はなにもすることがないため、TV中継のような解説を入れるなどを行い、CTFをe-Sports化するという新しい試みを行っていた。競技は淡々と進む感じであったが、運営も想定していなかった脆弱性を発見、修正するチームがでたり、過去の脆弱性を模した問題はほとんどのチームが圧倒的なスピードで修正する様を見せたり、個人的にはなかなか楽しんで見ることができた。

優勝はCMU(カーネギーメロン大学)の教授、学生などからなる私企業のForALLSecureのMayhem。 CMUではexploitを自動で生成するなどの研究を古くから行っており、これらが証明できる機会だったとコメントしている。

CGCについてはすでに公式サイトなどで結果や当日の動画などが公開されている。また公式レポジトリでは様々なファイルが公開されている。また3位になったShellphishチームのMechanical Phishについてはすでにソースコードが公開されている。

1/3ページ

最終更新:10/14(金) 14:57

THE ZERO/ONE

TEDカンファレンスのプレゼンテーション動画

失うことで不完全さの中に美を見出した芸術家
画家のアリッサ・モンクスは、未知のもの、予想しえないもの、そして酷いものにでさえ、美とインスピレーションを見出します。彼女は詩的で個人的な語りで、自身が芸術家として、そして人間として成長する中で、人生、絵の具、キャンバスがどう関わりあってきたかを描きます。 [new]