IPA(情報処理推進機構)は7月31日、脆弱性体験学習ツール「AppGoat」の「利用の手引き」を公開した。
脆弱性体験学習ツール「AppGoat」とは、IPAが10年以上前から公開している無料のツールで、脆弱性の概要や対策方法等の脆弱性に関する基礎的な知識を実習形式で体系的に学ぶことができる。
利用者は、学習テーマごとに用意された演習問題に対して、埋め込まれた脆弱性の発見、プログラミング上の問題点の把握、対策手法の学習を対話的に実施できる。IPAでは「Webアプリケーションの脆弱性対策に必要なスキルを習得したい開発者やWebサイトの管理者におすすめ」としている。
今回公開された「利用の手引き」は、「体験して学ぼう、脆弱性体験学習ツール『AppGoat(アップゴート)』利用の手引き」として、以下の5編の動画で構成されている。
・概要編(6分11秒)
-どのような人に有効なツールか?
-何を学習できるか
・準備編(10分50秒)
-入手方法
-起動や終了の手順
・学習の進め方(前編)(7分31秒)
・学習の進め方(中編)(10分21秒)
・学習の進め方(後編)(7分31秒)
-画面の見方や操作方法
-学習方法
脆弱性体験学習ツール AppGoatの構成
脆弱性体験学習ツール AppGoat は、「個人学習向け」と「集合学習向け」の2系統がある。どちらもIPAに利用申請し、ツールをダウンロードして進める。
学習の流れとしては、個人学習では12種類の脆弱性(下記)を学習でき、脆弱性ごとに複数の学習テーマがあり、学習テーマ順に学習することで脆弱性に対する理解を深めることができる。各学習ツールの前半は、攻撃者の立場で脆弱性を悪用する演習を行い、脆弱性がどのように狙われどのような影響を及ぼすのかを学習する。後半では、開発者の立場で実際にソースコードを修正し、脆弱性の対策方法を学ぶ。脆弱性の概要のみを学習したい人は前半を、開発者は前・後半とも学習することが推奨されている。
個人学習で学ぶ12種類の脆弱性
・クロスサイト・スクリプティング
・SQLインジェクション
・CSRF(クロスサイト・リクエスト・フォージェリ)
・ディレクトリ・トラバーサル
・OSコマンド・インジェクション
・セッション管理の不備
・認証制御や認可制御の欠落
・HTTPヘッダ・インジェクション
・バッファオーバーフロー
・クリックジャッキング
・メールヘッダ・インジェクション
・その他の脆弱性(システム情報漏えい等)
また、集合学習では「集合教育補助資料」として以下のPDF資料が用意されていて、知識を深めるのに役立つ。
・SQLインジェクション編
・クロスサイトスクリプティング編
・クロスサイトリクエストフォージェリ編
・ディレクトリ・トラバーサル編
・OSコマンドインジェクション編
・セッション管理の不備編
・Fiddlerの使い方
・AppGoatとは
https://www.ipa.go.jp/security/vuln/appgoat/about.html
・体験して学ぼう、脆弱性体験学習ツール『AppGoat(アップゴート)』利用の手引き
https://www.ipa.go.jp/security/videos/list.html#zeitai_new
・脆弱性体験学習ツール AppGoat (個人学習向け):ツール概要
https://www.ipa.go.jp/security/vuln/appgoat/toolabust.html
・脆弱性体験学習ツール AppGoat (集合学習向け):ツール概要
https://www.ipa.go.jp/security/vuln/appgoat/classroom.html
[i Magazine・IS magazine]