その他のコンテンツ
ちょい読み!
コミック

新着ソフトレビュー 2011.02.10 RSS一覧
Vectorトップ > ライブラリ > 脆弱性体験学習ツール AppGoat

脆弱性体験学習ツール AppGoat

go! download このソフトをダウンロード・購入する
このソフトをダウンロード・購入する
脆弱性体験学習ツール AppGoat
脆弱性の仕組みや対策方法を体験しながら学べる、対話型のセキュリティ学習ソフト
Windows 7/Vista/XP  フリーソフト
脆弱性体験学習ツール AppGoat
  • メイン画面(ウェブアプリケーション版)。掲示板やSNSなどのサービスに潜む危険性を開発者向けにアピール


  • ◎そのほかのスクリーンショット
  • 仮想ブラウザ上で実際に攻撃を試してみることができる
  • 演習結果と解説に続き、基本的な対策手法を教えてくれる


  • アプリケーション開発の際に問題となる脆弱性(セキュリティ上の弱点となり得るポイント)を、体験しながら学べるCAI(コンピュータ支援教育)ソフト。

    「脆弱性体験学習ツール AppGoat」は、“安全なアプリケーション開発技法を幅広く学習できる”対話型のソフト。仮想の掲示板やSNSの管理画面などに対して、実際にユーザ自身が攻撃を行うことで、「どのような問題点があるのか」「どのような対策を施せばよいのか」を体験・学習できるようになっている。ソフトは「ウェブアプリケーション版」「サーバ・デスクトップアプリケーション版」の二つに分けられ、「ウェブアプリケーション版」では、

    • クロスサイト・スクリプティング
    • SQLインジェクション
    • CSRF(クロスサイト・リクエスト・フォージェリ)
    などに分類された計15テーマを、また「サーバ・デスクトップアプリケーション版」では、
    • バッファ・オーバーフロー
    • ディレクトリ・トラバーサル
    • リソースリーク
    • 整数オーバーフロー
    • フォーマット文字列
    • 認証・認可
    などに分類された計13テーマを学ぶことができる。

    学習は、IEなどのWebブラウザを使って行う。ステップに従ってリンクをクリックしながら、(1)テーマの説明、(2)原理の解説、(3)演習、(4)影響の解説、(5)対策方法の解説という順序で進む。(3)演習では、ページ上に作成された仮想ブラウザに掲示板やオンラインバンキング、SNSなどの管理画面が表示され、「そこを攻撃すると、どのような影響が起きるのか」を解説を交えながら体験できる(「AppGoat」実行中は一時的にローカルサーバ環境が構築され、サーバ環境上で動作する)。

    演習内で攻撃を行う場合、スクリプトやSQL文を書く必要があるが、スクリプトやSQLの知識がない人でも、ヒント内に書かれたサンプルをコピー&ペーストすれば、問題点を体験できるようになっている。

    「ウェブアプリケーション版」で学べる内容は以下の通り(以下では、説明の例として「ウェブアプリケーション版」を用いる)。

    「クロスサイト・スクリプティング」では、掲示板にスクリプトを含む書き込みを投稿し、リンクをクリックした場合に偽装ページにジャンプさせたり、ポップアップメッセージを表示したりといった迷惑行為を体験できる。偽装されたページでアンケートなどを行って、個人情報を盗み出したり、Cookieを悪用してなりすましを行ったりといったケースもある。

    「SQLインジェクション」では、会員制ポータルサイトや大規模フォーラム、SNSなどの動作に欠かせないSQLデータベースで、本来想定されていないコマンド/パラメータが入力されたことによる不正操作について学べる。漏洩した個人情報からなりすましが行われたり、データ自体が書き換えられてしまったりといったトラブルの原因となる。

    「CSRF(クロスサイト・リクエスト・フォージェリ)」は、Webページ上に仕込まれた不正スクリプトによって、ユーザの意図しないリクエストを発生させるもの。ショッピングサイトからログアウトしないまま、不正スクリプトがあるページにアクセスしてしまうことで、勝手に注文をしてしまうといったケースがある。

    さらに「その他」という項目もある。エラーメッセージの内容やデバッグモードをONにしたまま放置しておくことで、データが格納されたファイルの名前やデータベーステーブルのフィールド名などが漏洩してしまうといったケースについて学べる。

    いずれのテーマも体験者(ユーザ)が攻撃側となってスクリプトやSQLコマンドを操作することで、アプリケーション作成時にセキュリティホールとなりやすい部分を実感できるように構成されている。

     ソフトライブラリからのおすすめソフト
    不要なアプリケーションを跡形なく消去できる、使いやすいアンインストール支援ソフト「GeekUninstaller」
    不要なアプリケーションを跡形なく消去できる、使いやすいアンインストール支援ソフト
    「GeekUninstaller」
    実際のフォルダ構造にかかわらずファイルをわかりやすく分類・管理し、すばやく参照できる「dINDEX.2」
    実際のフォルダ構造にかかわらずファイルをわかりやすく分類・管理し、すばやく参照できる
    「dINDEX.2」
    64bit OSに完全対応。ハンターモードの改善なども図られた“強力”アンインストーラの新バージョン「Revo Uninstaller Free」
    64bit OSに完全対応。ハンターモードの改善なども図られた“強力”アンインストーラの新バージョン
    「Revo Uninstaller Free」
    シンプルなデザイン、軽快な動作、カスタマイズ自由度の高さが特徴の高機能メディアプレイヤー「RE PLAYER」
    シンプルなデザイン、軽快な動作、カスタマイズ自由度の高さが特徴の高機能メディアプレイヤー
    「RE PLAYER」
    日付ごとの出来事や予定などを“1行文章”でサッと書き込めるカレンダー+メモ帳ソフト「出来事帳」
    日付ごとの出来事や予定などを“1行文章”でサッと書き込めるカレンダー+メモ帳ソフト
    「出来事帳」

    reviewer's EYE reviewer's EYE
    (基本的には)アプリケーションを開発するデベロッパーに、セキュリティに対する意識を高めてもらうための啓発ソフト。使われている用語には難しいものもあり、技術屋向けといった印象を受ける。筆者も解説書を脇に置いてJavaScriptやPHPの簡単なスクリプトを書いたり、blogをメンテナンスするためにデータベースを操作したりすることはあるが、正直言って今回は、ヒントなしではスクリプトを書くことはできなかった。

    内容は(推測も含むが)「これひとつでセキュリティ対策は万全」というものではないだろうが、それでもこれからWebアプリケーションを制作しようという初級プログラマやサーバ管理者には、大いに得るところがあるだろう。被害を受ける立場ではなく、攻撃する立場になって「こういうところに脆弱性がある」という経験ができるのは、開発者がセキュリティ意識を高める上で相当に有効なはずだ。

    ひと通りテーマを体験した上で筆者が感じたのは「できるだけ多くの“ごく普通のインターネットユーザ”にも『AppGoat』を知っていただきたい」ということ。掲示板に張られたリンクをクリックするだけで、書き換えられたページにジャンプしたり、URLにほんのちょっと手を加えただけで、データが全件表示されてしまったりするのを実際に目の前で(安全に)見ることができるのは、一般ユーザにとってもタメになるはず。できれば、バッチファイルで起動・終了を行うという操作性などを見直し、アプリケーション利用に潜む危険性をさらに広く“一般向け”にアピールするバージョンをリリースしていただければと思う。

    (福住 護)

    ソフト作者からひとこと ソフト作者からひとこと
    ソフトを開発しようと思った動機、背景
    IPA(独立行政法人情報処理推進機構)セキュリティセンターでは、セキュリティ対策の普及に向けた取り組みを実施しており、その一環として脆弱性関連情報の届け出の受付機関として活動しております。Webサーバやパソコン上で動くアプリケーションの脆弱性を発見した場合、その情報をIPAに届け出ると、IPAがWebサイト運営者やソフトウェア開発者(JPCERT/CC経由)に適切に情報を流通させ、脆弱性の対策をしていただくよう促しています。

    なかには「脆弱性とは何か」を理解できていないがために、対策せずに脆弱性を放置してしまうWebサイト運営者やソフトウェア開発者の方々がいます。さらに、既存の技術資料や文章で説明しても、修正する必要性がないと判断する方々もいます。そのため脆弱性に関する理解を、演習しながら深めることができるツールが必要と考え、開発に至りました。

    開発中に苦労した点
    いくつも苦労した点はあるのですが、印象に残った点を三つ挙げます。

    一つ目は、効果的に学習できるようにするため、どのような学習フローにするのかを試行錯誤したことです。本ツールの特徴は、脆弱性を突いた攻撃が成功する仕組みを体験させることですが、ただ体験させるだけでなく、そこから脆弱性の検証手法、原理、影響、対策を学習できるように、学習フローを意識して作りました。例えば、セキュリティに関するセミナーの参加者や有識者から意見を聞いたり、開発会社と綿密に打ち合わせをしたり、ユーザテストを重点的に実施したりしました。

    二つ目は、利用者の学習意欲を継続させるために、学習テーマの内容を現実味のあるものにしたことです。現実味があり、かつ複雑な内容にならないよう考慮しました。現実味のある内容でも、複雑になり過ぎて学習に支障が出ては意味がないため、バランスを取るのに苦労しました。

    三つ目は、ツールのキャッチコピーの選定です。多くの方に利用していただくためにはインパクトのあるものがよいと考え、IPA内でさまざまな案を出し合いました。数十の案が出ましたが、ツールの特徴を表していて、インパクトのあるキャッチコピーである「突いてみますか?脆弱性!」に決まりました。

    ユーザにお勧めする使い方
    本ツールには「ウェブアプリケーション版」と「サーバ・デスクトップアプリケーション版」があり、前者は15個、後者では13個の学習テーマが用意されています。学習テーマは、脆弱性の種別や対策目的ごとに分類しており、利用者は自身の学習目的に合わせて学習テーマを選択できます。

    利用シーンは、以下の三つを提案します。各シーンの詳細は、IPAのWebページ(http://www.ipa.go.jp/security/vuln/appgoat/sceane.html)をご覧ください。

    • 利用シーン1:自己学習
    • 利用シーン2:開発前のスキルチェック
    • 利用シーン3:セミナー・勉強会での活用
    ご意見をお待ちしております
    アンケートへのご協力をお願いしています。アンケートの目的は、本ツールの有効性もしくは不十分性を把握し、今後のエンハンスや新規開発の検討の参考情報とすることです。本ツールには「アンケート」というテキストファイルが同梱されています。そちらに回答フォームが記載されています。ご協力よろしくお願いいたします。
    (IPA(独立行政法人 情報処理推進機構)セキュリティセンター)

    ● 脆弱性体験学習ツール AppGoat Ver.1.00
  • 作 者 : IPA(独立行政法人 情報処理推進機構)セキュリティセンター さん
  • 対応OS : Windows 7/Vista/XP
  • 種 別 : フリーソフト
  • 作者のホームページ : http://www.ipa.go.jp/security/
  • 補 足 : 動作にはIE 7またはFirefox 3.6以降などが必要


  • go! download
    上で紹介したソフト(およびその関連ソフト)のソフト詳細ページにジャンプします。ソフト詳細ページからリンクされたダウンロードページでソフトをダウンロードできます。ソフト詳細ページには、作者データページへのリンクもあります。
    フリーソフト
    脆弱性体験学習ツール AppGoat 脆弱性の発見方法や対策について実習形式で体系的に学べるツール 




    最近のレビュー記事
    Voice Code PROVoice Code PRO
    誰でも簡単に使えるように開発された音声認識ソフト「Voice Code」の最上位版
    ロト6で億万長者ロト6で億万長者
    ベストセラー「億万長者ボード」シリーズの著者が独自の理論でロト6の買い目を予想するソフト
    ESET インターネット セキュリティESET インターネット セキュリティ
    「軽快な動作」と「高い検出率」で定評のある、マルチプラットフォーム対応の総合セキュリティ対策ソフト
    AdLock マルチデバイスAdLock マルチデバイス
    パソコンとスマホに表示されるインターネット広告を非表示にしてくれるソフト
    Windowsアプリ開発入門Windowsアプリ開発入門
    これで貴方もソフト開発者。大人の為のプログラミング学習ソフト
    すごい位置合わせPRO14すごい位置合わせPRO14
    手書き文字認識機能を搭載し、どんな書類にもピッタリ印刷可能な印刷位置合わせソフト
    みんなの電子署名みんなの電子署名
    月額固定料金0円、文書作成や送信にかかる費用も0円の電子署名サービス
    みんなのタイムスタンプみんなのタイムスタンプ
    低価格でPDFに認定タイムスタンプを付与できるWebサービス
    「脆弱性体験学習ツール AppGoat」と同じカテゴリーの他のレビュー

    新着ソフトレビュー 公開記事一覧




    掲載内容に関するご意見・ご感想は editor@vector.co.jp まで
    Copyright (c) Vector Inc. All rights Reserved.