Webサイトで公開しているファイルと同じファイルをローカルでも保存している場合には、それらを比較して確認する(図5)。例えば、同名のファイルのサイズやハッシュ値を照合する。UNIX系OSのdiffコマンドや、Windowsのfcコマンドでも、ファイルの内容が同じかどうかを検証できる。

図5●Webサーバーのコンテンツを、保存してあるものと比較
WebサーバーやCMS(コンテンツ管理システム)などにログインして、コンテンツを詳細に調べる方法もある。ローカルなどに保存しているファイルと違いがないかを調査する。
[画像のクリックで拡大表示]

 データベースを利用するWebページなら、データベースに格納しているデータもチェックしよう。「SQLインジェクション」と呼ばれる攻撃により、データベース内のデータを改ざんされている恐れがある(図6)。

▼SQLインジェクション SQLとは、データベースを操作するための言語。SQLインジェクションとは、Webページに対する入力パラメーターなどに不正なSQL文を挿し込み、開発者が意図していないSQL文をバックエンドのデータベースに対して実行するような不正行為。入力データをきちんとチェックしないWebアプリケーションの場合、入力された不正なSQL文をそのまま実行してしまい、データベース上のデータを消す、情報を取り出す、ウイルスをダウンロードさせるわなを埋め込む──などの攻撃が可能になる。

図6●データベースを利用するページなら「SQLインジェクション」を疑う
SQLインジェクションの攻撃を受けると、データベースに保存しているWebページのコンテンツ(HTMLファイルのテンプレートから呼び出されるデータなど)に、悪質なスクリプトを仕込まれる恐れがある。
[画像のクリックで拡大表示]

 攻撃者はWebサイト(Webアプリケーション)経由で、悪質なSQLコマンドをデータベースに送り込み、Webページ(HTMLファイル)のテンプレートから呼び出すデータを改ざんしようとする。具体的には、ウイルスをダウンロードさせるスクリプトなどを埋め込む。これにより、このテンプレートを使って動的に生成されるWebページのすべてに、ウイルスのわなが埋め込まれるようにする。

権限のある人を説得

 改ざんを確認できたら、Webサイトを停止する。とはいえ、担当者の一存では停止できないケースがほとんどだろう。経営陣の判断を仰ぐ必要がある。事態は一刻を争う。納得をしてもらうためには、Webサイトを運営し続けることのリスクを、ITの専門家でなくてもわかるように説明するのが重要だ(図7)。例えば、「100人以上にウイルスを配布しています」といった具合に、現在の被害状況を具体的に話す。

図7●経営陣を説得してWebサイトを停止
多くの場合、Webサイトの停止は経営陣や組織のトップが判断する。このため担当者は、現状やWebサイトを運用し続けることのリスクなどを、ITの専門家でなくてもわかるように説明する必要がある。
[画像のクリックで拡大表示]

 緊急時に慌てないように、Webサイトを停止する際のフローなどを平常時に決めておくのが不可欠。Webサイトを改ざんされることのリスクについても、日ごろから経営陣などに伝えておく。

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら