SC情報処理安全確保支援士試験 午前Ⅰ
平成22年度春期 情報処理安全確保支援士 午前Ⅰ 問14
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アWebアプリケーションに悪意のある入力データを与えてデータベースの問合せや操作を行う命令文を組み立てて、 データを改ざんしたり不正に情報取得したりする攻軸
- イ悪意のあるスクリプトが埋め込まれたWebページを訪問者に閲覧させて、 別のWebサイトで、 その訪問者が意図しない操作を行わせる攻撃
- ウ市販されているデータベース管理システムの騰静性を利用して、 宿主となるデータベースサーバを探して自己伝染を繰り返し、 インターネットのトラフィックを急増させる攻撃
- エ訪問者の入力データをそのまま画面に表示するWebサイトに対して、 悪意のあるスクリプトを埋め込んだ入力データを送り、 訪問者のブラウザで実行させる攻撃
解き方のヒントを見る
入力フォームに「SQLの命令」をこっそり混ぜて、裏側のデータベースをハッキングする
代表的なWeb攻撃「SQLインジェクション」の問題だよ。入力フォームに「 OR '1'='1' 」のような特殊な文字を入れることで、システムが裏側で自動組み立てするSQLデータベースの命令文をバグらせ、本来は見えないデータを盗み出したり、消去したりする攻撃なんだ。プログラムが入力値を「単なる文字列」ではなく「SQLの命令」として実行しちゃうのが原因だよ。
この問題で問われていること
ブラウザ上で動く「XSS(クロスサイトスクリプティング)」や「CSRF」とは違って、「サーバーのデータベースシステム(DBMS)に対して、悪意ある命令(SQL)を直接実行させる攻撃」であることを見抜こう。
SQL インジェクションの本質
攻撃者は入力欄に SQL 構文を混ぜ込み、アプリケーションに意図しない問合せや更新を実行させます。ブラウザでスクリプトを動かす攻撃や、利用者を別サイト操作に誘導する攻撃とは対象が違います。
入力値 -> SQL 文へ混入\nDB が意図しない問合せ/更新を実行
確認ポイント
- ブラウザで悪意あるスクリプトを実行させる説明は XSS です。
- 利用者に意図しない操作をさせる説明は CSRF に近いです。
- データベースへの問合せや更新命令文を組み立てる点に注目しましょう。
正解と解説を見る
正解
イ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
これが正解だよ。SQLインジェクションは、Webアプリの入力欄に普通の名前や検索語ではなく、データベースへの命令文をこっそり混ぜる攻撃だよ。窓口の申込用紙に「ついでに金庫も開けて」と書いて、係の人がそのまま命令として処理してしまう感じだね。データの改ざんや不正取得につながるので、この説明がぴったりだよ。
選択肢イ(正解)
これは不正解だよ。これはクロスサイトリクエストフォージェリ(CSRF)の説明だね。ログイン中の人に、知らないうちに別サイトの注文ボタンを押させるようなイメージだよ。本人のブラウザを利用して意図しない操作をさせる攻撃で、データベース命令を直接混ぜ込むSQLインジェクションとは別物だよ。
選択肢ウ
これは不正解だよ。これはDBMSの弱点を使って次々に別のサーバへ広がるワームのような攻撃の説明だね。風邪が人から人へうつって街全体に広がるイメージだよ。SQLインジェクションは、Webアプリの入力欄からデータベースへの命令をねじ込む攻撃なので、自己伝染する話ではないよ。
選択肢エ
これは不正解だよ。これはクロスサイトスクリプティング(XSS)の説明だね。掲示板に貼られたメモをそのまま店内に掲示したら、実はそのメモに「見た人をだます指示」が書いてあった、みたいな攻撃だよ。問題が聞いているSQLインジェクションはデータベースをだます攻撃なので、ブラウザでスクリプトを動かすこの説明とは違うよ。
出典:独立行政法人 情報処理推進機構(IPA)平成22年度春期 情報処理安全確保支援士試験 午前Ⅰ 問14(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針