自社で利用しているWebアプリケーションのセキュリティ対策状況をご存知でしょうか。もし、Webアプリケーションに脆弱性が存在し対策がされていないのであれば、サイバー攻撃によってWebサイトが簡単に改ざんされたり、ダウンさせられたり、保有する個人情報の漏えいにまで繋がる可能性があります。
例えば、企業の運営するECサイトが脆弱性を突いた攻撃によりダウンしたら、「大変なこと」が起きることは明白です。それにもかかわらず、自社のWebアプリケーションの脆弱性については、導入したきりで誰も把握していない場合も多々あります。
そこでおすすめしたいのがセキュリティ診断ツール「OWASP ZAP(オワスプ・ザップ)」です。OWASP ZAPはWebアプリケーションの脆弱性をチェックすることができる無料のツールです。
本記事では、OWASP ZAPについて概要や使い方を説明します。
OWASP ZAPの使い方を説明する前に、まずはOWASP ZAPがチェックするWebアプリケーションの脆弱性について解説します。
WebアプリケーションはWebサイト(Webページ)を表示し、Webを通して各種の処理を行うプログラムです。例えば、今ご覧頂いているこのページも、Webアプリケーションによって表示されています。インターネットを介した各種のサイト、サービスはWebアプリケーションによって作られています。
GoogleやYahoo!などの検索エンジン、自分の銀行口座の残額をネット上で調べるネットバンキングのサイトも「Webアプリケーション」です。e-ラーニングのホームページや各種の情報を見るためのブログも、すべてWebアプリケーションにより支えられています。
さて、もう一つのキーワード「脆弱性」についても確認しておきましょう。脆弱性とは、プログラムの不具合やバグ、設計上のミスによって発生するサイバーセキュリティ上の欠陥のことをいいます。セキュリティホールとも呼ばれます。Webアプリケーションにおける弱点や、攻撃を受ける隙を意味しています。
Webアプリケーションはプログラムであり、制作者はもちろん十分な配慮、検討を行ってプログラムを作っています。しかしながら、プログラム作成時には表面化されていなかった問題が起きることや、利用している技術に脆弱性が発見され、その影響が波及するなどの可能性があり、全ての発生を防ぐことはできません。
Webアプリケーションに脆弱性があった場合に起こる問題の例として、ECサイトについて考えてみましょう。ECサイトももちろんWebアプリケーションの一つです。そして、ECの運営会社にとっては、ECサイトは重要な営業・販売ツールです。ビジネスの根幹を支える仕組みといえるでしょう。
もしこのECサイトのWebアプリケーションに脆弱性があり、その脆弱性を突いたサイバー攻撃を受けてしまった場合、ECサイトの運営者は次のような損害を被る可能性があります。
・自社ECサイトの停止による売上機会の損失
・顧客情報の漏えい
・顧客への謝罪と賠償
・ブランドイメージの棄損 など
このような被害の発生を予防するためには、Webアプリケーションに脆弱性がないかを定期的に確認しておく必要があります。そこで有効となるのがWebアプリケーションの脆弱性診断ツールです。Webアプリケーションで問題が発生する前に、セキュリティ診断ツールOWASP ZAPを使って自社のWebアプリケーションの脆弱性を調べてみることをおすすめします。
セキュリティ診断ツール「OWASP ZAP」は、The Open Web Application Security Projectという国際的なコミュニティ(非営利団体)によって作成されました。省略してOWASP、日本語ではオワスプという読み方をします。
OWASPを運営しているのはアメリカのThe OWASP Foundation(OWASP財団)という団体で、2001年設立の長い歴史を持ちます。2022年10月時点で、世界中に200以上の支部を持ち、日本にもOWASP Japanがあります。
OWASP財団はWebをはじめとしたソフトウェアの保護と、セキュアなプログラミングに関する技術・プロセスを共有するオープンソース・ソフトウェアコミュニティとして活動しています。この目的に向け、OWASPはOWASP TOP10の発表などの活動を継続的に実施中です。
OWASP ZAPもこの活動の中のプロジェクトの1つとして生まれました。誰でも無料でWebアプリケーションの脆弱性をチェックできるOWASP ZAPは、OWASPの120のプロジェクトの1つなのです。
本項では、OWASP ZAPを実際に利用するための準備と使い方について記載します。なお、2022年10月時点での情報となります。
OWASP ZAPを利用する場合、まずはOWASP ZAPをダウンロードし、利用する端末(パソコン)にインストールを行います。OWASP ZAPは、下記のURLからダウンロードできます。
https://www.zaproxy.org/download/
また、OWASP ZAPを利用する端末にはJava8以降が必要となります。Windows端末の場合は下記よりダウンロードしてご利用ください。こちらも無料で利用可能です。
https://www.oracle.com/java/technologies/downloads/
先にJavaをインストールし、その後OWASP ZAPをインストールしましょう。Windowsの場合、Javaはzipファイルの解凍を行い、exeファイルを実行してインストールします。OWASP ZAPはexeファイルがダウンロードされますので、そのまま実行します。インストーラーのガイダンスに従ってインストールしてください。
OWASP ZAPの使い方は簡単です。セキュリティソフトと同様の感覚で利用できます。まずは、WindowsメニューかアイコンからOWASP ZAPを起動しましょう。起動すると下記の画面が表示されます。
「Automated Scan」をクリックし、脆弱性を診断するWebアプリケーションのURLを指定して、「Attack」から対象のWebアプリケーションの脆弱性診断(スキャン)を開始することができます。OWASP ZAPはWebアプリケーションに疑似的に攻撃を行い、脆弱性を洗い出します。
詳細な利用方法についてはZAPConの「Getting Started」を参照すると画像付きで解説されています。
OWASP ZAPで洗い出せる脆弱性の診断項目、スキャンの種類、自動化オプションについて概要を紹介します。
OWASP ZAPは指定されたURLのサイトに脆弱性がないかを診断するツールです。
Automated Scan(自動スキャン)を利用した場合、指定したURLから、ZAPスパイダーまたはZAP AJAXスパイダーによりWebアプリケーションをクロールしてスキャンします。ここでいう「スキャン」とは、対象のWebアプリケーションを攻撃することです。
スキャンによって下記の診断項目をチェックします。
・ページ
・機能
・パラメーター(入力値)
自動スキャンが完了すると、発見された脆弱性やアラート(警告)を一覧で表示します。これをOWASP ZAPではリスクカテゴリと呼び、下記の五段階で評価します。
1.High
2.Medium
3.Low
4.Informational
5.False Positive
OWASP ZAPによるスキャンには、URLを指定してWebアプリケーションと関連するURLを自動的にスキャンする自動スキャン(Automated Scan)と、人間がWebサイトを操作してその情報をOWASP ZAPに連携するマニュアルスキャン(Manual Scan、手動探索)の2種類のスキャン機能があります。
自動スキャンはWebアプリケーションの脆弱性を効率的に診断する方法ですが、ログインが必要な場合や入力値に制限がある場合(例えばメールアドレスの入力)などでは無効となります。このような場合にはマニュアルスキャンを組み合わせて利用します。
OWASP ZAPは自動的な診断のために各種のオプションをサポートしています。
・Dockerパッケージスキャン
・GitHubアクション
・自動化フレームワーク
・APIとデーモンモード
OWASP ZAPは無料で利用することのできるWebアプリケーション脆弱性診断ツールです。自社でWebアプリケーションを持っている場合には、OWASP ZAPを利用して脆弱性をチェックしてみましょう。もし、1個でも脆弱性が見つかった場合には、システムベンダーなどに本格的な情報セキュリティチェックと対策を依頼するとよいでしょう。まずは、脆弱性が放置されていないかチェックすることから始めましょう。
Webアプリケーションの脆弱性への対策の一つに、WAFの導入があります。WAF(Web Application Firewall)はWebアプリケーションへの脆弱性を突いた攻撃を防ぐことが可能です。
WAFには様々な種類がありますが、その中でもおすすめなのがクラウド型WAFです。クラウド型WAFは、導入や運用のコスト/手間を抑えて利用できるセキュリティ対策という特徴を持ちます。
クラウド型のWAFは導入ハードルが極めて低いため、これからWebセキュリティ対策を行う場合には有力な選択肢となります。WAFを選定する時には、サポート体制や導入実績なども重視して、自社に最適なものを選びましょう。
クラウド型WAF「攻撃遮断くん」は、クラウド型の特性を生かし最新の攻撃パターンや脆弱性にも自動的に対応します。セキュリティパッチをすぐに適用できない状況や、定期的に脆弱性診断が出来ない状況でも、セキュアな環境を保つことが可能です。
ぜひこの機会にWebセキュリティ対策を見直し、WAFの導入を検討してみてください。
この記事と一緒に読まれています
Drupalの脆弱性を狙った攻撃に注意!今すぐできる対策とは?
2019.05.13
セキュリティ対策
2019.09.11
セキュリティ対策
あなたのサービスは大丈夫?WEBサイトの脆弱性をカバーするためにやるべきこと
2020.03.14
セキュリティ対策
オープンソースの脆弱性検査ツールOWASP ZAPをご紹介
2019.01.21
セキュリティ対策