SQLとは?
SQLとは、関係データベースへ問い合わせや更新を指示するための言語。検索、追加、変更、削除を命令として記述する。攻撃者がこの命令文を外部から紛れ込ませる手口があるため、利用部門の管理者も「データベースは命令文で操作される」という前提を理解しておく必要がある。
情報セキュリティマネジメント試験の過去問では3回出題されています(2016年度〜2023年度)。
えすきゅーえる
SQLの意味
関係データベースへ問い合わせや更新を指示するための言語。検索、追加、変更、削除を命令として記述する。攻撃者がこの命令文を外部から紛れ込ませる手口があるため、利用部門の管理者も「データベースは命令文で操作される」という前提を理解しておく必要がある。
SQLの具体例
経理部が請求データの集計を情報システム部へ依頼したところ、担当者がデータベースへ検索の命令を書いて抽出した。この抽出作業には参照だけの権限を持つ専用アカウントを使い、更新や削除ができないようにして誤操作の危険を下げた。
SQLは試験でどう引っ掛けられる?
SQLはプログラミング言語ではなくデータベース操作用の言語であり、画面や帳票を作る機能はない。またSQLインジェクションはSQLそのものの欠陥ではなく、アプリの作り方の問題である。
SQLと関連する用語
SQLが出た過去問
クライアントとWebサーバの間において、クライアントからWebサーバに送信されたデータを検査して、SQLインジェクションなどの攻撃を遮断するためのものはどれか。
正解:WAF
要点:WAFはHTTPの中身を検査してWebアプリへの攻撃を遮断する
WAF(Web Application Firewall)は、HTTPリクエストの中身を解析し、SQLインジェクションやクロスサイトスクリプティングなど、Webアプリケーションの脆弱性を突く攻撃パターンを検出して遮断する。通常のファイアウォールが見ないアプリケーション層のデータを検査する点が特徴である。
出典:平成28年度 春期 情報セキュリティマネジメント試験 午前 問13(IPA)WAFの説明はどれか。
正解:Webサイトに対するアクセス内容を監視し,攻撃とみなされるパターンを検知したときに当該アクセスを遮断する。
要点:WAFはHTTPの中身を見てアプリ層の攻撃を遮断する
WAFはWebアプリケーションへのHTTP通信の内容を検査し、SQLインジェクションやクロスサイトスクリプティングなどの攻撃に特徴的なパターンを検知したときに、その通信を遮断または無害化する仕組みである。ネットワーク層のポート単位で制御するファイアウォールでは防げない、アプリケーション層の攻撃に対処できる点が特徴である。
出典:平成30年度 春期 情報セキュリティマネジメント試験 午前 問12(IPA)Webアプリケーションにおけるセキュリティ上の脅威とその対策に関する記述のうち,適切なものはどれか。
正解:SQLインジェクションを防ぐために,Webアプリケーション内でデータベースへの問合せを作成する際にプレースホルダを使用する。
要点:SQLインジェクション対策の基本はプレースホルダの利用
SQLインジェクションは、入力値がSQL文の一部として解釈されてしまうことで起こります。プレースホルダを使って値をパラメータとして渡せば、入力内容がSQLの構文として扱われなくなるため、根本的な対策になります。脅威と対策の対応を取り違えないことがこの問題の要点です。
出典:令和5年度 (公開問題) 情報セキュリティマネジメント試験 kamokuAB 問7(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。