2016年6月15日水曜日

ファイル名偽装

大阪 M・Tです。

今回はファイル名偽装について
なんですが、その前に余談を。

この前、大阪で迷惑メールの話で盛り上がってまして
そのメールというのが、宛先とは別にCcに他の社員のメールアドレスが入っているものでした。

ドメインが一緒の有効な別のアドレスをCcに入れて送信してくるんですよ。
知ってる人のアドレスがCcに入ってたら信用してしまいそうですよね。


さて、そして話はそのメールの添付ファイルについてなんですが、
悪い人はあの手この手で添付ファイルを開かせようとしてくるわけです。
その技術?の一つとしてRLOを使用するものがありますというのが今日の本題です。

RLOはUnicodeの制御文字Right-to-Left Overrideの頭文字です。
どういうものかというと、本来は、右から左に文字を読む文化圏(アラビア語とか)のために
入力文字を左右逆転させて表示するものです。
例えば、
「私は日本人です。」 だったら
‮「私は日本人です。」
みたいな感じです。
(↑実際に行頭に制御文字を入力して逆転させてます。文字コードはU+202E)

これをどういう風に悪用するかというと
例えばこんなファイル名のファイルがあったとします。ランサムウェアのインストーラーとか。
Sampletxt.exe

U+202Eを下のカッコの位置に入れると…
Sample(U+202E)txt.exe

あら不思議、ファイル名が
Sample‮txt.exe
となってしまったではありませんか!!(またまた実際に制御文字で逆転させてます。)
これだとtxtファイルに見えます。ところがどっこい、そう見えるだけで実行ファイルです。
このファイルのアイコンがメモ帳のアイコンだったら完璧です。

まあわれわれは絶対にメモ帳以外のエディタを使ってるので、
txtファイルのアイコンがメモ帳のアイコンってことはないでしょうから
これには騙されませんよと。

しかし拡張子に「見える」部分がxlsxとかpdfだったらどうでしょうか。
騙されて実行してしまいそうですねー。
Samplefdp.exe

Sample‮fdp.exe

Samplexslx.exe

Sample‮xslx.exe


じゃあ対策しましょうってことで。
皆さん、以下の設定をしましょう。

①system32にあるsecpol.mscを実行
 (Professional以上じゃないと入ってないっぽい。)

②ローカルセキュリティポリシーの画面が開いたら、
 左側「ソフトウェアの制限のポリシー」の右クリックメニューから
 「新しいソフトウェアの制限のポリシー」をクリック

③右側「追加の規則」の右クリックメニューから「新しいパスの規則…」をクリック

④「新しいパスの規則」画面のパス欄に「**」と入力

⑤「**」の*と*の間にカーソルを持ってきて右クリック

⑥メニューから「Unicode制御文字の挿入」でRLO Start of right-to-left overrideを選択

⑦カーソルを動かして、見えないけど制御文字が入力されていることを確認。
 
⑧セキュリティレベル「許可しない」を選択してOK

以上で文字コードU+202Eが含まれるファイルが実行できなくなります。
日本語環境で上記設定を行っても何も困ることは無いので念のため設定しておきましょう。

では。