関連サイト
本書の関連ページが用意されています。
内容紹介
コンピュータセキュリティ技術を競うコンテストCTFで戦うための知識技能を鍛えよう!
CTF(Capture The Flag:旗取り合戦)とは、情報技術に関する問題に対して適切な形で対処し、それに応じて得られた得点で勝敗を決める競技です。
出題されたクイズに対し答えを送るという単純なものから、与えられたソフトウェアやウェブシステムの脆弱性を探し、本来は閲覧できない場所にある情報を読み出してきたり、膨大な大きさのデータから要求された情報を探し出すという物まで。暗号以外にもプロセッサに関する知識やネットワーク、Webとさまざまな知識を用いる問題が多く出題されます。「攻撃」も「防御」もできる情報処理能力を養うことができます。
本書はCTFで戦うために必要となる情報技術の基本や注意点をわかりやすく解説しています。
書誌情報
- 著者: 碓井利宣, 竹迫良範, 廣田一貴, 保要隆明, 前田優人, 美濃圭佑, 三村聡志, 八木橋優(著), SECCON実行委員会(監修)
- 発行日: 2015-12-21 (紙書籍版発行日: 2015-09-30)
- 最終更新日: 2015-12-21
- バージョン: 1.1.0
- ページ数: 258ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
若手エンジニア、高校、高専、情報系の大学生 など(難易度 初~中級)
著者について
碓井利宣
2015年日本電信電話株式会社入社。セキュアプラットフォーム研究所所属(現職)。CTF for ビギナーズのバイナリ担当。普段は、CTFで培ったバイナリ解析技術を生かし、攻撃コードの検知技術やマルウェア解析技術の研究・開発に取り組んでいる。
竹迫良範
2015年9月より株式会社リクルートマーケティングパートナーズ技術フェロー就任。SECCON実行委員長。メモ帳でアセンブラ短歌を書く会。はじめて触ったコンピュータはFM TOWNSの32bit世代。趣味はCPUの命令セットマニュアルを眺めること。印字可能文字で機械語プログラミングしたり、文字と機械語の意味を重ねることが好き。
廣田一貴
Web脆弱性診断に携わるセキュリティエンジニア。セキュリティ・キャンプ中央大会2012に参加、同キャンプ2015にて講師を務める。初めて見つけた脆弱性はセッション固定化。
保要隆明
大学4年次にセキュリティ・キャンプ2013に参加し、ネットワークパケットに夢中になる。以来、キャンプ関係者に触発され、勉強会やCTFなどに積極的に参加し技術向上を図っている。CTF forビギナーズ ネットワーク担当。セキュリティ・キャンプ2015講師。
前田優人
セキュリティ・キャンプ中央大会2012にWebクラスで参加し、情報セキュリティに興味を持つ。同時期にCTFの存在を知り、以来CTFに積極的に参加している。専門分野はWebだが、CTFにハマるうちに幅広いジャンルの問題に興味を持ち取り組んでいる。
美濃圭佑
高校3年生の時にセキュリティ&プログラミングキャンプ2009に参加。以来、セキュリティとネットワークの魅力にとりつかれ、パケットと遊ぶ日々を送る。同キャンプ2015では講師を務めた。CTF for ビギナーズやセキュリティ・キャンプでは、演習用ネットワークの設計や構築などを担当。
三村聡志
CTF for ビギナーズ代表。「技術で周りを楽しませたい」と思いながら、日々興味の赴くままにカーネルランドからユーザランドまで様々なレイヤーで遊んでいる。最近では dit 社の CAPLoggerの開発を担当。2015年 セキュリティ・キャンプ講師。
八木橋優
主にセキュリティ診断業務に携わるセキュリティコンサルタント。セキュリティ・キャンプ全国大会2013に参加。2015年、同キャンプ講師。ごくありふれた脆弱性であるXSSに魅せられたのがセキュリティとの出会い。
目次
Part 0: イントロダクション
- CTFとは / CTFへの参加 / 気をつけること / 法律面 / CTFやってみよう
Part 1: バイナリ解析
- [ステップ1] バイナリ解析とは
- [ステップ2] バイナリ解析環境の構築
- [ステップ3] バイナリ解析入門
- [ステップ4] バイナリ解析に関するTIPS
Part 2: pwn
- [ステップ1] pwnとは
- [ステップ2] 下調べ
- [ステップ3] 脆弱性を探す
- [ステップ4] エクスプロイト
- [ステップ5] pwn!pwn!pwn!
Part 3: ネットワーク
- [ステップ1] CTFにおけるネットワーク分野を知る
- [ステップ2] プロトコルとパケット
- [ステップ3] パケットの解析
- [ステップ4] パケットの送受信
Part 4: Web問題
- [ステップ1] Web問題の特徴
- [ステップ2] 任意コード実行系の脆弱性
- [ステップ3] 各種脆弱性の利用
- [ステップ4] シェルをとった後の手法
Part 5: SQLインジェクション
- [ステップ1] SQLインジェクションとは
- [ステップ2] 攻撃その前に
- [ステップ3] 攻撃してみよう
- [ステップ4] 発展