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

Webアプリケーションの脆弱性とは、CGIやサーブレットなどクライアントからの要求に対して動的に応答するプログラムに内在するセキュリティ上の問題をいいます。脆弱性を抱えるWebサイトにはWebブラウザから容易に攻撃を行うことができ、かつ、起こりえる被害の影響が大きいため、オンラインサービスに携わる企業にとって深刻な問題となっています。
Webアプリケーションの脆弱性の多くは以下が原因で発生します。

脆弱性が生まれてしまう原因

  • アプリケーションの設計ミス
    セッション管理方法の不備やクライアントからの入力を検証するためのロジックを設けないなど、コーディング自体の問題

  • Webサーバの設定ミス&コンテンツ管理ミス
    ディレクトリリスティング機能をオンにしていたことによる情報の漏洩や、アクセス制限の設定ミス、コンテンツ配置ミスなどによる問題

  • 既知の脆弱性、パッチの未適用
    サードパーティ製品にて発見されたバグに対してパッチの適用漏れによる問題

主な脆弱性

  • クロスサイトスクリプティング
    不正なスクリプトを含むHTTPリクエストを受け取った際に、Webサーバ側で未検証のまま、HTTPレスポンスを返してしまうことに起因する。不特定多数のWebブラウザ上で不正なスクリプトを実行させて、Cookie窃取などの被害が起こりえる。

  • HTTPレスポンス分割
    HTTPリクエスト内に不正にCR,LFコードを挿入された場合に、HTTPレスポンスのヘッダを任意に改行、改ざんされてしまうこと。攻撃者によりHTTPレスポンスの内容を自在に改ざんされるため、様々な被害が起こりえる。

  • パラメータの改ざん
    HTML内のパラメータの削除や記号を挿入された場合に、アプリケーションロジックが破壊されてしまうこと。攻撃の結果としてどのような現象が起こるか想定が難しいケースが多い。

  • Hiddenフィールドの不正操作
    Hiddenフィールドを不正に改ざんされてしまうこと。例えば、商品の価格などをHiddenで受渡ししている場合に、価格を任意に変更されてしまうなどの被害が起こりえる。

  • バックドア及びデバッグオプション
    開発中にデバッグなどのために用いられたバックドアやデバッグオプションを運用に入る段階で削除し忘れることに起因する。仮にこれらの機能を第三者に悪用された場合、通常、管理者に匹敵する権限を奪われることになってしまう。

  • OSコマンドインジェクション
    Webアプリケーションを介して外部から不正にOSコマンドを実行されてしまうこと。Webサーバ側でのOSコマンドで用いる記号などのチェック不足に起因する。

  • SQLインジェクション
    Webアプリケーションを介して外部から不正にSQLコマンドを実行されてしまうこと。機密情報を格納するデータベースを直接操作されてしまうため、情報の漏洩など重大な被害になりえる。

  • 強制ブラウジング
    アドレスバーにURLを直接書き込むことで、本来アクセスを許していないページを表示させてしまうこと。認証が必要なページを認証せずにアクセスされてしまうなどの被害が起こりえる。

  • アプリケーション・バッファオーバーフロー
    Webアプリケーションを介して外部から巨大なデータを送り込まれた場合に、そのまま処理を実行してしまうことに起因する。万が一システムのバッファ領域を超えてしまった場合、システムダウンや不正な処理を強制実行されてしまうなどの被害が起こりえる。

  • Cookieの濫用
    Cookieの内容を改ざんされてしまうこと。Cookie内にセッションIDなど含めている場合、なりすましなどの被害が起こりえる。

  • コンテンツの脆弱性
    HTML内に不要なコメントが残っているなど、コンテンツ作成における不備に起因する

本文中に記載されている会社名および製品名はそれぞれ各社の商標、または登録商標です。

AppScanに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ネットワークセキュリティ事業部
    第3営業部
    セキュリティプロダクツ営業2課

    03-4405-7814

メールでのお問い合わせ
watchfire@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。