『登録されている拡張子を表示しない』にしていなくても危険なファイル
副題『忘れた頃のRLO』
一昔前にWinny系ネットワークで流行った、Unicodeの特殊制御文字を使用した拡張子の偽装が、ぽつぽつとそれ以外の環境でも見受けられるそうな。
という訳で、実証実験をWindows 2000でやってみました。
なお、これはNT以降の UNICODE のファイル名を使用するので、Win9x系は影響を受けません。
まず、何の変哲もない、Pokera_gpj.exe というファイル。
これに制御文字 \x202e(RLO(Right to Left Override))を挿入します。
すると、あら不思議、 Pokera_exe.jpg というファイル名に!!
しかし、ファイルの種類が「アプリケーション」になってるのと、ファイルプロパティを見るとなんだかおかしいので見破ることが出来ます。
ファイルを削除するときも、何か変w
実行すると、普通に実行できちゃうという
プログラム的には MoveFileWやCreateFileW を使って、ファイル名に制御コードを入れれば簡単に偽装できてしまうわけです。
皆さんもご用心を。
白角堂の徒然記 : RLOでの拡張子偽装に注意(ウィルス対策)2
こちらのサイトには Windows 2000では偽装ファイルの表示が出来ないとかかれていますが、Office2003などがインストールされて、usp10.dllが更新されているとどうやら表示できるようです。
Comments