JP3896486B2 - Website inspection equipment - Google Patents

Website inspection equipment Download PDF

Info

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
Application number
JP2003100271A
Other languages
Japanese (ja)
Other versions
JP2004310267A (en
Inventor
浩光 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2003100271A priority Critical patent/JP3896486B2/en
Publication of JP2004310267A publication Critical patent/JP2004310267A/en
Application granted granted Critical
Publication of JP3896486B2 publication Critical patent/JP3896486B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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 Patent Document 1, since an attack is directly performed on a website to be inspected, if there is a vulnerability in the website to be investigated, it is expected to check that website for inspection. Can cause undue damage.
[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 inspection system 10 according to an embodiment. The website 50 is a site to be inspected, and provides content to the browser 14 via the network 12. The inspection apparatus 100 functions as a proxy for the browser 14, relays communication between the browser 14 and the website 50, and acquires communication contents. And the inspection apparatus 100 judges the vulnerability of the website 50 based on the communication content. The browser 14 and the inspection apparatus 100 may be formed on the same computer by executing a predetermined program, or may be formed on different computers.
[0030]
In general, communication between the browser 14 and the website 50 is performed based on HTTP (Hyper Text Transfer Protocol). When acquiring content according to HTTP, the browser 14 transmits a request message 20 to the website 50. Then, the website 50 transmits a response message 22 in response to the request message 20. When communication is performed according to HTTP, a request and a response are communication units (hereinafter simply referred to as “access”). For this reason, when providing content that spans multiple web pages for each user, such as a shopping site, it is necessary to manage the web pages being provided for each user. That is, it is necessary to manage a series of accesses (hereinafter simply referred to as “sessions”) for providing content to the user. As a management method, it is common to assign identification information for each session.
[0031]
FIG. 2 is an internal configuration diagram of the website 50 of FIG. The website 50 is formed by causing an arbitrary computer to execute a predetermined program, and a single website may be formed on a single computer, or a plurality of websites may be formed. The web server 58 provides content according to HTTP. The normal content storage unit 56 stores, for example, HTML content. The web server 58 reads the content requested via the network 12 from the normal content storage unit 56 and transmits it.
[0032]
For example, the web application 54 forms a web page for each user based on the personal information stored in the personal information storage unit 52. Then, the web page generated for each user is provided to the user via the web server 58. Examples of sites that provide web pages for each user include shopping sites, personal schedule management sites, and web mail sites. Since the website 50 handling such personal information provides a web page for each user, it is necessary to assign identification information (hereinafter simply referred to as “session tracking parameter”) for each session.
[0033]
In general, the vulnerability of a website is mainly caused by a bug inherent in the web server 58 or a bug inherent in the web application 54. The web application 54 is, for example, CGI or JSP (trademark), and often includes bugs due to design errors or developer errors during development. The inspection apparatus 100 in FIG. 1 mainly analyzes vulnerabilities inherent in the web application 54. Many of the vulnerabilities in the web application 54 are mostly related to poor access control functions caused by, for example, mishandling of session tracking parameters.
[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 web application 54 can be analyzed based on session tracking parameters included in the content of communication performed between the website 50 and the browser 14 of FIG.
[0035]
FIG. 3 is a diagram illustrating an example of the data structure of the request message 20 of FIG. The request message 20 has a request header 24 and a request body 26. The session tracking parameter 28 is identification information assigned for each session, and is set in a cookie in this figure. In another example, the session tracking parameter 28 may be embedded in either the request body 26, the URL (Uniform Resource Locator) or the Authentication field in the request header 24. The user ID 30 is information indicating a user ID in the website 50, for example.
[0036]
FIG. 4 is a diagram illustrating an example of a data structure of the response message 22 in FIG. The response message 22 has a response header 32 and a response body 34. A command for setting a new session tracking parameter 36 in a cookie is added to the response header 32 in this figure. From the parameters such as the session tracking parameter 28 in FIG. 3 and the session tracking parameter 36 in FIG. 4, the handling status of the session tracking parameter in the website 50 can be determined.
[0037]
In this example, it can be seen that the website 50 generates the session tracking parameter by combining the incremented value and the user ID every time a session is performed. Since it is easy to estimate such session tracking parameters, the website 50 can determine that personal information may be leaked due to unauthorized access. In this manner, the vulnerability inherent in the website 50 can be analyzed based on the session tracking parameters included in the request message 20 and the response message 22 (hereinafter simply referred to as “communication content”). Since the inspection device 100 in FIG. 1 determines the vulnerability of the website 50 based on the communication content, it does not attack the website 50 unlike the conventional inspection device. For this reason, the website 50 is not damaged. Further, not only a known vulnerability can be determined as in a conventional inspection apparatus, but also an inherent vulnerability inherent in the website 50 can be analyzed.
[0038]
FIG. 5 is an internal configuration diagram of the inspection apparatus 100 of FIG. Each component of the inspection apparatus 100 is, as far as a hardware component, a CPU of an arbitrary computer, a memory, a program for realizing the components shown in the figure loaded in the memory, a storage unit such as a hard disk for storing the program, It is realized mainly by a network connection interface, a facsimile communication modem, and the like, but it is understood by those skilled in the art that there are various modifications in the implementation method and apparatus. Each figure to be described below shows functional unit blocks, not hardware unit configurations.
[0039]
The acquisition unit 150 acquires the communication content between the website 50 and the browser 14 and stores the acquired communication content in the communication content storage unit 102. The estimation unit 200 estimates a session tracking parameter candidate based on the communication content held in the communication content storage unit 102, and outputs it to the analysis unit 300. The analysis unit 300 analyzes vulnerabilities inherent in the website 50 based on session tracking parameters and the like. The verification unit 400 verifies whether the session tracking parameter estimated by the estimation unit 200 is correct. Although details of the test contents will be described later, the test unit 350 tests various functions related to session tracking parameters such as a logout function and a timeout function in the website 50, for example.
[0040]
The personal information storage unit 104 holds personal information such as a user ID and password in the website 50 used for inspection. The inspection control unit 106 controls each of the acquisition unit 150, the analysis unit 300, the estimation unit 200, and the verification unit 400. In addition, the inspection control unit 106 provides an operation instruction received from the user via the operation receiving unit 108 to a unit that requires the instruction. In addition, the inspection control unit 106 outputs information for displaying an operation screen, analysis results, and the like to the display processing unit 110. The display processing unit 110 displays the information on the display unit.
[0041]
FIG. 6 is a diagram illustrating an example of a data structure in the personal information storage unit 104 of FIG. In the present embodiment, the personal information storage unit 104 holds personal information in an XML (eXtensible Markup Language) format. The user information column 500 holds personal information for two users. The first user information column 502 holds the personal information of the first user. The second user information column 504 holds personal information of the second user. The personal information column 506 holds individual user information such as a user ID, password, name, address, e-mail address, telephone number, credit card number, and the like. The personal information column 506 includes a damage value column 508 that holds information relating to a risk caused by leakage, an item column 510 that holds a keyword that specifies the type of personal information, and a value column 512 that holds user information specified by the keyword. And have. Although details will be described later, the vulnerability of the website 50 can be analyzed based on whether or not such personal information is included in the communication content.
[0042]
FIG. 7 is an internal block diagram of the acquisition unit 150 of FIG. The first determination unit 152 and the second determination unit 156 determine whether or not the communication content is encrypted by, for example, HTTPS (Hyper Text Transfer Protocol over SSL). When the communication content is encrypted, the first encryption / decryption unit 158 and the second encryption / decryption unit 159 decrypt the communication content. In addition, the first encryption / decryption unit 158 and the second encryption / decryption unit 159 encrypt communication contents as necessary. The extraction unit 154 of the acquisition unit 150 extracts predetermined information such as information used for inspection from the communication content and outputs the extracted information to the storage processing unit 160. The storage processing unit 160 stores individual information in the communication content storage unit 102. For example, the storage processing unit 160 may generate an object for each session for acquiring a web page, and store the extracted information in the object.
[0043]
FIG. 8 is a diagram for explaining the class structure of objects held in the communication content storage unit 102 of FIG. The communication class 520 has, for example, a protocol, a communication date / time, a header, a body, and the like as members. The request class 522 is a class that inherits the communication class 520, and further has, for example, a request method, URL, and parameters as members. The parameter is a member for holding an argument included in the request header, request body, and the like. The member for holding the parameter may hold a pointer of an object of a class for managing the parameter (hereinafter simply referred to as “parameter class”). Since the parameter class has a structure capable of holding a plurality of parameters, the request class 522 can hold a plurality of parameters included in the request message. The header part and body part of the request message are held in the header and body members, respectively.
[0044]
The response class 524 is a class that inherits the communication class 520 and further has a response code, parameters, and the like as members. The header part and body part of the response message are held in the header and body members, respectively. A cookie or the like is held in a parameter member.
[0045]
The access class 526 is a class that inherits the request class 522 and the response class 524, records a request message and a response message at the time of access, and manages communication contents. The access class 526 further has a session name, page attribute, access number, user information, and the like as members. The session name is a name for identifying a session. The page attribute is a member for holding information for specifying the type of the acquired web page such as a login screen or a personal information display screen. Although details will be described later, the inspection control unit 106 in FIG. 5 presents information regarding a web page to be acquired for the inspection to the user. Information about the web page is notified from the inspection control unit 106 to the storage processing unit 160 of FIG. 7 as a page attribute. The storage processing unit 160 stores the page attribute in the object. Thereby, an object for each access can be generated while adding a page attribute. The access number is a member for holding information designating the order of access in a session, that is, the number of access since the start of the web site inspection. The user information is a member for holding information for specifying personal information used for performing the session. The storage processing unit 160 in FIG. 7 generates an object of the access class 526 every time an access occurs, and associates the object with an object for managing a session and records the communication content.
[0046]
Returning to FIG. 7, when a response message (hereinafter also simply referred to as “response”) is received from the website 50, the first determination unit 152 determines whether or not the response is encrypted. For example, when the response conforms to HTTP, that is, when the response is not encrypted, the first determination unit 152 outputs the response to the extraction unit 154 of the acquisition unit 150. The extraction unit 154 extracts information held in the members of the access class 526 in FIG. 8 and outputs the response to the second determination unit 156. The second determination unit 156 outputs the response supplied from the extraction unit 154 to the browser 14 as it is.
[0047]
When the response from the website 50 conforms to HTTPS, that is, when encrypted, the first determination unit 152 outputs the encrypted response to the first encryption / decryption unit 158. The first encryption / decryption unit 158 decrypts the encrypted response and outputs the decrypted response to the extraction unit 154. The extraction unit 154 extracts the information described above and outputs it to the storage processing unit 160. Then, the extraction unit 154 outputs the response to the second encryption / decryption unit 159. The second encryption / decryption unit 159 encrypts the response again and outputs it to the second determination unit 156. The second determination unit 156 outputs the encrypted response to the browser 14. As described above, when the response conforms to HTTPS, the acquisition unit 150 includes the first determination unit 152, the first encryption / decryption unit 158, the extraction unit 154, the second encryption / decryption unit 159, and the second determination. The response is output to the browser 14 via the unit 156. Further, in the case of conforming to HTTP, the acquisition unit 150 outputs a response to the browser 14 via the first determination unit 152, the extraction unit 154, and the second determination unit 156.
[0048]
Even when a request message (hereinafter sometimes simply referred to as “request”) is received from the browser 14 and transmitted to the website 50, as described above, in the case of an encrypted request, the acquisition unit 150 performs the second determination. The request is output to the website 50 via the unit 156, the second encryption / decryption unit 159, the extraction unit 154, the first encryption / decryption unit 158, and the first determination unit 152. In the case of an unencrypted request, the acquisition unit 150 outputs the request to the website 50 via the second determination unit 156, the extraction unit 154, and the first determination unit 152.
[0049]
FIG. 9 is an internal block diagram of the estimation unit 200 of FIG. The extraction unit 202 extracts a session tracking parameter candidate (hereinafter simply referred to as “parameter candidate”) based on the communication content held in the communication content storage unit 102, and outputs it to the narrowing unit 204. The extraction unit 202 adds points when the following facts are confirmed for the parameters included in the communication contents, and estimates and extracts the parameters that are likely to be session tracking parameters in descending order of the total score.
[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 estimation unit 200 of FIG. The extraction unit 202 in FIG. 9 first extracts parameter candidates from the cookie (S100). Next, the extraction unit 202 extracts parameter candidates from the URL. Next, the extraction unit 202 extracts parameter candidates from the body. Then, the extraction unit 202 extracts parameter candidates from the authentication field. In another example, the order of these processes may be changed. Accordingly, the extraction unit 202 can extract parameter candidates from values transmitted by any transmission method such as cookie, GET, POST, and basic authentication.
[0052]
Returning to FIG. 9, the identifying unit 206 identifies a web page including personal information (hereinafter, simply referred to as “target page”) based on the page attributes held in the communication content storage unit 102, and Output. Further, the specifying unit 206 may specify a web page in which character strings such as personal information, a HIDDEN tag, and a password input box are included in the communication content as the attention page. Then, the identifying unit 206 supplies information on the page of interest to the narrowing unit 204.
[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 unit 204 narrows down the session tracking parameter candidates based on the information on the page of interest and the session tracking parameter candidates supplied from the extraction unit 202. For example, the narrowing-down unit 204 may narrow down session tracking parameter candidates in descending order of reproduction frequency, or narrow down to leave the session tracking parameter candidates included in the page of interest.
[0054]
FIG. 11 is an internal configuration diagram of the verification unit 400 of FIG. The parameter inspection unit 402 specifies a session tracking parameter from the parameter candidates extracted by the estimation unit 200. The parameter candidates to be verified are supplied from the analysis unit 300 in this figure, but may be directly supplied from the extraction unit 202 in other examples. The impersonation inspection unit 404 verifies whether or not the website 50 can be used by impersonating another user. The permission unit 406 accepts whether or not to execute the verification process in the parameter inspection unit 402 or the impersonation inspection unit 404 from the user via the inspection control unit 106. When the permission is granted by the user, the permission unit 406 permits the parameter checking unit 402 and the impersonation checking unit 404 to execute the verification process. Since the parameter inspection unit 402 and the impersonation inspection unit 404 automatically access the website 50 using the user's personal information, the user is asked for permission.
[0055]
FIG. 12 is an internal block diagram of the parameter inspection unit 402 of FIG. The parameter candidate input unit 410 receives parameter candidates from the analysis unit 300. Then, the accepted parameter candidates are output to the selection unit 412. The selection unit 412 selects one of the parameter candidates, outputs the selected session tracking parameter (hereinafter simply referred to as “verification parameter”) to the editing unit 416 and notifies the reading unit 414 that the selection has been made.
[0056]
FIG. 13 is a diagram illustrating an example of a parameter selection screen 72 for selecting a verification parameter in the selection unit 412. When selecting a verification parameter, a parameter selection screen 72 is displayed. In the transmission method column 550, the transmission method is displayed for each parameter candidate. The name column 552 displays the name of the session tracking parameter. The value is displayed in the value column 554. The score field 556 displays points obtained by adding, for example, the number of extractions. This value is calculated when the estimation unit 200 in FIG. 9 determines parameter candidates, for example. The status column 558 holds information indicating whether verification has already been performed. The user may select an arbitrary session candidate and determine the verification parameter. Further, the selection unit 412 may determine the verification parameters in descending order of score.
[0057]
Returning to FIG. 12, the reading unit 414 reads an already performed session, that is, the communication content held in the communication content storage unit 102, and supplies the read content to the editing unit 416. The editing unit 416 removes the verification parameter from the supplied communication content and generates a new communication content, that is, a new request. Then, the request is output to the communication unit 418. In the present embodiment, the request is a request for acquiring a page of interest. The communication unit 418 outputs the request to the website 50 and receives a response corresponding to the request from the website 50. The communication unit 418 outputs a response from the website 50 to the determination unit 420. The newly acquired response is called “current response”.
[0058]
The determination unit 420 compares the personal information included in the personal information storage unit 104 of FIG. 5 with the current response, and is included in the current response in a response to a request that has been normally accessed, that is, the verification parameter has not been deleted. Determine whether personal information is included. When personal information is not included in the current response, that is, when the page of interest cannot be acquired, the determination unit 420 determines that the verification parameter is used as a session tracking parameter. If personal information is included, the determination unit 420 determines that the verification parameter is not used as a session tracking parameter. Then, the determination unit 420 instructs the selection unit 412 to select another verification parameter. The selection unit 412 selects another session tracking parameter in the parameter candidates and instructs the reading unit 414 and the editing unit 416 again. The parameter inspection unit 402 identifies the session tracking parameter by repeating this process.
[0059]
In another example, the determination unit 420 compares the current response with, for example, the communication content held in the communication content storage unit 102 as a past response when acquiring the page of interest, and acquires the same response. It may be determined whether or not. In this embodiment, the communication content storage unit 102 adds and holds a page attribute for each communication content. The determination unit 420 reads from the communication content storage unit 102 the communication content with information specifying that the page attribute is the page of interest from the communication content storage unit 102 and uses it for determination. For example, the determination unit 420 may determine whether or not the current response and the communication content completely match, or determine whether or not the current response and the communication content partially match. Also good. If the current response does not match the communication content, the determination unit 420 determines that the verification parameter is used as a session tracking parameter. If the current response matches the communication content, the determination unit 420 determines that the verification parameter is not used as a session tracking parameter, and instructs the selection unit 412 to select another verification parameter.
[0060]
FIG. 14 is an internal configuration diagram of the spoofing inspection unit 404 of FIG. When instructed by the analysis unit 300, the login processing unit 430 logs in to the website 50 using the information of the second user held in the personal information storage unit 104 of FIG. Then, the login processing unit 430 notifies the reading unit 432 that the user has logged in. The parameter acquisition unit 440 acquires the session tracking parameter specified by the parameter inspection unit 402 of FIG. 12 from the session obtained by logging in with the second user. The session tracking parameter when logged in as the second user is hereinafter simply referred to as “current session parameter”. The parameter acquisition unit 440 outputs the current session parameter to the replacement unit 434. The reading unit 432 reads from the communication content storage unit 102 in the past a request for acquiring the page of interest when the first user logs in, and outputs the request to the replacement unit 434. The replacement unit 434 generates a new request by replacing the session tracking parameter included in the request with the current session parameter. Then, the replacement unit 434 outputs the generated request to the communication unit 436.
[0061]
The communication unit 436 outputs the request to the website 50. The response from the website 50 is received and output to the determination unit 438 of the spoofing inspection unit 404. The determination unit 438 compares the information included in the personal information storage unit 104 with the response, and determines whether the personal information of the first user or the second user is included in the response. When the response is the personal information of the first user, the determination unit 438 determines that the website 50 is vulnerable to impersonation. If personal information cannot be acquired, the website 50 determines that personal information will not be leaked due to impersonation. The determination unit 438 transmits the determination result to the analysis unit 300.
[0062]
FIG. 15 is an internal block diagram of the test unit 350 of FIG. The logout function inspection unit 352 inspects the logout function in the website 50 based on an instruction from the analysis unit 300. The logout function is a function for discarding the session tracking parameters when logging out. In the case of the website 50 that is not discarded, it can be determined that there is a vulnerability that is illegally accessed. The timeout function inspection unit 354 inspects the timeout function in the website 50 based on an instruction from the analysis unit 300. The time-out function is a function for discarding the session tracking parameter when a predetermined time elapses with the session left unattended. In the case of the website 50 that is not discarded, it can be determined that there is a vulnerability that is illegally accessed.
[0063]
FIG. 16 is an internal block diagram of the logout function inspection unit 352 of FIG. The logout processing unit 360 logs out from the website 50 in response to an instruction from the analysis unit 300. After logout, the request instruction unit 362 reads past requests from 102 and outputs them to the communication unit 364. The communication unit 364 transmits the request to the website 50. The communication unit 364 receives a response from the website 50 and outputs the response to the determination unit 366. The determination unit 366 compares the current response with, for example, the communication content held in the communication content storage unit 102 as a past response when the page of interest is acquired. For example, the determination unit 366 may determine whether or not the current response and the communication content completely match, or determine whether or not the current response and the communication content partially match. Alternatively, it may be determined whether or not the personal information partially included in the current response matches the personal information held in the personal information storage unit 104 of FIG. When the current response matches the past communication content, the determination unit 366 determines that the logout function in the website 50 is insufficient. If they do not match, the determination unit 366 determines that the logout function in the website 50 is functioning normally. The determination unit 366 transmits the determination result to the analysis unit 300.
[0064]
FIG. 17 is an internal block diagram of the timeout function inspection unit 354 of FIG. The setting unit 370 sets a time for testing the time-out function, that is, a waiting time until a request is transmitted, and instructs the time measuring unit 372 to start time measurement. After the time set in the setting unit 370 has elapsed, the time measuring unit 372 notifies the instruction unit 374 to that effect. The instruction unit 374 instructs the communication unit 376 to transmit a request based on the notification from the time measuring unit 372. The communication unit 376 acquires the request temporarily held in the setting unit 370 according to the instruction and transmits the request to the website 50. The communication unit 376 receives the response from the website 50 and outputs the response to the determination unit 378 of the timeout function inspection unit 354. The determination unit 378 compares the response with the communication content held in the communication content storage unit 102. If they match, the determination unit 378 determines that the time-out function is not operating in the website 50 for the time set by the inspection. If they do not match, the determination unit 378 determines that the time-out function is operating normally in the website 50 when the time set in the inspection has elapsed.
[0065]
FIG. 18 is an internal configuration diagram of the analysis unit 300 of FIG. The parameter state determination unit 302 refers to the data held in the communication content storage unit 102 to determine the state of the session tracking parameter. For example, it is determined whether or not a secure flag is set in the session tracking parameter, and the determination result is output to the digitizing unit 312. The easy-to-guess judgment unit 304 determines whether or not it is easy to guess the session tracking parameter based on a series of data held in the communication content storage unit 102 and the personal information storage unit 104, and the determination result is converted into a numerical unit. 312 is output. For example, the ease is determined based on the fact that the user ID is included in the session tracking parameter and that there is regularity.
[0066]
The transmission format determination unit 306 determines the transmission format of the session tracking parameter based on the data stored in the communication content storage unit 102 and the estimation unit 200. Then, the determination result is output to the digitizing unit 312. The transmission format determination unit 306 determines, for example, whether the session tracking parameter is transmitted using cookie, GET, POST, or basic authentication. The transmission format determination unit 306 identifies the transmission method by examining the embedded position of the session tracking parameter included in the request message and the response message.
[0067]
The verification result receiving unit 308 receives the verification result from the verification unit 400 and outputs the verification result to the digitizing unit 312. The test result receiving unit 310 receives the test result from the test unit 350 and outputs the test result to the digitizing unit 312. The digitizing unit 312 digitizes the value supplied from each unit and outputs, for example, total points to the selecting unit 314. The selection unit 314 selects a predetermined comment from the knowledge database 316 according to the combination of the points and the diagnosis results from each unit, and outputs the selected comment to the examination control unit 106. Then, the selected comment is displayed on the display unit via the display processing unit 110 of FIG.
[0068]
The determination result supplied from each unit is weighted, and the numerical unit 312 may perform numerical processing such as addition processing according to the weighting. The knowledge database 316 has a data structure that allows a predetermined comment to be selected according to a combination of determination results as well as simply associating numerical values with comments. For example, a comment may be associated with each session tracking parameter transmission format, or a combination of other determination results may be associated.
[0069]
FIG. 19 is a diagram illustrating an example of the inspection result screen 70. The inspection result screen 70 displays a list of information related to the website to be investigated, diagnosis status, diagnosis result, session tracking parameters, and the like.
[0070]
FIG. 20 is a diagram illustrating another example of the inspection result screen 74. The inspection result screen 74 is a screen that displays information related to the vulnerability inherent in the website to be investigated. The selection unit 314 of FIG. 18 indicates that if the session tracking parameter is stored in a cookie, and if the website is vulnerable to cross-site scripting, personal information may be stolen by impersonation. Select a comment to be notified. Thereby, the screen of this figure is displayed.
[0071]
FIG. 21 is a diagram illustrating another example of the inspection result screen 76. This inspection result screen 76 is also a screen that displays information related to the vulnerability inherent in the website to be investigated, as in FIG. When the value of the session tracking parameter is similar for each user and can be easily estimated, the selection unit 314 in FIG. 18 selects a comment notifying that a vulnerability to impersonation is inherent. Thereby, the screen of this figure is displayed.
[0072]
FIG. 22 is an example of a flowchart of processing for inspecting the vulnerability of the website 50 in the inspection apparatus 100 of FIG. First, the inspection apparatus 100 estimates session tracking parameters based on the communication content between the browser 14 and the website 50 (S10). Next, the inspection apparatus 100 verifies whether the estimated session tracking parameter is correct (S12). Next, the inspection device 100 verifies the vulnerability to the spoofing action in the website 50, that is, the function of access control (S14).
[0073]
FIG. 23 is an example of a detailed flowchart of step 10 in FIG. When the session tracking parameter estimation process is started, the inspection apparatus 100 starts recording communication contents (S20). Then, the inspection apparatus 100 instructs the user to log in to the website 50 (S22). Next, the inspection apparatus 100 instructs the user to acquire a personal information page. In response to this instruction, the user follows the link of the web page, searches for the personal information page, and displays it on the browser 14. The inspection apparatus 100 records the personal information page (S24). Even during this search operation, the inspection apparatus 100 records communication contents.
[0074]
Next, the inspection apparatus 100 instructs to arbitrarily search a plurality of web pages provided by the website 50, records a communication content during this period, and statistically estimates a session tracking parameter. Are collected (S26). Then, the inspection apparatus 100 instructs logout from the website 50 (S27). Then, the inspection apparatus 100 adds the session tracking parameter to the request again after logout, and inspects the logout function by attempting to acquire the personal information page (S28).
[0075]
After inspecting the logout function, the inspection apparatus 100 ends recording of communication contents (S30). And the test | inspection apparatus 100 estimates a session tracking parameter based on the communication content in a series of sessions to step 28 (S32). Then, the inspection apparatus 100 performs analysis based on the estimated transmission format and data structure of the session tracking parameter (S34), and displays the vulnerability existing in the website 50 as the analysis result (S36).
[0076]
FIG. 24 is an example of a detailed flowchart of step 12 in FIG. When the session tracking parameter verification process is started, the inspection apparatus 100 starts recording communication contents (S40). Then, the inspection apparatus 100 instructs the user to log in to the website 50 (S42). Next, the inspection apparatus 100 instructs the user to acquire a personal information page, and records the personal information page displayed in response to this instruction (S42).
[0077]
Then, the inspection apparatus 100 notifies the user that the session tracking parameter is to be verified using the user information, and inquires whether the processing is permitted (S44). If permitted (Y in S44), the inspection apparatus 100 selects a verification parameter from the parameter candidates (S46). And the test | inspection apparatus 100 removes a verification parameter from the request transmitted to the website 50 in order to acquire a personal information page at step 42, and produces | generates a new request (S48).
[0078]
Then, the inspection apparatus 100 transmits the request to the website 50 (S50) and receives a response from the website 50 (S52). Next, the inspection apparatus 100 determines whether or not a personal information page has been acquired based on the content of the response (S54). When the personal information page can be acquired (Y in S54), the process returns to step 46, and the inspection apparatus 100 selects another parameter candidate as a verification parameter. When the personal information page cannot be acquired (N in S54), the inspection apparatus 100 ends the recording of the communication content (S56). And the test | inspection apparatus 100 specifies a verification parameter as a session tracking parameter when a personal information page cannot be acquired (S58). The inspection apparatus 100 performs analysis by narrowing down the vulnerabilities inherent in the website 50 based on the identified session tracking parameter transmission method and the like (S60), and displays the analysis result. (S62). In step 44, when it is not permitted (N of S44), the inspection apparatus 100 stops the process.
[0079]
FIG. 25 is an example of a detailed flowchart of step 14 in FIG. When the spoofing verification process is started, the inspection apparatus 100 starts recording communication contents (S70). Then, the inspection apparatus 100 instructs the user to log in to the website 50 with the second user information (S72). Next, the inspection apparatus 100 instructs the user to acquire a personal information page, and records the personal information page displayed in response to this instruction (S74).
[0080]
  Then, the inspection apparatus 100 notifies the user that the process for verifying the spoofing vulnerability is performed, and inquires whether or not to execute the process (S76). If permitted (Y in S76), the inspection apparatus 100Log in with your first user informationA new request is generated by replacing the session tracking parameter included in the request transmitted to the website 50 to acquire the personal information page with the current session parameter obtained after logging in as the second user (S78).
[0081]
Then, the inspection apparatus 100 transmits the request to the website 50 (S80) and receives a response from the website 50 (S82). The inspection apparatus 100 ends the communication content recording (S84). Next, the inspection apparatus 100 determines whether or not the personal information of the first user has been acquired based on the content of the response (S86). If the personal information of the first user can be acquired, the website 50 is vulnerable to impersonation. Then, the inspection apparatus 100 performs analysis while considering the session tracking parameter transmission method and the like (S88), and displays the analysis result (S90). In step 76, when it is not permitted (N of S76), the inspection apparatus 100 stops the process.
[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 | inspection apparatus 100 of FIG. The present invention does not ask the operation subject or the operation format.
[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 network 12. Then, when accessing the website, the browser 14 may first connect to the server, and after confirming the safety of the website or presenting it to the user, the access may be started. As a configuration of the browser 14 having such a function, a detection unit that detects an access instruction, an access destination information acquisition unit that inquires of a server that holds an inspection result using a URL specified as an access destination as a search key, and an acquisition And a presentation unit for presenting the safety to the user. Thereby, the inspection result of the website collected by other users can be used effectively. In addition, it is possible to collect test results of countless websites in a very short time.
[0086]
Further, the browser 14 includes the inspection device 100, and the access destination information acquisition unit may cause the inspection device 100 to inspect the access destination when the access destination information acquisition unit cannot acquire the access destination inspection result. Then, the browser 14 may register the newly acquired inspection result in the server.
[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 step 10 in FIG. 22;
FIG. 24 is an example of a detailed flowchart of step 12 in FIG. 22;
FIG. 25 is an example of a detailed flowchart of step 14 in FIG. 22;
[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:
請求項1に記載の装置において、
前記推定部は、各前記パラメータが存在する領域、各前記パラメータに含まれる文字列、または各前記パラメータを削除して前記ウェブサイトと通信を行った場合の通信結果に基づき、当該パラメータが前記所定の条件を満たすか否かを判断することを特徴とするウェブサイトの検査装置。
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 .
請求項1または2に記載の装置において、
前記推定部は、各前記パラメータが、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.
請求項1からのいずれかに記載の装置において、
前記推定部は、前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを注目ページとして特定する特定部を含み、当該特定部により前記注目ページとして特定された前記ウェブページに含まれる前記パラメータに高い優先度をつけることを特徴とするウェブサイトの検査装置。
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 .
請求項1からのいずれかに記載の装置において、
前記推定部は、前記ウェブサイトと前記クライアントとのセッションにおいて、所定の文字列が含まれているウェブページを注目ページとして特定する特定部を含み、当該特定部により前記注目ページとして特定されたウェブページに含まれる前記パラメータに高い優先度をつけることを特徴とするウェブサイトの検査装置。
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 .
請求項1から3のいずれかに記載の装置において、
ユーザから、前記セッション追跡パラメータが含まれる可能性の高いウェブページの指定を受け付ける受付部をさらに含み、
前記推定部は、前記受付部が指定を受け付けた前記ウェブページを注目ページとして特定する特定部を含み、当該特定部により前記注目ページとして特定されたウェブページに含まれる前記パラメータに高い優先度をつけることを特徴とするウェブサイトの検査装置。
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.
請求項1から6のいずれかに記載の装置において、
人情報を保持する格納部をさらに含み
前記分析部は、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータに前記格納部に格納された前記個人情報が含まれているか否かを判定し、前記個人情報が含まれている場合に、前記ウェブサイトに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。
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 .
請求項1から7のいずれかに記載の装置において、
前記分析部は、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータが規則性を有するか否かを、前記ウェブサイトとの一連の通信内容に含まれる当該パラメータに基づいて判定し、前記パラメータが規則性を有する場合に、前記ウェブサイトに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。
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 .
請求項1から8のいずれかに記載の装置において、
前記ウェブページは、前記クライアントから、ユーザの個人情報を利用して前記ウェブサイトにログインすることにより前記クライアントとのセッションを行うものであって、
当該装置は、
前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを特定する特定部と、
前記クライアントが前記ウェブサイトからログアウトした後、前記推定部が前記セッション追跡パラメータである可能性が高いと推定した前記パラメータを利用して、前記特定部が特定した前記ウェブページを再現し得るか否かを判定する判定部と、
をさらに含み、
前記分析部は、前記判定部が前記ウェブページを再現し得たと判定した場合に、前記ウェブページに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。
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 .
請求項1から9のいずれかに記載の装置において、
前記ウェブページは、前記クライアントから、ユーザの個人情報を利用して前記ウェブサイトにログインすることにより前記クライアントとのセッションを行うものであって、
前記装置は、
前記ウェブサイトと前記クライアントとのセッションにおいて、個人情報を含むウェブページを特定する特定部と、
前記クライアントが前記ウェブサイトからログアウトしていない状態で、前記クライアントと前記ウェブサイトとのセッションが途絶えた後の経過時間を計測する計測部と、
前記経過時間が所定のしきい値を超えた後、前記特定部が特定した前記ウェブページを再現し得るか否かを判定する判定部と、
をさらに含み、
前記分析部は、前記判定部が前記ウェブページを再現し得たと判定した場合に、前記ウェブページに脆弱性が存在すると分析することを特徴とするウェブサイトの検査装置。
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から10のいずれかに記載の装置において、
第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.
請求項1から11のいずれかに記載の装置において、
ユーザに、前記ウェブサイトへのログイン、前記ウェブサイトにおける個人情報を含むウェブページの取得、および前記ウェブサイトにおける複数のウェブページの取得を指示する指示部をさらに含み、
前記取得部は、前記指示部の指示に対して前記ユーザが前記クライアントから前記ウェブサイトと通信している間に、当該通信内容を取得することを特徴とするウェブサイトの検査装置。
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:
請求項13に記載の装置において、
前記推定部は、各前記パラメータが存在する領域、各前記パラメータに含まれる文字列、または各前記パラメータを削除して前記ウェブサイトと通信を行った場合の通信結果に基づき、当該パラメータが前記所定の条件を満たすか否かを判断することを特徴とするウェブサイトの検査装置。
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.
請求項13または14に記載の装置において、
前記推定部は、各前記パラメータが、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.
請求項13から15のいずれかに記載の装置において、
前記検証部は、
前記検証パラメータを前記ウェブサイトへ出すべきリクエストメッセージの中から削除して新たなリクエストメッセージを生成する編集部と、
前記編集部が生成した前記新たなリクエストメッセージにより、本来取得されるべきウェブページが取得できなかった場合に、当該検証パラメータが前記セッション追跡パラメ ータであると判定する判定部と、
を有することを特徴とするウェブサイトの検査装置。
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:
請求項16に記載の装置において、
前記判定部にて前記検証パラメータが前記セッション追跡パラメータでないと判定されたとき、前記検証部は、前記推定部により次に前記セッション追跡パラメータである可能性が高いと推定された前記パラメータを前記検証パラメータとして選択して前記検証を行い、この処理を、前記判定部により前記検証パラメータが前記セッション追跡パラメータであると判定されるまで繰り返すことを特徴とするウェブサイトの検査装置。
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 .
請求項16または17に記載の装置において、
個人情報を保持する格納部をさらに含み、
前記判定部は、前記新たなリクエストメッセージにより、個人情報が含まれるウェブページが取得できたか否かを判定し、個人情報が含まれるウェブページが取得できなかった場合に、当該検証パラメータが前記セッション追跡パラメータであると判定することを特徴とするウェブサイトの検査装置。
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 .
請求項13から18のいずれかに記載の装置において、An apparatus according to any of claims 13 to 18,
ユーザから、前記検証部による前記検証の許否を受け付ける許可部をさらに含み、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.
JP2003100271A 2003-04-03 2003-04-03 Website inspection equipment Expired - Lifetime JP3896486B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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