インターネット概論
あるECサイトの検索フォームに悪意のある文字列を入力され、データベースの内容が不正に取得される被害が発生した。調査の結果、入力値が確認なしに直接SQL文に組み込まれていたことが原因と判明した場合、再発防止のために講じるべき対策として最も適切なものはどれか。
- AウェブサーバのOSを最新版へ更新するだけで十分対応できる。
- Bサイト全体の通信をHTTPS化すれば、この種の被害は防止できる。
- ✓入力値のエスケープ処理やプレースホルダを用いたSQL文の組み立てにより、入力値がSQL文の一部として解釈されないようにする。
- Dページのキャッシュを無効化することで、データベースへの不正な問い合わせを防止する。
解説
この事例はSQLインジェクションであり、根本原因は入力値を検証・無害化せずにSQL文へ組み込んでいたことにある。対策としてはエスケープ処理やプレースホルダ(バインド機構)の利用が有効である。
根拠シラバス「インターネットにおける不正アクセスの種類・方法」「対処、対策方法」