ソフテック・トップページへ
ホーム 製品 セキュリティ・サービス HPCサービス ダウンロード 企業情報
WebProbe、セキュリティサービスに関するご質問の方は、こちらからお問い合わせください 

ソフテックは、WAS
(Web Application Security)
フォーラムの実行委員として
活動しています。


SofTek Security TOPIC
Webアプリケーション・セキュリティ
脅威の分類とハッキング統計
2007/8/28 updated

■ Webハッキング・インシデントの傾向

 オープンな業界団体の一つである Web Application Security Consortium (WASC) は、Webアプリケーションのセキュリティ脆弱性の原因によって、Webハッキングされたインシデントのデータベース (The Web Hacking Incidents Database=WHID) を作成し公表しています。このデータベースは、メディアによって報告された信頼性が高いインシデントのみを用いているため、数的には大きなサンプル数ではありません。しかし、現在の Webハッキングの攻撃方法の傾向は、このインシデント調査によってよく表されているものと思われます。しかし、これらは氷山の一角であり、Webハッキングの絶対数はさらに多いものと予想されます。また、Webアプリケーションに対する攻撃は、2005年より増加傾向を示しておりますので、今後のセキュリティの脅威として注意すべきでしょう。

 以下の表は、インシデントをWASC脅威分類によって整理した攻撃方法の統計を表したものです。日本においては、Webアプリケーションの脆弱性への脅威として、「クロスサイトスクリプティング」や「SQLインジェクション」等による攻撃リスクのみを話題にする傾向が多いようですが、この表に示したとおり、攻撃の手口は多岐に渡ります。「SQLインジェクション」は、確かに大量に情報が漏洩するリスクとして注意すべき脅威ですが、実は、それ以上にセッション管理に係る欠陥に対する攻撃数が多いことが分かります。これは、WASC分類では、主に、「承認(Authorization)」に属します。下記の表では、背景がクリーム色のものが相当します。セッション管理に係る脆弱性は、サイト運営者は往々にして気づかない場合も多く、問題が発覚した時もその痕跡を追うことが難しいと言う特徴があります。セッション管理に係るインシデントが多いのは、今までこうした脆弱性に対して、体系化された検査手法が確立されていなかったと言うことも一つの要因です。Webサイトの安全性を担保するためには、必ずセッション管理系の脆弱性、欠陥を排除することが必要となります。従って、Webセキュリティの監査並びに運用時のレビューにおいては、必ず、セッション管理に係る脅威に対する検査、対策を行うことをお勧めします。



インシデントの件数と攻撃の傾向 (WASC 脅威分類による)

Last update: 02 Jul 2007
攻撃の細分類 大分類 個数
 クロスサイトスクリプティング  クライアント側での攻撃 53
 SQLインジェクション  コマンドの実行 22
 不明  不明 36
 不適切な承認  承認 19
 証明書・セッションの推測  承認 16
 不適切な認証  認証 14
 OSの命令  コマンドの実行 8
 推測可能なリソースの位置  情報公開 7
 その他  その他 6
 情報漏洩  情報公開 4
 もろいパスワード復元の検証  認証 4
 コンテンツの詐称  クライアント側での攻撃 4
 機能の悪用  ロジックを狙った攻撃 4
 総当り攻撃  認証 2
 Defacement  その他 1
 サービス拒否  ロジックを狙った攻撃 1
 ディレクトリ・インデックシング  情報公開 1
 HTTPレスポンスの分割  複合脅威 1
 自動化の停止が不適切  ロジックを狙った攻撃 2
 既知の脆弱性  その他 1
 パスの乗り換え  情報公開 1
 フィッシング  その他 1
 リダイレクション  その他 1
 ワーム  その他 2

(出展) Web Hacking Statistics : http://www.webappsec.org/projects/whid/statistics.shtml



■ Webセキュリティの脅威への対策

 Webアプリケーションの設計・開発では、Webセキュリティの脅威に関する知見を持つだけではなく、それに対するガイドラインに基づいて開発を行うことが必要です。一方、現実のWebサイトにおいては、未だにWebアプリケーションの脆弱性が潜在しているケースが非常に多いものと想定されます。このような場合には、Webアプリケーションの脆弱性に関する監査を早急に行うことが必要です。その際の検査方法とレビューの流れを以下に示しました。一般に、Webアプリケーションの脆弱性検査は、「スキャン方式」のツール等によってのみ行う風潮がありますが、上記の統計データで示したとおり、現在の攻撃方法が「セッション管理系の脆弱性」の盲点を突いたものの比率も大きいため、基本的な検査として必ず、「セッション管理系の検査」を行うべきです。この検査の方法には、手動で行う検査もありますが、問題に対して体系的に行うことができず検査品質も一定とはいえません。このようなことを回避するために、ソフテックが開発したセッション管理の脆弱性に特化した検査ツール WebProbe を使用して検査を行うことも一つの方法です。

 一方、Webアプリケーションファイアウォール(WAF)を使用して、こうした脅威に対する対策を施す組織も多くなってきました。しかし、「セッション管理系の脆弱性、欠陥」への脅威に対しては、Webアプリケーションファイアウォールは無防備です次項を参照)。WAFを設置する場合においても、予め、既存のWebアプリケーションの検査を行い、そのレビューと改善を行った後にWAFの運用を行うことが望まれます。

Webアプリケーションのシステム監査(検査) 改善 運用 対策法評価
スキャン方式検査 アプリ改修
スキャン方式検査 セッション管理系検査 アプリ改修
スキャン方式検査 セッション管理系検査 アプリ改修 WAF実装
 ■ ソフテックWebサーバセキュア運用ソリューション
 ■ セッション管理脆弱性検査ツール WebProbe こちらをご覧ください



■ Webセキュリティの脅威の分類と検査可能なツール対応表

 Web Application Security Consortium は、Webサイトのセキュリティに対する脅威を明らかするため、「Webセキュリティの脅威の分類(PDF)」として 6 領域 24 種類の体系化を行いました。Webアプリケーションに対する既知の攻撃を分類・特定し、業界標準の用語を作成し、各攻撃の分類名を統一することにより、Webサイトを脅かすセキュリティリスクを明確にすることを目的としています。これは、Webサイトが既知の脅威すべてに対し、設計・開発・レビューを行っているかどうかを判断するために、ガイドラインとして使用することができます。以下の表に、「脅威の分類」を纏めました。

 一方、現在運用中の Webアプリケーション上の脆弱性、欠陥を把握することも重要なことです。こうした脅威に対する脆弱性を体系的に調べるためには、一般に検査ツールを活用します。しかし、検査ツールは、以下に分類された全ての脅威に対して、その脆弱性、欠陥を検出することはできません。以下の表では検査ツールとして、「スキャン手法で行うツール」と「セッション管理に特化したツール WebProbe」の二つを例にとり、各攻撃の分類に対して、検査可能な対象を示しました。また、Webアプリケーションファイアウォールによって、一般的に対応可能な「攻撃」対象も示し、これら三つのツールの比較を行いました。 
 この表で理解できることは、セッション管理に係る欠陥攻撃分類「承認」)は、「スキャン手法で行うツール」でも「Webアプリケーションファイアウォール」によっても検出、防御できないことです。ソフテックは、世界で初めて、こうしたセッション管理にかかわる脆弱性、欠陥の検出ツール WebProbe を開発しました。今までの手動検査に頼る方法では、多くの時間を必要とするだけでなく検査する個人のスキルに依存し、体系化された検査ができません。セッション管理に係る脆弱性、結果の検査においては、是非 WebProbe をご利用ください。

セッション管理用語集 WebProbe 検査項目一覧


Webセキュリティの脅威の分類 (WASC分類)と対策ツール

Scan系 : 脆弱性のスキャン検査ツール
WebProbe : セッション管理に係る脆弱性検査ツール
WAF : Webアプリケーションファイアウォール
攻撃の分類 検査・対策ツール
■ 認証(Authentication) Scan
Web
Probe
WAF
1 総当たり攻撃(Brute Force)

