スポンサーリンク

【応用情報技術者試験】サニタイジング

サニタイジングとは、Webアプリケーションの入力フォーム等に入力されたデータから、悪意のあるスクリプトやHTMLタグ、SQL文などを取り除き、無害な文字列に変換するセキュリティ対策のことです。主にクロスサイトスクリプティング(XSS)やSQLインジェクション攻撃を防止し、システムを保護するために不可欠なプロセスです。 

概要と重要性

  • 「無害化」の意: データがシステムに悪影響を及ぼさないよう、「消毒(衛生化)」することを意味します。
  • 主な防御対象:
    • クロスサイトスクリプティング(XSS): ユーザーのブラウザ上で不正なスクリプトを実行させ、クッキーなどを盗む攻撃。
    • SQLインジェクション: データベースへ不正なクエリを送り、情報の改ざんや漏洩を狙う攻撃。
  • 具体的な処理: 特殊文字(<>&"' など)を別の安全な文字列(エンティティ)に置き換えたり、不正なタグを削除したりします。

関連技術

  • エスケープ処理: サニタイジングの一種であり、特定の文字を別の文字列表現に置き換える手法。
  • バリデーション(入力チェック): データが期待する形式(メールアドレス、数字など)かどうかを確認し、不正なデータを弾く手法。サニタイジングと組み合わせて使用することが推奨されます。 

主な対象文字
特にWebページにおいて重要な意味を持つ以下の5文字が、サニタイジングの対象となります。 

  • < (小なり)
  • > (大なり)
  • & (アンパサンド)
  • " (ダブルクォーテーション)
  • ' (シングルクォーテーション)

コメント