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

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

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

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

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

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

権限のある人を説得

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

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

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

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。