総当たり攻撃は、ユーザ名やパスワード、クレジットカード番号、暗号鍵を推測する目的で、トライアンドエラーを自動的に行う手法です。

× × ×
2 不適切な認証(Insufficient Authentication)

認証が不適切だと、Web サイトが攻撃者に十分な認証をさせることなしに、秘密のコンテンツや機能にアクセスさせてしまいます。

× × ×
3 もろいパスワード復元の検証(Weak Password Recovery Validation)

パスワード復元に当たって検証が弱いと、Web サイトが攻撃者に他のユーザのパスワードを不正に取得・変更・復元させてしまいます。

× × ×
■ 承認(Authorization)
4 証明書・セッションの推測(Credential/Session Prediction)

証明書・セッションの推測は、Web サイトのユーザをハイジャックしたりなりすましたりする方法です。

×
session
×
5 不適切な承認(Insufficient Authorization)

承認が不適切だと、Web サイトはよりきついアクセス制御を必要とする秘密のコンテンツや機能にアクセスさせてしまいます。

× ×
6 不適切なセッション期限(Insufficient Session Expiration)

セッションの期限が不適切だと、Web サイトは攻撃者に承認の際に古いセッション証明書やセッションID を再利用させてしまいます。

× ×
7 セッションの固定(Session Fixation)

セッションの固定は、ユーザのセッションID の値を直接変えてしまう攻撃手法の一つです。

× × ×
■ クライアント側での攻撃(Client-side Attacks)
8 コンテンツの詐称(Content Spoofing)

コンテンツの詐称は、ユーザをだまし、あるWeb サイトに載っているコンテンツが正規のもので、外部リソースから来ているものではない、と信じ込ませる攻撃技術です。

×
login
のみ
×
9 クロスサイトスクリプティング(Cross-site Scripting)

クロスサイトスクリプティング(XSS)は、Web サイトに攻撃者が用意した実行コードを折り返させ、それをユーザのブラウザにロードさせる攻撃です。

×
■ コマンドの実行(Command Execution)
10 バッファオーバフロー(Buffer Overflow)

バッファオーバフローの悪用は、メモリの一部を上書きすることで、アプリケーションのフローを変えてしまう攻撃です。

×
11 書式文字列攻撃(Format String Attack)

書式文字列攻撃は、他のメモリ領域にアクセスするために文字列を整形するライブラリの機能を利用し、アプリケーションのフローを変えてしまう攻撃です。

× ×
12 LDAP インジェクション(LDAP Injection)

LDAP インジェクションは、ユーザの入力からLDAP 文を作り、Web サイトに打撃を与える攻撃手法です。

× ×
13 OS の命令(OS Commanding)

OS の命令は、アプリケーションの入力を改ざんし、オペレーティングシステムのコマンドを実行することで、Web サイトに打撃を与える攻撃技術です。

×
14 SQL インジェクション(SQL Injection)

SQL インジェクションは、ユーザの入力からSQL 文を作り、Web サイトに打撃を与える攻撃手法です。

×
15 SSI インジェクション(SSI Injection)

SSI インジェクション(Server-side Include)は、攻撃者がWeb アプリケーションへコードを送れるようにする、サーバ側の悪用技術です。コードが送り込まれた後、Web サーバはローカルでそのコードを実行してしまいます。

×
16 XPath インジェクション(XPath Injection)

XPath インジェクションは、ユーザの入力からXPath クエリを作り、Web サイトに打撃を与える攻撃技術です。

× ×
■ 情報公開(Information Disclosure)
17 ディレクトリ・インデックシング(Directory Indexing)

Web サーバは、自動でディレクトリのリストを表示したり、索引を作ったりする機能を持っています。基本となるファイルが存在しないと、通常はリクエストされたディレクトリにあるすべてのファイルのリストを表示します。

×
18 情報漏洩(Information Leakage)

