プロに頼む前のセキュリティチェックにオススメ

山崎 圭吾(セキュリティ技術者)
山崎 圭吾(セキュリティ技術者)
ラック ITプロフェッショナル統括本部 ESS事業部 システムアセスメント部 担当部長。入社以来、ユーザー企業などのセキュリティ診断を手掛ける。最近飼い始めたフェレットと前からいる愛しの猫とのけんかに悩まされている。

 セキュリティ技術者の山崎 圭吾さんがオススメするフリーソフトは、セキュリティチェックに使う「OWASP Zed Attack Proxy(ZAP)」とセキュリティの学習に使う「AppGoat」、Windows上でLinuxコマンドによる操作を可能にする「Cygwin」の三つ。最初の二つは、企業のセキュリティ担当者やシステム開発者が、セキュリティを学習するための入門ツールとしてぴったりだ。

 OWASP ZAPは、Webアプリケーションの脆弱性を調べられるソフト。通信の中身を確認したり止めたりする「プロキシー」と、Webサイト内のコンテンツをリストアップする「スパイダー」、セキュリティの問題点(脆弱性)の有無をチェックする「スキャン」の三つの機能がある。これらにより、どこのサイトにどんなデータが流れているのか、リンク切れがないか、クロスサイトスクリプティングなどの脆弱性があるか、といったことがわかる。

 山崎さんは「この手のソフトでは珍しく日本語化されていて、さらにトップページでボタンを押すだけで開始できるので、セキュリティを学び始めた入門者にオススメですね」と話す。山崎さんいわく、OWASP ZAPはセキュリティチェックの3大プロキシーソフトの一つ(残りの二つはFiddlerとBurp)。OWASPというセキュリティの専門家が集まるコミュニティで開発されたものを日本語化しただけあって、一般ユーザーが使うには機能的に不足はない。

 ただし、OWASP ZAPでできるのは診断のみ。「プロに頼む前に自分でチェックして、もし何か問題が見つかったらプロにきちんと調べてもらうのがよいでしょう」(山崎さん)。

[画像のクリックで拡大表示]
▼スキャン
この機能は、OWASP ZAPからチェック対象のサーバーに向けてパケットを送信するため、自分が管理しているサーバー以外には使ってはいけない。
▼クロスサイトスクリプティング
Webアプリケーションの脆弱性を狙った攻撃手法。攻撃者が作った悪意あるスクリプトを標的のWebサイトのWebアプリケーションに送り込み、意図しない処理をクライアントに実行させる。サーバーを乗っ取らなくても、標的のサイトが利用する個人情報などを奪えるようになる。

脆弱性を体験してしっかり学ぶ

 脆弱性のあるWebサイトを作ったり、脆弱性を突いたりするのは簡単ではないが、実際に体験したほうが理解は進む。「実は脆弱性を体験して学べるフリーソフトがあります」と山崎さん。紹介してくれたのは「AppGoat」だ。

 AppGoatは、クロスサイトスクリプティングやSQLインジェクションといった学習テーマごとに、脆弱性の原理や対策などを学べるソフト。特徴は体験的に学べる「演習」の項目だ。画面を操作しながら、脆弱性の影響を実際に見て確認できる。

 山崎さんは「もっと深く勉強したいと思ったら、OWASP WebGoatがオススメです」と、理解度に応じた活用を提案する。OWASP WebGoatは画面が英語で、内容も高度になる。脆弱性の知識を深めたい人は挑戦してみるとよいだろう。

[画像のクリックで拡大表示]
▼SQLインジェクション
Webページに対する入力パラメーターなどに不正なSQL文を挿し込み、開発者が意図していないSQL文をバックエンドのデータベースに対して実行するような不正行為。入力データをきちんとチェックしないWebアプリケーションの場合、入力された不正なSQL文をそのまま実行してしまい、データベース上のデータを消す、情報を取り出す、ウイルスをダウンロードさせる仕組みを埋め込む、などの攻撃が可能になる。
▼OWASP WebGoat
入手先URLは、https://github.com/WebGoat/WebGoat。