Comments
Description
Transcript
講演の前に簡単に背景紹介 - SECCON 2015
〜講演の前に簡単に背景紹介〜 Shellphishとは - 国際色豊かな世界トップレベルのCTFチーム - 今夏行われるマシンvsマシンのCTF攻防戦 『DARPA Cyber Grand Challenge (CGC)』の決勝進出者 - 次世代バイナリ解析フレームワーク『angr』開発 DARPA Grand Challenge DARPA: 国防高等研究計画局 (Defense Advanced Research Projects Agency) - 2004年 セルフドライビングカー @砂漠を走る 2007年 アーバンナビゲーションチャレンジ @街を走る 2012年 ロボティックスチャレンジ @人型ロボ 2016年 サイバーグランドチャレンジ @世界初の全自動ハッキング大会 CTFのプラットフォームを利用したロボティックスチャレンジ Cyber Grand Challenge (CGC) 予選:2014年〜2015年 決勝:2016年8月4日木 5pm-8pm (3H) 米国・ラスベガス(DefCon24 併催) http://cybergrandchallenge.com/ AI:挑戦の歴史 チェス:10^120通りの位置 ・1951年 マシン vs. 人 ・1966年 マシン vs. マシン ・1997年 マシンがプロのチャンピオンに勝利 (IBM DeepBlue) 囲碁:10^38(9碁盤)→10^761(19碁盤)通り ・1962年 マシン vs 人 〜 ・2015年10月 プロ3級棋士に勝利 (Google AlphaGo) ・2016年3月 プロのチャンピオンに挑戦 引用:engadget日本語版 2016年1月28日 http://japanese.engadget.com/2016/01/28/google-ai-alphago/ ポーカー - 秘密が多い 複数の相手 ノンゼロサムゲーム 1対1のチェスや碁のように 1人の相手の手だけを推測するのとは異なり 複数相手のゲームでは 敵Aと敵Bの間の推測も必要となり 計算量はとてつもなく莫大となる コンピュータには苦手 引用:Cyber Grand Challenge https://cgc.darpa.mil/CGC_DEFCON_Distribution_A_Final.pdf CTF:環境「ブラックボックス」 - バイナリファイル(ソースコード無し) - 文書なし - プロトコル不明 リバースエンジニアするしかない! 引用:Cyber Grand Challenge https://cgc.darpa.mil/CGC_DEFCON_Distribution_A_Final.pdf CTF:ミッション「Analyze・Pwn・Patch」 - バイナリファイルを解析 脆弱性を見つける パッチ作成 エクスプロイト作成 サービスを継続(鉄壁にしちゃ☓) 「敵より早く!」 「自動化=並列処理x不眠不休」 引用:Cyber Grand Challenge https://cgc.darpa.mil/CGC_DEFCON_Distribution_A_Final.pdf angr - Shellphishが開発した次世代バイナリ解析プラットフォーム オープンソース 動的解析、静的解析、どちらにも利用可能 - - angr = 怒り - - 動的解析:バイナリの特性を実際にファイルを動かして導き出す 静的解析:バイナリの特性をファイルの中身をみて導き出す 市販のバイナリ解析ツールは多数あるがどれも足りない 解析時の単純作業を自動化し、より効率よく解析したい 「できるだけ少ないコマンドでバイナリ解析を可能にしたい」 - 脆弱性スキャナー、パッチ当ての自動化 etc. 詳細はShellphishの講演をお聞きください