読み方 : アールエルオー

RLO【Right-to-Left Override】

概要

RLOとはUnicodeで定義されている制御文字の一つで、横書きの文字の並び順を強制的に「右から左」へ変更するもの。U+202E(10進数で8238)のコードポイントで定義されており、文字としては画面に表示されず、以降の文字列の表示順だけに作用する。
RLOのイメージ画像

日本語や英語のように左から右へ文字を書き進める言語の文章中にRLOを挿入すると、それ以降の文字列がアラビア語やヘブライ語のように右から左へ反転して表示される。文字データ自体が変更されるわけではなく、見え方のみが変化する。

この仕組みは、左から右と右から左の双方の文字体系を一つの文書内で扱うためにUnicodeが備える双方向文字表示の機能の一部である。多言語環境での正しい表示を実現する目的で用意されたものである。

Windowsなどのファイルシステムではファイル名にもUnicodeが利用できるため、RLOを使って実行ファイル拡張子を偽装する手口が確認されている。例えば「お見積り.[RLO]xcod.exe」という名前のファイル(表示上は[RLO]は不可視)を作成すると、RLO以降の文字列が右から左に並べ替えられ、画面上では「お見積り.exe.docx」のように表示される。実際の拡張子は「.exe」であるにもかかわらず、Word文書のように見えるため、利用者が文書ファイルだと誤認して開いてしまい、内部に仕込まれたマルウェアに感染する被害が生じる。

このような拡張子偽装は、電子メール添付ファイルやダウンロードファイルを介した攻撃で多く確認されてきた。近年ではファイル名だけでなく、ソースコード内に双方向制御文字を埋め込み、人間が読むコードの見た目とコンパイラが解釈する内容を一致させなくする手法も報告されている。2021年には「Trojan Source」と呼ばれる脆弱性として注目を集め、開発者向けのエディタやツールでも警告表示などの対策が進められた。

Unicodeには、RLOと対をなす制御文字として左から右への表示を強制する「LRO」(Left-to-Right Override:U+202D)、方向指定を終了して元の状態に戻す「PDF」(Pop Directional Formatting:U+202C)、右から左への文字列を埋め込む「RLE」(Right-to-Left Embedding:U+202B)なども定義されている。RLOやLROによる方向指定は、文章中にPDFが現れるまで、または文字列の終端まで継続する。こうした不可視の制御文字が含まれる点を踏まえ、主要なオペレーティングシステム(OS)やWebブラウザメールソフトの多くは、ファイル名にこれらの文字が含まれる場合に警告を表示したり、該当する文字の使用を制限したりする対策を講じている。

(2026.6.27更新)
 

他の辞典等による「RLO」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。