HOME情報セキュリティ情報セキュリティ対策脆弱性対策脆弱性体験学習ツール AppGoat脆弱性体験学習ツール AppGoat (個人学習向け):ツール概要

本文を印刷する

情報セキュリティ

脆弱性体験学習ツール AppGoat (個人学習向け):ツール概要

最終更新日:2017年11月30日

■お知らせ(更新日時:2017/11/30)
 AppGoat V3.0を活用し、高校や大学での講義、組織の新人教育等で効果的な集合教育を効率良く実施する上で必要な段取りや注意点をまとめた、「脆弱性体験学習ツール「AppGoat」を用いた集合教育実施の手引き」を公開しました。
 また、AppGoatを用いて集合教育を実施する際、講師側で補助資料を用意することで学習者の理解を助けることができます。その補助資料のサンプルとして3種類の脆弱性解説資料をあわせて公開しました。
 詳細は下記URLの「資料のダウンロード」からご参照ください。
https://www.ipa.go.jp/security/vuln/appgoat/classroom.html#download

| トップ  |  個人学習向けツール概要  |  集合学習向けツール概要  |  FAQ  | 

ツール概要

利用者は、IPAまたはベクターのウェブサイトからAppGoatをダウンロードし、自身のPCで学習を進めることができます。個人学習用のAppGoatは、「ウェブアプリケーション用学習ツール」と「サーバ・デスクトップアプリケーション用学習ツール」に分かれており、複数の学習テーマから構成されています。利用者は、自身の学習目的に合わせて、任意の学習テーマを選択できます。

学習の流れ

AppGoatは、「ウェブアプリケーション用学習ツール」で12個の脆弱性、「サーバ・デスクトップアプリケーション用学習ツール」で7個の脆弱性を学習することができます。各脆弱性毎に複数の学習テーマがあり、各学習テーマを順に学習することで脆弱性に対する理解を深めることが出来ます。ウェブアプリケーション用学習ツールを例にすると、各テーマは主に以下の図の構成となっています。前半は、攻撃者のように脆弱性を実際に悪用する演習を行い、脆弱性がどのように狙われどんな影響があるのかを学習します。後半では、開発者の立場で実際にソースコードを修正し、脆弱性の対策方法を学びます。脆弱性の概要のみを学習したい方は前半を、開発者の方は前半および後半を学習してください。

※上記は、ウェブアプリケーション用学習ツールのフローです。

特長

様々な脆弱性を学習可能
ウェブアプリケーションやサーバーデスクトップアプリケーションの開発の際に作りこみやすいSQLインジェクションやバッファエラー等の脆弱性を合計19種類学習可能です。

攻撃者視点での脆弱性の攻撃体験
AppGoatには、意図的に脆弱性を埋め込んだウェブアプリケーションが内在しています。攻撃者の立場でそのウェブアプリケーションに対して脆弱性を悪用した攻撃を行う体験ができます。体験を通じて、脆弱性がどのように悪用されるのか、そしてどのような影響を受けるのかを実際に確認できます。

開発者視点での脆弱性の修正
AppGoatには、ソースコードを修正する演習があります。実際に修正を行い、修正結果を確認することで、対策方法をより実践的に学習することができます。

申請方法

申請手順フロー

下記のフローに従い申請を行ってください。

手順1:ウェブアプリケーション用学習ツール(個人学習向け)の利用申請メールをIPAに送付

※サーバ・デスクトップアプリケーション用学習ツールを利用する場合は不要です。
「利用許諾条件合意書(PDF形式)」に同意の上、AppGoatの申請用メールアドレス宛に申請メールを送信してください。送信するメール内容は、下記【テンプレート】を利用して、【メール記載例】を参考に記載をお願いします。
IPAにて、メールを受信後、内容に問題がない場合、5営業日以内を目処にIPAより申請者のメールアドレス宛にダウンロードURLを送付します。
なお、ダウンロードファイルのサイズは約810MByteです。ファイルサイズが大きいため、利用回線などの通信環境にご注意ください。
【テンプレート】
-----<申請メールの件名>-----
AppGoatウェブアプリケーション用学習ツール(個人学習向け)の利用申請

-----<申請メールの本文>-----
■ツールの利用目的(記載は必須)
※学習目的で無い場合は申請を不受理としております

例:自宅での学習のため、会社または学校から指示があったため、等

