HTMLスマグリング(HTML Smuggling)とは、標的となるエンドポイントのブラウザ内で悪意のあるHTMLを生成することで、境界セキュリティデバイスを回避する技術です。
HTML Smugglingの技術は、HTML5とJavascriptの機能を利用することで、メールスキャナ、プロキシ、サンドボックスなどの従来のネットワークセキュリティソリューションを回避します。
ほとんどのネットワーク・セキュリティ・ソリューションは、ネットワークに出入りするデータの流れを監視し、バイトストリームの中に既知または疑わしいマルウェアのパターンやシグネチャを見つけることで機能します。
HTML Smugglingを使用すると、悪意のあるペイロードがターゲットデバイスのブラウザ内に構築されるため、ネットワーク周辺のセキュリティシステムが検出できるようなオブジェクトが転送されることはありません。
HTML Smugglingの目的は、悪意のあるペイロードをターゲットデバイスに配信することであり、これは通常、データURL(data: )を介してダウンロードするか、適切なMIMEタイプのJavascript blobを作成してクライアントデバイスへのダウンロードすることで行われます。
例えば、Duriは、Javascript blobを使用して悪意のあるペイロードを作成し、ターゲットデバイスにダウンロードします。
Duriのプリローダーは、悪意のあるWebサイトへのアクセスをトリガーとして、Javascriptを使用してZIPファイルを作成し、ターゲットPCに格納します。 その後、ユーザーは騙されてZIPファイルを開かなければなりません。 そうすると、ZIPファイルの内容が呼び出されます。つまり、マルウェアのペイロードをターゲットのデバイスにインストールするためのWindows Installerパッケージです。
HTMLスマグリングの防御方法
多くの正規システムやWebアプリケーションはJavascriptの使用を必要としているため、ほとんどの環境でJavascriptを無効にすることは不可能です。
同じJavaScriptコードでも多くの異なる方法で難読化されるため、コンテンツやシグネチャの照合が困難であることから、悪意のあるJavaScriptを識別することはほとんど不可能です。
さらに、多くの正規のJavaScriptフレームワークは、ファイルサイズを最小化し、Webアプリケーションの速度を向上させるために難読化技術を使用しているため、難読化されたJavascriptを単純にブロックすることも実際にはできません。
次に注目すべきは、密コンテンツを受け取るエンドポイントです。
優れたネットワーク・セキュリティ設計では、「深層防御」を実現するために、さまざまな技術によって提供される複数のセキュリティ・レイヤーを使用します。
そのため、たとえマルウェアがネットワークの境界を通過したとしても、ネットワーク内の他の防御システムによって検出またはブロックされる可能性があります。
これには以下のようなものがあります。
- ネットワーク内での水平方向の拡散(ラテラルムーブメント)を防ぐネットワークセグメンテーション
- Microsoft Windows Attack Surface Reductionは、Microsoft Defender ATPの機能で、難読化されたスクリプトの実行やMS Officeアプリケーションの子プロセスの起動など、悪用される機能をOSレベルで制限することができます。
- NexGen Firewallは、ベンダーから情報を受け取ってルールを自動的に更新すれば、悪意のあるスクリプトがダウンロードされたソースIPやドメインをブロックすることができます。
- サードパーティ製のエンドポイントプロテクションソフトウェアも、HTML Smugglingの手法でユーザーのPCに配信されたマルウェアのダウンロードや実行の試みを検出するのに役立つ場合があります。
- ターゲットシステムに投下されたマルウェアは、ユーザが起動する必要がある場合があります。その場合は、セキュリティ意識向上トレーニングを受けることで、ユーザを騙してマルウェアを支援させようとする試みを発見することができます。
Comments