平成25年 秋期 情報セキュリティスペシャリスト 午前II 問15

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

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


答え ウ


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


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

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

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

戻る 一覧へ 次へ