SVGファイルでマルウェア感染?

「NemucodダウンローダFacebookで拡散中」

https://bartblaze.blogspot.jp/2016/11/nemucod-downloader-spreading-via.html

Facebook上でSVGファイルが拡張子フィルタの適用外になっていて、クラッカーたちが特殊なものを送り、うっかりクリックした人をマルウェアの餌食にしていたようです。

SVGはベクタ画像フォーマットですが、JavaScriptを入れることができ、しかもブラウザはそれを実行してしまいます。その結果、例えば偽Youtubeサイトにジャンプして、あとはいつもの「この動画を再生するにはプラグインが必要です」が出てきてマルウェアをインストールさせるコースです。

個人レベルでは「プラグインがいる動画は見ない」「ネットで突然出てくる診断ツールは無視」だけで、かなりマルウェア感染率を下げられることでしょう。

現在、Facebookは拡張子フィルタにSVGを追加していますが、「ただの画像に見えてもスクリプトが実行できる」ことは頭に入れておくといいかもしれません。ブラウザ中で実行される限り、通常のJavaScriptと同じことしかできませんが、今回のように「ユーザによるコンテンツでJavaScriptが実行できる」のは多くのサービスにとっては想定外なはずです。

ちなみに、一応、CSSでイベント禁止が可能という情報はありますね。これをユーザスタイルシートなどに入れたらSVGスクリプトを封印できる……かな?(すみません、未検証です)

[CSS] CSSJavaScriptのClickイベントやリンククリック時の動作などを禁止する方法 - YoheiM .NET www.yoheim.net

任意のDOM要素に対して、以下のCSSを設定することで、JavaScriptなどのイベントを禁止する事が出来ます。

.no-action {
  pointer-events : none;
}