情報漏洩は、Web サイトが秘密のデータ - たとえば、開発者のコメントやエラーメッセージなど‐ を漏らすことで、攻撃者がそのシステムを悪用する足掛かりとする恐れがあります。

×
19 パスの乗り換え(Path Traversal)

パスの乗り換え攻撃は、Web のドキュメントルートの外に存在すると思われるファイルやディレクトリ、コマンドに、無理やりアクセスする攻撃技術です。

×
20 推測可能なリソースの位置(Predictable Resource Location)

推測可能なリソースの位置は、Web サイトの隠されているコンテンツや機能を暴く攻撃手法です。

×
■ ロジックを狙った攻撃(Logical Attacks)
21 機能の悪用(Abuse of Functionality)

機能の悪用は、Web サイト自体が持つ特徴や機能を利用して、アクセス制御機構を消耗させたり、だましたり、回避したりする攻撃手法です。

× ×
22 サービス拒否(Denial of Service)

サービス拒否(DoS)は、Web サーバが一般ユーザへ提供するサービスを妨害する攻撃手法です。

×
23 自動化の停止が不適切(Insufficient Anti-automation)

自動化の停止が不適切だと、手動でのみ実行すべきプロセスを、Web サーバが攻撃者に自動で実行させてしまいます。

× × ×
24 不適切なプロセス検証(Insufficient Process Validation)

プロセス検証が不適切だと、Web サイトがアプリケーションにかけていたフロー制御を、攻撃者が回避したり、抜け道を作ったりしてしまいます。

× × ×
上記は、原著をそのまま引用 ソフテック追加

各脅威に対する検査ツールの対応可能性に関しては、概ね対応可能とされるものを○印で、対応不可能なものを×印で示しました。なお、全てを保証するものではありませんのでご注意ください

(出典) Web Application Security Consortium http://www.webappsec.org/projects/threat/
     Copyright 2004, Web Application Security Consortium. All rights reserved.

上記の表の一部は、原著の内容を忠実に示すために、原著ドキュメント(日本語版)から抜粋、引用しました。なお、本原著は、オープン・コンテント許諾( OpenContent License (OPL) )に準拠しており、本許諾及び無保証に関する全ての記載を、以下に元のままの形で表示します。

Terms and Conditions for Copying, Distributing, and Modifying

Items other than copying, distributing, and modifying the Content with which this license was distributed (such as using, etc.) are outside the scope of this license.

1. You may copy and distribute exact replicas of the OpenContent (OC) as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the OC a copy of this License along with the OC. You may at your option charge a fee for the media and/or handling involved in creating a unique copy of the OC for use offline, you may at your option offer instructional support for the OC in exchange for a fee, or you may at your option offer warranty in exchange for a fee. You may not charge a fee for the OC itself. You may not charge a fee for the sole service of providing access to and/or use of the OC via a network (e.g. the Internet), whether it be via the world wide web, FTP, or any other method.

2. You may modify your copy or copies of the OpenContent or any portion of it, thus forming works based on the Content, and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

a) You must cause the modified content to carry prominent notices stating that you changed it, the exact nature and content of the changes, and the date of any change.

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the OC or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License, unless otherwise permitted under applicable Fair Use law.

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the OC, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the OC, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Exceptions are made to this requirement to release modified works free of charge under this license only in compliance with Fair Use law where applicable.

3. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to copy, distribute or modify the OC. These actions are prohibited by law if you do not accept this License. Therefore, by distributing or translating the OC, or by deriving works herefrom, you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or translating the OC.

NO WARRANTY

4. BECAUSE THE OPENCONTENT (OC) IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE OC, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE OC "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK OF USE OF THE OC IS WITH YOU. SHOULD THE OC PROVE FAULTY, INACCURATE, OR OTHERWISE UNACCEPTABLE YOU ASSUME THE COST OF ALL NECESSARY REPAIR OR CORRECTION.

5. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MIRROR AND/OR REDISTRIBUTE THE OC AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE OC, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

   画面のトップへ


サイトマップ お問合せ
Copyright 2006 SofTek Systems Inc. All Rights Reserved.