第14回 Webアプリケーションセキュリティの常識知ってるつもり?「セキュリティの常識」を再確認(1/4 ページ)

Webアプリケーションの脆弱性のほとんどは、開発時のささいなミスから生じる。Webアプリケーションの攻撃から保護するには、専門家によるペネトレーションテストが有効だ。

» 2005年06月16日 13時46分 公開

 最近、Webアプリケーションに存在するセキュリティホールが注目を浴びている。Webサーバのセキュリティ対策というと、一般にファイアウォール、IDS(不正侵入検知システム)、ウイルス対策などがよく知られてきた。しかし、Webアプリケーションへの攻撃に対しては、これらの対策だけでは不十分である。

 一般的に広く使われているWebアプリケーションであれば、IDSのようなもので特定パターンを検知して、攻撃を防ぐことは可能だ。しかし、Webアプリケーションのほとんどが独自に開発されたものであるため、一般的なパターンを検知するだけでは攻撃を防げないのが現状である。

Webアプリケーションのセキュリティ Webアプリケーションのセキュリティ

 そこで、攻撃を受けないために、あらかじめ検査を行う防御策を実施する必要がある。今回は、開発したWebアプリケーションに脆弱性が存在しないか、検査する手法を紹介する。

Webアプリケーションに対する攻撃

 Webアプリケーションの検査の方法を説明する前に、どのような攻撃手法が存在するか、簡単に整理しておこう。現在、一般的に知られている代表的な攻撃には以下のようなものがある。

バッファオーバーフロー(Buffer Over Flow) 確保されたメモリ容量を越える入力データを与え、不正プログラムを実行させる
クロスサイトスクリプティング(Cross Site Scripting) ユーザーのブラウザ上で不正なスクリプトを動かす
パラメータの改ざん(Parameter Manipulation) Webアプリケーションの期待する値とは別の値を送信し、誤動作をさせる
バックドアとデバッグオプション(Backdoor & Debug Option) 開発用、管理者用の秘密の入り口を探す
セッションの悪用(Session Exploitation) セッション情報の推測、盗用を行う
SQLインジェクション(SQL Injection) 不正入力により任意のSQL文を実行させる
OSコマンドインジェクション(OS Command Injection) 不正入力により任意のOSコマンドを実行させる
クライアントサイドコメント(Client Side Comment) HTML内に記述されたコメントから重要な情報を取得する
エラーコード(Error Codes) エラーメッセージの情報を攻撃の糸口にする
強制的ブラウジング(Forceful Browsing 公開されていないファイルに直接アクセスする
不必要情報(Unnecessary Information) 本来公開する必要のない情報から重要な情報を取得する
HTTPSの誤用(HTTPS Misuse) HTTPSを利用していない重要な情報のやり取りを盗聴する
フィルターのバイパス(Filter Bypassing) エンコードした文字列を用いてフィルターを回避する
クロスサイトリクエストフォージェリ(Cross Site Request Forgery) 正規のユーザーの権限を利用し、特定の処理を行うページに誘導させ強制的に 意図しない処理を行わせる

 これらの攻撃のほとんどが、ファイアウォールやIDSなどでは防ぐことができず、アプリケーションレベルで対応しなくてはならない。

Webアプリケーションの脆弱性

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

あなたにおすすめの記事PR