RLO を利用したファイル名の偽装
“Scan from a HP Officejet #xxxxxxx” の SPAM で RLO を使ってファイル名を偽装しているものがあります。
RLO とは Right-to-Left Override の略で、Unicode の制御文字です。この制御文字はアラビア語のように右から左へと文字を書いていくためのものです。この制御文字以降の文字は表示が右から左へと行われます。
実際にどのように表示されるかは Windows のメモ帳を使って簡単に確認できます。
たとえば、abc.txt.exe
という文字列を入力するとしましょう。abc.
まで入力したらここでマウスを右クリックし、「Unicode 制御文字の挿入」というメニューを選びます。そうするとさらにメニューが開きますので、そこにある RLO の項目を選択してください。入力したらそのまま、txt.exe
と続けて入力します。実際に入力された方はすぐわかると思いますが、入力は "abc.txt.exe"
としたはずが、表示は "abc.exe.txt"
となっています。
これをファイル名に利用すると、一見拡張子はテキストなのに本当は実行可能なプログラム、というような偽装が可能となります。
このようなファイル名偽装の手法は2007年頃にwinnyなどで流行していましたが、最近でもまだこの手法は利用されています。