問題
SQLインジェクション攻撃の対策として、最も適切なものはどれか。
選択肢
- 1ア ファイアウォールの導入
- 2イ プレースホルダ(バインド機構)を使用したSQL文の組み立て
- 3ウ ウイルス対策ソフトの導入
- 4エ 通信の暗号化(SSL/TLS)
正解
2. イ プレースホルダ(バインド機構)を使用したSQL文の組み立て
詳しい解説を見る解説を閉じる
解説
SQLインジェクションは、Webアプリの入力欄に不正なSQL文の断片を入力し、データベースを不正に操作する攻撃である。最も効果的な対策はプレースホルダ(バインド機構)を用いたSQL文の組み立てであり、入力値が常に単なるデータとして扱われるためSQL文の構造を改変できなくなる。よってイが正解である。アのファイアウォールは通信の許可・遮断を行うがアプリ層の正規リクエストに偽装した攻撃は防げず、ウのウイルス対策ソフトはマルウェア対策、エのSSL/TLSは盗聴対策であり、いずれもSQLインジェクションの直接の対策にならない。「攻撃名と対策の正しい組合せ」は頻出であり、エスケープ処理も併せて覚えたい。
一問一答
全200問を繰り返し学習