![](https://cdn.yopaz.com/assets/images/news-img/Union.png)
Webアプリケーションを開発する時にはそのWebアプリケーションにセキュリティ対策を実装するのが極めて重要です。脆弱性が存在する場合、Webサイトが偽装されたり、個人情報が漏洩されたりする可能性が非常に高くなります。
従って、本記事では、Webサイトの脆弱性を迅速かつ正確に診断できるツール「OWASP ZAP」について紹介致します。特に、このツールは完全に無料です。
1. Webアプリケーションの脆弱性とは?
Webアプリケーションの脆弱性を理解するために、二つのキーワード「Webアプリケーション」と「脆弱性」の概念を確認しましょう。
Webアプリケーションとは、Webページを表示し、Webを通じて様々な処理を行うプログラムです。よく知られているWebアプリケーションの例としては、検索エンジン「Google」、動画共有サービス「YouTube」、ウェブメールサービス「Gmail」、インターネット電話サービス「Skype」等が挙げられています。皆さんが今閲覧しているこのページもWebアプリケーションによって表示されているものです。
脆弱性はプログラムの不具合やバグ、設計上のミスが原因となって発生したサイバーセキュリティ上の欠陥のことをいいます。セキュリティホールとも呼ばれています。この欠陥が起こると、Webアプリケーションが外部から攻撃を受けやすくなります。
Webアプリケーションの脆弱性を攻撃する基本的な仕方は、ハッカーが多数のスキャンツールを使用し、セキュリティが不十分な一連のWebサイトを検出し、それから一定のWebサイトの脆弱性を把握し、そのWebサイトのデータを悪意のあるコード等で窃盗・破壊・変化する、という仕方になります。
上記の脆弱性の攻撃による被害については、ECサイトを例として説明しましょう。もしECサイに脆弱性があり、その脆弱性を突いたサーバー攻撃を受けてしまった場合、ECサイトを運営する企業は以下の被害を被る可能性があります。
・ECサイト停止により、販売機会が減少したり売上が落ちたりします。
・顧客の個人情報および企業の内部情報が漏洩されて悪用されてしまいます。
・顧客の正当な権利が侵害された場合、企業が謝罪して賠償しなければなりません。
・上記の損害が長く続いたら、ブランドイメージが下がる可能性があります。
この例から、Webアプリケーションの脆弱性が生じたら、当該企業だけではなく使用者等も大きな損害を受けると言えます。このような被害を避けるために、「OWASP ZAP」セキュリティ診断ツールを使用して Web アプリケーションの脆弱性を調査することをお勧めします。
2.「OWASP」とWeb脆弱性診断ツール「OWASP ZAP」
「OWASP ZAP」は「The Open Web Application Security Project」 (OWASP) という国際的なコミュニティによって開発されました。「OWASP」を運営しているのは、「The OWASP Foundation」(OWASP財団)という米国の団体であり、2001年の設立の長い歴史を持っています。現在、世界中に 200 以上の支部があり、日本にも「OWASP Japan」があります。
画像出典:https://owasp.org/www-chapter-vilnius/
「OWASP財団」はWeb・ソフトウェアの保護及びセキュリティなプログラミングに関する技術を共有するオープンソース・ソフトウェアコミュニティとして活躍しています。そのことに一筋打ち込んでいる「OWASP財団」のメンバーらは今まで120以上のプロジェクトを展開しています。これは、Webセキュリティ技術者や開発者にとって膨大なデータ ソースです。
「OWASP ZAP」がそのプロジェクトの一つとして開発されました。これは世界中で広く使用されているWeb脆弱性診断ツールです。「OWASP ZAP」はプログラムのバグ等により出てしまったWebサイトの脆弱性を迅速かつ効果的に見つけるのに役立ちます。
3.「OWASP ZAP」のインストールと使い方
「OWASP ZAP」は、Windows / Mac / Linuxに対応しています。ここでは、「OWASP ZAP」のインストール・使い方を紹介致します。
「OWASP ZAP」を利用するために、まずは「OWASP ZAP」をダウンロードし、パソコンにインストールを行います。以下のURLからダウンロードできます。
https://www.zaproxy.org/download/
また、「OWASP ZAP」を利用する端末にはJAVA8以降の実行環境が必要となります。従って、Windows端末の場合は下記のURLからダウンロードして利用してください。
https://www.oracle.com/java/technologies/downloads/
「OWASP ZAP」は非常に使いやすいです。まず、Windowsメニューかアイコンから「OWASP ZAP 」を起動します。 起動すると、以下の画面が表示されます。
画像出典:https://www.zaproxy.org/getting-started/
「自動スキャン(Automated Scan)」をクリックし、診断が必要なWebアプリケーションのURLを入力し、「攻撃 (Attack)」からそのWebアプリケーションの脆弱性の診断を開始することができます。
4.「OWASP ZAP」の3つの診断項目
「OWASP ZAP」は主に簡易スキャン・動的スキャン・静的スキャンの3つの診断項目が整っています。ここの「スキャン」とは、対象のWebアプリケーションを攻撃することを意味します。
4.1. 簡易スキャン
簡易スキャンは、プロキシ設定をせずに実行するスキャンをいいます。プロキシは、インターネットに接続できないコンピューターに代わってアクセスするサーバーです。
「OWASP ZAP」の起動時に表示される「クイックスタート(Quick Start)」画面に対象のWeb アプリケーションのURLを入力して「攻撃(Attack)」をクリックすると、簡易スキャンが始まります。スキャンには数分で完了する場合がありますが、数時間がかかる場合もあります。
このプロセスで、「OWASP ZAP」が対象のWeb アプリケーションに多数の「リクエスト」を送信します。リクエストとは、コンピュータシステム上で一方から他方へ送信される何らかの要求・メッセージのことです。簡易スキャンが完了すると、見つけられた脆弱性が「アラート(Warning)」画面に表示されます。
4.2. 静的スキャン
静的スキャンは、プロキシを設定する後にWebサイトを手動で診断するスキャンをいいます。ユーザーがブラウザで操作し、「OWASP ZAP」がその操作に対するレスポンスから脆弱性を評価します。
分かりやすくなるために、脆弱性診断の必要なECサイトを例としてこのプロセスを説明しましょう。ユーザーが商品ページをアクセスし、商品を追加して支払う等、そのECサイトで一連の操作を行います。同時に「OWASP ZAP」がその操作対してそのECサイトがどのように実行したかを検査して、何らかのエラーが生じるかどうかを診断します。
静的スキャンが完了すると、見つけられた脆弱性も「アラート(Warning)」画面に表示されます。
4.3. 動的スキャン
動的スキャンは、プロキシを設定する後に対象のWebサイトを自動で検査して診断するスキャンをいいます。対象のWebアプリケーションに自動で多数のリクエストを送り、静的スキャンよりも高精度な検査を行うことができます。
ECサイトの例では、「OWASP ZAP」がユーザーの代わりに、商品ページをアクセスし、商品を追加して支払う等、そのECサイトに一連の要求を自動的に送信します。それから、そのサイトがその要求に対してどのようにレスポンスしたかを自動的に診断します。
同じ時に、静的スキャンよりも数多くの要求を送信できて数多くのエラーを見つけられて、またユーザーも多くの作業を必要としないため、動的スキャンがよく使われています。
5. まとめ
上記のことから、「OWASP ZAP」がWebアプリケーションの脆弱性を診断するのに効果的なツールと言えます。Webサイトの脆弱性を見つければ、その脆弱性を適時修正してWebサイトの機能を改善し、ユーザーに最高な体験を提供することができます。
弊社Yopazは顧客様のご要望に添えるシステム開発を行うだけではなく、「OWASP」基準に従って脆弱性診断を実装するなどセキュリティ対策にも重視して取り組んでおります。このように適時のセキュリティサポートにより、顧客様はプロジェクト終了後も安心して製品をご利用いただけます。