戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

情報処理安全確保支援士 2013年 秋期 午前201


問題文

RLO(Right-to-Left Override)を利用した手口の説明はどれか。

選択肢

“コンピュータウイルスに感染している”といった偽の警告を出して利用者を脅し、ウイルス対策ソフトの購入などを迫る。
脆弱性があるホストやシステムをあえて公開し、攻撃の内容を観察する。
ネットワーク機器のMIB情報のうち監視項目の値の変化を感知し、セキュリティに関するイベントをSNMPマネージャに通知するように動作させる。
文字の表示順を変える制御文字を利用し、ファイル名の拡張子を偽装する。(正解)

🔒 解説は解答すると表示されます

RLOによる拡張子偽装【午前2解説】

正解の理由

制御文字「RLO(Right-to-Left Override、U+202E)」は、その後に続く文字列の表示順序を逆転させるUnicodeの方向制御文字です。攻撃者はこれをファイル名に挿入して見た目の拡張子を偽装します。例えば実際のファイル名を report\u202Etxt.exe とすると、RLO以降の "txt.exe" 部分は右→左に表示され、画面上は reportexe.txt のように見えます。見た目では末尾が ".txt" に見えるため利用者は安全なテキストファイルだと誤認し、実際の拡張子 ".exe"(実行ファイル)を見落とす可能性があります。したがって設問の説明として正しいのは です。

解法ステップ

  1. 問題文キーワードを探す:「表示順」「制御文字」「拡張子」「偽装」などがあればRLOやBiDi攻撃を連想する。
  2. 各選択肢の意味を迅速に判別:恐喝(スケアウェア)、公開して観察(ハニーポット)、SNMP通知などの一般的用語と照合する。
  3. 表示順を変える制御文字の説明がある選択肢を選ぶ。テキスト表示の操作に関する言及が正解候補。

選択肢別の誤答解説

  • ア: 偽の警告で脅して有料ソフトを買わせる手口は「スケアウェア」や「偽セキュリティ警告」であり、RLOの説明ではない。
  • イ: 脆弱なホストを公開して攻撃を観察する行為は「ハニーポット」や「ハニーネット」に相当し、表示順の制御とは無関係。
  • ウ: ネットワーク機器の監視値をSNMPマネージャに通知するのは「SNMPトラップ」や監視機能の説明であり、文字表示制御とは別分野。
  • : 文字の表示順を変える制御文字を使ってファイル名の拡張子を見せかける、という説明がRLO(U+202E)の典型的な悪用例であり、問題文に一致する。

よくある誤解

  • RLOで表示が変わってもファイルの実拡張子が書き換わるわけではない:表示上の「だまし」なので、実体(拡張子・ファイルタイプ)はそのまま残る。
  • RLOはWindowsだけの現象だと思い込む誤り:Unicode BiDiの制御文字なので、表示にUnicodeを使う環境(ファイルマネージャ、メールクライアント、ブラウザ等)で影響する可能性がある。
  • RLOの後に必ず終端文字(U+202C)が必要と考える誤解:多くの表示系では行末や他の文字で終わるとRLOの影響が及ぶため、攻撃者は必ずしも明示的に終端を置かなくても偽装が可能。

補足コラム

  • 技術的背景:RLO (U+202E) は「右から左に表示する」指示を与え、対応する終端は PDF (Pop Directional Formatting、U+202C) です。BiDi(Bidirectional)アルゴリズムに基づき表示のみを制御します。
  • 検出と対策例:
    • 表示上の拡張子を信用せず、OSの「拡張子を常に表示する」設定を有効にする。
    • ファイル名に制御文字(U+200E〜U+202Eなど)が含まれていないか検査する。簡易的には正規表現やUnicodeカテゴリチェックで非表示制御文字を除外する。
    • メールやダウンロード時に実行ファイルの取り扱いを厳格化(拡張子に疑義があればブロック)する。
  • 実例(概念示例、端末やGUIでの見え方は環境差があります):
    • 実ファイル名: report\u202Etxt.exe
    • 表示例(GUI上): reportexe.txt
    • 利用者は末尾が ".txt" に見えるため誤開封しやすい。
簡単な検出用スクリプト例(Python):
# ファイル名に可視化されない制御文字が含まれているか確認
def has_bidi_control(s):
    bidi_controls = ["\u202A","\u202B","\u202C","\u202D","\u202E"]  # LRE, RLE, PDF, LRO, RLO 等
    return any(ch in s for ch in bidi_controls)

names = ["report\u202Etxt.exe", "safe_document.txt"]
for n in names:
    print(n, "-> has_bidi_control:", has_bidi_control(n))

FAQ

Q. RLOを使ったファイルを開いてしまったらどうするべきですか?
A. 実ファイルの種類(拡張子、プロパティ)を確認し、不審な実行形式(.exe/.bat/.scr など)であれば実行せず削除または隔離してください。必要ならマルウェアスキャンを実施します。
Q. ファイル名のRLOは自動的に検出されますか?
A. 一部のセキュリティ製品やメールサービスは検出するが、すべてではありません。業務システムではファイル名の制御文字検査を導入するのが確実です。
Q. RLO以外にも同様の手口はありますか?
A. はい。類似のBiDi制御文字(LRE、RLE、PDF等)や類似表示を使った混淆(homograph攻撃)も注意が必要です。

関連キーワード: RLO、U+202E、右から左オーバーライド、BiDi攻撃、拡張子偽装、制御文字、Windowsエクスプローラー、ファイル偽装
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

情報処理安全確保支援士
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について