ITパスポート試験 / 平成28年度 春期 ITパスポート試験 / 問64
certification-simodake-work

平成28年度 春期 ITパスポート試験 問64 解説 サニタイジング

SQLインジェクションの対策などで用いられ, 処理の誤動作を招かないように, 利用者がWebサイトに入力した内容に含まれる有害な文字列を無害な文字列に置き換えることを何と呼ぶか。

  1. ア サニタイジング ✓ 正答
  2. イ ストリーミング
  3. ウ テザリング
  4. エ リバースエンジニアリング

解説

この問題の解き方

問題文にある「入力内容に含まれる有害な文字列を無害な文字列に置き換える」というキーワードに着目します。選択肢の中で、データの安全性(安全・衛生)を確保するための処理を指す言葉は「サニタイジング」だけです。他の選択肢は全く別の技術や概念を指しているため、消去法でも容易に正解が導き出せます。

サニタイジングとは何か

サニタイジング(Sanitizing)は、日本語では無害化や殺菌と訳されます。Webアプリケーションにおいて、利用者が入力フォームに入力したデータには、プログラムを不正に操作するための記号(' や < > など)が含まれている場合があります。

もし、これらの記号をそのままプログラムに渡してしまうと、以下のような危険が発生します。

・SQLインジェクション:データベースを操作するSQL文に細工をし、情報を盗み出したり破壊したりする ・クロスサイトスクリプティング(XSS):悪意のあるスクリプトを埋め込み、他の利用者のブラウザで実行させる

サニタイジングを行うと、例えば < という記号を < という文字コードに置き換えます。これにより、ブラウザはこれをスクリプトとして実行せず、単なる「文字」として表示するようになります。プログラムが意図しない動作をしないよう、あらかじめ入力を検閲・変換しておくことがサニタイジングの本質です。

なぜこの知識が重要なのか

ITパスポート試験においてこの用語が問われる理由は、Web開発におけるセキュリティ対策の基礎の基礎だからです。

現在のシステム開発では、Webサイトを通じて外部からデータを受け取ることが当たり前です。そのデータが必ずしも悪意のないものとは限りません。開発者は「ユーザーが入力する内容は信用してはいけない」という原則のもと、サニタイジングのような無害化処理を徹底する必要があります。

この知識を理解しておくことは、単に試験に合格するためだけでなく、将来的にシステムの発注者側や運用者側に回った際、「うちのシステムは入力値のバリデーションやサニタイジングが適切に行われているか」という視点を持つための強力な武器になります。

その他の選択肢の解説

・ストリーミング:動画や音声などのデータを、すべてダウンロードしきる前に順次再生する技術。 ・テザリング:スマートフォンなどをルーター代わりにして、PCやタブレットなどをインターネットに接続する機能。 ・リバースエンジニアリング:完成したプログラムを解析して、ソースコードや構造を明らかにすること。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう