eyemovic inc.

Works blog仕事の取り組み・ビジョン

2015.05.18

ZAPではじめよう!Webサイトの脆弱性診断

ZAP(OWASP Zed Attack Proxy)は、ウェブアプリケーションセキュリティをとりまく課題を解決することを目的とした、国際的なコミュニティ OWASP(The Open Web Application Security Project)が提供しているWebアプリケーションの脆弱性を診断するオープンソースのペネトレーションテストツールです。 

 

1.ZAPをダウンロード・インストール

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

Screen Shot 2015-05-08 at 16.11.01

今回はMacを使っているので、Mac版のZAP2.4.0をダウンロードします。

(以下のキャプチャ・説明についてはZAP2.4.0を元にしてます。)

 

2.日本語化

専門的な用語が多く英語のままではハードルが高いので、日本語へ切り替えます。 ZAPはデフォルトで日本語リソースが含まれているので、その点も安心ですね。

切替方法

ZAP – Preferences – Language 日本語に設定し、アプリケーションを再起動します。

Screen Shot 2015-05-08 at 16.22.59

3.攻撃する

まずは、リニューアルして間もない弊社サイトを攻撃対象にして脆弱性のチェックをしてみます。

初めての攻撃では、クイックスタートの機能を利用して攻撃をします。 攻撃対象URLにhttp://www.eyemovic.com/ を設定し 攻撃 を実行してみます。

Screen Shot 2015-05-08 at 16.37.22

 

ZAPが自動で、攻撃を始めます。 この攻撃では、スパイダー静的スキャン動的スキャンが実行されます。

注意 スパイダーが実行されるとアクセス先のページを解析しリンク先をすべてクロールします。 ページ数の多いサイトでは、それなりに負荷が高くなるので気をつけてください。 また、クイックスタートでは、ドメインが異なるサイトへのリンクについては、OUT_OF_SCOPEとなりアクセスされることはありません。

ひととおり攻撃が終わりました。 いくつか脆弱性が見つかりましたね。

Screen_Shot_2015-05-08_at_16_38_36

 

4.脆弱性の対策をする

脆弱性のリスクの度合いに合わせて、フラグのカラーリングが異なります。 High > Medium > Low > Informational > False Positive の順にリスクが低くなります。

今回は、Mediumの脆弱性が見つかりましたので、対応をしてみましょう。

 

Secure page includes mixed content, including scripts

httpスキームのコンテンツとhttpsスキームのコンテンツが混在しているやつですね。 今回の場合は、外部スクリプトの読み込み先のスキームにhttpが指定されていることが原因のようです。

ひとまずはスキームの省略記法で対策します。

 

X-Frame-Options Header Not Set

クリックジャッキングへの対策が不十分ということですね。 Apacheであれば、下記のような設定を追記することで対応ができます。

詳しくはこちらの資料をご覧ください。 クリックジャッキング

 

その他の脆弱性についても、同様にリスク度合いと対策の要・不要を判断し対応をすすめます。 ひと通り対応が完了したら、再度攻撃を実行し脆弱性の対応確認をします。

 

5.おわりに

ZAPだけですべての脆弱性を洗い出せるわけではありませんが、非常に扱いやすく簡易的なチェックを、効率的に実施するには非常に有用なツールだと思います。

サイトのオープン前にはかならず脆弱性をチェックして、安全なWebサイトを構築しましょう。

 

 

 

愛媛県松山市でWeb開発一筋15年、700サイト以上の構築実績!

Webサイト制作・システム開発・スマホアプリ開発・組込ソフトウェア開発ならアイムービックにお任せ下さい。