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

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

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

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

今回および次回で,そのような文字コードが引き起こす視覚的な問題点を紹介します。

視覚的に似た文字

見かけのよく似た文字は,フィッシングなどによく利用されます。典型的な例としては,アルファベット小文字のl(エル)と数字の1などがあります。たとえば,http://bank1.example.jp/ というURLのオンラインバンクがあったとすると,攻撃者は http://bankl.example.jp/ というURLを使ってフィッシングを企むということは容易に想像できると思います。

もちろん,収録している文字数が増えれば増えるだけ,このように見かけのよく似た文字が存在する率も高くなり,Unicodeでは非常に多数の文字でそのような事象が起こり得ます。特に,国際化ドメイン(IDN)においてはドメイン名としてUnicodeの多数の文字が利用可能になるため,それだけ攻撃者としての持ち札も多いということになります。

たとえば,gihyo.example.jp というドメインが存在したとして,それに対する偽装ドメインを考えてみます。Unicodeにはアルファベットの g と見かけのよく似た文字として,U+0261「Latin Small Letter Script G」という文字が定義されていますので(図1),これを利用することにします。

図1 U+0261:Latin Small Letter Script G

図1 U+0261:Latin Small Letter Script G

ドメイン名として,この U+0261 を含めた [U+0261]ihyo.example.jp というドメインに対していくつかのブラウザで実際にアクセスしたところ,各ブラウザのアドレスバーは図2~6のような表示になりました。

図2 Internet Explorer 8でアクセスした場合

図2 Internet Explorer 8でアクセスした場合

図3 Firefox 3.5.3でアクセスした場合

図3 Firefox 3.5.3でアクセスした場合

図4 Google Chrome 3.0.195.27でアクセスした場合

図4 Google Chrome 3.0.195.27でアクセスした場合

図5 Opera 10.00でアクセスした場合

図5 Opera 10.00でアクセスした場合

図6 Safari 4.0.3でアクセスした場合

図6 Safari 4.0.3でアクセスした場合

IEではドメインに不適切な文字が含まれている旨を警告するメッセージが表示されていますが,他のブラウザではそのような警告は表示されず,またFirefoxおよびOperaにおいてはIDNをそのまま表示しているため,アドレスバーを目視で確認するだけでは,これが正規のgihyo.example.jp というドメインなのか,攻撃者の用意した[U+0261]ihyo.example.jp という偽ドメインなのか簡単には判別できません。

Firefoxでは,about:configから network.IDN_show_punycodetrueに設定することで,アドレスバーに「[U+0261]ihyo.example.jp」というUnicode表示ではなく,「xn--ihyo-z7b.example.jp」というpunycodeでの表示をさせることも可能ですが,正しくIDNを使っているサイトでの視認性が下がるということもあり,誰にでも容易に勧められる対策ではありません。

このように,IDNにおいてはこれまで以上にアドレスの偽装が攻撃者にとっては有利になりそうですので,今まで以上の注意が必要となりそうです。

見えない文字

Unicodeに含まれる多数の文字の中には,視覚的に確認しにくい「見えない」文字もいくつか定義されています。代表的なものとしては,表1のようなものがあります。

表1 「見えない」文字

コードポイント名称
U+200BZERO WIDTH SPACE
U+200CZERO WIDTH NON-JOINER
U+200DZERO WIDTH JOINER
U+202ALEFT-TO-RIGHT EMBEDDING
U+FEFFBYTE ORDER MARK(ZWNBSP)

たとえば,これらをファイル名やレジストリ名の一部として含めると,見かけ上はすでに存在するものと同じように見えるファイルやレジストリを作成することができます。

図7 同じに見えるファイル名

図7 同じに見えるファイル名

図8 同じに見えるレジストリキー

図8 同じに見えるレジストリキー

こういった点がセキュリティ上の脅威に直接つながることは少ないとは思いますが,たとえばレジストリ上に存在するRunやRunOnce,あるいは他の重要なレジストリエントリを削除しつつ,それらを存在するかのように見せかけて管理者を混乱させるワーム,というようなものは出てくるかも知れません。

著者プロフィール

はせがわようすけ

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

URLhttp://utf-8.jp/

トラックバック

  • 気になった記事(20091026)

    Security関連
    * ランダムIPアドレスの発生源を特定
    * この種の調査は本当に時間がかかるし、技術もいるので大変。
    * ワーム「Conficker」対策? 実は偽セキュリティソフト型「FAKEAV」に感染
    * FakeAV系ですね。知識が半端だと簡単にだまされます。
    * 一番...

    Tracked : #1  ほほほのほ (2009/10/26, 13:27)

コメント

コメントの記入

パスサポ

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

ピックアップ

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

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

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

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

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

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

一行クイックアンケート

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

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

その他の連載

もっと便利に!jQueryでラクラクサイト制作(実践サンプル付き)

本連載では,実践サンプルとともに,jQueryを上手に活用してサイト制作の品質向上・効率化を実現するための実践テクニックを解説します。

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

サーバーを自社で運用管理するのはもう限界…。データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

続・先取り! Google Chrome Extensions

2010年1月のリリースが予定されているGoogle Chrome 4に搭載されるExtensionsについて,その詳細を先取りで解説します。最新情報から,ユーザースクリプトやテーマの作り方など関連情報もお届けします。

モダンPerlの世界へようこそ

この連載では,Perlの世代間ギャップに悩んでいる方に,いくらかの背景知識と,これだけは知っておいたほうがよいという最低限の慣用句をお届けします。

Hosting Department:ホスティングを活用するための基礎知識

本連載では,ホスティングサービスを活用する上で知っておきたい基礎知識を解説します。

Blogopolisから学ぶ計算幾何

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

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

連載一覧

gihyo.jp

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

書籍案内

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

定期刊行物一覧

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

最近のコメント