2009年(平成21年) 秋期 情報セキュリティスペシャリスト 午前II 問14

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

Webアプリケーションの実装における対策 Webアプリケーションの実装以外の対策
ア Webアプリケーション中でシェルを起動しない。 chroot環境でWebサーバを実行する。
イ セッションIDを複雑なものにする。 SSLによって通信内容を秘匿する。
ウ バインド機構を利用する。 データベースのアカウントをもつデータベースアクセス権限を必要最小限にする。
エ パス名やファイル名をパラメータとして受け取らないようにする。 重要なファイルを公開領域に置かない。


答え ウ


【解説】
SQLインジェクション対策としてWebアプリケーションの実装で有効な方法には、利用者の入力データをSQL文の変数として扱うバインド機構や、利用者の入力データからSQL文での特殊文字を置き換えるエスケープ処理が有効です。
Webアプリケーション以外の対策としては、基本的なことですがデータベースのアクセス権限を必要最小限にして不正なアクセスを防止します。


【キーワード】
・SQLインジェクション

【キーワードの解説】
  • SQLインジェクション
    Webサイトでユーザーが入力した値をデータベースに問合せを行うような処理があるとき、悪意のあるユーザーが指定する入力値(入力データ)にSQL文を指定することで、データベースへの不正なアクセスを行う攻撃のことです。

もっと、「SQLインジェクション」について調べてみよう。

戻る 一覧へ 次へ