最近よく聞く「クロスサイトスクリプティング」って?

文:Chad Perrin  翻訳校正:アークコミュニケーションズ、坂野裕史 2008年04月11日 08時00分

  • このエントリーをはてなブックマークに追加
  • 印刷

 最近よく耳にするようになったセキュリティ用語に、「クロスサイトスクリプティング」がある。今回は、ウェブサイトの開発者さえ明確な定義を把握していないこともあるこの用語について説明しよう。

 「XSS」とも呼ばれるクロスサイトスクリプティングは、ここ数年の間にかなり注目を集めるようになったセキュリティ攻撃の一種である。しかし多くのユーザーにとって、この用語の意味が完全に明らかなわけではない。ウェブ開発者が意味を把握していないことさえある。ここでは、どこに危険が潜んでいるかわかるように、クロスサイトスクリプティングについて説明しよう。

クロスサイトスクリプティングの定義

 JavaScriptは高機能なウェブアプリケーションを開発するための強力なツールだ。HTMLやXHTMLのページに埋め込まれたコードをクライアント側で実行しないと、GoogleマップZoho Officeのようなウェブアプリケーションの動的な性質は実現できないだろう。残念なことに、システムに複雑なものを加えると必ず、セキュリティの問題が生じる確率も高まる。ウェブページにJavaScriptを追加する場合も同様だ。

 JavaScriptによって持ち込まれる問題には、たとえば次のものがある。

  1. 悪意のあるウェブサイトがJavaScriptを使って、ファイルをコピーしたり削除したりするなどの変更をローカルシステムに加えるおそれがある。
  2. 悪意のあるウェブサイトがJavaScriptを使って、キーストロークの記録を利用するなどして、ローカルシステムでの活動を監視するおそれがある。
  3. 悪意のあるウェブサイトがJavaScriptを使って、ユーザーが他のブラウザウィンドウやブラウザタブで開いていた別のウェブサイトと相互作用を行うおそれがある。

 上のリストのうち、1番目と2番目の問題は、ブラウザを、JavaScriptに許可する動作を制限する一種の「砂場」(セキュリティ用語の「サンドボックス」)にすることによって軽減することができる。こうして、JavaScriptがブラウザの限られた領域内でのみ動作するようにするのだ。3番目の問題もある程度制限できるのだが、その制限はあっけなく回避できる。特定のウェブページが一定の方法で別のウェブページと相互作用できるかどうかは、エンドユーザーが使うソフトウェアで制御できることではない場合があるためだ。時として、あるウェブサイトに仕掛けられた、別のウェブサイト向けのデータを盗むJavaScriptの機能は、標的となるウェブサイトの開発者が相当な注意を払うことによってのみ抑制することができる。

 クロスサイトスクリプティングについて定義する場合、動的なウェブ設計の要素を採用した特定のウェブサイトに脆弱性が存在することが、セキュリティの侵害のためにだれかがJavaScriptを使う機会を設けることになっているという事実に、解答が潜んでいる。この関係には、目的を達成するために2つの別個のウェブサイト間に相互作用が存在する必要があるため、「クロスサイト」と呼ばれる。ただし多くの場合、この攻撃ではJavaScriptが必ず使われるものの、クロスサイトスクリプティング攻撃に対して脆弱であるWebサイトがJavaScriptそのものを使用している必要はまったくない。ローカル型のクロスサイトスクリプティング攻撃の場合のみ、正当なウェブサイトによってブラウザに送信されるJavaScript内に脆弱性が存在している必要があるのだ。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

SpecialPR

連載

CIO
教育IT“本格始動”
月刊 Windows 10移行の心・技・体
ITアナリストが知る日本企業の「ITの盲点」
シェアリングエコノミーの衝撃
デジタル“失敗学”
コンサルティング現場のカラクリ
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
トランザクションの今昔物語
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「展望2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
セキュリティインシデント対応の現場
エンドポイントセキュリティの4つの「基礎」
企業セキュリティの歩き方
サイバーセキュリティ未来考
ネットワークセキュリティの要諦
セキュリティの論点
スペシャル
エンタープライズAIの隆盛
インシュアテックで変わる保険業界
顧客は勝手に育たない--MAツール導入の心得
「ひとり情シス」の本当のところ
ざっくり解決!SNS担当者お悩み相談室
生産性向上に効くビジネスITツール最前線
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft Inspire
Microsoft Connect()
HPE Discover
Oracle OpenWorld
Dell Technologies World
AWS re:Invent
AWS Summit
PTC LiveWorx
吉田行男「より賢く活用するためのOSS最新動向」
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
日本株展望
企業決算
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]