不正プログラム
プログラム偽装の種類
見た目は正常なファイルなのに実はウイルスというような偽装された不正プログラムには次のような種類があります.
- ファイル種類の偽装
偽装された不正プログラムやウイルスは,プログラムの一種なのでファイルの「種類」は「アプリケーション」と表示されます. 偽装された不正プログラムは,この「種類」とファイルの名前・見た目が一致しないファイルです.例えば,ファイル名から Word 文書だと思っていたファイルの種類が「アプリケーション」と表示されていたり,動画ファイルだと思っていたファイルが「アプリケーション」と表示されている場合,偽装された不正プログラムの可能性が高いと言えます.
- アイコンの偽装
ファイルのアイコンを標準のものと異なるアイコンに置き換えることにより,ファイルの実体を偽装するものです.実体は実行形式ファイルであるにもかかわらず,フォルダや動画ファイルといった安全なファイルのアイコンにしてユーザをだますものです.実行形式ファイルでは,アイコンを自由に設定できるので作成元が信用できない場合注意が必要です.
圧縮ファイルを使って,解凍して現れたフォルダ (実体は実行形式ファイル) を開くように誘導してマルウェアを実行させるという手法も存在します.
- 拡張子の偽装
ファイル名の拡張子を偽装する手法です.
- 二重拡張子
Windows では拡張子がデフォルトでは表示されない設定になっています.この仕組みを悪用し,例えば "kaiga.gif.exe" という名前でファイルを作ります.本来の拡張子である ".exe" が表示されないため画面上では "kaiga.gif" と表示され画像ファイルと誤解させます.二重拡張子は,このように本来の拡張子を隠蔽する手法です.
- スペース挿入
ファイル名の途中に多数の空白 (スペース) を入れることにより一見すると拡張子が無いようにごまかす方法です.
- Unicode 制御文字の利用
RLO (Right-to-Left Override) と呼ばれる Unicode の制御文字を利用する方法です.RLO とは,文字の表示順を右から左に変更する制御文字です.これは,アラビア語など文字が右から左に表示される言語に使用されるものです.
ファイル名の中にこの制御文字を挿入すると,それ以降の文字列は右から左に表示されます. 例えば,実際のファイル名が "print[RLO]fdp.exe"([RLO] は RLO の制御文字)の場合,画面上では "printexe.pdf" と表示されます. RLO は制御文字なので,通常の文字とは異なり画面上には表示されません.
不正プログラム対策
プログラムの偽装は,インターネットからダウンロードしたファイルの他,メールでやりとりする文書ファイルや圧縮ファイルにも存在します.ユーザがとれる対策には,次のようなものがあります.
- 基本的対策 (セキュリティ対策の基本)
- 修正 (更新) プログラムを適用し,OS やアプリケーションを常に最新の状態に保つ.
- ウイルス対策ソフトを導入し,かつウイルス対策ソフトを最新の状態に更新する.
- 出所の怪しいファイルやメールの添付ファイルを不用意に開かない.
- ファイル名偽装対策
- ファイル名拡張子を表示する設定にする.
フォルダオプションからファイル名拡張子を表示させる設定に変更し,拡張子が識別できるようにする.
- アイコンの右クリックで表示される「プロパティ」の「ファイルの種類」や,エクスプローラで表示される「種類」を確認する.ファイル名やアイコンをいくら偽装しても実行形式ファイルの種類は「アプリケーション」と表示される.
- 標準のアイコンを変更する.例えば,フォルダのアイコンを独自のものにカスタマイズしてしまえば,アイコンが偽装されていたとしても不正プログラムを見分けることが可能となる.
- "*exe.zzz" (* は任意の文字列,zzz は一般的な拡張子)のようなファイル名に対しては,RLO による偽装ファイル名を疑い注意する.
- Windows が備える「ローカルセキュリティポリシー」の機能を使用して,ファイル名に RLO を含むファイルを実行できないようにする (→ "RLO偽装をちょっとしたTipsで対策").