ネットワークに広がるRLO利用の拡張子偽装手法
こんなにお手軽な、ファイル拡張子の偽装方法が・・・Unicode 制御文字の挿入(RLO)
Unicodeで拡張子を偽装された実行ファイルの防御方法
WindowsXP以上全般(Vista含む)、Windows2000のアラビア語インストール環境で起こる問題。かなり昔から、その存在は知られていたのに、今になって広く騒がれるようになりました。
この問題で何が危険かというと、視認による判別がつきにくく、ファイル拡張子で安心していると、トロイやウィルスを暴発させてしまう可能性があるのです。
例えば、「test-txt.exe」があったとします。txtの手前にキャレットを置いて、右クリックで[Unicode 制御文字の挿入]-[RLO Start of right-to-left override]を選択。するとファイル名が「test-exe.txt」となってしまうのです。
exeの手前に、Unicode制御文字が挿入されているのです。実際には、「test-[RLO]exe.txt」と、途中から文章が右から左に記述されています。これは人の目には見えません。もし、実行ファイルのアイコンがメモ帳と同じであれば、騙されて起動してしまう人が大勢いることでしょう。
放置は危険なので、対策を紹介します。説明通りの画面があれば1を、無ければ2を試してください。
1-セキュリティポリシーの制御(葉っぱ日記より転載) a.メモ帳を開いて、"**"と入力する(前後の引用符は不要)。 b."*"と"*"の間にキャレット(カーソル)を移動させる。 c.右クリックで[Unicode 制御文字の挿入]-[RLO Start of right-to-left override]を選択。 d.Ctrl-A で全て選択、Ctrl-C でクリップボードにコピー。 e.ローカルセキュリティポリシーを開く。 f.画面左側の「追加の規則」を右クリック。 g.新しいパスの規則」を選択。 h.「パス」欄で Ctrl-V をして、メモ帳の内容を貼り付ける。 i.セキュリティレベルが「許可しない」になっていることを確認して「適用」
2-Windows Home レジストリを使用した抑制 レジストリのHKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer の中にDWORD値、「DisallowRun」を作成。 右クリックして「修正」を選び、作成した「DisallowRun」の値のデータを「1」に設定。 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer の中にキー「DisallowRun」を作成。 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerDisallowRunの中に文字列を1、2、3...と必要な分だけ作成(今回は1つ)。 文字列の値に抑制したいファイル名を記述(*[RLO]*)、ワイルドカード使用可。