普段、当たり前のように使っているのがWebサイト(ホームページ)です。当たり前かつ利用者が多いことから、セキュリティリスクを無視できないのがWebサイトでもあります。
本稿ではWebサイトのセキュリティ担当者が意識しておくべき、なぜセキュリティ対策が必要か?そして具体的なセキュリティ対策について解説していきます。
セキュリティ対策の重要性
パソコンやスマートフォンの普及によりインターネットを活用する人が急増しました。今後、あらゆるものがインターネットにつながるIoT化が進行していくと、インターネットに接続するデバイスは桁違いに増えていきます。
便利な反面、巧妙化するサイバー攻撃を受けるリスクは高まっており、攻撃の数も年々増加しています。攻撃が増えるということは被害に遭う確率が増すことを意味します。Webサイトの運営者は、セキュリティに対する意識を持ち、適切な対策を行うことが求められています。
サイバー攻撃は受けた被害が大きくなると、会社の存続に関わることもあります。顧客情報が流出した場合、企業自体のブランドイメージも落ち、売り上げにも影響します。起きてしまってから後悔することがないよう、ポイントを押さえてセキュリティ対策を行うようにしましょう。
サイバー攻撃とその対策
ここではWebサイトで発見されることの多い脆弱性、それを悪用した代表的な攻撃手法と対策について説明します。
クロスサイトスクリプティング
クロスサイトスクリプティングとは、問い合わせフォームや掲示板など、外部からの入力に応じてページを表示するWebアプリケーションにおいて、HTML生成の実装に問題があることで生じる脆弱性を悪用した攻撃手法のことです。
攻撃者は、スクリプトを含んだリンクを用意するなどの罠を仕掛けます。ユーザーがその罠に引っかかてしまうことで、クライアント上でスクリプトが実行されてしまいます。
結果としてCookieの値を盗まれて「なりすまし」に悪用されたり、書き換えられた画面から重要情報を入力してしまうなどの被害が生じます。
クロスサイトスクリプティングは、HTML生成において特別な意味を持つ記号(メタ文字)の取り扱いに問題があることで生じる脆弱性に対する攻撃になりますので、特殊記号であるメタ文字をエスケープし、文字そのものとして扱うようにすることが基本です。
「<」「>」「&」「"」を「<」「>」「&」「"」等のように、表示するウェブページの本文やHTMLタグの属性値等の出力要素にエスケープ処理を行い、攻撃者が意図したスクリプトを実行されないよう無害化することが重要です。
SQLインジェクション
「SQL」はデータベースの定義や操作を行うためのデータベース言語です。そして「インジェクション」は「注入」を意味します。
外部からSQL文を含んだリクエストを送信して不正にデータベースを操作する攻撃がSQLインジェクションです。
データベースを直接操作されてしまうことから大規模な情報漏えいにつながる可能性があるなど、対策を怠るととても深刻な被害を受ける恐れがあります。
SQLインジェクションの根本的対策は、SQL文の組み立てにバインド機構を使用することです。
バインド機構とは、あらかじめSQL文のひな型を用意しておき、変動個所(プレースホルダ)に実際の値(バインド値)を割り当ててSQL文を生成するデータベースの機能で、アプリケーションが意図しないSQL文が注入されることを阻止することができます。
バインド機構を利用できない場合は、SQL文にとって特別な意味を持つ記号文字のエスケープ処理を行います。(たとえば、「’」→「”」のように変換し、「’or’1’=’1」を「”or”1”=”1」として無効な文字列にします。)
エスケープ処理の必要がある文字列はデータベースサーバーによって異なるため、利用するデータベースに応じて対策する必要があります。
WAFによる対策
ユーザーからの入力に応じて、動的にページを生成するWebサイト、SQLを呼び出してデータベース上の情報を扱うWebサイトの運営者・アプリケーション開発者には、脆弱性のないセキュアなプログラミングが求められますが、脆弱性ゼロは困難であるという実情があります。
そこで、Webアプリケーションの脆弱性を狙ったサイバー攻撃対策に有効なWAF(Web Application Firewall:ウェブ・アプリケーション・ファイアウォール)の登場です。
WAFはWebサイトに対するアクセスをリアルタイムにチェック・監視します。攻撃者がクロスサイトスクリプティングやSQLインジェクションなどの攻撃リクエストを送ってきた場合、WAFは即座に通信を遮断します。
Webサイトの脆弱性の有無に関係なく、独立したかたちで攻撃を防御し、攻撃の傾向を把握できることはWAF導入の一つのメリットであり、Webサイトの安全性を維持するために必要な要素となっています。
以前は、WAFの導入に高額な初期費用が必要となることがありましたが、安価なソフトウェア型やクラウド型のWAFが登場してきています。
EGセキュアソリューションズ株式会社が開発・販売する「SiteGuardシリーズ」は、本稿でご紹介したサイバー攻撃をはじめ、Webアプリケーションの脆弱性を悪用する様々な攻撃に対し高い防御性能とユーザビリティの両立を実現した純国産のWAF製品です。
クラウド型「SiteGuard Cloud Edition」、ホスト型「SiteGuard Server Edition」、ゲートウェイ型「SiteGuard Proxy Edition」をご用意しており、お客様の様々なご要件に合わせて導入することができます。
まとめ
今回の記事では、クロスサイトスクリプティング、SQLインジェクションという代表的なサイバー攻撃についての理解を深めながら、WAFによる対策をご紹介しました。
Webサイトを運営していて、これからセキュリティ対策を見直そうと感じた方は、ぜひWAF導入をご検討ください。
- カテゴリ:
- Webセキュリティ
- キーワード:
- セキュリティ
この記事に関する製品のご紹介
ホスト型WAF「SiteGuard Server Edition」
SiteGuard Server Editionは、ウェブサーバーのモジュールとして動作するホスト型WAF製品です。Webサーバー自体にインストールするため、専用ハードウェアが必要ありません。ネットワーク構成を変更せず、できるだけシンプルに導入したいお客様に最適な製品です。
詳細はこちら