Phishing

フィッシング詐欺のフォームを表示したり、検知を逃れながらマルウェアを展開したりするために、Scalable Vector Graphics(SVG)添付ファイルを使用する脅威者が増えています。

ウェブ上のほとんどの画像はJPGまたはPNGファイルであり、ピクセルと呼ばれる小さな正方形のグリッドで構成されています。各ピクセルは特定の色値を持っており、これらのピクセルが集まって画像全体を形成している。

SVG(スケーラブル・ベクター・グラフィックス)は、ピクセルを使用する代わりに、コード内の数式で記述された線、図形、テキストによって画像を作成するため、画像の表示が異なります。

例えば、以下のテキストは、長方形、円、リンク、テキストを作成します:

<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"> <! -- 長方形 --> <rect x="10" y="10" width="100" height="50" fill="blue" stroke="black" stroke-width="2" /> <! -- 円 --> <circle cx="160" cy="40" r="40" fill="red" /> <!-- 線 --> <線 x1="10" y1="100" x2="200" y2="100" stroke="green" stroke-width="3" /> <!-- テキスト --> <テキスト x="50" y="130" font-size="20" fill="black">Hello, SVG!

ブラウザで開くと、このファイルは上のテキストで記述されたグラフィックを生成する。

Generated SVG image
生成されたSVG画像
出典

これらはベクトル画像であるため、画質や形状を損なうことなく自動的にリサイズされ、解像度の異なるブラウザアプリケーションでの使用に最適です。

検出を回避するための SVG 添付ファイルの使用

フィッシング・キャンペーンにおけるSVG添付ファイルの使用は目新しいものではなく、以前のQbotマルウェア・キャンペーンにおける使用や、悪意のあるスクリプトを隠す方法としての使用に関する報告もある。

しかし、最近のサンプル[1,2]を.NETと共有したセキュリティリサーチャーのMalwareHunterTeamによると、脅威行為者はフィッシングキャンペーンでSVGファイルをますます使用するようになっています。

これらのサンプルや他のサンプルは、SVG添付ファイルがグラフィックを表示できるだけでなく、<foreignObject>要素を使用してHTMLを表示したり、グラフィックが読み込まれたときにJavaScriptを実行したりすることもできるため、SVG添付ファイルがいかに多機能であるかを示しています。

これにより、脅威者は画像を表示するだけでなく、認証情報を盗むためのフィッシングフォームを作成するSVG添付ファイルを作成することができます。

以下に示すように、最近のSVG添付ファイル[VirusTotal]では、ログインフォームが組み込まれた偽のExcelスプレッドシートが表示され、送信されると脅威行為者にデータが送信されます。

SVG attachment showing a phishing form
フィッシングフォームを示すSVG添付ファイル
ソースは こちら:

最近のキャンペーンで使用されたその他のSVG添付ファイル[VirusTotal]は、公式文書や詳細情報の要求を装い、ダウンロードボタンのクリックを促し、リモートサイトからマルウェアをダウンロードさせます。

SVG attachment used to distribute malware
マルウェアの配布に使用されるSVG添付ファイル
Source

他のキャンペーンでは、SVGの添付ファイルと埋め込まれたJavaScriptを利用し、画像を開くとブラウザが自動的にフィッシング・フォームをホストするサイトにリダイレクトされます。

問題は、これらのファイルはほとんどが画像のテキスト表現に過ぎないため、セキュリティ・ソフトウェアによって検出されない傾向があることです。VirusTotalにアップロードされたサンプルを見ても、セキュリティ・ソフトウェアによる検出はせいぜい1つか2つだ。

とはいえ、SVGの添付ファイルを受け取ることは正規のメールではあまりないことであり、すぐに疑ってかかるべきである。

あなたが開発者で、この種の添付ファイルを受け取ることを予期しているのでなければ、この種の添付ファイルを含むメールは削除した方が安全です。