[セキュリティブログ] Web ハッキングツールの攻撃手法と防御技術(2)
■ HTML インジェクション (Injection) とは
HTML インジェクション攻撃は、比較的簡単な方法でサイト管理者の意図しない HTML を混入することにより Web ページの特定部分を改ざん、修正し情報を漏えいすることです。この攻撃は、セキュリティシステムを簡単にバイパスできる反面、サーバー側では全く気付かない為、非常に深刻な被害をもたらします。
Windows は DCOM (Distributed Component Object Model) という分散コンポーネント間の通信技術を提供していますが、私たちが使用している IE ブラウザも DCOM 技術で開発されています。 DCOM によりブラウザの内部にアクセスする方法を使えば、 HTML ページの構造や Cookie 情報へ簡単にアクセスできます。 DCOM は RPC (Remote Procedure Call) という通信方法を使用し Client Stub と Sever Stub を通じてプロシージャーに組み込みます。
外部からブラウザの内部にアクセスするには、 Stub 関数を使用し、ここでは RCP 通信の目的地と RCP 通信の ID を Stub 関数に要求します。ここで目的地と RCP ID を監視すれば、悪意あるプロセスの防御が可能です。
現在、アンラボの Web トランザクション防御製品である AOS Secure Browser でも RPC 通信を行う Stub 部分を監視し、 get_value、 get_cookie 等を要求するプロセスを選別し許可および防御する方法で、 HTML インジェクション攻撃を防止しています[図 4] 。

[図 4] RCP Stub Call に対しアクセスの許可および防御
■フェイクウィンドウ (Fake Windows) とは
この攻撃は他の攻撃に比べシンプルで、パスワード入力画面のウィンドウハンドル (Windows Handle) を見つけ、その上にに偽のウィンドウを生成する手法です。 [図 5]
フェイクウィンドウ攻撃を防ぐには、保護対象画面の入力が始まった時点で、同じ大きさの他のウィンドウが生成されていないか全ウィンドウを対象に検査します。

[図 5] フェイクウィンドウ:攻撃対象のウィンドウ上に同じ大きさの画面を生成
■フェイク SSL (Fake SSL) とは
SSL 通信の途中で偽の証明書を使い SSL 通信データを盗むフェイク SSL 攻撃は現在、遠隔地からもパケット監視が可能なレベルに進化しています。
フェイク SSL 攻撃を使う代表的なツールに 「カイン & アベル (Cain & Abel) 」 というマルウェアがあります。 カイン & アベルは遠隔地から ARP スプーフィング (Spoofing) 方式でパケットをインターセプトして偽の証明書を送信する方法で SSL 通信をモニタリングします。フェイク SSL 攻撃の防御は、SSL 通信の過程で使われる証明書を検証することで実行されます。証明書にはさまざまな情報が含まれており、 Subject には証明書の発行を受けた企業情報とサーバーアドレスの部分があり、Issuer には証明書を発行した機関の情報が保存されています。
アンラボのセキュリティ製品は、保護対象の SSL サーバーで使用される証明書情報が有効なのかを検証、フェイク SSL 攻撃の防御と報告機能を実現しています。しかし、最近このような証明書の情報さえ修正可能だと言われている為、証明書を発行した機関の署名を検証し、正常な証明書であるか判断する機能も必要になってきています。
一般的に知られているものとは異なり、大部分のハッカーは難しい技術を使うことも、高いレベルの知識も持ってもいません。 ただ、セキュリティが手薄な脆弱性を見つけて簡単な方法でハッキングを実行するだけなのです。
