「攻撃元コンピュータやマルウエア配布サイトのドメイン名やIPアドレスなどが分かれば,ブラックリストを作成して不正アクセスを拒否したり,犯人を捕まえたりできるのではないか?」と思う方もいるかもしれない。しかし,最近のSQLインジェクション攻撃では,攻撃者の足跡がつかめない仕掛けが施されている。
例えば,攻撃元となるコンピュータにはボットネットが使われるケースが増えている。攻撃は,ボットネットを構成する任意のパソコンから送り出される。つまり攻撃元コンピュータのIPアドレスは動的に変わるうえ,攻撃者が直接攻撃を仕掛けるわけではないので,足が付きにくい。
マルウエアは改ざんされたWebサイト上に仕込まれるのではなく,全く別のサーバー上にある。改ざんされたWebサイト上には,アクセスしてきたユーザーをマルウエアの配布サイトに誘導する悪意あるスクリプト・タグだけが存在するケースが一般的だ。悪意あるスクリプトをダウンロードしたユーザーは,いくつもの中継サーバーを経由してからマルウエアの配布サイトにアクセスする仕組みになっている。
攻撃者は,ボットネットやマルウエア配布サイト,中継サーバーなどに使うコンピュータを必要に応じて動的に変更する仕組みも用意している。攻撃に悪用されるコンピュータのドメイン名やIPアドレスは無数にあり,攻撃者はそれらを使い捨てている。セキュリティ関連機関などがこれらのIPアドレスを特定できても,コンピュータがどんどん切り替わるため,フィルタリングやサイトのしゃ断といった対策は必ずしも効果が高くない(図1)。
攻撃者がここまで巧妙な手口を使って攻撃を仕掛ける理由は,簡単に言うと「もうかるから」だ。SQLインジェクションで盗み出した情報は“売れる商品”になるのである。
近ごろは,「エンドユーザーが持つアカウント情報」が価値ある情報として,SQLインジェクションのターゲットになりつつある。今ではネットバンクやネット・ショップなど,インターネット上で金銭的なやり取りをするのが当たり前。このため,エンドユーザーが利用するWebサイトのアカウントの市場価値が相対的に上昇した。最初はWebサイトのデータベースを狙う手段だったSQLインジェクション攻撃が,最終的にはエンドユーザーのパソコンをマルウエアに感染させる手段に変わってきた。
パソコンに感染したマルウエアは,様々な手段でエンドユーザーのアカウント情報を盗み出す。こうしたマルウエアを「アカウント・ハック・ウイルス」と呼ぶこともある。アカウント・ハック・ウイルスは,キー操作履歴やデスクトップのスクリーン・キャプチャ取得,パケットの盗聴など,IDやパスワードを盗むためのさまざまな機能を持ち合わせている。SQLインジェクション攻撃と同じく,こうしたマルウエアは昔から存在しているにもかかわらず,2007年ころから急増した。そのため,複数のマルウエア対策ソフト・ベンダーがアカウント・ハック・ウイルスに関する警告を出している。
図2にアカウント・ハック・ウイルスの一例を挙げた。このマルウエアはあらかじめ,アカウントを狙うWebサイトのURLをリストとして持っている。感染したユーザーのWebアクセス状況を常に監視して,ユーザーがURLリストに該当するWebサイトにアクセスすると,キー操作を記録し,ネットワーク経由で攻撃者に送る。
ラック サイバーリスク総合研究所 先端技術開発部