このページの本文へ

初心者歓迎!ネットワークセキュリティ入門 第3回

ネットワークの脅威と対策を一から学ぼう

拡がるWebの脅威と対策を理解しよう

2009年08月27日 06時00分更新

文● 水岡祥二

  • この記事をはてなブックマークに追加
  • 本文印刷

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

 クロスサイトスクリプティング(Cross Site Scripting:XSS)は、攻撃者がWebページのフォームにスクリプトを埋め込むと、それを閲覧したユーザーの情報まで漏えいしてしまう攻撃手法である。Webサーバのみならず、そのページを閲覧したクライアントPC双方にサイトをまたいで(Cross Site)被害がおよぶことからクロスサイトスクリプティングと呼ばれる

 具体的には、攻撃者がCGIなど動的にWebページを生成するアプリケーションを持つサーバに用意されたWebページの入力フィールドに悪意のあるスクリプトを埋め込む。ユーザーがWebブラウザを介して、Webページを閲覧すると、スクリプトが自動実行されてしまう(図7)。

図7 サーバとエンドユーザーに被害を与えるクロスサイトスクリプティング

 これによって、サーバ側では外部から意図しない動作をさせられたり、迷惑メールの踏み台となるといった被害がもたらされる。また、ユーザーのWebブラウザ側では個人情報やCookieの漏えいによるセッションハイジャック※6、ファイルの破損などの被害が発生する。ユーザーが書き込んだ内容をそのまま表示させるようなWeb上の掲示板でXSSが仕掛けられると、悪意のあるスクリプトが善良な訪問者のWebブラウザに送られてしまう。

※6:セッションハイジャック Webにおけるセッションを攻撃者が奪取することで、ユーザーになりすまし、不正を働くこと。類推しやすいセッションIDを発行するような仕組みになっていると、ハイジャックされやすい。

 XSSと同じく、サーバを介して、エンドユーザーが被害を受ける例としては、CSRF(Cross Site Request Forgeries)が挙げられる。CSRFではユーザーがURLをクリックすると、意図に反して、勝手に掲示板に書き込みが行なわれたり、買い物させられてしまう。実際、日本の大手SNSサイトで多発し、問題となった。

 IPAによるとWebアプリケーションに対する攻撃の割合は高く、現在報告されている攻撃例の7割がSQLインジェクションとXSSとしている。

(次ページ、「アプリケーション側でのセキュアコーディング」に続く)


 

カテゴリートップへ

この連載の記事