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