■利用許諾条件合意書への同意
上述の申請者および責任者は、下記の利用許諾条件合意書に同意します / 同意しません

利用許諾条件合意書:
https://www.ipa.go.jp/files/000055105.pdf
【メール記載例】
-----<申請メールの件名>-----
AppGoatウェブアプリケーション用学習ツール(個人学習向け)の利用申請

-----<申請メールの本文>-----
■ツールの利用目的(記載は必須)
※学習目的で無い場合は申請を不受理としております
自宅での学習のため
例:自宅での学習のため、会社または学校から指示があったため、等

■利用許諾条件合意書への同意
上述の申請者および責任者は、下記の利用許諾条件合意書に同意します

利用許諾条件合意書:
https://www.ipa.go.jp/files/000055105.pdf
申請用メールアドレス
 E-mail:

手順2-1:ウェブアプリケーション用学習ツール(個人学習向け)のダウンロード

※サーバ・デスクトップアプリケーション用学習ツールを利用する場合は不要です。
手順1でIPAから送付したメールにあるダウンロードURLよりダウンロードを行ってください。
ダウンロードファイルのサイズ:約810MByte

手順2-2:サーバ・デスクトップアプリケーション用学習ツールのダウンロード

※ウェブアプリケーション用学習ツール(個人学習向け)を利用する場合は不要です。
下記のダウンロードボタンからダウンロードを行ってください。
ダウンロードファイルのサイズ:約20MByte
  内容をご確認の上、同意いただける場合には「同意する」にチェックを入れてAppGoatを利用してください。
   「利用許諾条件合意書(PDF形式)」
   利用許諾条件合意書に同意する
     ※AppGoatをご利用の際は、利用許諾条件合意書に同意いただく必要があります。
サーバ・デスクトップアプリケーション
用学習ツール

※ダウンロードをクリックすると株式会社ベクターのサイトにジャンプします。

学習の始め方

※下記は、ウェブアプリケーション用学習ツール(個人学習モード)の手順です。サーバ・デスクトップアプリケーション用学習ツールについてはマニュアルをご確認ください。

手順1:AppGoatの解凍

ダウンロードしたAppGoatを任意のフォルダに解凍します。
※解凍先のフォルダのパスに、全角文字(日本語)、半角スペース、半角記号を含めないでください。

手順2:AppGoatの起動

解凍したフォルダ内にあるAppGoatSettings.exeを起動し、環境設定アプリを起動してください。起動後、[Apache起動]ボタンをクリックしてください。

手順3:AppGoatを利用する上での遵守事項の確認および実施(V3.0.3より追加)

AppGoatを利用する上で遵守事項があります。ダイアログ内に記載している遵守事項を確認し、LANケーブルを外す等の遵守事項を実施してください。

手順4:ランタイムのインストール

AppGoatは、ランタイム(Microsoft Visual C++ 2012 再配布可能パッケージ(x86))のインストールが必要です。AppGoatの起動時に下記の画面が表示された場合は、[はい]ボタンをクリックして、ランタイムをインストールしてください。

手順5:学習開始

AppGoatの起動に成功すると、以下の総合メニューの画面が表示されます。「学習環境へ」をクリックし、学習を開始してください。
なお、初めてAppGoatを利用する場合は、学習を開始する前に「学習を進める前に」をクリックし、学習の進め方等を確認してください。

学習できる脆弱性一覧

ウェブアプリケーション用学習ツール
No. 学習可能な脆弱性名
1. クロスサイト・スクリプティング
2. SQLインジェクション 
3. CSRF(クロスサイト・リクエスト・フォージェリ)
4. ディレクトリ・トラバーサル
5. OSコマンド・インジェクション
6. セッション管理の不備
7. 認証制御や認可制御の欠落

8. HTTPヘッダ・インジェクション
9. バッファオーバーフロー 
10. クリックジャッキング 
11. メールヘッダ・インジェクション 
12. その他の脆弱性(システム情報漏えい等) 
サーバ・デスクトップアプリケーション用学習ツール
No. 学習可能な脆弱性名
1. バッファオーバーフロー
2. ディレクトリ・トラバーサル
3. リソースリーク

4. 整数オーバーフロー
5. フォーマット文字列
6. 認証・認可
7. その他の脆弱性(ジャンクションへの考慮不足の問題等)

更新履歴