TDK
Tech-Mag TDK Techno Magazine 〜テクマグ〜
サイト内検索
メールマガジン登録個人情報保護基本方針
home
電気と磁気の?館
じしゃく忍法帳
フェライト・ワールド
column
テクの雑学
アースサイエンス&TDKテクノロジー
パワーエレクトロニクス・ワールド
コンデンサ・ワールド
なるほどノイズ(EMC)入門2
なるほどノイズ(EMC)入門1
過去の読み物

TDKホームページ
 トップページテクの雑学 > 第150回 ぱっと見は気づきにくいセキュリティホール 〜XSSの仕組みと対策〜
テクの雑学

第150回 ぱっと見は気づきにくいセキュリティホール 〜XSSの仕組みと対策〜

 9月21日、人気のソーシャルネットワークサービス「Twitter」上で騒動が持ち上がりました。Twitter公式Webサイトのシステムにセキュリティホールがあり、その危険性を周知するために有志が行ったデモンストレーションが、猛烈なスピードで伝播していったのです。
 発端となったのは、「rainbowtwtr」というアカウントから発せられた、「つぶやき」表示用の枠をカラフルに彩るものでした。Twitter公式サイト上でこのつぶやきを表示させ、枠内にマウスカーソルを置いたユーザーは、自分のアカウントでも勝手に同じ内容のつぶやきを発してしまうのです。以前からセキュリティホールの存在をTwitter側に通告していたユーザーがTwitter側に対策を急がせるため、危険周知用に行ったデモンストレーションだったのですが、ほどなく同じセキュリティホールを悪用した悪質ワームが登場したことで、ユーザーの間に大きな混乱を招きました。日本時間で日付が替わる頃には対策が行われて事態は収束、後にTwitter側は「8月の時点で対策済みだったが、その後のアップデートで再度発生してしまっていた」と発表しましたが、Web経由の攻撃の威力を再認識させる出来事でした。

 今回、発覚したセキュリティホールは、通称「クロスサイトスクリプティング(Cross Site Scripting:サイトを横断したスクリプト処理。以下XSS。)」と呼ばれるものです。「CSS」ではなく「XSS」と略すのは、Webページのデザイン用などに使われる「カスケーディング・スタイル・シート(Cascading Style Sheets)」と区別するためです。XSS脆弱性による問題は以前からたびたび持ち上がっていましたが、7月にもYouTubeで発生するなど、最近はソーシャルネットワークサービスが攻撃の対象になってきたことで、被害の規模が大きくなりがちなのが問題です。
 なぜ、このような問題が起こるのでしょう? まずはWebページがブラウザに表示される仕組みについて説明します。

Webコンテンツが表示される仕組み


 Webページは、コンテンツを提供する「Webサーバー」と、それに対してリクエストを送る「Webクライアント」の間のやりとりによって成立しています。ここで言う「クライアント」は、ユーザー自身、そしてユーザーがWeb閲覧用に使うPCやケータイなどのハードウェアを指すとともに、その上で作動する閲覧用アプリケーションソフト、「Webブラウザ」をも指すと思ってください。
 クライアントは「このページのデータを送信してください」とサーバーにリクエストを送ります。具体的には、ブラウザの入力ウィンドウにURIを入力したり、ブックマークに保存したショートカットをクリックしたり、という操作がサーバーへのリクエストになります。リクエストを受け取ったサーバーは、その内容に応じたデータ(ファイル)をクライアントに向けて送信します。データを受け取ったクライアント=ブラウザは、その内容に応じて画面表示用の描画(レンダリング)を行います。
 表示させる内容が単純な文字と画像だけではなく、Flashなどを使ったリッチコンテンツだったり、ストリーミング配信による音声や動画の再生を行う場合は、「プラグイン」と呼ばれるブラウザの機能拡張用プログラムを呼び出して実行させたり、外部のアプリケーションに処理を引き渡すような処理を行います。

 Webページ記述の基本は「HTML(HyperText Markup Language)」と呼ばれる言語です。ハイパーテキストとは、複数の文書や図版を相互に関連付ける仕組みを指します。マークアップ言語とは、文章そのものの中に、構造や見栄えなどに対する指定を書き込んでいくコンピュータ言語の種類です。つまり、HTMLはハイパーテキストを実現するためのマークアップ言語で、構造や見映え、作動の指定は「タグ」によって記述します。
 たとえば、文字をクリックすると画像が表示されるようにするためには、以下のように記述します。

<a href=“画像ファイルのURI”>ここの部分の文字をクリックすると画像が見られます</a>

<>で囲まれた部分がそのタグの機能を示し、</>によって閉じられます。

 HTMLの初期の仕様では、文書の中に画像を表示でき、文字の大きさや色が変えられる程度の機能しか定義されていなかったのですが、「www」が普及するにつれて、文書の表現力を高めるための仕組みが求められるようになりました。そんな要求に応えてHTMLは仕様を拡張し、同時にブラウザも独自の機能拡張を行うようになります。たとえば初期Webブラウザの代表格だったNetscape Navigatorは、1995年にリリースしたバージョン2で、独自のプログラム言語「Java Script」に対応します。「スクリプト」とは、テキストのままで実行できる簡易プログラム言語です。これによってWebブラウザ上での表現は飛躍的に自由度を増し、電光掲示板のように文字を流したり、ウィンドウのサイズを自動的に最適化する、といった「動き」が実現します。さらに、ブラウザを通じて実行可能なプログラム言語「Java」への対応によって、Webブラウジングの世界は大きく進化を遂げたのです。

 しかし、利便性とリスクは表裏一体の関係にあります。Java Scriptやプラグインへの対応は、それだけ新たなセキュリティホールの発生の種を抱えることでもあります。いちいち数え上げるとキリがないほどの問題が起こってきましたが、それらの中でもXSSはかなり危険度の高い問題として認識されてきました。

前のページへ | 1/2 | 次のページへ

ページtop
HOME 電気と磁気の?(はてな)館 アースサイエンス&TDKテクノロジー テクの雑学 コンデンサ・ワールド
Copyright(c) 1996-2014 TDK Corporation. All rights reserved.
※記事の内容は、記事掲載時点での情報に基づいたものです。一部、現在TDKで扱っていない製品情報等も含まれております。
TDKホームページは、Internet Explorer5.5以降、Netscape Navigator7.0以降でご覧いただくことを推奨しています。