ITパスポート試験 / 平成24年度 秋期 ITパスポート試験 / 問60
certification-simodake-work

平成24年度 秋期 ITパスポート試験 問60 解説 クロスサイトスクリプティング

クロスサイトスクリプティングの特徴に関する記述として、適切なものはどれか。

  1. ア 入力されたデータに含まれる悪意あるスクリプトを、そのままWebブラウザに送ってしまうという脆弱性を利用する。 ✓ 正答
  2. イ 入力されたデータの長さをチェックしていないWebサイト上のアプリケーションに対し、長すぎるデータを送りつける。
  3. ウ 有用なソフトウェアに見せかけて利用者にインストールさせ、コンピュータに侵入する。
  4. エ ワープロソフトや表計算ソフトの操作手順を記録し、呼び出して実行する機能を不正に利用する。

解説

クロスサイトスクリプティング(XSS)の定義である「Webサイトの脆弱性を突き、悪意のあるスクリプトをブラウザで実行させる」という点に着目して選択肢を比較します。選択肢アはまさにこの挙動を説明しており、他の選択肢はバッファオーバーフローやマルウェア、マクロウイルスといった別の攻撃手法を指しています。

クロスサイトスクリプティングの基本構造

クロスサイトスクリプティング(Cross-Site Scripting)は、略称でXSSと呼ばれます。この攻撃の本質は、本来サーバー側で適切に処理(サニタイジングやエスケープ)されるべき入力データが、そのまま処理されずにWebブラウザへ返されてしまう点にあります。

攻撃者は、掲示板の投稿欄や検索窓などにJavaScriptなどのスクリプトを埋め込みます。Webアプリケーション側がその入力をチェックせずに「安全な文字列」としてページ内に表示してしまうと、そのページを閲覧した他のユーザーのブラウザ上で、攻撃者が仕込んだスクリプトが勝手に実行されてしまいます。これにより、セッションIDが盗まれてなりすましが行われたり、偽の入力画面へ誘導されたりする被害が発生します。

選択肢の識別プロセス

この問題は、各セキュリティ用語の定義を正しく紐付けられているかを問う知識問題です。それぞれの選択肢が指し示す攻撃手法を整理すると、正解以外を即座に排除できます。

・選択肢イ:長すぎるデータを送りつけてメモリ領域を破壊する攻撃は「バッファオーバーフロー攻撃」です。 ・選択肢ウ:有用なソフトを装って侵入するのは「トロイの木馬」の典型的な特徴です。 ・選択肢エ:ソフトウェアの操作手順を記録する機能を悪用するのは「マクロウイルス」による攻撃です。

「スクリプト」というキーワードが出てきたら、反射的に「クロスサイトスクリプティング」や「SQLインジェクション」を連想できるようにしましょう。その上で、Webブラウザ側で実行されるのがXSS、データベースを操作するのがSQLインジェクションと区別することで、迷いなく正解を選べます。

セキュリティリスクを理解する意義

ITパスポート試験においてこの知識は、単なる暗記項目ではなく、Webアプリケーション開発の現場で「なぜ入力値の検査が必要なのか」という根本的な教訓を学ぶためのものです。

Webサイトを構築する際、開発者が「利用者は正しい情報を入力してくれるはずだ」という性善説に基づいた設計を行うと、XSSのような重大な脆弱性が生まれます。この問題を通して、ユーザーからの入力はすべて悪意がある可能性を考慮すべき(ゼロトラストの精神に通じる考え方)という意識を持つことが、エンジニアやセキュリティ担当者としての重要な適性となります。実務では、スクリプトとして解釈されないよう特殊文字を変換する処理などを徹底することで、こうした被害を防ぐことができます。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう