セキュリティ実装技術
要点と定義
ディレクトリトラバーサルは、入力に上位ディレクトリを示す要素を含めるなどして、許可された範囲外のファイルへアクセスしようとする攻撃である。セッションIDの無効化は、サーバ側でそのIDを使った認証済みセッションの継続を拒む処理である。パケットフィルタリングは、通信パケットのヘッダーに含まれる情報を設定ルールと照合して通過可否を制御する。WAFはWebアプリケーションを狙う通信を検査し、攻撃を検知・遮断する仕組みである。リスクベース認証は、アクセス環境などに応じてリスクを評価し、必要に応じて追加の本人確認を行う認証方式である。DNSSECはDNSデータのディジタル署名を検証して、データの正当性と改ざんの有無を確認する仕組みである。TPMは鍵やハッシュ、暗号処理を扱う機器搭載型のセキュリティチップである。
適用条件と例
利用者入力からファイルパスを組み立てる場合は、許可するディレクトリの範囲を外れないように入力を検証する。ログアウト時はサーバ側でセッションIDを無効にし、そのIDによる継続利用を防ぐ。パケットフィルタリングでは通信元・通信先のIPアドレスやポート番号などをルールと照合し、公開不要なサーバへの通信を拒否できる。一方、許可済みの通信に含まれるアプリケーション攻撃や大量の正規形式のHTTP要求は、単純なパケット条件だけでは適切に判別できない。Webアプリケーションへの攻撃の検査・遮断にはWAFを用いる。アクセス環境などからリスクが高いと判断した場合に追加認証を求める方式がリスクベース認証である。DNSSECではDNSデータに付されたディジタル署名を公開鍵で検証する。TPMは機器に搭載され、鍵生成やハッシュ演算、暗号処理を行うセキュリティチップである。
ファイルパスの組立てに上位ディレクトリを示す要素を混入させ、許可されたディレクトリの外にあるファイルへアクセスする攻撃がディレクトリトラバーサルである。対策の要点は、入力から生成するパスが許可範囲を逸脱しないようにすることである。
ログアウト後のセッション乗っ取りを防ぐには、サーバ側で対象のセッションIDを無効にする。ブラウザのキャッシュ削除やIDの保存先変更だけでは、サーバがそのIDを受け付けなくなるわけではない。
パケットフィルタリングのルールで公開不要なサーバへの通信を拒否すれば、必要なサービスへの通信を許可したまま、そのサーバへの到達を制限できる。アプリケーションの脆弱性を突く通信や、許可されたHTTP通信と区別しにくい大量要求は、単純なフィルタ条件だけでは防ぎにくい。
この節の続き
- 誤りやすい点
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む