「exeファイルには特に気をつけている」?ウイルス対策に関心の高いお客様がおっしゃっていました。ウイルス対策ソフト等で備えるのは当然のこととして、このようにいつも高いセキュリティ意識を持っていることは大変重要です。
「しかし悲しいことに拡張子も簡単に偽装できるんですよ。」・・・こんな話で盛り上がりました。
例えばUnicode制御文字を利用した拡張子偽装があります。業界では古典的な手法ですがご存じでしたか?
Unicodeは簡単に言うと1つの文字コードで多国語処理を可能にするものです。しかし世界の言語は多種多様、言葉の並べ方一つをとっても、日本語や英語と全く逆に、右から左に書く言語(アラビア語等)だってあります。
多国語への対応力を高めるための様々な機能があります。その中の一つが、Unicodeで定義されている制御文字RLO(Right-to-Left Override)です。これを利用すれば、簡単に右から左へ流れる文字を入力することができ、とても便利です。(とはいっても筆者はほとんど使う機会はありませんが)
ところが残念ながらこれを悪用してしまう人もいます。
例えば以下のような悪意のあるプログラムがあったとします。
ちょっと名前を変えましょう。例えば3pmという文字を入れてみます。
ファイル名の変更から、「ウイルス」と「3pm.exe」の間でUnicode制御文字の挿入からRLOを選択すると・・・。
制御文字を挿入した後ろの部分からは右から左に表示されています。拡張子がmp3だと見せかけることができます。
もちろんこの後アイコンも偽装させます。
名前の変更で3pmと入れたのは反対から読んでmp3と見せたかったから。いくらでも応用できます。ファイル名がすべて英語等なら名前にexeが含まれていても違和感がないので発見は困難です。
しかもWindowsの正規の機能を使っていますので、Windowsからみればこのファイルはexeファイルであり、ダブルクリックすると不正なプログラムが実行されてしまいます。
何事にも過信は禁物です。
しかしセキュリティ意識が高い人だったからこそ今回の話に至ったわけですし、より高度なレベルで自衛されている様子が常々観察されます。
意識することは対策の第一歩です。