効果的に安全なアプリケーション開発技法の習得を支援するツール
http://www.ipa.go.jp/security/vuln/appgoat/
2011年1月から公開中
近年、ウェブサイトや国産のソフトウェア製品の脆弱性を突いた攻撃やそれによる被害が多数報告されており、安全面を考慮したアプリケーションの開発や運用が求められています。
しかし、これまで脆弱性の対策・検証方法を学ぶツールは十分に整備されておらず、脆弱性の低減が進まないひとつの要因となっていました。
そこでIPAでは、職場や自宅のパソコンにインストールし、ナビゲーションに従って脆弱性の検証手法から原理、影響、対策までを自習することができる体験型学習ツール「AppGoat」を開発しました。
本ツールは、開発プロジェクトなどにおいて、事前にメンバーのスキルチェックを行う場合やセミナー等で、脆弱性の解説や実演を行うための教材としても活用できます。
本ツールの特徴は次の通りです。
脆弱性の種別や対策目的ごとに分類した28の学習テーマを用意し、脆弱性や対策方法について幅広く学習することができます。利用者は自身の学習目的に合わせて、学習テーマを選択できます。
演習問題として、ウェブアプリケーションに加えてサーバアプリケーションやデスクトップアプリケーション等の7種類のアプリケーションを用意しており、さまざまな分野の開発者や学生にとって有効に活用できる内容です。
脆弱性を突いた攻撃が成功する仕組みから実際の対策手法まで、説明図を交えて学習できる教材を備えており、これから脆弱性を学習する初級者でも理解しやすい内容で構成しています。
また、実際の開発現場ですぐに活用できるよう、ソースコード修正などの演習も用意しており、プログラミング技術を持つ利用者は論理的な理解に加え、具体的な対策方法も学ぶことができます。
| OS | Microsoft Windows XP Professional SP3 Microsoft Windows Vista SP2 Microsoft Windows 7 (32bit版) |
| ブラウザ | Internet Explorer 7 又は、 Firefox 3.6 以上 |
| その他 | ハードディスク 100MBの空き容量 モニタ解像度 1,024×768ピクセル以上 Adobe Reader 9 以上がインストールされていること |
AppGoatは、「ウェブアプリケーション版」15学習テーマ、「サーバ・デスクトップアプリケーション版」13学習テーマから構成されています。
| クロスサイト・スクリプティング |
|---|
| クロスサイト・スクリプティングとは |
| アンケートページの改ざん(反射型) |
| 掲示板に埋め込まれるスクリプト(格納型) |
| 入力情報の漏えい(反射型) |
| ウェブページの改ざん(DOMベース) |
| 不完全な対策 |
| SQLインジェクション |
| SQLインジェクションとは |
| 不正なログイン(文字列リテラル) |
| 情報漏えい(数値リテラル) |
| 他テーブル情報の漏えい(数値リテラル) |
| データベースの改ざん(数値リテラル) |
| CSRF |
| CSRF(クロスサイト・リクエスト・フォージェリ)とは |
| 意図しない命令の実行 |
| 不完全な対策 |
| その他 |
| エラーメッセージからの情報漏えい |
| バッファオーバーフロー |
|---|
| バッファオーバーフローとは |
| アーカイブソフトの異常終了 |
| FTPプロキシソフトの異常終了 |
| ウェブサーバの異常終了(ヒープ領域) |
| ディレクトリ・トラバーサル |
| ディレクトリ・トラバーサルによる情報漏えい |
| リソースリーク |
| プログラミングエラーによるリソースリーク |
| 整数オーバーフロー |
| 整数オーバーフローによる異常終了 |
| フォーマット文字列 |
| フォーマット文字列による異常終了 |
| 認証・認可 |
| 本人認証の不備 |
| 権限管理の不備によるファイルの漏えい |
| その他 |
| ジャンクションへの考慮不足の問題 |
| TOCTOUによる検証の迂回 |
| 暗号の不適切な利用 |
