RLO
文字の表示順を右から左に変えるUnicodeの制御文字。マルウェアのファイル名に埋め込んで、拡張子を偽装する手口に悪用される。
イマシルちゃんの解説
アラビア語やヘブライ語は、右から左に文字を書く言葉なんだ。
RLOは、そういう言葉を正しく表示するための、「ここから先は並べる向きを変えてね」っていう見えない合図だよ。
でも、悪い人はこれを使って、ファイル名をだますんだ。
本当は「〜.exe」っていう実行ファイルなのに、画面では「〜.txt」みたいに見せかけちゃう。
だから、見た目のファイル名だけで安心しちゃダメなんだよ!
より深い解説
定義
RLO(Right-to-Left Override)は、Unicodeで定められた双方向テキストの制御文字(U+202E)である。この文字より後ろにある文字を、右から左の順に表示させる。本来は、右から左に書く言語を左から右の言語と混在させて正しく表示するためのものである。RLO自体は画面に表示されない。
拡張子の偽装の仕組み
攻撃者は、実行ファイルのファイル名の途中にRLOを入れて、表示上の拡張子を別のものに見せかける。
例:実際のファイル名([RLO]は制御文字の位置)
invoice[RLO]fdp.exe
[RLO]より後ろの「fdp.exe」が右から左に表示されるため、画面上では次のように見える。
invoiceexe.pdf
利用者にはPDFの文書に見えるが、実際の拡張子は.exeであり、開くとプログラムが実行される。アイコンも、PDFや文書のものに偽装されていることが多い。
対策
| 対策 | 内容 |
|---|---|
| メールでのブロック | ファイル名にRLOなどの制御文字を含む添付ファイルを、メールサーバやセキュリティ製品で遮断する |
| 実行の制限 | 利用者のフォルダからの実行ファイルの起動を、アプリケーションの許可リストなどで制限する |
| 拡張子の表示 | OSで、ファイルの拡張子を常に表示する設定にする(ただしRLOは表示自体をだますので、それだけでは不十分) |
| 教育 | ファイル名や見た目のアイコンだけで、安全なファイルだと判断しない |
同じように「見た目」をだます手口
| 手口 | 内容 |
|---|---|
| 拡張子の二重化 | 「report.pdf.exe」のようにして、拡張子を表示しない設定の環境で「report.pdf」に見せる |
| アイコンの偽装 | 実行ファイルに、文書やフォルダのアイコンを設定する |
| ホモグラフ攻撃 | 見た目がよく似た別の文字(キリル文字の「а」とラテン文字の「a」など)を使い、偽のドメイン名を本物に見せかける |
| ショートカットファイル | 文書に見えるショートカット(.lnk)に、悪意のあるコマンドを仕込む |
ほかの手口との区別
| 手口 | 内容 |
|---|---|
| RLOを使った手口 | 文字の表示順を変える制御文字で、ファイル名の拡張子を偽装する |
| スケアウェア | 偽の警告で利用者を怖がらせ、偽のソフトを買わせる |
| ハニーポット | わざと脆弱なシステムを公開し、攻撃を観察する(防御側の手法) |
| SNMPの悪用 | ネットワーク機器の監視の設定を不正に変え、イベントを攻撃者に通知させる |