SVGファイルのセキュリティー(XSS)対策

記事
IT・テクノロジー
SVGファイルをアイコン等で使用する機会が増えました。
実はテキストエディタで開けるファイル形式で、画像ファイルに見せかけて
悪意のあるスクリプトを埋め込むことが可能です。

自分で用意したSVGファイルが改ざんされるケースもあるでしょうが、
そんなことができる環境は、おそらくサイトのPHPファイルが改ざんされてしまっているでしょう(※)。

※特にWordPressを使用している場合、設置してあるサーバーのディレクトリ内に見慣れないファイルがあるか確認してみるべきです。既存のファイルでも、冒頭に以下のような記述があるかもしれません。

<?php eval("lkxlxzcjlkvkcclkaldkfjls・・・(一見無意味な暗号化された文字)" ?>

暗号をデコードしてやると、サイト乗っ取りや変なサイトにリダイレクトさせるコードだったりします。

”検索エンジン経由のアクセスの場合は、xxx(別のサイト)にリダイレクトする"といったコードが埋め込まれるケースが多発しています。あと、仮想通貨の発掘処理にサーバーが利用されるとか。

サイト管理者は、自分のサイトにわざわざ検索サイト経由で来ないですよね。
なので気づきにくいです。

そして、SVGファイルが悪用されるケースとして、どこかから拾ってきたアイコン集とかです。もしかしたらブラウザ上では画像として表示されるかもしれません。でも、エディターで見ないと気づかない部分にコードが書かれてることが想定されます。

というセキュリティーリスクを回避するために、SVGファイルをスクリプトとして実行しないような処置を施すことが大事です。

ちなみにJoomla!(CMS)だとVer.3.9.21から対処が実装されています。



サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す