アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » ADMINISTRATOR STAGE » 連載 » 本当は怖い文字コードの話 » 第10回 文字コードが引き起こす表示上の問題点[後編]

本当は怖い文字コードの話

第10回 文字コードが引き起こす表示上の問題点[後編]

前回は,文字コードの引き起こす問題がソフトウェアの処理上だけでなく,人間に対する視覚的な効果という点でも強く影響を与え,攻撃者にとっての強力な道具となることがある,という点について説明しました。今回も前回に引き続き,そのような文字コードが引き起こす視覚的な問題点について説明します。

拡張子の偽装

Unicodeを利用したWindowsにおける拡張子の偽装は,文字コードを利用した視覚的な攻撃の中でも特にインパクトの大きいものだと思います。

Unicodeには多数の文字に加え,さまざまな制御も収録されています。そのような制御コードのうち,U+202E「RIGHT-TO-LEFT OVERRIDE」(RLO)と呼ばれる文字をファイル名に含めることで,見かけ上の拡張子を簡単に偽装することができます。

たとえば,copy-txt.exeという名前の実行可能ファイルがあったとします。

図1 copy-txt.exe

図1 copy-txt.exe

RLOというのは,Unicodeでヘブライ語を扱う際に,文字列を部分的に右から左の方向に表示させるための制御コードです。このRLOを図2,図3のようにファイル名の「-」と「e」の間を挿入すると,図4のように「-」より後ろが反転して表示されるため,拡張子が「txt」のように見えてしまいます。

図2 RLOを挿入する手順1

図2 RLOを挿入する手順1

図3 RLOを挿入する手順2

図3 RLOを挿入する手順2

図4 RLOを挿入したあとの表示。「copy-exe.txt」のように見える。

図4 RLOを挿入したあとの表示。「copy-exe.txt」のように見える。

もちろん,拡張子が .txtに見えるのは見掛け上だけで,実際のファイル名は"copy-<RLO>txt.exe" であり,Windowsとしての拡張子は依然としてexeですので,ダブルクリックすれば実行可能ファイルとしてアプリケーションは動作します。

このようにUnicodeのRLOを使って拡張子を偽装したファイルは,見た目での判断がつきにくく,Windowsに慣れているユーザであっても騙されてしまうかも知れません。

Windows XP ProfessionalやVista Bussines以上のエディションであれば,ソフトウェア制限ポリシーを利用して,パス名にRLOを含むファイルの実行を禁止することで,RLOを使って拡張子を偽装されたファイルをうっかり実行してしまうことを防ぐことができますが,ポリシーの利用できないWindows XP HomeやVista Home Basic/Premiumでは簡単に設定する方法はありません。

これは脆弱性なのか

このRLOを利用した拡張子の偽装について話をすると,「それは(修正されるべき)Windowsの脆弱性ではないのか」あるいは「脆弱性ではないにしてもWindowsを修正すべきではないのか」との意見を多くの人からいただきます。

実際,この方法による拡張子の偽装に気付いた当時,私自身も同じように感じましたので,IPAの情報セキュリティ早期警戒パートナーシップを通じて「これは脆弱性ではなく仕様ではあるが,修正されるべき問題と考える」と伝えました。

通常,情報セキュリティ早期警戒パートナーシップを通じて脆弱性を報告した場合,2,3日で受理あるいは不受理の返答がIPAから返ってくるのですが,この件に関しては3週間以上経った後に返ってきた返答は以下のようなものでした。

Windowsにおけるファイル拡張子の偽装の件について,調整機関であるJPCERT/CCと協議していた関係で,ご返答に長い時間を要してしまい,ご迷惑をおかけいたしました。

たしかに仕様により,ファイル名が一見違ったものに見え,利用者がだまされやすくなるということは考えられますが,この仕様そのものにより,利用者が攻撃を受けたり,ウイルスに感染したりするものではないため,私どもで取扱う脆弱性の範囲からは外れるものと考えております。

(略)

今回の件につきましては,

  • 届出としては正式に取扱わない
  • 参考情報としてMS に連絡する

という方針を採りたいと思いますが,いかがでしょうか。

予想通り脆弱性としては取り扱えないものの,きちんとMicrosoftにも伝えてくれるということで,もちろん異論はありませんでしたので,この件に関しては終了で了解との旨を伝え,不受理という形で終了したのがちょうど4年前の2005年12月でした。

しかし,それ以降もWindows側での対応がまったく取られていないのは承知の通りであり,残念なかぎりです。

おわりに

10回の連載を通じて,文字コードが引き起こすセキュリティ上の問題点について解説してきました。

数年前はこの分野での研究は世界的にも情報や資料が少なく,私自身も試行錯誤で調査を進めてきましたが,ここにきてようやくセキュリティと文字コードが切っても切れない関係であることが広く周知されてきたのではないかと思います。

とはいえ,文字コードが引き起こすセキュリティ上の問題というのは,まだまだ誰にも知られていない内容が潜んでいるのではないかと思いますので,今後もより深く調査を続けていきたいと思います。本連載が少しでもみなさんのセキュリティ向上の手助けになれば幸いです。

著者プロフィール

はせがわようすけ

ネットエージェント株式会社 研究開発部。
Unicodeなどの文字コードが引き起こすセキュリティ上の問題点について調査・研究を行っている。Internet Explorer,Mozilla Firefox をはじめソフトウェア製品およびWebアプリケーションに関する脆弱性を多数発見。

URLhttp://utf-8.jp/

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

C/C++プログラマのためのDTrace入門

よくカーネルのチューニングや解析で活用されるDTraceですが,実はユーザプログラムの開発においても非常に有用です。連載ではC/C++プログラマやテストに関わる方向けにDTraceの使い方を解説します。

Blogopolisから学ぶ計算幾何

計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。

検索エンジンはいかにして動くのか?

本連載では, 今や誰もが利用している検索エンジンの中身を,全体の仕組みやデータ構造,アルゴリズムから分散インデックスまで,最近の研究事例も交えて紹介します。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス