今週のSecurity Check(第201回)

 Webサイト利用者への受動的攻撃の踏み台利用を目的としたWeb改ざんが世間を騒がせている。日本IBMのSOC(セキュリティ・オペレーション・センター)においても,中国を発信源とする一連のSQLインジェクション攻撃を断続的に観測しており,今後も同様の攻撃が続くものと見ている。

 Web改ざん自体は目新しいものではないが,動機は自己顕示・愉快犯から金銭目的に変わった。攻撃の手口も,公開されている攻撃コードを単純かつ無差別に試すスクリプトキディ的なものから,周到に準備する傾向に変化している。Webサイト管理者には,自らのサイトに対する直接的な攻撃の防御に加え,第三者に対する攻撃に加担させられないためのセキュリティを考慮することが今後ますます求められる。今回はWeb改ざんによる不正プログラムの挿入を防ぐ上で,見落としがちな例を取り上げる。

 Webページの改ざんを許してしまうWebアプリケーションのぜい弱性には様々なものが考えられる。今回のSQLインジェクションによるhtml要素改ざんなど,固定的にWebページを改ざんするものとしては,ほかにディレクトリ・トラバーサルやコマンド・インジェクション,リモート・ファイル・インクルードなどによる不正なコマンド実行が挙げられる。攻撃のタイプは異なるが,HTTPレスポンス分割によるリバース・プロキシのキャッシュ汚染(ポイズニング)なども同様の問題をもたらす。

 クロスサイト・スクリプティングやHTTPヘッダー・インジェクションも,特定の利用者のセッションに対する一時的なWebページ改ざんと見ることができる。タイプは異なるが,DNS情報の設定不備やリダイレクタの不適切な利用なども,サイト利用者を気付かせずに攻撃サイトへ誘導するため注意が必要だろう。これらのぜい弱性は,程度の差こそあれ認知度は高まっており,最近のWebアプリケーション・セキュリティ診断では全く対策が施されていないケースは少なくなっている。

 このほかに地味ではあるが同様の被害をもたらす問題が存在する。例えばWebページに設けられているファイル・アップロード機能。アップロードされるファイルにファイルフォーマットや拡張子などの制限がなく,かつアップロードされたファイルの参照先がURLで指定できる場合,攻撃者が攻撃用のHTMLファイルをアップロードして,そのURLをリンクにした詐欺メールを送信することで受動的攻撃の踏み台として利用されてしまう恐れがある。

 大部分のサイトでは拡張子やファイル・フォーマットでアップロードするファイルに制限を設けている。ただ,古いWebアプリケーションでは正しい対策が行われていない可能性がある。セキュリティ診断では,これらのチェックと制限をWebページのJavaScriptで実施しているケースに出会うことがある。攻撃者は図のように攻撃を行い,ブラウザ上でしか機能しないJavaScriptによる制限を回避する。このため,これではセキュリティ対策にはならない。このクライアント側での対策は,あくまで利用者の誤操作を防ぐ「フールプルーフ」と考えるべきだろう。

図1●ファイルのアップロード機能を悪用する攻撃の例
図1●ファイルのアップロード機能を悪用する攻撃の例
JavaScriptなどを使ってクライアントでアップロードを制限しても十分な対策とはいえない。サーバー側でアップロードされるファイルの拡張子やファイル・フォーマットを制限する必要がある
[画像のクリックで拡大表示]

 この問題に関しては,ファイルの拡張子やファイル・フォーマットをホワイトリスト方式でチェックして,許可するファイルのみアップロードさせる機能をWebアプリケーションに追加することが対策として考えられる。何年も前にリリースした古いWebアプリケーションは,仕様も含めてセキュリティを一度確認されてはいかがだろうか。



中山 明
日本アイ・ビー・エム
ISS事業部ISSプロフェッショナル サービス
シニア セキュリティ コンサルタント

 「今週のSecurity Check」は,セキュリティに関する技術コラムです。セキュリティ・ベンダーである「日本アイ・ビーエム ISS事業部」(IBM ISS:旧インターネット セキュリティ システムズ)のスタッフの方々を執筆陣に迎え,同社のセキュリティ・オペレーション・センター(SOC)で観測した攻撃の傾向や,セキュリティ・コンサルタントが現場で得たエッセンスなどを織り交ぜながら,セキュリティに関する技術や最新動向などを分かりやすく解説していただきます。
(編集部より)
■IBM ISSが提供するネットワーク・セキュリティの最新情報はこちら