JP3896486B2 - Website inspection equipment - Google Patents
Website inspection equipment Download PDFInfo
- Publication number
- JP3896486B2 JP3896486B2 JP2003100271A JP2003100271A JP3896486B2 JP 3896486 B2 JP3896486 B2 JP 3896486B2 JP 2003100271 A JP2003100271 A JP 2003100271A JP 2003100271 A JP2003100271 A JP 2003100271A JP 3896486 B2 JP3896486 B2 JP 3896486B2
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- unit
- website
- web page
- personal information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【0001】
【発明の属する技術分野】
この発明は装置を検査する技術に関し、とくにネットワークを介してコンテンツを提供するウェブサイトに内在する脆弱性を検査する技術に関する。
【0002】
【従来の技術】
ネットワーク技術が発展することにより、例えば電子メールの利用やウェブサイトの閲覧のためにネットワーク利用者数が増大している。こうしたネットワークの利用は、今や当然の情報取得手段として日々の生活に浸透しつつある。また、ユーザ数の増加と相乗して、様々なサービスを提供するウェブサイトの数も増加している。こうしたウェブサイトの中には、例えばショッピングサイト等のようにユーザの個人情報を扱い、ユーザ毎にサービスを提供するものが多く存在する。
【0003】
本来、そうしたウェブサイトは、個人情報の漏洩が無いようにセキュリティを考えたウェブアプリケーションの設計がなされ、作成される必要があるが、実際には欠陥を有するウェブサイトが多く存在する。ハッカーやクラッカーなどと呼ばれる意図的にウェブサイトに攻撃を仕掛ける者は、ウェブサイトにおける欠陥を探し出し、例えば、なりすましやクロスサイトスクリプティングなどの攻撃を仕掛け、個人情報を盗用する。
【0004】
近年、ウェブサイトにおける個人情報の漏洩問題が頻繁に取り沙汰され、その攻撃手法なども公表されているにも拘わらず、一向に問題は減少しない。こうした問題を引き起こすセキュリティ上の欠陥は、例えばウェブアプリケーションの開発、作成時の基礎的な誤りであることが多い。また、ウェブサイトの運用者の問題意識が欠落していることにより、個人情報の漏洩が起こりうる欠陥があるにもかかわらず、欠陥を放置したまま運用がされているウェブサイトもある。
【0005】
こうした個人情報の漏洩を防止する技術として、既知の攻撃パターンと、実際の通信パターンとを比較して攻撃を検出し、サイト管理者に通知するIDS(Intruder Detection System)や、既知の攻撃パターンを検査対象のウェブサイトに対してテスト目的で仕掛けることで、脆弱性の有無を検出する技術がある(特許文献1)。
【0006】
【特許文献1】
米国特許第6311278号明細書
【0007】
【発明が解決しようとする課題】
しかしながら、こうしたセキュリティ対策技術は、既知の攻撃が対象であり、新たなパターンで攻撃された場合には、それを防ぐことはできない。また、特許文献1で開示される技術では、検査対象のウェブサイトに対して攻撃を直接行うので、仮に調査対象のウェブサイトに脆弱性が存在する場合、検査のためにそのウェブサイトに予期せぬダメージを与えかねない。
【0008】
本発明は上記課題に鑑みてなされたものであり、その目的は、ウェブサイトに内在する脆弱性を検査する技術、ウェブサイトに対して攻撃を仕掛けることなく脆弱性を判断する技術、客観的な基準に基づいてウェブサイトの安全性を評価するための技術を提供することにある。また、副次的には、いわゆる不正アクセスとみなしうる検査手法を回避した検査技術を提供することにある。さらに別の目的としては、実際にウェブサイトを利用しようとしている個人本人が、その利用に先立ってウェブサイトの安全性を個人レベルで確認する技術を提供することにある。
【0009】
【課題を解決するための手段】
本発明によれば、クライアントからウェブサイトのウェブページを取得する処理を繰り返すことにより得られたウェブサイトとクライアントとの通信内容を複数取得する取得部と、複数の通信内容に含まれる各種のパラメータが所定の条件を満たす場合に、当該パラメータに対応付けてポイントを加点する処理を行い、ポイントの合計点の高いパラメータをウェブサイトとクライアントとのセッションを特定するセッション追跡パラメータである可能性が高いと推定する推定部と、推定部がセッション追跡パラメータである可能性が高いと推定したパラメータのデータ構成または伝送形式、あるいはパラメータを用いてまたは削除してウェブサイトと通信を行った場合の通信結果に基づいて、ウェブサイトを分析する分析部と、を含むことを特徴とするウェブサイトの検査装置が提供される。これにより、この装置は、通信内容に含まれるセッション追跡パラメータに基づいて、間接的にウェブサイトの脆弱性を分析することができるので、検査行為によりウェブサイトに悪影響を及ぼさない。
【0010】
また、これにより、通信内容に含まれる各種のパラメータから、セッション追跡パラメータとして利用されている可能性の高いパラメータを抽出できる。
推定部は、各パラメータが存在する領域、各パラメータに含まれる文字列、または各パラメータを削除してウェブサイトと通信を行った場合の通信結果に基づき、当該パラメータが所定の条件を満たすか否かを判断することができる。
推定部は、各パラメータが、Authorizationフィールド中にある場合、各パラメータが、ログアウト時に設定されたクッキー中にある場合、各パラメータが、セキュアフラグのセットされたクッキー中にある場合、各パラメータが、特定の文字列を含むパラメータ名の場合、各パラメータを削ると個人情報画面が表示されなくなることが確認された場合、各パラメータが、ログイン直後の画面に含まれていた場合、または、各パラメータが、個人情報を表示する画面を出すためのリクエスト中に常に含まれていた場合のいずれかが確認されたときに当該パラメータに対応付けてポイントを加点する処理を行うことができる。
本発明の装置は、ユーザに、ウェブサイトへのログイン、ウェブサイトにおける個人情報を含むウェブページの取得、およびウェブサイトにおける複数のウェブページの取得を指示する指示部をさらに含むことができ、取得部は、指示部の指示に対してユーザがクライアントからウェブサイトと通信している間に、当該通信内容を取得することができる。
【0011】
前記推定部は、前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを注目ページとして特定する特定部を含むことができ、当該特定部により前記注目ページとして特定された前記ウェブページに含まれる前記パラメータに高い優先度をつけることができる。これにより、セッション追跡パラメータを更に絞り込むことができる。「注目ページ」は、例えばログイン画面、個人情報設定画面など本来セッションを特定する情報が付加されるべきウェブページである。
【0012】
前記推定部は、前記ウェブサイトと前記クライアントとのセッションにおいて、所定の文字列が含まれているウェブページを注目ページとして特定する特定部を含むことができ、当該特定部により前記注目ページとして特定されたウェブページに含まれる前記パラメータに高い優先度をつけることができる。これにより、特定部は、通信内容に基づいて注目ページを特定できる。
【0013】
この装置は、ユーザから、前記セッション追跡パラメータが含まれる可能性の高いウェブページの指定を受け付ける受付部をさらに含むことができ、前記推定部は、前記受付部が指定を受け付けた前記ウェブページを注目ページとして特定する特定部を含むことができ、当該特定部により前記注目ページとして特定されたウェブページに含まれる前記パラメータに高い優先度をつけることができる。これにより、ユーザの指示に基づいて注目ページを特定できるので、個人の写真など自動的に特定することが困難な形式で、個人情報がウェブページに含まれている場合でも、注目ページを特定できる。
【0015】
この装置は、個人情報を保持する格納部をさらに含むことができ、前記分析部は、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータに前記格納部に格納された前記個人情報が含まれているか否かを判定し、前記個人情報が含まれている場合に、前記ウェブサイトに脆弱性が存在すると分析することができる。これにより、この装置は、セッション追跡パラメータを容易に推測できるか否かを判断できる。
【0016】
前記分析部は、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータが規則性を有するか否かを、前記ウェブサイトとの一連の通信内容に含まれる当該パラメータに基づいて判定し、前記パラメータが規則性を有する場合に、前記ウェブサイトに脆弱性が存在すると分析することができる。これにより、この装置は、一連の通信内容に含まれるセッション追跡パラメータの値の推移に基づいて、セッション追跡パラメータを容易に推測できるか否かを判断できる。
【0017】
この装置は、セッション追跡パラメータの伝送形式を判断する判断部を更に備えてもよい。これにより、この装置は、伝送形式に応じて生じうる脆弱性を判断できる。
【0018】
この装置は、判断された伝送形式に応じて異なるコメントを前記クライアントに提供する提供部を更に備えてもよい。これにより、この装置は分析結果をコメントとしてユーザに提示できる。
【0019】
本発明によれば、クライアントからウェブサイトのウェブページを取得する処理を繰り返すことにより得られた前記ウェブサイトと前記クライアントとの通信内容を複数取得する取得部と、前記複数の通信内容に含まれる各種のパラメータが所定の条件を満たす場合に、当該パラメータに対応付けてポイントを加点する処理を行い、前記ポイントの合計点の高い前記パラメータを前記ウェブサイトと前記クライアントとのセッションを特定するセッション追跡パラメータである可能性が高いと推定する推定部と、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータを検証パラメータとして選択し、当該検証パラメータを取り除いて前記ウェブページへの通信を行い、通信結果に基づき、当該検証パラメータが前記セッション追跡パラメータであるか否かを検証する検証部と、を含むことを特徴とするウェブサイトの検査装置が提供される。これにより、この装置は通信内容から抽出したセッション追跡パラメータの正否を検証できる。
推定部は、各パラメータが存在する領域、各パラメータに含まれる文字列、または各パラメータを削除してウェブサイトと通信を行った場合の通信結果に基づき、当該パラメータが所定の条件を満たすか否かを判断することができる。
推定部は、各パラメータが、Authorizationフィールド中にある場合、各パラメータが、ログアウト時に設定されたクッキー中にある場合、各パラメータが、セキュアフラグのセットされたクッキー中にある場合、各パラメータが、特定の文字列を含むパラメータ名の場合、各パラメータを削ると個人情報画面が表示されなくなることが確認された場合、各パラメータが、ログイン直後の画面に含まれていた場合、または、各パラメータが、個人情報を表示する画面を出すためのリクエスト中に常に含まれていた場合のいずれかが確認されたときに当該パラメータに対応付けてポイントを加点する処理を行うことができる。
【0020】
前記検証部は、前記検証パラメータを前記ウェブサイトへ出すべきリクエストメッセージの中から削除して新たなリクエストメッセージを生成する編集部と、前記編集部が生成した前記新たなリクエストメッセージにより、本来取得されるべきウェブページが取得できなかった場合に、当該検証パラメータが前記セッション追跡パラメータであると判定する判定部と、を有することができる。これにより、推定されたセッション追跡パラメータをリクエストメッセージから取り除いて、新たなリクエストメッセージを生成することができる。
【0021】
この装置において、前記判定部にて前記検証パラメータが前記セッション追跡パラメータでないと判定されたとき、前記検証部は、前記推定部により次に前記セッション追跡パラメータである可能性が高いと推定された前記パラメータを前記検証パラメータとして選択して前記検証を行い、この処理を、前記判定部により前記検証パラメータが前記セッション追跡パラメータであると判定されるまで繰り返すことができる。これにより、複数のセッション追跡パラメータの候補の中から、正しいセッション追跡パラメータを特定できる。
【0022】
この装置は、ユーザから、前記検証部による前記検証の許否を受け付ける許可部をさらに含むことができ、前記検証部は、ユーザから許可された場合に前記検証を行うことができる。これにより、ユーザの認識の元で、この装置は検証処理を実行できる。すなわち、検査行為が不正アクセスとして認識されない。
【0023】
この装置は、さらに、個人情報を保持する格納部を備え、前記判定部は、前記新たなリクエストメッセージにより、個人情報が含まれるウェブページが取得できたか否かを判定し、個人情報が含まれるウェブページが取得できなかった場合に、当該検証パラメータが前記セッション追跡パラメータであると判定することができる。
【0024】
本発明の装置は、第1のユーザの個人情報を利用して前記ウェブサイトにログインしたときに、前記セッション追跡パラメータに対応するパラメータを含み、当該ウェブサイトから前記第1のユーザの個人情報を含むウェブページを取得するための第1のリクエストメッセージを記憶する第1の記憶部と、第2のユーザの個人情報を利用して前記ウェブサイトにログインしたときの前記ウェブサイトとの第2の通信内容を取得し、前記第1のリクエストメッセージに含まれる前記セッション追跡パラメータに対応するパラメータを、前記第2の通信内容に含まれる前記セッション追跡パラメータに置き換えて、前記第2の通信内容に含まれる前記パラメータを含む第2のリクエストメッセージを生成する置換部と、前記置換部が生成した前記第2のリクエストメッセージにより、前記ウェブサイトから前記第1のユーザに関係する情報を含むウェブページが取得できるか否かを判定する判定部と、をさらに含むことができ、前記分析部は、前記判定部が前記ウェブページが取得できると判定した場合に、前記ウェブページに脆弱性が存在すると分析することができる。これにより、この装置は、ウェブサイトに内在するアクセス制御の機能不全による、第3者のなりすまし行為に対する脆弱性を検証できる。
【0025】
前記ウェブページは、前記クライアントから、ユーザの個人情報を利用して前記ウェブサイトにログインすることにより前記クライアントとのセッションを行うものであってよく、この装置は、前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを特定する特定部と、前記クライアントが前記ウェブサイトからログアウトした後、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータを利用して、前記特定部が特定した前記ウェブページを再現し得るか否かを判定する判定部と、をさらに含むことができ、前記分析部は、前記判定部が前記ウェブページを再現し得たと判定した場合に、前記ウェブページに脆弱性が存在すると分析することができる。これにより、ウェブサイトにおけるログアウト機能を検査できる。
【0026】
前記ウェブページは、前記クライアントから、ユーザの個人情報を利用して前記ウェブサイトにログインすることにより前記クライアントとのセッションを行うものであってよく、この前記装置は、前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを特定する特定部と、前記クライアントが前記ウェブサイトからログアウトしていない状態で、前記クライアントと前記ウェブサイトとのセッションが途絶えた後の経過時間を計測する計測部と、前記経過時間が所定のしきい値を超えた後、前記特定部が特定した前記ウェブページを再現し得るか否かを判定する判定部と、をさらに含むことができ、前記分析部は、前記判定部が前記ウェブページを再現し得たと判定した場合に、前記ウェブページに脆弱性が存在すると分析することができる。これにより、ウェブサイトにおけるタイムアウト機能を検査できる。
【0027】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【0028】
【発明の実施の形態】
実施の形態に係る検査システムは、既知のシステムのごとく、ウェブサイトへ実際に攻撃を掛けるものではなく、その運用は基本的に個人レベルの意思によってなされる。したがって、実施の形態に係る検査システムを分散的にいろいろな個所に設置することにより、より多くの個人が自己のアクセスの安全性確保を目的として、可能な限り自主的にシステムの利用を図ることが基本形となる。このことは、以下の副次的効果をも産む。
1.個人が自己の責任で自己の安全を確保する習慣が広まり、国民レベルでセキュリティに対する意識を高める契機となる。
2.ウェブサイトは、多数の個人から常に検査される立場におかれ、セキュリティ意識の低いサイトは淘汰されざるを得ず、結果として、サイト運営側の意識改革の契機となる。
【0029】
図1は、実施の形態に係る検査システム10の構成図である。ウェブサイト50は、検査対象となるサイトであり、ネットワーク12を介してブラウザ14にコンテンツを提供する。検査装置100は、ブラウザ14のプロキシとして機能し、ブラウザ14とウェブサイト50との通信を中継するとともに、通信内容を取得する。そして検査装置100は、その通信内容に基づいてウェブサイト50の脆弱性を判断する。ブラウザ14と検査装置100は、所定のプログラムを実行することにより同一のコンピュータ上に形成されてもよいし、異なるコンピュータ上に形成されてもよい。
【0030】
一般にブラウザ14とウェブサイト50との通信はHTTP(Hyper Text Transfer Protocol)に基づいて行われる。HTTPに準じてコンテンツを取得する場合、ブラウザ14はウェブサイト50に対してリクエストメッセージ20を送信する。そしてウェブサイト50は、そのリクエストメッセージ20に応じてレスポンスメッセージ22を送信する。HTTPに準じて通信を行う場合、リクエストとレスポンスが通信の単位(以下、単に「アクセス」という)となる。そのため、例えばショッピングサイトなどのように、ユーザ毎に複数のウェブページにまたがったコンテンツを提供する場合、ユーザ毎に、提供中のウェブページを管理する必要がある。つまり、ユーザにコンテンツを提供するための一連のアクセス(以下、単に「セッション」という)を管理する必要がある。その管理手法として、セッション毎に識別情報を割り当てることが一般的に行われる。
【0031】
図2は、図1のウェブサイト50の内部構成図である。ウェブサイト50は任意のコンピュータに所定のプログラムを実行させることにより形成され、単一のコンピュータに単一のウェブサイトが形成されてもよいし、複数のウェブサイトが形成されてもよい。ウェブサーバ58は、HTTPに準じてコンテンツを提供する。通常コンテンツ格納部56は、例えばHTML形式のコンテンツを格納する。ウェブサーバ58は、ネットワーク12を介して要求されたコンテンツを通常コンテンツ格納部56から読み込み、送信する。
【0032】
ウェブアプリケーション54は、例えばユーザ毎のウェブページを個人情報格納部52に保持された個人情報に基づいて形成する。そして、ユーザ毎に生成したウェブページを、ウェブサーバ58を介してユーザに提供する。こうしたユーザ毎のウェブページを提供するサイトとして、例えばショッピングサイト、個人のスケジュール管理サイト、ウェブメールサイトなどがある。このような個人情報を取り扱うウェブサイト50は、ユーザ毎にウェブページを提供するため、セッション毎に識別情報(以下、単に「セッション追跡パラメータ」という)を割り当てる必要がある。
【0033】
一般にウェブサイトの脆弱性は、主に、ウェブサーバ58に内在するバグにより生じる場合と、ウェブアプリケーション54に内在するバグにより生じる場合とがある。ウェブアプリケーション54は、例えばCGIやJSP(商標)などであり、開発時の設計上の誤りや開発者のミスによりバグを含むことが多々ある。図1の検査装置100は、主にウェブアプリケーション54に内在する脆弱性を分析する。ウェブアプリケーション54における脆弱性の多くは、例えばセッション追跡パラメータの取り扱い上のミスにより生じるアクセス制御機能の不良に関するものが多い。
【0034】
例えば、セッション追跡パラメータの値が、セッション毎に変わらない、ユーザの個人情報が含まれている、推測が容易などの場合、悪意のある者が、例えば本来のユーザになりすまして個人情報を取得したり、本来のユーザに代わってサービスを受けたりすることがある。こうしたウェブアプリケーション54に内在する脆弱性は、図1のウェブサイト50とブラウザ14とで行われる通信の内容に含まれるセッション追跡パラメータに基づいて分析できる。
【0035】
図3は、図1のリクエストメッセージ20のデータ構造の一例を示す図である。リクエストメッセージ20は、リクエストヘッダ24とリクエストボディ26とを有する。セッション追跡パラメータ28は、セッション毎に割り当てられた識別情報であり、本図ではクッキーに設定されている。他の例では、セッション追跡パラメータ28は、リクエストボディ26、リクエストヘッダ24におけるURL(Uniform Resource Locator)やAuthenticationフィールドのいずれかに埋め込まれてもよい。ユーザID30は、例えばウェブサイト50におけるユーザIDを示す情報である。
【0036】
図4は、図1のレスポンスメッセージ22のデータ構造の一例を示す図である。レスポンスメッセージ22は、レスポンスヘッダ32とレスポンスボディ34とを有する。本図のレスポンスヘッダ32には、新しいセッション追跡パラメータ36をクッキーに設定するためのコマンドが付加されている。図3のセッション追跡パラメータ28や図4のセッション追跡パラメータ36などのパラメータから、ウェブサイト50におけるセッション追跡パラメータの取り扱い状態を判断できる。
【0037】
本例では、ウェブサイト50は、セッションを行うごとにインクリメントした値とユーザIDとを組み合わせることでセッション追跡パラメータを生成していることがわかる。このようなセッション追跡パラメータを推定することは容易なので、ウェブサイト50は、不正アクセスにより個人情報が漏洩する可能性があると判断できる。このように、リクエストメッセージ20およびレスポンスメッセージ22(以下、単に「通信内容」という)に含まれるセッション追跡パラメータに基づいて、ウェブサイト50に内在する脆弱性を分析することができる。図1の検査装置100は、通信内容に基づいてウェブサイト50の脆弱性を判断するため、従来の検査装置のようにウェブサイト50に対して攻撃を仕掛けることがない。このため、ウェブサイト50に被害が生じることはない。また、従来の検査装置のように既知の脆弱性を判断するだけでなく、ウェブサイト50に内在する本質的な脆弱性を分析することができる。
【0038】
図5は、図1の検査装置100の内部構成図である。検査装置100の各構成要素は、ハードウエアコンポーネントで言えば、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インターフェース、ファクシミリ通信用のモデム等を中心に実現されるが、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。これから説明する各図は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。
【0039】
取得部150は、ウェブサイト50とブラウザ14との通信内容を取得し、取得した通信内容を通信内容格納部102に格納する。推定部200は、通信内容格納部102に保持された通信内容に基づいて、セッション追跡パラメータの候補を推定し、分析部300に出力する。分析部300は、セッション追跡パラメータ等に基づいてウェブサイト50に内在する脆弱性を分析する。検証部400は、推定部200により推定されたセッション追跡パラメータの正否を検証する。試験内容の詳細は後述するが、試験部350は、例えばウェブサイト50におけるログアウト機能やタイムアウト機能など、セッション追跡パラメータに係る種々の機能を試験する。
【0040】
個人情報格納部104は、検査のために利用するウェブサイト50におけるユーザIDやパスワードなどの個人情報を保持する。検査制御部106は、取得部150、分析部300、推定部200および検証部400のそれぞれを制御する。また、検査制御部106は、操作受付部108を介してユーザから受け付けた操作指示を、その指示を必要とするユニットに提供する。また検査制御部106は操作画面や分析結果などを表示するための情報を表示処理部110に出力する。表示処理部110は、それらの情報を表示部に表示する。
【0041】
図6は、図5の個人情報格納部104におけるデータ構造の一例を示す図である。本実施の形態では、個人情報格納部104はXML(eXtensible Markup Language)形式で個人情報を保持する。ユーザ情報欄500は、2ユーザ分の個人情報を保持する。第1ユーザ情報欄502は、第1ユーザの個人情報を保持する。また、第2ユーザ情報欄504は、第2ユーザの個人情報を保持する。個人情報欄506は、例えば、ユーザID、パスワード、氏名、住所、電子メールアドレス、電話番号、クレジットカード番号など個々のユーザ情報を保持する。個人情報欄506は、漏洩により生じるリスクに関する情報を保持する損害値欄508と、個人情報の種類を特定するキーワードを保持する項目欄510と、キーワードで特定されるユーザ情報を保持する値欄512とを有する。詳細は後述するが、こうした個人情報が通信内容に含まれるか否かに基づいて、ウェブサイト50の脆弱性を分析することが可能になる。
【0042】
図7は、図5の取得部150の内部構成図である。第1判定部152および第2判定部156は、例えばHTTPS(Hyper Text Transfer Protocol over SSL)などにより通信内容が暗号化されているか否かを判定する。通信内容が暗号化されている場合に、第1暗号化・復号部158および第2暗号化・復号部159はその通信内容を復号する。また、第1暗号化・復号部158および第2暗号化・復号部159は、必要に応じて通信内容を暗号化する。取得部150の抽出部154は、通信内容から例えば検査に利用する情報などの所定の情報を抽出して格納処理部160に出力する。格納処理部160は、個々の情報を通信内容格納部102に格納する。格納処理部160は、例えばウェブページを取得するためのセッションごとにオブジェクトを生成し、そのオブジェクトに抽出した情報を格納してもよい。
【0043】
図8は、図5の通信内容格納部102に保持されるオブジェクトのクラス構造を説明するための図である。通信クラス520は、例えばプロトコル、通信日時、ヘッダ、ボディ等をメンバに持つ。リクエストクラス522は、通信クラス520を継承したクラスであり、更にメンバとして、例えばリクエスト時のメソッド、URL、パラメータを持つ。パラメータは、リクエストヘッダ、リクエストボディなどに含まれる引数を保持するためのメンバである。このパラメータを保持するためのメンバは、パラメータを管理するためのクラス(以下、単に「パラメータクラス」という)のオブジェクトのポインタ等を保持してもよい。そして、パラメータクラスが複数のパラメータを保持できる構造を有することで、リクエストクラス522は、リクエストメッセージに含まれる複数のパラメータを保持できる。リクエストメッセージのヘッダ部分およびボディ部分は、それぞれ、ヘッダならびにボディのメンバに保持される。
【0044】
レスポンスクラス524は、通信クラス520を継承したクラスであり、更にメンバとして応答コード、パラメータ等を持つ。レスポンスメッセージのヘッダ部分およびボディ部分は、それぞれ、ヘッダならびにボディのメンバに保持される。クッキーなどは、パラメータのメンバに保持される。
【0045】
アクセスクラス526は、リクエストクラス522およびレスポンスクラス524を継承したクラスであり、アクセス時のリクエストメッセージとレスポンスメッセージを記録し通信内容を管理する。アクセスクラス526は、更にメンバとしてセッション名、ページ属性、アクセス番号、ユーザ情報等を持つ。セッション名は、セッションを識別するための名称である。ページ属性は、例えばログイン画面、個人情報表示画面など取得したウェブページの種類を特定する情報を保持するためのメンバである。詳細は後述するが、図5の検査制御部106は、検査のために取得すべきウェブページに関する情報をユーザに提示する。そのウェブページに関する情報は、ページ属性として検査制御部106から図7の格納処理部160に通知される。格納処理部160は、そのページ属性をオブジェクトに格納する。これにより、ページ属性を付加しながらアクセス毎のオブジェクトを生成できる。アクセス番号は、セッションにおけるアクセスの順番、すなわちウェブサイトの検査を開始してから何番目のアクセスなのかを指定する情報を保持するためのメンバである。ユーザ情報は、そのセッションを行うために利用した個人情報を特定する情報を保持するためのメンバである。図7の格納処理部160は、アクセスが発生する毎にアクセスクラス526のオブジェクトを生成して、そのオブジェクトを、セッションを管理するオブジェクトに関連付けて通信内容を記録する。
【0046】
図7に戻り、ウェブサイト50からレスポンスメッセージ(以下、単に「レスポンス」ともいう)を受信した場合、第1判定部152はそのレスポンスが暗号化されているか否かを判定する。例えば、そのレスポンスがHTTPに準じている場合、すなわち暗号化されていない場合、第1判定部152はそのレスポンスを取得部150の抽出部154に出力する。抽出部154は、図8のアクセスクラス526のメンバに保持する情報を抽出した後、そのレスポンスを第2判定部156に出力する。第2判定部156は、抽出部154から供給されたレスポンスをそのままブラウザ14に出力する。
【0047】
ウェブサイト50からのレスポンスがHTTPSに準じている場合、すなわち暗号化されている場合、第1判定部152はその暗号化されたレスポンスを第1暗号化・復号部158に出力する。第1暗号化・復号部158は、その暗号化されたレスポンスを復号して抽出部154に出力する。抽出部154は、前述した情報を抽出し、格納処理部160に出力する。そして抽出部154は、そのレスポンスを第2暗号化・復号部159に出力する。第2暗号化・復号部159は、そのレスポンスを再び暗号化して、第2判定部156に出力する。第2判定部156は、その暗号化されたレスポンスをブラウザ14に出力する。このように、レスポンスがHTTPSに準じている場合、取得部150は、第1判定部152、第1暗号化・復号部158、抽出部154、第2暗号化・復号部159、および第2判定部156を介してレスポンスをブラウザ14に出力する。また、HTTPに準じている場合、取得部150は、第1判定部152、抽出部154、および第2判定部156を介してレスポンスをブラウザ14に出力する。
【0048】
ブラウザ14からリクエストメッセージ(以下、単に「リクエスト」ということもある)を受信しウェブサイト50に送信する場合も前述のように、暗号化されているリクエストの場合、取得部150は、第2判定部156、第2暗号化・復号部159、抽出部154、第1暗号化・復号部158、および第1判定部152を介してリクエストをウェブサイト50に出力する。また、暗号化されていないリクエストの場合、取得部150は、第2判定部156、抽出部154、および第1判定部152を介してリクエストをウェブサイト50に出力する。
【0049】
図9は、図5の推定部200の内部構成図である。抽出部202は、通信内容格納部102に保持された通信内容に基づいてセッション追跡パラメータの候補(以下、単に「パラメータ候補」という)を抽出し、絞込部204に出力する。抽出部202は、通信内容に含まれるパラメータについて、以下の事実が確認されたときに、加点し、合計点の高いものから順に、セッション追跡パラメータである可能性が高いと推定し抽出する。
【0050】
(1)そのパラメータが、Authorizationフィールド中にある場合
(2)そのパラメータが、クッキーに含まれており、後述のログアウト機能検査フェーズで、ログアウト時にそのクッキーが設定されている場合
(3)そのパラメータが、セキュアフラグのセットされたクッキー中にある場合
(4)そのパラメータが、例えば「session」、「sid」など特定の文字列を含むパラメータ名の場合
(5)後述のセッション追跡パラメータ検証フェーズで、そのパラメータを削ると個人情報画面が表示されなくなることが確認された場合
(6)ログインフェーズで、ログイン直後の画面にそのパラメータが含まれていた場合
(7)個人情報を表示する画面を出すためのリクエスト中に、そのパラメータが常に含まれていた場合
【0051】
図10は、図9の推定部200におけるパラメータ候補の選択処理のフローチャートの一例である。図9の抽出部202は、まずクッキーからパラメータ候補を抽出する(S100)。次に、抽出部202は、URLからパラメータ候補を抽出する。次に、抽出部202は、ボディからパラメータ候補を抽出する。そして、抽出部202は、認証用のフィールドからパラメータ候補を抽出する。他の例では、これらの処理の順序を変えてもよい。これにより抽出部202は、例えばクッキー、GET、POST、ベーシック認証などのいずれかの伝送方式で送信された値からパラメータ候補を抽出できる。
【0052】
図9に戻り、特定部206は、通信内容格納部102に保持されたページ属性に基づいて、個人情報を含むウェブページ(以下、単に「注目ページ」という)を特定し、絞込部204に出力する。また、特定部206は、通信内容に、例えば個人情報、HIDDENタグ、パスワード入力ボックスなどの文字列が含まれているウェブページを注目ページとして特定してもよい。そして、特定部206は、注目ページの情報を絞込部204に供給する。
【0053】
注目ページは、ユーザ毎に提供されることが多いため、注目ページにはセッション追跡パラメータが含まれている可能性が高い。絞込部204は、注目ページの情報と抽出部202から供給されたセッション追跡パラメータの候補とに基づいて、セッション追跡パラメータの候補を絞り込む。絞込部204は、例えば、再現頻度の多い順にセッション追跡パラメータの候補を絞り込んでもよいし、注目ページに含まれるセッション追跡パラメータの候補を残すように絞り込んでもよい。
【0054】
図11は、図5の検証部400の内部構成図である。パラメータ検査部402は、推定部200により抽出されたパラメータ候補の中から、セッション追跡パラメータを特定する。検証対象となるパラメータ候補は、本図では分析部300から供給されているが、他の例では抽出部202から直接供給されてもよい。なりすまし検査部404は、他のユーザになりすましてウェブサイト50を利用することができるか否かを検証する。許可部406は、検査制御部106を介してユーザから、パラメータ検査部402又はなりすまし検査部404における検証処理の実行許否を受け付ける。そして、ユーザから許可された場合、許可部406は、パラメータ検査部402、およびなりすまし検査部404にその検証処理の実行を許可する。パラメータ検査部402およびなりすまし検査部404は、ユーザの個人情報を利用して自動的にウェブサイト50にアクセスを行うため、その許否をユーザから求める。
【0055】
図12は、図11のパラメータ検査部402の内部構成図である。パラメータ候補入力部410は、分析部300からパラメータ候補を受け付ける。そして受け付けたパラメータ候補を選択部412に出力する。選択部412はパラメータ候補の中から一つを選び出し、選択したセッション追跡パラメータ(以下、単に「検証パラメータ」という)を編集部416に出力するとともに選択したことを読込部414に通知する。
【0056】
図13は、選択部412における検証パラメータを選択するためのパラメータ選択画面72の一例を示す図である。検証パラメータを選択する場合、パラメータ選択画面72が表示される。伝送方式欄550には、パラメータ候補毎に伝送方式が表示される。名称欄552は、セッション追跡パラメータの名称が表示される。値欄554には、その値が表示される。スコア欄556は、例えば抽出回数などにより加算して得たポイントが表示される。この値は、例えば図9の推定部200がパラメータ候補を決める際に算出する。状態欄558は、検証を既に行ったか否かを示す情報を保持する。ユーザは、任意のセッション候補を選択して検証パラメータを決めてよい。また、スコアの高いものから順に選択部412が検証パラメータを決めてもよい。
【0057】
図12に戻り、読込部414は、既に行ったセッション、つまり通信内容格納部102に保持されている通信内容を読み込み、編集部416に供給する。編集部416は、供給された通信内容から検証パラメータを取り除いて新たな通信内容つまり新たなリクエストを生成する。そして、そのリクエストを通信部418に出力する。そのリクエストは、本実施形態では、注目ページを取得するためのリクエストである。通信部418は、そのリクエストをウェブサイト50に出力し、それに応じたレスポンスをウェブサイト50から受信する。通信部418は、ウェブサイト50からのレスポンスを判定部420に出力する。新たに取得したレスポンスを、「現レスポンス」という。
【0058】
判定部420は、図5の個人情報格納部104に含まれる個人情報と現レスポンスとを比較して、現レスポンスに、正常のアクセス時、すなわち検証パラメータを削除していないリクエストに対するレスポンスに含まれる個人情報が含まれているかを判断する。現レスポンスに個人情報が含まれていない場合、すなわち注目ページを取得できなかった場合、判定部420は、検証パラメータがセッション追跡パラメータとして利用されていると判断する。また個人情報が含まれている場合、判定部420は、検証パラメータがセッション追跡パラメータとして利用されていないと判断する。そして、判定部420は、別の検証パラメータを選択することを選択部412に指示する。選択部412は、パラメータ候補中の別のセッション追跡パラメータを選択し、再び読込部414と編集部416に指示を行う。パラメータ検査部402はこの処理を繰り返すことにより、セッション追跡パラメータを特定する。
【0059】
また、他の例では、判定部420は、現レスポンスと、例えば注目ページ取得時の過去のレスポンスとして通信内容格納部102に保持されている通信内容とを比較して同一のレスポンスを取得したか否かを判定してもよい。本実施形態では、通信内容格納部102は、通信内容毎にページ属性を付加して保持する。判定部420は、このページ属性に注目ページであることを指定する情報が付加された通信内容を通信内容格納部102から読み込み判定に利用する。例えば、判定部420は、現レスポンスと通信内容とが完全に一致しているか否かを判定してもよいし、現レスポンスと通信内容とが部分的に一致している否かを判定してもよい。現レスポンスと通信内容とが一致しない場合、判定部420は、検証パラメータがセッション追跡パラメータとして利用されていると判断する。また、現レスポンスと通信内容とが一致した場合、判定部420は、検証パラメータがセッション追跡パラメータとして利用されていないと判断し、別の検証パラメータを選択することを選択部412に指示する。
【0060】
図14は、図11のなりすまし検査部404の内部構成図である。ログイン処理部430は、分析部300から指示された場合に図5の個人情報格納部104に保持されている第2ユーザの情報を利用してウェブサイト50にログインする。そしてログイン処理部430は、ログインしたことを読込部432に通知する。パラメータ取得部440は、図12のパラメータ検査部402により特定されたセッション追跡パラメータを、第2ユーザでログインして得られたセッションから取得する。この第2ユーザでログインしたときのセッション追跡パラメータを、以下、単に「現セッションパラメータ」という。パラメータ取得部440は、現セッションパラメータを置換部434に出力する。読込部432は、通信内容格納部102から過去に記録した、第1ユーザでログインしたときの注目ページを取得するためのリクエストを読み込み置換部434に出力する。置換部434は、そのリクエストに含まれるセッション追跡パラメータを現セッションパラメータに置き換えて新たなリクエストを生成する。そして、置換部434は、生成したリクエストを通信部436に出力する。
【0061】
通信部436は、そのリクエストをウェブサイト50に出力する。そしてウェブサイト50からのレスポンスを受信し、なりすまし検査部404の判定部438に出力する。判定部438は、個人情報格納部104に含まれる情報とレスポンスとを比較して、そのレスポンスに第1ユーザと第2ユーザのどちらの個人情報が含まれているかを判断する。レスポンスが第1ユーザの個人情報の場合、判定部438は、ウェブサイト50は、なりすまし行為に対する脆弱性を有すると判断する。また個人情報を取得できなかった場合、ウェブサイト50は、なりすまし行為により個人情報が漏洩することはないと判断する。判定部438は、その判断結果を分析部300に送信する。
【0062】
図15は、図5の試験部350の内部構成図である。ログアウト機能検査部352は、分析部300からの指示に基づいてウェブサイト50におけるログアウト機能を検査する。ログアウト機能は、ログアウトした時点で、セッション追跡パラメータを破棄する機能である。破棄されないウェブサイト50の場合、不正にアクセスされる脆弱性が内在すると判断できる。タイムアウト機能検査部354は、分析部300からの指示に基づいてウェブサイト50におけるタイムアウト機能を検査する。タイムアウト機能は、セッションが放置された状態で、所定の時間が経過した場合に、セッション追跡パラメータを破棄する機能である。破棄されないウェブサイト50の場合、不正にアクセスされる脆弱性が内在すると判断できる。
【0063】
図16は、図15のログアウト機能検査部352の内部構成図である。ログアウト処理部360は、分析部300からの指示に応じてウェブサイト50からログアウトをする。リクエスト指示部362は、ログアウトの後、過去のリクエストを102から読み込み、通信部364に出力する。通信部364は、そのリクエストをウェブサイト50に送信する。また通信部364は、ウェブサイト50からのレスポンスを受信し判定部366に出力する。判定部366は、現レスポンスと、例えば注目ページ取得時の過去のレスポンスとして通信内容格納部102に保持されている通信内容とを比較する。例えば、判定部366は、現レスポンスと通信内容とが完全に一致しているか否かを判定してもよいし、現レスポンスと通信内容とが部分的に一致しているか否かを判定してもよいし、現レスポンスに部分的に含まれる個人情報が図5の個人情報格納部104に保持されている個人情報に一致するか否かを判定してもよい。現レスポンスと過去の通信内容とが一致している場合、判定部366は、ウェブサイト50におけるログアウト機能は不十分であると判断する。また一致しない場合、判定部366は、ウェブサイト50におけるログアウト機能は正常に機能していると判断する。判定部366は、判断結果を分析部300に送信する。
【0064】
図17は、図15のタイムアウト機能検査部354の内部構成図である。設定部370は、タイムアウト機能を試験するための時間すなわちリクエストを送信するまでの待ち時間を設定し、計時部372に計時を開始することを指示する。計時部372は、設定部370に設定された時間が経過した後、その旨を指示部374に通知する。指示部374は、計時部372からの通知により通信部376に対してリクエストを送信することを指示する。通信部376は、その指示に応じて設定部370に一時的に保持されていたリクエストを取得し、ウェブサイト50に送信する。そして通信部376は、ウェブサイト50からのレスポンスを受信し、タイムアウト機能検査部354の判定部378に出力する。判定部378は、レスポンスと通信内容格納部102に保持された通信内容とを比較する。一致している場合、判定部378は、ウェブサイト50においてタイムアウト機能が検査で設定した時間では動作していないと判断する。また一致していない場合、判定部378は、検査で設定した時間が経過した場合には、ウェブサイト50においてタイムアウト機能が正常に動作していると判断する。
【0065】
図18は、図5の分析部300の内部構成図である。パラメータ状態判断部302は、通信内容格納部102に保持されたデータを参照してセッション追跡パラメータの状態を判断する。例えばセッション追跡パラメータにセキュアフラグが設定されているか否かを判断し、その判断結果を数値化部312に出力する。推測容易性判断部304は、通信内容格納部102および個人情報格納部104に保持された一連のデータに基づいてセッション追跡パラメータの推測が容易か否かを判断し、その判断結果を数値化部312に出力する。例えばその容易性はセッション追跡パラメータにユーザIDが含まれていること、規則性があることなどに基づいて容易性を判断する。
【0066】
伝送形式判断部306は、通信内容格納部102及びに推定部200に保持されているデータに基づいてセッション追跡パラメータの伝送形式を判断する。そして判断結果を数値化部312に出力する。伝送形式判断部306は、例えばセッション追跡パラメータがクッキー、GET、POST、ベーシック認証のいずれを利用して伝送されているかを判断する。伝送形式判断部306は、リクエストメッセージ及びレスポンスメッセージに含まれるセッション追跡パラメータの埋め込み位置を調べることで伝送方式を特定する。
【0067】
検証結果受付部308は、検証部400から検証結果を受け付け数値化部312に出力する。試験結果受付部310は、試験部350から試験結果を受け付け数値化部312に出力する。数値化部312は、それぞれのユニットから供給された値を数値化し、例えば合計ポイントを選択部314に出力する。選択部314は、そのポイントや各ユニットからの診断結果の組み合わせに応じて知識データベース316から所定のコメントを選択し、検査制御部106に出力する。そして、選択されたコメントが図5の表示処理部110を介して表示部に表示される。
【0068】
それぞれのユニットから供給される判断結果には、それぞれ重み付けがされており、その重み付けに応じて数値化部312は、加算処理などの数値化処理を行ってもよい。知識データベース316は、単に数値とコメントを対応づけるだけでなくそれぞれの判断結果の組み合わせに応じて所定のコメントが選択可能になるようなデータ構造を有する。例えばセッション追跡パラメータの伝送形式ごとにコメントが対応づけられていてもよいし、その他の判断結果の組み合わせも対応づけられていてもよい。
【0069】
図19は、検査結果画面70の一例を示す図である。検査結果画面70には、調査対象となったウェブサイト、診断の状況、診断結果、セッション追跡パラメータなどに関する情報の一覧が表示される。
【0070】
図20は、検査結果画面74の他の例を示す図である。この検査結果画面74は、調査対象のウェブサイトに内在する脆弱性に関する情報を表示した画面である。図18の選択部314は、セッション追跡パラメータがクッキーに格納されている場合に、もしウェブサイトにクロスサイトスクリプティングに対する脆弱性が内在すると、なりすまし行為により個人情報が盗用される可能性があることを通知するコメントを選択する。これにより、本図の画面が表示される。
【0071】
図21は、検査結果画面76の他の例を示す図である。この検査結果画面76も、図20と同様に調査対象のウェブサイトに内在する脆弱性に関する情報を表示した画面である。図18の選択部314は、セッション追跡パラメータの値が、ユーザ毎に似通っていて容易に推定できる場合に、なりすまし行為に対する脆弱性が内在することを通知するコメントを選択する。これにより、本図の画面が表示される。
【0072】
図22は、図1の検査装置100におけるウェブサイト50の脆弱性を検査するための処理のフローチャートの一例である。まず、検査装置100は、ブラウザ14とウェブサイト50との通信内容に基づいてセッション追跡パラメータを推定する(S10)。次に、検査装置100は、推定したセッション追跡パラメータの正否を検証する(S12)。次に、検査装置100は、ウェブサイト50における、なりすまし行為に対する脆弱性すなわちアクセス制御の機能を検証する(S14)。
【0073】
図23は、図22のステップ10の詳細なフローチャートの一例である。セッション追跡パラメータの推定処理を開始すると、検査装置100は、通信内容の記録を開始する(S20)。そして、検査装置100は、ウェブサイト50にログインすることをユーザに指示する(S22)。次に、検査装置100は、個人情報ページの取得をユーザに指示する。そして、この指示に応じてユーザはウェブページのリンクをたどり、個人情報ページを探索してブラウザ14に表示させる。検査装置100は、その個人情報ページを記録する(S24)。この探索作業中も、検査装置100は通信内容を記録している。
【0074】
次に、検査装置100は、ウェブサイト50が提供する複数のウェブページを任意に探索することを指示し、この間の通信内容を記録しセッション追跡パラメータを統計的に推定するために複数の通信内容を収集する(S26)。そして、検査装置100は、ウェブサイト50からログアウトを指示する(S27)。そして、検査装置100は、ログアウト後に再度セッション追跡パラメータをリクエストに付加して、個人情報ページの取得を試みることでログアウト機能の検査を行う(S28)。
【0075】
ログアウト機能を検査した後、検査装置100は通信内容の記録を終了する(S30)。そして、検査装置100は、ステップ28までの一連のセッションにおける通信内容に基づいてセッション追跡パラメータを推定する(S32)。そして、検査装置100は、推定したセッション追跡パラメータの伝送形式やデータ構成などに基づいて分析を行い(S34)、ウェブサイト50に存在する脆弱性を分析結果として表示する(S36)。
【0076】
図24は、図22のステップ12の詳細なフローチャートの一例である。セッション追跡パラメータの検証処理を開始すると、検査装置100は、通信内容の記録を開始する(S40)。そして、検査装置100は、ウェブサイト50にログインすることをユーザに指示する(S42)。次に、検査装置100は、個人情報ページを取得することをユーザに指示し、この指示に応じて表示された個人情報ページを記録する(S42)。
【0077】
そして、検査装置100は、ユーザ情報を利用してセッション追跡パラメータの検証を行うことをユーザに通知し、その処理の実行の許否を問い合わせる(S44)。許可された場合(S44のY)、検査装置100は、パラメータ候補の中から検証パラメータを選択する(S46)。そして、検査装置100は、ステップ42で個人情報ページを取得するためにウェブサイト50に送信したリクエストから、検証パラメータを取り除いて新たなリクエストを生成する(S48)。
【0078】
そして、検査装置100はそのリクエストをウェブサイト50に送信し(S50)、ウェブサイト50からレスポンスを受信する(S52)。次に、検査装置100は、そのレスポンスの内容に基づいて個人情報ページを取得できたか否かを判定する(S54)。個人情報ページを取得できた場合(S54のY)、ステップ46に戻り、検査装置100は別のパラメータ候補を検証パラメータとして選択する。個人情報ページを取得できなかった場合(S54のN)、検査装置100は通信内容の記録を終了する(S56)。そして、検査装置100は、個人情報ページを取得できなかったときの、検証パラメータをセッション追跡パラメータとして特定する(S58)。検査装置100は、特定したセッション追跡パラメータの伝送方式などに基づいて、図23のステップ34における分析より更にウェブサイト50に内在する脆弱性を絞り込んで分析を行い(S60)、分析結果を表示する(S62)。ステップ44で、許可されなかった場合(S44のN)、検査装置100は処理を中止する。
【0079】
図25は、図22のステップ14の詳細なフローチャートの一例である。なりすましの検証処理を開始すると、検査装置100は、通信内容の記録を開始する(S70)。そして、検査装置100は、ユーザに第2ユーザ情報でウェブサイト50にログインすることを指示する(S72)。次に、検査装置100は、個人情報ページを取得することをユーザに指示し、この指示に応じて表示された個人情報ページを記録する(S74)。
【0080】
そして、検査装置100は、なりすましの脆弱性を検証するための処理を行うことをユーザに通知し、その処理の実行の許否を問い合わせる(S76)。許可された場合(S76のY)、検査装置100は、第1ユーザ情報でログインして個人情報ページを取得するためにウェブサイト50に送信したリクエストに含まれるセッション追跡パラメータを、第2ユーザでログインした後に得られた現セッションパラメータに置き換えて新たなリクエストを生成する(S78)。
【0081】
そして、検査装置100はそのリクエストをウェブサイト50に送信し(S80)、ウェブサイト50からレスポンスを受信する(S82)。検査装置100は、通信内容の記録を終了する(S84)。次に、検査装置100は、そのレスポンスの内容に基づいて、第1ユーザの個人情報を取得できたか否かを判定する(S86)。第1ユーザの個人情報を取得できた場合、ウェブサイト50はなりすまし行為に対する脆弱性を有する。そして検査装置100は、セッション追跡パラメータの伝送方式などを考慮しながら分析を行い(S88)、分析結果を表示する(S90)。ステップ76で、許可されなかった場合(S76のN)、検査装置100は処理を中止する。
【0082】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、そうした観点から留意点を述べる。
【0083】
実施の形態では、本システムの運用を基本的に個人の意思に委ねるとした。しかし、本システムの公益性の高さに鑑みれば、その運用は当然公益的な事業を実施可能な主体に一括管理させることができる。その場合、図1等の検査装置100を当該運用者のサーバなどで実現すればよい。本発明はその運用主体や運用形式を問うものではない。
【0084】
例えば、システム監査業者がシステムのセキュリティ監査に本システムを利用してもよいし、ウェブアプリケーションの発注者が、システムの検収のために、本システムを利用してもよい。従来、こうした監査や検収の基準を定めることが難しく、明確にされることはなかった。しかし、本システムにより脆弱性が検出されないことという客観的な基準を設けることができる。
【0085】
個人レベルで行った検査結果を収集するサーバをネットワーク12に設ける。そして、ウェブサイトにアクセスする際に、ブラウザ14がまずサーバに接続し、そのウェブサイトの安全性を確認、もしくはユーザに提示したのち、アクセスを開始するようにしてもよい。こうした機能を有するブラウザ14の構成としては、アクセス指示を検出する検出部と、アクセス先として指定されたURLを検索キーとして検査結果を保持するサーバに安全性を問い合わせるアクセス先情報取得部と、取得した安全性をユーザに提示する提示部とを有する。これにより、他のユーザにより集められたウェブサイトの検査結果を有効的に利用できる。また、無数に存在するウェブサイトの検査結果を極短期間に収集できる。
【0086】
更に、このブラウザ14は、検査装置100を有し、アクセス先情報取得部が、アクセス先の検査結果を取得できなかった場合に、検査装置100にアクセス先の検査をさせてもよい。そして、ブラウザ14は新たに取得した検査結果をサーバに登録するようにしてもよい。
【0087】
【発明の効果】
本発明によれば、検査対象となるウェブサイトとクライアントとの通信内容に基づいて、ウェブサイトに内在する脆弱性を検査できる。
【図面の簡単な説明】
【図1】 実施の形態にかかる検査システムの構成図である。
【図2】 図1のウェブサイトの内部構成図である。
【図3】 図1のリクエストメッセージのデータ構造の一例を示す図である。
【図4】 図1のレスポンスメッセージのデータ構造の一例を示す図である。
【図5】 図1の検査装置の内部構成図である。
【図6】 図5の個人情報格納部におけるデータ構造の一例を示す図である。
【図7】 図5の取得部の内部構成図である。
【図8】 図5の通信内容格納部に保持されるオブジェクトのクラス構造を説明するための図である。
【図9】 図5の推定部の内部構成図である。
【図10】 図9の推定部におけるパラメータ候補の選択処理のフローチャートである。
【図11】 図5の検証部の内部構成図である。
【図12】 図11のパラメータ検査部の内部構成図である。
【図13】 図12の選択部における検証パラメータを選択するためのパラメータ選択画面の一例を示す図である。
【図14】 図11のなりすまし検査部の内部構成図である。
【図15】 図5の試験部の内部構成図である。
【図16】 図15のログアウト機能検査部の内部構成図である。
【図17】 図15のタイムアウト機能検査部の内部構成図である。
【図18】 図5の分析部の内部構成図である。
【図19】 検査結果画面の一例を示す図である。
【図20】 検査結果画面の他の例を示す図である。
【図21】 検査結果画面の他の例を示す図である。
【図22】 図1の検査装置におけるウェブサイトの脆弱性を検査するための処理のフローチャートの一例である。
【図23】 図22のステップ10の詳細なフローチャートの一例である。
【図24】 図22のステップ12の詳細なフローチャートの一例である。
【図25】 図22のステップ14の詳細なフローチャートの一例である。
【符号の説明】
10 検査システム、12 ネットワーク、14 ブラウザ、20 リクエストメッセージ、22 レスポンスメッセージ、50 ウェブサイト、100 検査装置、102 通信内容格納部、104 個人情報格納部、106 検査制御部、108 操作受付部、110 表示処理部、150 取得部、152 第1判定部、154 抽出部、156 第2判定部、158 第1暗号化・復号部、159 第2暗号化・復号部、160 格納処理部、200 推定部、202 抽出部、204 絞込部、206 特定部、208 ユーザ指示受付部、300分析部、302 パラメータ状態判断部、304 推測容易性判断部、306伝送形式判断部、308 検証結果受付部、310 試験結果受付部、312数値化部、314 選択部、316 知識データベース、350 試験部、352 ログアウト機能検査部、354 タイムアウト機能検査部、36 セッション追跡パラメータ、360 ログアウト処理部、362 リクエスト指示部、364 通信部、366 判定部、370 設定部、372 計時部、374 指示部、376 通信部、378 判定部、400 検証部、402 パラメータ検査部、404 なりすまし検査部、406 許可部、410 パラメータ候補入力部、412 選択部、414 読込部、416 編集部、418 通信部、420 判定部、430 ログイン処理部、432 読込部、434 置換部、436 通信部、438 判定部、440 パラメータ取得部。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for inspecting a device, and more particularly to a technique for inspecting a vulnerability inherent in a website that provides content via a network.
[0002]
[Prior art]
With the development of network technology, the number of network users is increasing, for example, for the use of e-mail and browsing of websites. The use of such networks is now spreading into daily life as a natural means of acquiring information. In addition to the increase in the number of users, the number of websites providing various services is also increasing. Many of these websites handle personal information of users, such as shopping sites, and provide services for each user.
[0003]
Originally, such a website needs to be designed and created in consideration of security so that personal information is not leaked, but there are actually many websites with defects. A person who intentionally attacks a website, such as a hacker or cracker, finds a defect in the website, and performs an attack such as impersonation or cross-site scripting to steal personal information.
[0004]
In recent years, the problem of leakage of personal information on websites has been frequently investigated, and the problem has not been reduced in spite of the fact that the attack method has been made public. Security flaws that cause these problems are often fundamental errors when developing and creating web applications, for example. In addition, there are some websites that are operated with neglected defects even though there are defects that may cause leakage of personal information due to lack of awareness of problems of website operators.
[0005]
As a technology to prevent such leakage of personal information, IDS (Intruder Detection System) that detects attacks by comparing known attack patterns with actual communication patterns and notifies site administrators, and known attack patterns There is a technique for detecting the presence or absence of vulnerability by setting a website to be inspected for the purpose of testing (Patent Document 1).
[0006]
[Patent Document 1]
US Pat. No. 6,311,278
[0007]
[Problems to be solved by the invention]
However, these security countermeasure techniques target a known attack, and cannot be prevented when attacked with a new pattern. Further, in the technique disclosed in
[0008]
The present invention has been made in view of the above-mentioned problems, and the purpose thereof is a technique for inspecting a vulnerability inherent in a website, a technique for determining a vulnerability without launching an attack on the website, and an objective. It is to provide a technique for evaluating the safety of a website based on a standard. A secondary purpose is to provide an inspection technique that avoids an inspection method that can be regarded as so-called unauthorized access. Yet another object is to provide a technique for an individual who actually intends to use a website to confirm the safety of the website at an individual level prior to the use.
[0009]
[Means for Solving the Problems]
The present inventionAccording to the obtained by repeating the process of obtaining the web page of the website from the clientCommunication between website and clientMultipleAn acquisition unit to acquire;pluralIncluded in communication contentWhen various parameters satisfy the specified conditions, perform processing to add points in association with the parameters, and select parameters with high total points.websiteAndSession tracking parameters that identify sessions with clientsWhen it is likelyAn estimation unit for estimation;Based on the data structure or transmission format of parameters estimated by the estimator as likely to be session tracking parameters, or based on communication results when communicating with websites using or deleting parametersAn analysis unit for analyzingAn inspection apparatus for a website is provided.Thereby, since this apparatus can analyze the vulnerability of a website indirectly based on the session tracking parameter included in the communication content, the website is not adversely affected by the inspection action.
[0010]
Also,Thereby, it is possible to extract a parameter that is highly likely to be used as a session tracking parameter from various parameters included in the communication content.
The estimation unit determines whether or not the parameter satisfies a predetermined condition based on a region where each parameter exists, a character string included in each parameter, or a communication result when communication is performed with a website after deleting each parameter. Can be determined.
The estimator determines that each parameter is in the Authorization field, if each parameter is in a cookie set at logout, if each parameter is in a cookie with the secure flag set, each parameter is In the case of a parameter name that includes a specific character string, if it is confirmed that the personal information screen will not be displayed if each parameter is deleted, each parameter is included in the screen immediately after login, or each parameter is When one of the cases where the request for displaying a screen for displaying personal information is always included is confirmed, a process of adding points in association with the parameter can be performed.
The apparatus of the present invention may further include an instruction unit that instructs a user to log in to a website, obtain a web page including personal information on the website, and obtain a plurality of web pages on the website. The unit can acquire the communication content while the user is communicating with the website from the client in response to the instruction from the instruction unit.
[0011]
The estimation unit includesIn a session between the website and the client,Includes personal informationA specific part that identifies a web page as a page of interestThe parameter included in the web page identified as the page of interest by the identifying unit.High priorityCan.Thereby, session tracking parameters can be further narrowed down. The “attention page” is a web page to which information that originally specifies a session, such as a login screen and a personal information setting screen, should be added.
[0012]
SaidThe estimation unit performs a session between the website and the client.Web pages that contain a given stringThe specific part specified as an attention page can be included, and the parameter included in the web page specified as the attention page by the specification part can be given high priority.Thereby, the specific | specification part can specify an attention page based on communication content.
[0013]
This deviceThe user specifies a web page that is likely to contain the session tracking parameters.Accepting receptionThe estimating unit may further include a specifying unit that specifies the web page that the receiving unit has received the designation as a page of interest, and the web page specified as the page of interest by the specifying unit. High priority can be given to the included parameters.As a result, the page of interest can be identified based on the user's instructions, so that the page of interest can be identified even if personal information is included in the web page in a format that is difficult to identify automatically, such as personal photos. .
[0015]
This device,PiecesA storage unit that holds human informationCan further includeThe analysis unitThe estimator estimated that the session tracking parameter is highly likelyParameterStored in the storage unitDetermine whether the personal information is includedWhen the personal information is included, it can be analyzed that the website has a vulnerability.Thereby, this apparatus can judge whether a session tracking parameter can be estimated easily.
[0016]
The analysis unitThe estimator estimated that the session tracking parameter is highly likelyWhether the parameter has regularity, With the websiteIncluded in a series of communication contentsConcernedJudgment based on parametersWhen the parameter has regularity, it can be analyzed that the website has a vulnerability.Thereby, this apparatus can judge whether a session tracking parameter can be estimated easily based on transition of the value of the session tracking parameter contained in a series of communication contents.
[0017]
The apparatus may further include a determination unit that determines a transmission format of the session tracking parameter. Thereby, this apparatus can judge the vulnerability which may arise according to a transmission format.
[0018]
The apparatus may further include a providing unit that provides different comments to the client according to the determined transmission format. Thereby, this apparatus can present a user with an analysis result as a comment.
[0019]
The present inventionAccording to the above, obtained by repeating the process of acquiring the web page of the website from the clientWebsite andSaidCommunication contents with clientMultipleAn acquisition unit to acquire;When various parameters included in the plurality of communication contents satisfy a predetermined condition, a process of adding points in association with the parameters is performed, and the parameters having a high total score of the points areSession tracking parameters that identify sessions between the website and the clientWhen it is likelyAn estimation unit for estimation;The estimation unit selects the parameter estimated to be likely to be the session tracking parameter as a verification parameter, removes the verification parameter, performs communication to the web page, and based on the communication result, the verification parameter is Whether it is the session tracking parameterA verification unit to verify;An inspection apparatus for a website is provided.Thereby, this apparatus can verify the correctness of the session tracking parameter extracted from the communication content.
The estimation unit determines whether or not the parameter satisfies a predetermined condition based on a region where each parameter exists, a character string included in each parameter, or a communication result when communication is performed with a website after deleting each parameter. Can be determined.
The estimator determines that each parameter is in the Authorization field, if each parameter is in a cookie set at logout, if each parameter is in a cookie with the secure flag set, each parameter is In the case of a parameter name that includes a specific character string, if it is confirmed that the personal information screen will not be displayed if each parameter is deleted, each parameter is included in the screen immediately after login, or each parameter is When one of the cases where the request for displaying a screen for displaying personal information is always included is confirmed, a process of adding points in association with the parameter can be performed.
[0020]
The verification unitThe verificationDelete the parameter from the request message to be sent to the websiteTo generate a new request messageEditing department toThe new generated by the editing unitWhen the web page that should have been acquired cannot be acquired by the request messageAnd the verification parameter is the session tracking parameterJudgment part to judge, Can have.Thereby, the estimated session tracking parameter can be removed from the request message, and a new request message can be generated.
[0021]
This deviceInIn the determination unitWhen it is determined that the verification parameter is not the session tracking parameter, the verification unit selects, as the verification parameter, the parameter that is estimated to be next likely to be the session tracking parameter by the estimation unit. The verification is performed, and this process can be repeated until the determination unit determines that the verification parameter is the session tracking parameter.As a result, a correct session tracking parameter can be identified from among a plurality of session tracking parameter candidates.
[0022]
This deviceFrom the userThe verification unitAccept the verification of the verification byPermission sectionCan further includeThe verification unit, when permitted by the user,Verification can be performed.Thereby, this apparatus can perform a verification process under the user's recognition. That is, the inspection act is not recognized as unauthorized access.
[0023]
The apparatus further includes a storage unit that holds personal information, and the determination unit includes:It is determined whether or not a web page including personal information can be acquired by the new request message, and when the web page including personal information cannot be acquired, the verification parameter is the session tracking parameter. Can be determined.
[0024]
Of the present inventionThe apparatus includes a parameter corresponding to the session tracking parameter when logging in to the website using personal information of the first user, and a web page including the personal information of the first user from the website Second communication contents between the first storage unit for storing the first request message for obtaining the information and the website when logging in to the website using the personal information of the second user The parameter included in the second communication content is obtained by replacing the parameter corresponding to the session tracking parameter included in the first request message with the session tracking parameter included in the second communication content. Including a replacement unit that generates a second request message including the second request message generated by the replacement unit. A determination unit that determines whether a web page including information related to the first user can be acquired from the website by an est message, and the analysis unit includes the determination unit When it is determined that the web page can be acquired, it can be analyzed that the web page is vulnerable.Thereby, this apparatus can verify the vulnerability with respect to the impersonation act of the 3rd party by the malfunction of the access control inherent in a website.
[0025]
The web page may be a session with the client by logging into the website using personal information of a user from the client,This deviceIn a session between the website and the client, a specifying unit that specifies a web page including personal information, and after the client logs out from the website, the estimation unit is likely to be the session tracking parameter. A determination unit that determines whether the web page specified by the specifying unit can be reproduced using the estimated parameter, and the analysis unit includes the determination unit that determines whether the web page When it is determined that the page can be reproduced, it can be analyzed that the web page is vulnerable.Thereby, the logout function in the website can be inspected.
[0026]
The web page may be a session with the client by logging in to the website using the personal information of the user from the client, and the device includes the website, the client, and the client. In the session, a specific unit for identifying a web page including personal information and an elapsed time after the session between the client and the website is interrupted while the client is not logged out of the website The analysis unit may further include a measurement unit, and a determination unit that determines whether or not the web page specified by the specifying unit can be reproduced after the elapsed time exceeds a predetermined threshold. When the determination unit determines that the web page can be reproduced, the It can be analyzed and the weak exists.Thereby, the timeout function in a website can be inspected.
[0027]
It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
The inspection system according to the embodiment does not actually attack a website like a known system, and its operation is basically performed at an individual level. Therefore, by installing the inspection system according to the embodiment in various locations in a distributed manner, more individuals can voluntarily use the system as much as possible for the purpose of ensuring the safety of their access. Is the basic form. This also produces the following side effects.
1. The habit of ensuring the safety of individuals at their own responsibility will be widened, and will be an opportunity to raise awareness of security at the national level.
2. Websites are constantly inspected by a large number of individuals, and sites with low security consciousness must be deceived. As a result, this is an opportunity for consciousness reform on the site management side.
[0029]
FIG. 1 is a configuration diagram of an
[0030]
In general, communication between the
[0031]
FIG. 2 is an internal configuration diagram of the
[0032]
For example, the
[0033]
In general, the vulnerability of a website is mainly caused by a bug inherent in the
[0034]
For example, if the value of the session tracking parameter does not change from session to session, the user's personal information is included, or if it is easy to guess, a malicious person can acquire personal information by impersonating the original user. Or receive services on behalf of the original user. The vulnerability inherent in the
[0035]
FIG. 3 is a diagram illustrating an example of the data structure of the
[0036]
FIG. 4 is a diagram illustrating an example of a data structure of the
[0037]
In this example, it can be seen that the
[0038]
FIG. 5 is an internal configuration diagram of the
[0039]
The
[0040]
The personal
[0041]
FIG. 6 is a diagram illustrating an example of a data structure in the personal
[0042]
FIG. 7 is an internal block diagram of the
[0043]
FIG. 8 is a diagram for explaining the class structure of objects held in the communication
[0044]
The
[0045]
The
[0046]
Returning to FIG. 7, when a response message (hereinafter also simply referred to as “response”) is received from the
[0047]
When the response from the
[0048]
Even when a request message (hereinafter sometimes simply referred to as “request”) is received from the
[0049]
FIG. 9 is an internal block diagram of the
[0050]
(1) When the parameter is in the Authorization field
(2) The parameter is included in the cookie, and the cookie is set at the time of logout in the logout function check phase described later
(3) If the parameter is in a cookie with the secure flag set
(4) When the parameter name is a parameter name including a specific character string such as “session” or “sid”
(5) When it is confirmed in the session tracking parameter verification phase described later that the personal information screen will not be displayed if the parameter is deleted.
(6) When the parameter is included in the screen immediately after login in the login phase
(7) When the parameter is always included in the request to display the screen displaying personal information
[0051]
FIG. 10 is an example of a flowchart of parameter candidate selection processing in the
[0052]
Returning to FIG. 9, the identifying
[0053]
Since the attention page is often provided for each user, there is a high possibility that the session tracking parameter is included in the attention page. The narrowing-down
[0054]
FIG. 11 is an internal configuration diagram of the
[0055]
FIG. 12 is an internal block diagram of the
[0056]
FIG. 13 is a diagram illustrating an example of a
[0057]
Returning to FIG. 12, the
[0058]
The
[0059]
In another example, the
[0060]
FIG. 14 is an internal configuration diagram of the
[0061]
The
[0062]
FIG. 15 is an internal block diagram of the
[0063]
FIG. 16 is an internal block diagram of the logout
[0064]
FIG. 17 is an internal block diagram of the timeout
[0065]
FIG. 18 is an internal configuration diagram of the
[0066]
The transmission
[0067]
The verification
[0068]
The determination result supplied from each unit is weighted, and the
[0069]
FIG. 19 is a diagram illustrating an example of the
[0070]
FIG. 20 is a diagram illustrating another example of the
[0071]
FIG. 21 is a diagram illustrating another example of the
[0072]
FIG. 22 is an example of a flowchart of processing for inspecting the vulnerability of the
[0073]
FIG. 23 is an example of a detailed flowchart of
[0074]
Next, the
[0075]
After inspecting the logout function, the
[0076]
FIG. 24 is an example of a detailed flowchart of
[0077]
Then, the
[0078]
Then, the
[0079]
FIG. 25 is an example of a detailed flowchart of
[0080]
Then, the
[0081]
Then, the
[0082]
The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. . The following are points to keep in mind from this point of view.
[0083]
In the embodiment, the operation of this system is basically left to the individual's will. However, in view of the high public utility of this system, its operation can naturally be managed collectively by an entity capable of implementing public utilities. In that case, what is necessary is just to implement | achieve the test |
[0084]
For example, a system auditor may use the system for a security audit of the system, or a web application orderer may use the system for acceptance of the system. Traditionally, it has been difficult to set standards for such audits and acceptances, and has never been clarified. However, an objective criterion can be set that no vulnerability is detected by the system.
[0085]
A server for collecting the results of examinations performed at the individual level is provided in the
[0086]
Further, the
[0087]
【The invention's effect】
ADVANTAGE OF THE INVENTION According to this invention, the vulnerability which exists in a website can be test | inspected based on the communication content of the website and client which are test object.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an inspection system according to an embodiment.
FIG. 2 is an internal configuration diagram of the website shown in FIG.
FIG. 3 is a diagram illustrating an example of a data structure of a request message in FIG. 1;
4 is a diagram illustrating an example of a data structure of a response message in FIG. 1. FIG.
FIG. 5 is an internal configuration diagram of the inspection apparatus of FIG. 1;
6 is a diagram showing an example of a data structure in the personal information storage unit of FIG.
7 is an internal block diagram of the acquisition unit in FIG. 5. FIG.
8 is a diagram for explaining a class structure of an object held in a communication content storage unit in FIG. 5;
FIG. 9 is an internal block diagram of the estimation unit in FIG. 5;
10 is a flowchart of parameter candidate selection processing in the estimation unit of FIG. 9;
FIG. 11 is an internal configuration diagram of the verification unit in FIG. 5;
12 is an internal configuration diagram of a parameter inspection unit in FIG. 11;
13 is a diagram illustrating an example of a parameter selection screen for selecting a verification parameter in the selection unit in FIG. 12;
14 is an internal configuration diagram of a spoofing inspection unit in FIG. 11;
15 is an internal configuration diagram of the test unit in FIG. 5;
16 is an internal configuration diagram of a logout function inspection unit in FIG. 15;
17 is an internal configuration diagram of a timeout function inspection unit in FIG. 15;
18 is an internal configuration diagram of the analysis unit in FIG. 5;
FIG. 19 is a diagram showing an example of an inspection result screen.
FIG. 20 is a diagram showing another example of an inspection result screen.
FIG. 21 is a diagram showing another example of an inspection result screen.
22 is an example of a flowchart of a process for inspecting a website for vulnerability in the inspection apparatus of FIG. 1;
FIG. 23 is an example of a detailed flowchart of
FIG. 24 is an example of a detailed flowchart of
FIG. 25 is an example of a detailed flowchart of
[Explanation of symbols]
10 inspection system, 12 network, 14 browser, 20 request message, 22 response message, 50 website, 100 inspection device, 102 communication content storage unit, 104 personal information storage unit, 106 inspection control unit, 108 operation reception unit, 110 display Processing unit, 150 acquisition unit, 152 first determination unit, 154 extraction unit, 156 second determination unit, 158 first encryption / decryption unit, 159 second encryption / decryption unit, 160 storage processing unit, 200 estimation unit, 202 Extraction unit, 204 Refinement unit, 206 Identification unit, 208 User instruction reception unit, 300 analysis unit, 302 Parameter state determination unit, 304 Estimability determination unit, 306 Transmission format determination unit, 308 Verification result reception unit, 310 test Result reception unit, 312 digitization unit, 314 selection unit, 316 knowledge data 350, test section, 352 logout function inspection section, 354 timeout function inspection section, 36 session tracking parameter, 360 logout processing section, 362 request instruction section, 364 communication section, 366 determination section, 370 setting section, 372 timing section, 374 instruction unit, 376 communication unit, 378 determination unit, 400 verification unit, 402 parameter inspection unit, 404 impersonation inspection unit, 406 permission unit, 410 parameter candidate input unit, 412 selection unit, 414 reading unit, 416 editing unit, 418 communication Unit, 420 determination unit, 430 login processing unit, 432 reading unit, 434 replacement unit, 436 communication unit, 438 determination unit, 440 parameter acquisition unit.
Claims (19)
前記複数の通信内容に含まれる各種のパラメータが所定の条件を満たす場合に、当該パラメータに対応付けてポイントを加点する処理を行い、前記ポイントの合計点の高い前記パラメータを前記ウェブサイトと前記クライアントとのセッションを特定するセッション追跡パラメータである可能性が高いと推定する推定部と、
前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータのデータ構成または伝送形式、あるいは前記パラメータを用いてまたは削除して前記ウェブサイトと通信を行った場合の通信結果に基づいて、前記ウェブサイトを分析する分析部と、
を含むことを特徴とするウェブサイトの検査装置。An acquisition unit that acquires a plurality of communication contents between the client and the web site obtained by repeating the process of acquiring the web page of the web site from the client,
When various parameters included in the plurality of communication contents satisfy a predetermined condition, a process of adding points in association with the parameters is performed, and the parameter having a high total score of the points is set as the website and the client. An estimator that estimates that it is likely to be a session tracking parameter that identifies a session with
Based on the data configuration or transmission format of the parameter estimated by the estimation unit to be highly likely to be the session tracking parameter, or based on the communication result when communicating with the website using or deleting the parameter An analysis unit for analyzing the website;
A website inspection apparatus comprising:
前記推定部は、各前記パラメータが存在する領域、各前記パラメータに含まれる文字列、または各前記パラメータを削除して前記ウェブサイトと通信を行った場合の通信結果に基づき、当該パラメータが前記所定の条件を満たすか否かを判断することを特徴とするウェブサイトの検査装置。The apparatus of claim 1.
The estimation unit is configured to determine whether the parameter is the predetermined area based on a region in which each parameter exists, a character string included in each parameter, or a communication result when the parameter is deleted and communication is performed with the website. An inspection apparatus for a website, characterized by determining whether or not the above condition is satisfied .
前記推定部は、各前記パラメータが、Authorizationフィールド中にある場合、各前記パラメータが、ログアウト時に設定されたクッキー中にある場合、各前記パラメータが、セキュアフラグのセットされたクッキー中にある場合、各前記パラメータが、特定の文字列を含むパラメータ名の場合、各前記パラメータを削ると個人情報画面が表示されなくなることが確認された場合、各前記パラメータが、ログイン直後の画面に含まれていた場合、または、各前記パラメータが、個人情報を表示する画面を出すためのリクエスト中に常に含まれていた場合のいずれかが確認されたときに当該パラメータに対応付けてポイントを加点する処理を行うことを特徴とするウェブサイトの検査装置。The apparatus according to claim 1 or 2,
The estimation unit may be configured such that each parameter is in an Authorization field, each parameter is in a cookie set at logout, each parameter is in a cookie with a secure flag set, When each parameter is a parameter name including a specific character string, it is confirmed that the personal information screen is not displayed when each parameter is deleted, and each parameter is included in the screen immediately after login. Or when each of the parameters is always included in a request for displaying a screen for displaying personal information, a process of adding points in association with the parameters is performed. A website inspection device characterized by the above.
前記推定部は、前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを注目ページとして特定する特定部を含み、当該特定部により前記注目ページとして特定された前記ウェブページに含まれる前記パラメータに高い優先度をつけることを特徴とするウェブサイトの検査装置。The apparatus according to any one of claims 1 to 3,
The estimation unit includes a specifying unit that specifies a web page including personal information as a page of interest in a session between the website and the client, and is included in the web page specified as the page of interest by the specifying unit. An inspection device for a website, wherein a high priority is given to the parameter .
前記推定部は、前記ウェブサイトと前記クライアントとのセッションにおいて、所定の文字列が含まれているウェブページを注目ページとして特定する特定部を含み、当該特定部により前記注目ページとして特定されたウェブページに含まれる前記パラメータに高い優先度をつけることを特徴とするウェブサイトの検査装置。The apparatus according to any one of claims 1 to 3,
The estimation unit includes a specifying unit that specifies a web page including a predetermined character string as a page of interest in a session between the website and the client, and the web specified as the page of interest by the specifying unit A website inspection apparatus, characterized in that a high priority is given to the parameters included in a page .
ユーザから、前記セッション追跡パラメータが含まれる可能性の高いウェブページの指定を受け付ける受付部をさらに含み、
前記推定部は、前記受付部が指定を受け付けた前記ウェブページを注目ページとして特定する特定部を含み、当該特定部により前記注目ページとして特定されたウェブページに含まれる前記パラメータに高い優先度をつけることを特徴とするウェブサイトの検査装置。The apparatus according to any one of claims 1 to 3 ,
A reception unit that receives a designation of a web page that is likely to include the session tracking parameter from the user;
The estimation unit includes a specifying unit that specifies the web page that has been designated by the receiving unit as a target page, and gives a high priority to the parameter included in the web page specified as the target page by the specifying unit. inspection apparatus of the web site, characterized in that the wear.
個人情報を保持する格納部をさらに含み、
前記分析部は、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータに前記格納部に格納された前記個人情報が含まれているか否かを判定し、前記個人情報が含まれている場合に、前記ウェブサイトに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。 Te device smell as claimed in any one of claims 1 to 6,
Further comprising a storage unit that holds personal information,
The analysis unit determines whether or not the personal information stored in the storage unit is included in the parameter estimated by the estimation unit to be highly likely to be the session tracking parameter, and the personal information is If it is included, the website inspection apparatus analyzes that the website has a vulnerability .
前記分析部は、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータが規則性を有するか否かを、前記ウェブサイトとの一連の通信内容に含まれる当該パラメータに基づいて判定し、前記パラメータが規則性を有する場合に、前記ウェブサイトに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。The device according to any one of claims 1 to 7,
The analyzing unit determines whether the estimation unit has said session tracking the parameter likelihood is estimated that high a parameter regularity, based on the parameters included in the series of contents of communication with the web site When the parameter has regularity, it is analyzed that the website has a vulnerability .
前記ウェブページは、前記クライアントから、ユーザの個人情報を利用して前記ウェブサイトにログインすることにより前記クライアントとのセッションを行うものであって、
当該装置は、
前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを特定する特定部と、
前記クライアントが前記ウェブサイトからログアウトした後、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータを利用して、前記特定部が特定した前記ウェブページを再現し得るか否かを判定する判定部と、
をさらに含み、
前記分析部は、前記判定部が前記ウェブページを再現し得たと判定した場合に、前記ウェブページに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。The apparatus according to any one of claims 1 to 8,
The web page performs a session with the client by logging in to the website using the user's personal information from the client,
The device is
A specifying unit for specifying a web page including personal information in a session between the website and the client;
After the client logs out from the website, whether or not the estimating unit can reproduce the web page specified by the specifying unit using the parameter estimated to be highly likely to be the session tracking parameter A determination unit for determining whether or not
Further including
The website inspection apparatus , wherein the analysis unit analyzes that the web page is vulnerable when the determination unit determines that the web page can be reproduced .
前記ウェブページは、前記クライアントから、ユーザの個人情報を利用して前記ウェブサイトにログインすることにより前記クライアントとのセッションを行うものであって、
前記装置は、
前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを特定する特定部と、
前記クライアントが前記ウェブサイトからログアウトしていない状態で、前記クライアントと前記ウェブサイトとのセッションが途絶えた後の経過時間を計測する計測部と、
前記経過時間が所定のしきい値を超えた後、前記特定部が特定した前記ウェブページを再現し得るか否かを判定する判定部と、
をさらに含み、
前記分析部は、前記判定部が前記ウェブページを再現し得たと判定した場合に、前記ウェブページに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。The apparatus according to any one of claims 1 to 9 ,
The web page performs a session with the client by logging in to the website using the user's personal information from the client,
The device is
A specifying unit for specifying a web page including personal information in a session between the website and the client;
A measurement unit that measures an elapsed time after a session between the client and the website is terminated in a state where the client is not logged out of the website;
A determination unit that determines whether or not the specified web page can be reproduced after the elapsed time exceeds a predetermined threshold;
Further including
The website inspection apparatus , wherein the analysis unit analyzes that the web page is vulnerable when the determination unit determines that the web page can be reproduced .
第1のユーザの個人情報を利用して前記ウェブサイトにログインしたときに、前記セッション追跡パラメータに対応するパラメータを含み、当該ウェブサイトから前記第1のユーザの個人情報を含むウェブページを取得するための第1のリクエストメッセージを記憶する第1の記憶部と、
第2のユーザの個人情報を利用して前記ウェブサイトにログインしたときの前記ウェブサイトとの第2の通信内容を取得し、前記第1のリクエストメッセージに含まれる前記セッション追跡パラメータに対応するパラメータを、前記第2の通信内容に含まれる前記セッション追跡パラメータに置き換えて、前記第2の通信内容に含まれる前記パラメータを 含む第2のリクエストメッセージを生成する置換部と、
前記置換部が生成した前記第2のリクエストメッセージにより、前記ウェブサイトから前記第1のユーザに関係する情報を含むウェブページが取得できるか否かを判定する判定部と、
をさらに含み、
前記分析部は、前記判定部が前記ウェブページが取得できると判定した場合に、前記ウェブページに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。 The apparatus according to any one of claims 1 to 10,
When logging in to the website using personal information of the first user, a web page including parameters corresponding to the session tracking parameters and including the personal information of the first user is acquired from the website. A first storage for storing a first request message for
A parameter corresponding to the session tracking parameter included in the first request message, acquiring second communication content with the website when logging into the website using personal information of a second user Replacing the session tracking parameter included in the second communication content with a replacement unit that generates a second request message including the parameter included in the second communication content ;
A determination unit for determining whether or not a web page including information related to the first user can be acquired from the website by the second request message generated by the replacement unit;
Further including
The analyzing unit, when said determination section determines that the web page can be acquired, the inspection apparatus of the website, wherein the analyzing and are vulnerable to the web page.
ユーザに、前記ウェブサイトへのログイン、前記ウェブサイトにおける個人情報を含むウェブページの取得、および前記ウェブサイトにおける複数のウェブページの取得を指示する指示部をさらに含み、
前記取得部は、前記指示部の指示に対して前記ユーザが前記クライアントから前記ウェブサイトと通信している間に、当該通信内容を取得することを特徴とするウェブサイトの検査装置。12. The device according to any one of claims 1 to 11,
An instruction unit for instructing the user to log in to the website, obtain a web page including personal information on the website, and obtain a plurality of web pages on the website;
The acquisition unit acquires the communication contents while the user is communicating with the website from the client in response to an instruction from the instruction unit.
前記複数の通信内容に含まれる各種のパラメータが所定の条件を満たす場合に、当該パラメータに対応付けてポイントを加点する処理を行い、前記ポイントの合計点の高い前記パラメータを前記ウェブサイトと前記クライアントとのセッションを特定するセッション追跡パラメータである可能性が高いと推定する推定部と、
前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータを検証パラメータとして選択し、当該検証パラメータを取り除いて前記ウェブページへの通信を行い、通信結果に基づき、当該検証パラメータが前記セッション追跡パラメータであるか否かを検証する検証部と、
を含むことを特徴とするウェブサイトの検査装置。 An acquisition unit for acquiring a plurality of communication contents between the website and the client obtained by repeating the process of acquiring the web page of the website from the client;
When various parameters included in the plurality of communication contents satisfy a predetermined condition, a process of adding points in association with the parameters is performed, and the parameter having a high total score of the points is set as the website and the client. An estimator that estimates that it is likely to be a session tracking parameter that identifies a session with
The estimation unit selects the parameter estimated to be likely to be the session tracking parameter as a verification parameter, removes the verification parameter, performs communication to the web page, and based on the communication result, the verification parameter is A verification unit that verifies whether or not the session tracking parameter;
A website inspection apparatus comprising:
前記推定部は、各前記パラメータが存在する領域、各前記パラメータに含まれる文字列、または各前記パラメータを削除して前記ウェブサイトと通信を行った場合の通信結果に基づき、当該パラメータが前記所定の条件を満たすか否かを判断することを特徴とするウェブサイトの検査装置。The apparatus of claim 13 .
The estimation unit is configured to determine whether the parameter is the predetermined area based on a region in which each parameter exists, a character string included in each parameter, or a communication result when the parameter is deleted and communication is performed with the website. inspection system website, characterized in that to determine whether or not the condition.
前記推定部は、各前記パラメータが、Authorizationフィールド中にある場合、各前記パラメータが、ログアウト時に設定されたクッキー中にある場合、各前記パラメータが、セキュアフラグのセットされたクッキー中にある場合、各前記パラメータが、特定の文字列を含むパラメータ名の場合、各前記パラメータを削ると個人情報画面が表示されなくなることが確認された場合、各前記パラメータが、ログイン直後の画面に含まれていた場合、または、各前記パラメータが、個人情報を表示する画面を出すためのリクエスト中に常に含まれていた場合のいずれかが確認されたときに当該パラメータに対応付けてポイントを加点する処理を行うことを特徴とするウェブサイトの検査装置。The device according to claim 13 or 14 ,
The estimation unit may be configured such that each parameter is in an Authorization field, each parameter is in a cookie set at logout, each parameter is in a cookie with a secure flag set, When each parameter is a parameter name including a specific character string, it is confirmed that the personal information screen is not displayed when each parameter is deleted, and each parameter is included in the screen immediately after login. Or when each of the parameters is always included in a request for displaying a screen for displaying personal information, a process of adding points in association with the parameters is performed. A website inspection device characterized by the above.
前記検証部は、
前記検証パラメータを前記ウェブサイトへ出すべきリクエストメッセージの中から削除して新たなリクエストメッセージを生成する編集部と、
前記編集部が生成した前記新たなリクエストメッセージにより、本来取得されるべきウェブページが取得できなかった場合に、当該検証パラメータが前記セッション追跡パラメ ータであると判定する判定部と、
を有することを特徴とするウェブサイトの検査装置。 An apparatus according to any of claims 13 to 15,
The verification unit
An editing unit that deletes the verification parameter from the request message to be sent to the website and generates a new request message;
By the new request message the editing unit has generated, when the web page to be acquired originally can not be acquired, a determination unit and the validation parameter is the session tracking parameters,
A website inspection apparatus characterized by comprising:
前記判定部にて前記検証パラメータが前記セッション追跡パラメータでないと判定されたとき、前記検証部は、前記推定部により次に前記セッション追跡パラメータである可能性が高いと推定された前記パラメータを前記検証パラメータとして選択して前記検証を行い、この処理を、前記判定部により前記検証パラメータが前記セッション追跡パラメータであると判定されるまで繰り返すことを特徴とするウェブサイトの検査装置。 The apparatus of claim 16.
When the determination unit determines that the verification parameter is not the session tracking parameter, the verification unit verifies the parameter that is estimated to be the next session tracking parameter by the estimation unit. The website inspection apparatus , wherein the verification is performed by selecting it as a parameter and repeating this process until the determination unit determines that the verification parameter is the session tracking parameter .
個人情報を保持する格納部をさらに含み、
前記判定部は、前記新たなリクエストメッセージにより、個人情報が含まれるウェブページが取得できたか否かを判定し、個人情報が含まれるウェブページが取得できなかった場合に、当該検証パラメータが前記セッション追跡パラメータであると判定することを特徴とするウェブサイトの検査装置。 18. An apparatus according to claim 16 or 17,
A storage unit for storing personal information;
The determination unit determines whether or not a web page including personal information can be acquired by the new request message, and when the web page including personal information cannot be acquired, the verification parameter is set to the session. An inspection apparatus for a website, characterized in that it is determined as a tracking parameter .
ユーザから、前記検証部による前記検証の許否を受け付ける許可部をさらに含み、A permission unit that accepts permission of the verification by the verification unit from a user;
前記検証部は、ユーザから許可された場合に前記検証を行うことを特徴とするウェブサイトの検査装置。The inspection unit for a website, wherein the verification unit performs the verification when permitted by a user.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003100271A JP3896486B2 (en) | 2003-04-03 | 2003-04-03 | Website inspection equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003100271A JP3896486B2 (en) | 2003-04-03 | 2003-04-03 | Website inspection equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004310267A JP2004310267A (en) | 2004-11-04 |
JP3896486B2 true JP3896486B2 (en) | 2007-03-22 |
Family
ID=33464459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003100271A Expired - Lifetime JP3896486B2 (en) | 2003-04-03 | 2003-04-03 | Website inspection equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3896486B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537307A (en) * | 2014-12-23 | 2015-04-22 | 北京奇虎科技有限公司 | Method and system for detecting website vulnerability |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4708767B2 (en) * | 2004-11-22 | 2011-06-22 | 富士通株式会社 | Web browsing system |
US20060294383A1 (en) * | 2005-06-28 | 2006-12-28 | Paula Austel | Secure data communications in web services |
US20080120420A1 (en) * | 2006-11-17 | 2008-05-22 | Caleb Sima | Characterization of web application inputs |
US8656495B2 (en) * | 2006-11-17 | 2014-02-18 | Hewlett-Packard Development Company, L.P. | Web application assessment based on intelligent generation of attack strings |
JP7344614B1 (en) | 2023-05-08 | 2023-09-14 | 株式会社エーアイセキュリティラボ | Systems, methods, and programs for testing website vulnerabilities |
JP7320211B1 (en) | 2023-06-12 | 2023-08-03 | 株式会社エーアイセキュリティラボ | Systems, methods and programs for testing website vulnerabilities |
-
2003
- 2003-04-03 JP JP2003100271A patent/JP3896486B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537307A (en) * | 2014-12-23 | 2015-04-22 | 北京奇虎科技有限公司 | Method and system for detecting website vulnerability |
Also Published As
Publication number | Publication date |
---|---|
JP2004310267A (en) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49089E1 (en) | Security for WAP servers | |
US10248782B2 (en) | Systems and methods for access control to web applications and identification of web browsers | |
Dumitraş et al. | Toward a standard benchmark for computer security research: The Worldwide Intelligence Network Environment (WINE) | |
US7647631B2 (en) | Automated user interaction in application assessment | |
Burnett et al. | Encore: Lightweight measurement of web censorship with cross-origin requests | |
US8925051B1 (en) | Automated login session extender for use in security analysis systems | |
US8656495B2 (en) | Web application assessment based on intelligent generation of attack strings | |
CN113574838A (en) | System and method for filtering internet traffic through client fingerprints | |
US20050138426A1 (en) | Method, system, and apparatus for managing, monitoring, auditing, cataloging, scoring, and improving vulnerability assessment tests, as well as automating retesting efforts and elements of tests | |
US20110035784A1 (en) | Method and apparatus for detecting cyber threats | |
CN109039987A (en) | A kind of user account login method, device, electronic equipment and storage medium | |
US10033761B2 (en) | System and method for monitoring falsification of content after detection of unauthorized access | |
KR20120135041A (en) | Access monitoring method, information processing apparatus, and computer-readable medium storing access monitoring program | |
CN113868659B (en) | Vulnerability detection method and system | |
CN108667770A (en) | A kind of loophole test method, server and the system of website | |
CN109145585A (en) | There are the method and devices of weak passwurd for a kind of detection website | |
CN110417718A (en) | Handle method, apparatus, equipment and the storage medium of the risk data in website | |
KR20180075881A (en) | Method and Apparatus for Analyzing Web Vulnerability for Client-side | |
Riadi et al. | Vulnerability analysis of E-voting application using open web application security project (OWASP) framework | |
JP3896486B2 (en) | Website inspection equipment | |
CN113868669A (en) | Vulnerability detection method and system | |
CN111241547B (en) | Method, device and system for detecting override vulnerability | |
JP2004038272A (en) | Web monitoring device and method, and computer program | |
Vecchiato et al. | A security configuration assessment for android devices | |
Compagna et al. | A preliminary study on the adoption and effectiveness of SameSite cookies as a CSRF defence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060905 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3896486 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |