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

  • デジタル・フォレンジック
  • コンピュータにおける科学捜査を模したもの
  • ダンプなどの超巨大データから目的のデータを探す

要するに

  • プログラマー界の異種格闘技戦
    • 該当するジャンルだけでなく、
      関連するありとあらゆる知識を駆使して解く
  • 最新情報へのキャッチアップ速度も問われる

例題

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("おしまい")

Made with Slides.com