ctfとは
TRANSCRIPT
CTFとは
CTFとは
Capture The Flagの略
直訳すると旗取り合戦
CTFとはよくあるイメージ
CTFとはよくあるイメージ
CTFとは
Capture The Flagの略
直訳すると旗取り合戦
ここでの旗は「情報」を意味する
CTFとは
セキュリティの知識を総動員して情報を抜き取るゲーム
もちろん経験も必要
2種類のCTF
CTFは大きく2つの形式がある
Jeopardy
Attack-Defense
Jeopardy
ジョパディ!と読む
アメリカのクイズ番組が由来
Jeopardy
Jeopardy
いろいろなジャンルの問題を解いていく
それぞれの問題が独立している
Jeopardy
いろいろなジャンルの問題を解いていく
それぞれの問題が独立している
オンラインの大会だと多い形式
Attack-Defense
直訳すると「攻防戦」
旗取り合戦のイメージに近い
Attack-Defense
チームA解答サーバー
チームB チームCFLAG FLAG
FLAG
Attack-Defense
チームA解答サーバー
チームB チームCFLAG FLAG
FLAG
脆弱性のあるサービスが動いているサーバーが
与えられる
Attack-Defense
チームA解答サーバー
チームB チームCFLAG FLAG
FLAG
脆弱性を突いて相手のFLAGを盗む
Attack-Defense
チームA解答サーバー
チームB チームCFLAG FLAG
FLAG
盗みとったFLAGを解答サーバーに送ると
得点になる
Attack-Defense
自分のサーバーの脆弱性を修正して相手の攻撃から守る
相手のサーバーの脆弱性を利用して相手の旗を盗み取る
Attack-Defense
自分のサーバーのSLAも重要
守るためにサービスを落とすと減点
稼働率も得点に直結する
King of the Hill
Attack-Defenseの派生形式
問題サーバーを巡って攻防する
King of the Hill
問題サーバー 問題サーバー 問題サーバー
チームA チームB
FLAGFLAGFLAG解答サーバー
FLAG FLAG
King of the Hill
問題サーバー 問題サーバー 問題サーバー
チームA チームB
FLAGFLAGFLAG解答サーバー
FLAG FLAG
問題サーバーの脆弱性を使ってFLAGを盗み出す
King of the Hill
問題サーバー 問題サーバー 問題サーバー
チームA チームB
FLAGFLAG解答サーバー
FLAG FLAG
FLAG
盗みとったFLAGを解答サーバーに送ると得点
King of the Hill
問題サーバー 問題サーバー 問題サーバー
チームA チームB
FLAGFLAG解答サーバー
FLAG
FLAG
その脆弱性を使って自チームのFLAGを書き込むと
さらに得点に
King of the Hill
問題サーバー 問題サーバー 問題サーバー
チームA チームB
FLAGFLAG解答サーバー
FLAG
FLAG
相手がFLAGを書き込むのを阻止するのも重要
King of the Hill
問題サーバーを攻撃してFLAGを盗む
その脆弱性を利用して自チームのFLAGを書き込む
長時間書き込み続けるほど高得点に
問題ジャンル
CTFにはいくつかの問題ジャンルがある
大会によって少し異なる場合も
Reversing
与えられたバイナリを解析して隠されたFLAGを見つけ出す
Windows/Linuxのバイナリ
Pwning
与えられたバイナリを解析してサーバーの脆弱性を見つけ出す
Exploitコードを作成して侵入しFLAGを盗み取る
Web
ウェブサイトを解析して脆弱性を見つけ出し、FLAGを盗み出す
SQL Injection, XSSなど
PHPやJavascriptの言語仕様の細かな知識が必要になるものも
Cryptography
暗号を解き、FLAGを見つけ出す
パズルのようなものや古典的暗号からRSAやハッシュ関数攻撃するものも
数論の知識や柔軟な思考力が問われる
Forensics
ディスクのイメージなどを解析してFLAGを探し出す
犯罪証拠の解析に使う知識が問われる
Steganography
音声や動画ファイルに隠されたFLAGを探し出す
画像の色情報をいじると見えるものやデータとして隠されているものも
Trivia
セキュリティに関するクイズ
ハッカー映画なども題材にされる
ネットストーキングしてFLAGを探すReconnaissanceというものも