※当ページはアフィリエイトプログラムによる収益を得ています。
拡張子表示だけでは危ない偽装ファイル判断
Officeファイル等に偽装した実行ファイルを見分ける方法として、通常表示されない拡張子を表示させるように設定を変更する方法は昔から知られてきました。しかし、拡張子を表示させたとしても見た目では実行ファイルと判断できないケースも多く、単純にファイル名の最後が「.exe」かどうかだけを判断基準にしてしまうとうっかり騙されてしまいます。そこで今回は、拡張子表示だけでは危ない偽装ファイル判断についてご紹介します。
Unicode 制御文字を使うと拡張子をファイル名の一部に見せかけることが可能
Unicodeは世界中のあらゆる言語に対応するため様々な記述ができるように設計されていますが、これを悪用した事例が後を絶たないことも現実です。ファイル名についても、途中から左向きに表示させるUnicode 制御文字を挿入する悪用パターンがあります。仮に○○○txt.exeというファイルだっだ場合、○○○exe.txtと表示させユーザーがテキストファイルと誤認しプログラムを実行してしまいます。もちろんOS上ではプログラムとして識別されるため、ウイルス対策ソフトウェア等が適切に動作していれば防げる可能性は高いもののスクリプトやパッチファイル等、危険なファイルを実行すること自体がとても危険です。
Unicode 制御文字の悪用はグループポリシーで阻止可能
人の見た目では判断が難しいUnicode 制御文字の悪用ですが、設定アプリやコントロールパネルでは不可能な制限設定ができるグループポリシーを活用することでブロックできます。ブロック後はUnicode 制御文字が使われたファイルを開くことができなくなり、ユーザーが実行しようとしても警告画面と共に阻止されます。なお、グループポリシーはWindows Homeエディターでは利用出来ませんが、レジストリを編集すれば同様にブロック可能です。
ファイル名の偽装は多岐にわたるためサンドボックスの活用がお勧め
Unicode 制御文字以外にも古典的な手法として「○○○.txt .exe」など表示範囲外に本当の拡張子を隠す手口も知られていますが、意外と見落としがちです。目視による判断だけでは限界も多く、仮想環境で実害のあるファイルかどうか判断するためにWindowsサンドボックス上で試す方法が現実的です。仮にウイルスなどが含まれた実行ファイルだったとしてもWindowsサンドボックスから外に出ることはなく、仮想環境ごと終了すればファイルの削除も完了します。
まとめ
ファイル名の偽装は古典的ながら現在もよく使われる手法の一つです。拡張子の表示に加え、Unicode 制御文字の制限などを行うことである程度見極めることは可能にはなりますが、見落としによるリスクは回避できません。メールに添付されてきたファイルやネット上から入手したファイルは拡張子の確認をした上でWindowsサンドボックスを使い安全性を確かめる方法が確実且つ最も安全であると言えます。