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

令和5年度 春期 午前Ⅱ 問17

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

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

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

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

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

解説

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

選択肢の組は、どれも Web アプリケーションの脆弱性への対策として知られるものですが、対象となる脆弱性がそれぞれ異なります。SQL インジェクションは、入力値によって SQL 文の構造が書き換えられてしまう脆弱性です。実装での対策としては、プレースホルダを利用して SQL 文の構造を固定することが基本になります。実装以外の対策としては、アプリケーションが使うデータベースのアカウントの権限を必要最小限にし、万一攻撃が成功しても被害を小さく抑えます。

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

この問題の用語

出典:令和5年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問17

同じ用語が出る問題

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