*セキュリティ用語集*


*Sanitize*

用語の別名サニタイズ、特殊文字無効化
ジャンル[防御]
内容不特定多数のユーザから入力を受け付けるシステムにおいて、アプリケーションの中で単なる文字列として解釈されない可能性のある文字列やデータを無効化する処理を指します。検索や登録など、ユーザからの入力を使用して動的なコンテンツを生成するシステムでは、これらの特殊な文字やデータの無効化について検討する必要があります。
最も簡単な例として、UNIX系のOSで登録されているユーザ一覧を持っているファイルを表示させるコマンドの前後に、前のコマンドを区切るためのセミコロンを付けた「;cat /etc/passwd;」という文字列を入力してみる、というのがあります。これは、システムがUNIX系のOSで構成されていて、なおかつユーザの入力文字列が外部コマンドなどでシェルに渡されることを期待した入力ですが、もしその通りであれば確かにパスワードファイルを表示させることが出来ます。これを防ぐにはユーザの入力内容をチェックしてセミコロンを消去するというサニタイズを実施すればよいわけですが、セミコロンを消去することによるアプリケーションへの影響や、セミコロン以外の文字についても検討する必要があります。つまり、サニタイズに関してシステムの設計段階から考慮に入れておく必要があります。最近はインターネット向けのアプリケーションのように、匿名性の高いユーザに様々なサービスを提供するシステムが増えており、性悪説を前提としたシステムの構築が求められています。


ネットワークセキュリティ関係者の部屋 > gLOSSARY > Sanitize