サニタイジング【sanitizing】サニタイズ
別名 :sanitize/サニタイゼーション/sanitization
概要

Webアプリケーションのセキュリティ対策としてよく用いられる手法で、HTMLタグやJavaScript、SQL文やそれらが使用する区切り記号などを検出して、同じ意味の別の表記に書き換えるエスケープ処理を行ったり、難しい場合は削除する。
例えば、閲覧者が投稿した内容を表示する電子掲示板(BBS)のようなシステムを開発する際に、入力された文字列をそのまま他の閲覧者に表示する仕様にすると、悪意のある閲覧者がHTMLのscriptタグなどで有害な動作をするスクリプトを書き入れ、それが他の閲覧者のWebブラウザに送られて実行されてしまう。
このような事態を防ぐため、入力文字列をチェックして、HTMLでタグとして解釈される角括弧「<」「>」など、システムにとって特殊な意味を持つ文字や記号をHTML実体参照表記に改めるといった置き換え処理を行う。
システムの種類や構成によって脅威となり得る表記や文字は異なるため、どのようなサニタイジング処理を行うかも異なってくる。データベースと連動したシステムでは、SQLインジェクションを防ぐためにSQL文中で意味のある引用符や条件式などを警戒すべきであるし、特定のプログラミング言語やスクリプト言語における表記や、OSコマンドやシェルスクリプトなどに気をつけるべきシステムもある。
なお、サニタイジングされて入力されたデータをプログラムで処理する際にエスケープ処理が解除されてしまう場合などもありえるため、データの無害化をサニタイジングのみに頼るのは危険とされ、Webページなどの場合は出力直前に一律に外部に由来するデータのエスケープなどを行うべきであるとされる。
(2018.7.23更新)
「サニタイジング」の関連用語
他の用語辞典による「サニタイジング」の解説 (外部サイト)
- SOMPO CYBER SECURITY サイバーセキュリティ用語集「サニタイジング」
- Insider's Computer Dictionary「サニタイジング」
- ITパスポート用語辞典「サニタイジング」
- JavaA2Z「サニタイジング」
- PC Magazine (英語)「sanitize」
資格試験などの「サニタイジング」の出題履歴
▼ ITパスポート試験
【平28春 問64】 SQLインジェクションの対策などで用いられ、処理の誤動作を招かないように、利用者がWebサイトに入力した内容に含まれる有害な文字列を無害な文字列に置き換えることを何と呼ぶか。