過去問解きまくり研究所 ホーム

平成28年度 秋期 情報セキュリティスペシャリスト試験 午前Ⅱ 問17

アプリケーションセキュリティ

SQLインジェクションの問題

SQL インジェクション対策について,Web アプリケーションの実装における対策と Web アプリケーションの実装以外の対策として,ともに適切なものはどれか。

Web アプリケーションの実装における対策Web アプリケーションの実装以外の対策
アWeb アプリケーション中でシェルを起動しない。chroot 環境で Web サーバを稼働させる。
イセッション ID を乱数で生成する。TLS によって通信内容を秘匿する。
ウパス名やファイル名をパラメタとして受け取らないようにする。重要なファイルを公開領域に置かない。
エプレースホルダを利用する。データベースのアカウントがもつデータベースアクセス権限を必要最小限にする。
答えと解説を見る

✓ これが正解エプレースホルダを利用する。 / データベースのアカウントがもつデータベースアクセス権限を必要最小限にする。

解説

プレースホルダの利用と、アカウントの権限の最小化の組です。

表の各行は、実装での対策と、実装以外の対策の組です。まず、各行がどの攻撃に向けた対策かを仕分けます。SQL インジェクションは、入力に紛れ込ませた文字列で SQL 文の構造を書き換える攻撃です。実装では、プレースホルダを使って SQL 文の形を先に固め、入力は値としてだけ扱わせます。実装以外では、データベースのアカウントの権限を必要最小限にしておけば、万一攻撃が成功しても被害の範囲を抑えられます。どちらの列も SQL インジェクションに向いているのは、この行だけです。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成28年度 秋期 情報セキュリティスペシャリスト試験 午前Ⅱ 問17

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)