問題本文
SQLインジェクションの対策などで用いられ,処理の誤動作を招かないように,利用者がWebサイトに入力した内容に含まれる有害な文字列を無害な文字列に置き換えることを何と呼ぶか。
選択肢
- ア.サニタイジング
- イ.ストリーミング
- ウ.テザリング
- エ.リバースエンジニアリング
解説
サニタイジング(Sanitizing)は,利用者がWebサイトに入力した値などに含まれる,処理の誤動作を招く有害な特殊文字や命令を,無害化(エスケープや除去)する処理を指す. SQLインジェクションやクロスサイトスクリプティング(XSS)など,入力値由来の攻撃を防ぐ基本対策として広く用いられる. プレースホルダによるパラメータ化クエリと併用される場合も多い. ストリーミングはデータを逐次伝送する技術,テザリングはモバイル端末を経由したインターネット共有,リバースエンジニアリングは完成品から設計情報を逆算する手法であり,いずれも入力値の無害化を意味する用語ではない.
選択肢ごとの解説
- ア.正しい. サニタイジングは,入力値に含まれる有害な文字列(SQLの特殊記号やスクリプトタグなど)を無害な文字列にエスケープ・除去する処理であり,SQLインジェクションやXSSなど入力起因の攻撃対策の基本となる. 本問の説明と用語の定義が直接一致するため,本選択肢が正解として最も適切となる.
- イ.誤り. ストリーミング(Streaming)は,音声や動画などの大容量データを逐次受信・再生しながら配信する伝送方式の説明であり,入力値の無害化処理を指す用語ではない. 通信や配信に関する用語であるため,SQLインジェクション対策の入力検証に関する本問とは無関係であり不適切である.
- ウ.誤り. テザリング(Tethering)は,スマートフォンなどのモバイル端末を経由してPCや他端末をインターネット接続する機能の説明であり,通信機能を指す用語である. 入力値の無害化やSQLインジェクション対策とは無関係であるため,本問の用語としては適切ではない.
- エ.誤り. リバースエンジニアリング(Reverse Engineering)は,完成品やソースコードから設計情報や仕様を逆算的に解析する手法の説明である. 開発・解析の手法であり,Webアプリの入力値を無害化する処理であるサニタイジングとは別概念であるため,本問の用語としては適切ではない.
ITパスポート 2016年 (平成28年 春期) の過去問一覧へ戻る・問64