CTFのすすめ
2019-03-15 pixiv社内勉強会 LT
@hakatashi
自己紹介
@hakatashi (博多市)
- 得意なこと
- フロントエンド
- ルービックキューブ
- 百合
- 苦手なこと
- 進級
博多市とCTF
- 2012年9月、CSAW CTF 2012 に
チームEpsilonDeltaメンバーとして初参戦 - その後EpsilonDeltaごとチームBinjaに吸収合併
- 現在では大学生チームTSGとして活動中
CTF
Capture The Flag
CTF
- 対外的な説明
- 「サイバーセキュリティの能力を競いあうコンテスト」
- 「実際に攻撃することを通して、悪意あるハッカーから
防御することを学ぶ意識の高い競技」 - ↑何が楽しいの?
- もう少し的を射た説明
- セキュリティを学ぶというお題目のもとで合法的に
クラッキングやチートなどの破壊行為を楽しむ競技
- セキュリティを学ぶというお題目のもとで合法的に
Jeopardy形式
- CTFの8割くらいがこれ
- 問題がたくさんあり、
Flagを得て送信すると
得点がもらえる
Flag
- CTFの最終目的である、十~数十文字程度の文字列
- 普通じゃ見られない場所に隠してある
- rootじゃないと読めないファイルの中
- Webアプリの管理者のパスワード
- 暗号化されたZIPファイルの中
- →非合法的手段で奪取
ジャンル
- Flagを手に入れる過程で
非合法的手段に訴えるならなんでもいい- フロントエンド、バックエンド、アプリ、
あらゆる分野がCTFになりうる
- フロントエンド、バックエンド、アプリ、
- 逆に言えば、人によって解ける問題が全く異なる
Web
- Webアプリケーションが問題として与えられる
-
Webでありがちな脆弱性を突いてFlagを手に入れる
- XSS, SQLインジェクション, CSRF, SSRF, Race Condition...
Crypto
- 暗号や暗号化通信を解読すれば勝ち
- RSA, 楕円曲線暗号, Elgamal暗号, 暗号通貨, SSL...
- 深い数学の知識が要求される
Rev
- リバースエンジニアリング
- 普通に実行しただけじゃFlagが出てこないプログラムが与えられる
- 中身を読んで何をしているか理解できたら勝ち
Pwn
- サーバー上でバイナリが動いている
- あらゆる手段を駆使して任意コード実行させられたら勝ち
Stego
- ステガノグラフィー
- 画像や音声など、一見普通のファイルに見えるデータに
秘密のメッセージが埋め込まれている
Forensics
- デジタル・フォレンジック
- コンピュータにおける科学捜査を模したもの
- ダンプなどの超巨大データから目的のデータを探す
要するに
- プログラマー界の異種格闘技戦
- 該当するジャンルだけでなく、
関連するありとあらゆる知識を駆使して解く
- 該当するジャンルだけでなく、
- 最新情報へのキャッチアップ速度も問われる
例題
- XSS Challenge Case 22
- Needle in a Heystack (SECCON Quals 2018)
- z80 (SECCON Quals 2017)
CTF
やってみたさが増してきましたね?
CTFイベント
通常24時間~48時間行われる
参加するとレーティングされ
世界ランキングに載る
初心者向け
- CSAW CTF
- Xmas CTF
- Tyumen CTF
- SECCON
有名なやつ
- HITCON
- DEFCON
- PlaidCTF
常設CTF
いつでも問題を解ける
- ksnctf
- akictf
- CpawCTF
- picoctf
- pwnable.xyz
- pwnable.tw
- pwnable.kr
- 調べたら
意外とたくさんあった
(まだまだある)
社内CTF?
開催したい⋯⋯
alert("おしまい")
CTFのすすめ
By Koki Takahashi
CTFのすすめ
2019-03-15 pixiv社内勉強会 LT
- 2,135