問題
問64
SQLインジェクションの対策などで用いられ、処理の誤動作を招かないように、利用者がWebサイトに入力した内容に含まれる有害な文字列を無害な文字列に置き換えることを何と呼ぶか。
- サニタイジング
- ストリーミング
- デザリング
- リバースエンジニアリング
[出典:ITパスポート試験 平成28年度春期 問64]
正解
正解は「ア」です。
解説
正解は「サニタイジング」です。サニタイジングとは、利用者がWebサイトの入力欄に入力した文字列の中から、システムに悪影響を与える可能性のある記号や命令文を検出し、安全な文字列に置き換える処理のことです。SQLインジェクションでは、攻撃者がSQL文として解釈される特殊な文字や構文を入力することで、データベースを不正に操作しようとします。サニタイジングを行うことで、これらの危険な文字列を無効化し、単なる文字データとして扱わせることができます。
日常の例で言うと、食品を食べる前に洗って汚れや菌を取り除くようなもので、危険な要素を事前に除去する役割を果たします。そのため、SQLインジェクション対策として入力値を無害化する処理を指す用語はサニタイジングとなります。
イ(ストリーミング):
データを連続的に送受信する方式を指す用語であり、入力文字列を無害化する処理とは関係がありません。
ウ(デザリング):
スマートフォンなどを経由してインターネット接続を共有する仕組みであり、セキュリティ対策の用語ではありません。
エ(リバースエンジニアリング):
完成したソフトウェアや製品を解析して仕組みを調べる技術であり、入力内容を安全にする処理ではありません。
難易度
本問題は、SQLインジェクション対策として基本的なセキュリティ用語を理解しているかを問う内容です。用語の意味を知っていれば即答できますが、言葉を知らないと選択肢の違いが分かりにくいため、初心者にはやや難しく感じられる可能性があります。
用語補足
SQLインジェクション:
入力欄に不正なSQL文を入力し、データベースを不正操作する攻撃手法です。例として、ログイン認証を回避されるケースがあります。
サニタイジング:
危険な文字や命令を安全な文字に置き換える処理です。記号「’」を無害な形に変換するなどの対策があります。
Webアプリケーション:
ブラウザを通じて利用するアプリケーションです。入力フォームを通じて利用者のデータを受け取ります。
データベース:
大量のデータを効率よく管理する仕組みです。SQLを使ってデータの検索や更新を行います。
対策
SQLインジェクション対策では、「入力値は必ず疑う」という意識が重要です。サニタイジングやエスケープ処理、プレースホルダの利用など、入力内容を直接SQL文に組み込まない設計を理解しておきましょう。用語の暗記だけでなく、「なぜ無害化が必要なのか」を攻撃例と結び付けて学習することで、試験でも実務でも応用しやすくなります。

