(57)【要約】  セキュリティ脆弱性に関してターゲットウェブサイトをスキャンするためのウェブサイトスキャンデバイスが開示され、このデバイスは、処理されることになるリンクに対応するウェブページの現在のコンテンツおよび/または特性を取得するためのウェブページ取得構成要素と、前記リンクに対応するウェブページの記憶されたコンテンツおよび/または特性に従って、かつ現在のウェブページコンテンツおよび/またはリンクの特性に従って、処理されることになるリンクに対応するウェブページが変更されているかどうかを判断するための、変更判断ユニットを含むリンク処理構成要素と、変更されたコンテンツを有し、処理されることになるリンクに対応するウェブページ内のセキュリティ脆弱性を検出するための脆弱性検出構成要素とを備える。また、ウェブサイトをスキャンするための対応する方法も開示される。
2013541774.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットウェブサイトに関してセキュリティ脆弱性スキャンを実行するためのウェブサイトスキャン装置であって、
前記ターゲットウェブサイトで処理されることになるリンクに対応する現在のウェブページコンテンツおよび/またはウェブページの特徴を取得するためのウェブページ取得構成要素と、
前記処理されることになるリンクに対応する、記憶されたウェブページコンテンツおよび/または特徴、ならびに前記ウェブページ取得構成要素によって取得された前記現在のウェブページコンテンツおよび/または特徴に基づいて、前記処理されることになるリンクに対応する前記ウェブページが変更されているかどうかを判定するための変更判定デバイスを備えた、前記処理されることになるリンクを処理するためのリンク処理構成要素と、
前記変更判定デバイスによって、前記対応するウェブページが変更されていると判定された、処理されることになるリンクに対応するウェブページに関してセキュリティ脆弱性検出を実行するための脆弱性検出構成要素とを備えたウェブサイトスキャン装置。
【請求項２】
前記ターゲットウェブサイトにおけるウェブページの収集物を記憶するためのウェブページメモリであって、ウェブページの前記収集物内のそれぞれのウェブページエントリがウェブページリンク、ウェブページコンテンツおよび/またはウェブページ特徴を含むウェブページメモリをさらに備え、
前記変更判定デバイスが、前記ウェブページメモリから、前記処理されることになるリンクに対応する、前記記憶されたウェブページコンテンツおよび/または特徴を取得する、請求項1に記載のウェブサイトスキャン装置。
【請求項３】
前記リンク処理構成要素が、
前記変更判定デバイスによって、その対応するウェブページが変更されていると判定された、処理されることになるリンクを受信して、前記処理されることになるリンクに対応するウェブページの前記収集物内のウェブページエントリを更新するために前記現在のウェブページコンテンツおよび/または特徴を利用するための更新デバイスをさらに備えた、請求項2に記載のウェブサイトスキャン装置。
【請求項４】
前記ターゲットウェブサイトで処理されることになるリンクの収集物を記憶するための処理されることになるリンクメモリをさらに備え、
前記更新デバイスが、前記処理されることになる受信されたリンクに対応するウェブページ内の他のウェブページを指すリンクに従って、処理されることになるリンクの前記収集物をさらに更新し、
前記リンク処理構成要素が、前記処理されることになるリンクメモリから、前記処理されることになるリンクを処理のために取得する、請求項3に記載のウェブサイトスキャン装置。
【請求項５】
脆弱性を含むと以前に判断されたウェブページの収集物を記憶するための、脆弱性を含んだウェブページメモリをさらに備え、ウェブページの前記収集物内のそれぞれのウェブページエントリがウェブページリンクと、関連する脆弱性特徴とを含む、請求項1から4のいずれかに記載のウェブサイトスキャン装置。
【請求項６】
前記リンク処理構成要素が、脆弱性を含むウェブページの前記収集物に基づいて、前記処理されることになるリンクがセキュリティ脆弱性を含むと以前に判断されたかどうかを判定するための範疇判定デバイスをさらに備え、
前記脆弱性検出構成要素が、前記範疇判定デバイスによって判定されたように、セキュリティ脆弱性を含むと以前に判断された、処理されることになるリンクに対応するウェブページに関してセキュリティ脆弱性検出を実行する、請求項5に記載のウェブサイトスキャン装置。
【請求項７】
前記脆弱性検出構成要素が、セキュリティ脆弱性検出を実行することの検出結果に従って、脆弱性を含むウェブページの前記収集物をさらに更新する、請求項5または6に記載のウェブサイトスキャン装置。
【請求項８】
前記範疇判定デバイスが、前記変更判定デバイスから、その対応するウェブページが変更されていないと判定された、処理されることになるリンクを処理のために受信する、請求項7に記載のウェブサイトスキャン装置。
【請求項９】
前記ウェブページ特徴が、以下、すなわち、前記ページが最後に修正された時間、前記ページの有効存続時間、前記ページがサーバ側で生成された時間、前記ページの識別、前記ページの構造、前記ページのコンテンツ長、前記ページがアクセスされた回数のうちの少なくとも1つを含む、請求項1から8のいずれかに記載のウェブサイトスキャン装置。
【請求項１０】
ターゲットウェブサイトに関するウェブサイトスキャン方法であって、
前記ターゲットウェブサイトで処理されることになるリンクを取得するステップと、
前記処理されることになるリンクに対応する前のウェブページコンテンツおよび/またはウェブページエントリの特徴を前記ターゲットウェブサイトに関して記憶されたウェブページの収集物から取得し、前記処理されることになるリンクに対応する現在のウェブページコンテンツおよび/または特徴を取得し、前記前のウェブページコンテンツおよび/または特徴を前記現在のウェブページコンテンツおよび/または特徴と比較することによって、前記処理されることになるリンクに対応する前記ウェブページが変更されているかどうかを判定するステップと、
前記ウェブページが変更されている場合、前記処理されることになるリンクに対応する前記ウェブページに関してセキュリティ脆弱性検出を実行するステップとを含むウェブサイトスキャン方法。
【請求項１１】
前記処理されることになるリンクに対応する前記ウェブページが変更されている場合、ウェブページの前記収集物内の対応するウェブページエントリを更新するために、前記現在のウェブページコンテンツおよび/または特徴を利用するステップ
をさらに含む、請求項10に記載のウェブサイトスキャン方法。
【請求項１２】
前記処理されることになるリンクに対応する前記ウェブページが変更されている場合、その中に前記処理されることになるリンクが記憶された、処理されることになるリンクの収集物を更新するために、前記処理されることになる受信されたリンクに対応するウェブページ内の他のウェブページを指すリンクを利用するステップ
をさらに含む、請求項10または11に記載のウェブサイトスキャン方法。
【請求項１３】
脆弱性を含むウェブページの収集物に基づいて、前記処理されることになるリンクがセキュリティ脆弱性を含んでいると以前に判断されたかどうかを判定するステップであって、脆弱性を含むウェブページの前記収集物内のそれぞれのウェブページエントリがウェブページリンクと、関連する脆弱性特徴とを含む、判定するステップと、
セキュリティ脆弱性を含んでいると以前に判断された、前記処理されることになるリンクに対応するウェブページに関してセキュリティ脆弱性検出を実行するステップと
をさらに含む、請求項10から12のいずれかに記載のウェブサイトスキャン方法。
【請求項１４】
セキュリティ脆弱性検出を実行することの検出結果に従って、脆弱性を含むウェブページの前記収集物を更新するステップ
をさらに含む、請求項13に記載のウェブサイトスキャン方法。
【請求項１５】
前記処理されることになるリンクがセキュリティ脆弱性を含んでいると以前に判断されたかどうかを前記判定するステップが、前記処理されることになるリンクに対応する前記ウェブページが変更されているかどうかを前記判定するステップによって、前記ウェブページが変更されていると判定された、処理されることになるリンクに関してだけ実行される、請求項13に記載のウェブサイトスキャン方法。
【請求項１６】
前記ウェブページ特徴が、以下、すなわち、前記ページが最後に修正された時間、前記ページの有効存続時間、前記ページがサーバ側で生成された時間、前記ページの識別、前記ページの構造、前記ページのコンテンツ長、前記ページがアクセスされた回数のうちの少なくとも1つを含む、請求項10から14のいずれかに記載のウェブサイトスキャン方法。
【請求項１７】
サーバ上で実行するとき、前記サーバに請求項10から16のいずれかに記載のウェブサイトスキャン方法を実行させるコンピュータ可読コードを備えたコンピュータプログラム。
【請求項１８】
請求項17に記載のコンピュータプログラムを記憶したコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークセキュリティの分野に関し、より詳細には、ウェブサイトにセキュリティ脆弱性が存在するかどうかを判断するために、ウェブサイトを遠隔でスキャンするためのウェブサイトスキャン装置およびウェブサイトスキャン方法に関する。
【背景技術】
【０００２】
ウェブサイトにCGI脆弱性、SQL注入脆弱性(SQL injection vulnerability)、クロスサイトスクリプティング脆弱性(cross-site scripting vulnerability)などの種類のセキュリティ脆弱性が存在するかどうかを判定するには、ウェブサイトにそのようなセキュリティ脆弱性が存在するかどうかを判断するために、ウェブサイトの外部から、すなわち、遠隔でウェブサイトに関してセキュリティ脆弱性スキャンを実行することが必要である。
【０００３】
ウェブサイト脆弱性をスキャンするための従来の方法は、ウェブサイト上のすべてのページを順にトラバースして(traverse)、包括的な脆弱性スキャンを実行する目的で、ページコンテンツを取得するためにすべてのページに関してクローラプログラム(crawler program)を呼び出して、解析を実行することである。つまり、現在のウェブページスキャン技術はすべて、完全な脆弱性スキャンモードを用い、ターゲットウェブサイトに関して複数の脆弱性スキャンを実行することが必要なときですら、スキャンは毎回、完全な脆弱性スキャンである。
【０００４】
ウェブサイトに関する完全な脆弱性スキャンを実行することに関して以下の問題が存在する。すなわち、一般のネットワークアプリケーション内のウェブページの数は非常に多く、それぞれのウェブページに関して脆弱性スキャンを実行するために送受信される必要がある通信データの量が多いため、スキャンによって占有される帯域幅も大きく、さらに、ウェブページ数が多いことにより、ウェブサイトに関して完全スキャンを実行するにはかなり時間がかかる。ウェブサイトに関してセキュリティ脆弱性スキャンを実行するために送られる要求は、すべてウェブサイトのネットワークサーバによって処理され、ウェブサイトに関してあまりにも頻繁に完全な脆弱性スキャンが実行される場合、ネットワークサーバは、それらの要求を処理するために、増大した圧力を受けることになり、それによって、ウェブサイトに対する通常のアクセスに影響を及ぼす。
【０００５】
それぞれのウェブページに関して、ウェブページのコンテンツが変更されていない場合、ウェブページを安全であることから安全でないことに変更する可能性はほとんど存在しない。そのコンテンツが変更されていないウェブページに関してセキュリティ脆弱性スキャンを削減するためにこの点を考慮に入れることができる場合、これは、一方で、脆弱性スキャンを実行することによって引き起こされるウェブサイトの処理圧力を低減させることができ、他方では、脆弱性スキャンの効率および速度を改善することもできる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
性能を改善すると同時に、セキュリティ脆弱性スキャンを実行することによって引き起こされるターゲットウェブサイトの処理圧力を低減できる脆弱性スキャン装置ならびに脆弱性スキャン方法を提供することが求められている。
【課題を解決するための手段】
【０００７】
上記の問題に鑑みて、本発明は、上記の問題を克服するか、または上記の問題を少なくとも一部解決もしくは緩和する、ウェブサイトスキャン装置ならびにウェブサイトスキャン方法を提供するために提示される。
【０００８】
本発明のある態様によれば、ターゲットウェブサイトに関してセキュリティ脆弱性スキャンを実行するためのウェブサイトスキャン装置であって、ターゲットウェブサイトで処理されることになるリンクに対応する現在のウェブページコンテンツおよび/またはウェブページの特徴を取得するためのウェブページ取得構成要素と、処理されることになるリンクに対応する、記憶されたウェブページコンテンツおよび/または特徴、ならびにウェブページ取得構成要素によって取得された現在のウェブページコンテンツおよび/または特徴に基づいて、処理されることになるリンクに対応するウェブページが変更されているかどうかを判定するための変更判定デバイスを備えた、処理されることになるリンクを処理するためのリンク処理構成要素と、変更判定デバイスによって、対応するウェブページが変更されていると判定された、処理されることになるリンクに対応するウェブページに関してセキュリティ脆弱性検出を実行するための脆弱性検出構成要素とを備えたウェブサイトスキャン装置が提供される。
【０００９】
本発明の別の態様によれば、ターゲットウェブサイトに関するウェブサイトスキャン方法であって、ターゲットウェブサイトで処理されることになるリンクを取得するステップと、処理されることになるリンクに対応する前のウェブページコンテンツおよび/またはウェブページエントリの特徴をターゲットウェブサイトに関して記憶されたウェブページの収集物から取得し、処理されることになるリンクに対応する現在のウェブページコンテンツおよび/または特徴を取得し、前のウェブページコンテンツおよび/または特徴を現在のウェブページコンテンツおよび/または特徴と比較することによって、処理されることになるリンクに対応するウェブページが変更されているかどうかを判定するステップと、ウェブページが変更されている場合、処理されることになるリンクに対応するウェブページに関してセキュリティ脆弱性検出を実行するステップとを含む、ウェブサイトスキャン方法が提供される。
【００１０】
本発明によるウェブサイトスキャン装置およびウェブサイトスキャン方法は、前のスキャンの結果を十分に活用して、前のスキャンの後に変更されているウェブページに関してだけセキュリティ脆弱性スキャンを再度実行し、それによって、ウェブサイトスキャン装置によるウェブサイトスキャンの効率性と速度とを高め、セキュリティ脆弱性スキャンによって引き起こされるターゲットウェブサイトの追加のサーバ負荷を低減する。
【００１１】
好ましい実施形態の以下の詳細な説明を読むことによって、様々な他の有利性および利点が当業者に明らかになるであろう。図面は、好ましい実施形態を示すためだけであり、本発明を限定すると見なされない。また、図面を通して、類似の構成要素を示すために類似の参照符号が使用される。
【図面の簡単な説明】
【００１２】
【図１】本発明のある実施形態によるウェブサイトスキャン装置の概略ブロック図である。
【図２】本発明のある実施形態による、ターゲットウェブサイトに関して完全スキャンを実行するためのある方法を示す概略流れ図である。
【図３】本発明のある実施形態による、ターゲットウェブサイトに関して増分スキャンを実行するためのある方法を示す概略流れ図である。
【図４】本発明によるある方法を実行するためのサーバの概略ブロック図である。
【図５】本発明によるある方法を実施するプログラムコードを維持または搬送するための記憶ユニットを概略的に示す図である。
【発明を実施するための形態】
【００１３】
以下において、本発明について、図面および特定の実施形態に関連してさらに説明される。これらの実施形態の詳細な説明の前に、本発明では、URLおよびウェブページリンクは同じ意味を有し、両方とも、あるウェブサイトにおけるあるウェブページを指すリンクを示し、ユーザは、ウェブページリンクを様々なネットワークブラウザまたはクライアントアプリケーションに入力することによって、そのリンクによって指されたウェブページのコンテンツを取得することができる点に留意されたい。さらに、ウェブページは、ウェブサイト内でネットワークサーバによって動的に生成されうるか、またはネットワークサーバ内に静的に常駐しうるウェブページリンク要求に応答して提供されるコンテンツを指す。
【００１４】
図1は、本発明のある実施形態によるウェブサイトスキャン装置100のブロック図を示す。図1に示されるように、ウェブサイトスキャン装置100は、処理されることになるリンクメモリ110を備え、その処理されることになるリンクメモリ110内には、ウェブサイトスキャン装置100によって処理されることになるターゲットウェブサイトで処理されることになるリンクの収集物が記憶され、処理されることになるリンクの収集物内のそれぞれのエントリは処理されることになるリンクである。オプションで、ウェブサイトスキャン装置100は、脆弱性を含んだウェブページメモリ120とウェブページメモリ130とをさらに備える。脆弱性を含んだウェブページメモリ120内には、ウェブサイトスキャン装置100によって前のスキャンにおいて脆弱性を含むとが判断されたウェブページの収集物が記憶される。脆弱性を含んだウェブページメモリ120は、脆弱性を含むと判断されたそれぞれのウェブページに関して、そのURL(リンク)と関連する脆弱性特徴(例えば、脆弱性コード、脆弱性タイプ、脆弱性重要度など)とを記憶することができる。ウェブページメモリ130は、前のスキャンによって取得されたターゲットウェブサイトにおけるウェブページの収集物を記憶する。オプションで、ウェブページメモリ130は、ターゲットウェブサイトにおけるそれぞれのウェブページに関して、そのURLと、ウェブページコンテンツおよび/またはウェブページ特徴とを記憶することができる。この場合、ウェブページ特徴は、以下のコンテンツ、すなわち、そのページが最後に修正された時間、そのページの有効存続時間、そのページがサーバ側で生成された時間、そのページの識別(例えば、ETag属性)、そのページの構造、そのページのコンテンツ長、そのページがアクセスされた回数などのうちの少なくとも1つを含む。ウェブページ特徴は、ウェブページが変更されているかどうかを判定するための重要な基準であり、したがって、本発明は上で列挙された様々な特定の特徴に限定されず、そのページが変更されているかどうかを判定するために使用されうる、ページに関する様々な特徴は、すべて、本発明の保護範囲に包含される。しかし、それぞれのウェブページに関するウェブページコンテンツを記憶するにはあまりにも多くのメモリスペースを必要とする場合が
ある。オプションで、ウェブページメモリ130は、それぞれのウェブページに関して、ウェブページコンテンツ全体の代わりに、ウェブページのMD5値を記憶することができる。
【００１５】
ウェブサイトスキャン装置100は、そこからウェブページが取得されることになるリンクを受信して、そのリンクに対応するウェブページコンテンツおよび/または特徴をネットワークから取得するウェブページ取得構成要素150を備える。ウェブページ取得構成要素150は、その機能を実施するために当技術分野で一般に使用されている任意の技術、例えば、様々な一般に使用されているネットワーククローラ技術などを用いることが可能である。
【００１６】
ウェブサイトスキャン装置100は、処理のために、処理されることになるリンクメモリ110から、処理されることになるリンクを受信するリンク処理構成要素140を備える。詳細には、リンク処理構成要素140は、処理されることになるリンクに対応するウェブページコンテンツが変更されているかどうかを判定する。ウェブページコンテンツが変更されている場合、その変更されているウェブページは、脆弱性検出を実行するために脆弱性検出構成要素160に送られる。オプションで、リンク処理構成要素は、処理されることになるリンクに対応する、前に記憶されたウェブページコンテンツおよび/または特徴を更新するために、やはりその変更されたウェブページコンテンツおよび特徴を利用して、その変更されたウェブページ内に含まれた他のウェブページを指すリンクに従って、処理されることになるリンクメモリ110内で処理されることになるリンクの収集物を更新する。さらに、リンク処理構成要素140は、脆弱性を含んだウェブページメモリ120内に記憶された脆弱性を含んだウェブページの収集物を参照して、そのリンクに対応するウェブページが脆弱性を含んでいると以前に判断されているかどうかを判定することも可能であり、脆弱性を含むと以前に判断されている場合、そのリンクおよび/またはそのリンクに対応するウェブページは、脆弱性検出を再度実行するために、脆弱性検出構成要素160に送られる。
【００１７】
オプションで、リンク処理構成要素140は、ウェブページコンテンツが変更されていないときだけ、そのウェブページがセキュリティ脆弱性を含んでいると以前に判断されているかどうかに関する判定を実行する。さらに、オプションで、ウェブページがセキュリティ脆弱性を含まないと以前に判断されているときだけ、そのウェブページコンテンツが変更されているかどうかに関する判定が実行される。
【００１８】
本発明のある実施形態によれば、リンク処理構成要素140は変更判定デバイス141を備える。変更判定デバイス141は、処理されることになるリンクを受信して、そのリンクに対応する、前に記憶されたウェブページのウェブページコンテンツおよび/または特徴をウェブページメモリ130から取得する。そのリンクに対応するウェブページがウェブページメモリ130内に存在しない場合、そのリンクは新しいリンクに属する。対照的に、そのリンクに対応する、前に記憶されたウェブページがウェブページメモリ130内に存在する場合、すなわち、そのリンクが既存のリンクに属する場合、変更判定デバイス141は、ウェブページ取得構成要素150を利用して、そのリンクに対応する現在のウェブページコンテンツおよび/またはウェブページの特徴を取得し、取得された現在のウェブページコンテンツおよび/または特徴が記憶されたウェブページコンテンツおよび/または特徴と一致するかどうかを判定して、一致しない場合、そのリンクに対応するウェブページが変更されていること、すなわち、そのリンクが変更されたリンクに属するという結論を下す。新しいリンクまたは変更されたリンクに対応するウェブページは変更されているため、変更されたウェブページに関してセキュリティ脆弱性スキャンを再度実行することが必要であり、したがって、変更判定デバイス141は、脆弱性検出を実行するために、新しいリンクまたは変更されたリンクも脆弱性検出構成要素160に送る。
【００１９】
新しいリンクおよび変更されたリンクが上でそれぞれ示されているが、これらのリンクは両方とも、対応するウェブページの現在のコンテンツが前にスキャンされていないリンクに属し、したがって、以下では、これらの両方のリンクは区別されず、集合的に変更されたリンクと呼ばれる点に留意されたい。
【００２０】
上述のように、ウェブページ特徴は、ウェブページが変更されているかどうかを判定するための重要な基準である点に留意されたい。したがって、既存のリンクに対応するウェブページが変更されているかどうかが判定されるとき、ウェブページコンテンツを取得する必要はなく、ウェブページのウェブページ特徴だけを取得することが必要な場合があり、それによって、ネットワーク帯域幅を節約する。加えて、ウェブページコンテンツに基づいてウェブページが変更されているかどうかが判定されるとき、ウェブページメモリ130内にウェブページのMD5値が記憶されている場合、取得されたウェブページコンテンツに対応するMD5値を計算して、それらの2つのMD5値が等しいかどうかを比較することによって、そのウェブページが変更されているかどうかを判定することも必要である。
【００２１】
脆弱性検出構成要素160は、リンク処理構成要素140から、セキュリティ脆弱性スキャンが実行されることになるリンク、例えば、新しいリンク、または変更判定デバイス141によって判断された変更されたリンクを処理のために受信する。オプションで、脆弱性検出構成要素160は、リンク処理構成要素140から、そのリンクに対応するウェブページのウェブページコンテンツを受信することも可能であり、または脆弱性検出構成要素160は、関係するウェブページコンテンツを取得するために、ウェブページ取得構成要素150を独力で利用することも可能である。脆弱性検出構成要素は、ウェブページに関する脆弱性検出を実行し、それによって、脆弱性検出の結果を取得するために、当技術分野の任意のセキュリティ脆弱性検出技術を利用することが可能である。オプションで、脆弱性検出の結果は、ウェブページ内に脆弱性と関連する脆弱性特徴(例えば、脆弱性コード、脆弱性タイプ、脆弱性重要度など)が存在するかどうかを含む。その後、脆弱性検出構成要素160は、脆弱性検出の結果に従って、脆弱性を含む、脆弱性を含んだウェブページメモリ120内に記憶されたウェブページの収集物を更新する。詳細には、脆弱性を含むウェブページの収集物内に脆弱性検出構成要素160によって処理されるリンクに対応するウェブページエントリが存在する場合、脆弱性検出の新たに取得された結果が、現在のスキャンの結果がそのウェブページエントリが依然としてセキュリティ脆弱性を含むことを示すことを示している場合、その収集物内の対応するエントリを更新するために、脆弱性検出の新たに取得された結果が使用され、一方、脆弱性検出の新しい結果が、ウェブページエントリがセキュリティ脆弱性をもはや含まないことを示す場合、関係するエントリはその収集物から削除される。それに対して、脆弱性を含むウェブページの収集物内に脆弱性検出構成要素160によって処理されるリンクに対応するウェブページエントリが存在しない場合、脆弱性検出の新たに取得された結果が、現在のスキャンの結果がそのウェブページコンテンツがセキュリティ脆弱性を含むことを示すことを示しているとき、そのウェブページと脆弱性検出の結果とがその収集物に追加される。
【００２２】
オプションで、リンク処理構成要素140は、更新デバイス142を備えることが可能である。更新デバイス142は、新しいリンクまたは変更されたリンクを変更判定デバイス141から取得し、そのリンクに対応するウェブページコンテンツおよび/または特徴を取得するためにウェブページ取得構成要素150を利用して、ウェブページメモリ130内のウェブページの収集物内の対応するウェブページエントリを更新する(そのリンクが新しいリンクである場合、そのリンクに対応するウェブページエントリはウェブページの収集物に追加される)。さらに、新しいリンクまたは変更されたリンクに対応するウェブページ内に他のウェブページに対するリンクも含まれる場合、処理されることになるリンクメモリ110内で処理されることになるリンクの収集物を更新するために、それらの他のウェブページに対するリンクが用いられる(すなわち、処理されることになるリンクの収集物内に存在しないリンクは処理されることになるリンクの収集物内に追加される)。
【００２３】
オプションで、上記の変更判定デバイス141と更新デバイス142は両方とも、リンクに対応するウェブページコンテンツおよび/または特徴を取得するためにウェブページ取得構成要素150を利用するが、簡単にするために、変更判定デバイス141がウェブページコンテンツおよび/または特徴を取得した後で、取得されたウェブページコンテンツおよび/または特徴は、個々のデバイス同士の間でリンクに関連して送信され、それによって、処理性能をさらに改善する。
【００２４】
オプションで、リンク処理構成要素140は、範疇判定デバイス143をさらに備えることが可能である。範疇判定デバイス143は、処理されることになるリンクを受信して、脆弱性を含んだウェブページメモリ120内に脆弱性を含むウェブページの収集物内で処理されることになるリンクに対応するウェブページエントリを検索する。ウェブページエントリが存在する場合、処理されることになるリンクに対応するウェブページは、セキュリティ脆弱性を含んでいるとして前に判定されており、したがって、脆弱性検出を依然として実行する必要があり、すなわち、リンクはさらなる処理のために脆弱性検出構成要素160に送られる。結果として、脆弱性検出構成要素は、そのリンクに関してもセキュリティ脆弱性検出を実行する。
【００２５】
オプションで、リンク処理構成要素140内で、変更判定デバイス141によって、対応するウェブページコンテンツが変更されていないと判定されたリンクだけがさらなる判定のために範疇判定デバイス143に送られる。または、範疇判定デバイス143および変更判定デバイス141は、リンク処理構成要素140によって受信されたリンクを独立して処理すること、すなわち、同時に処理することが可能である。さらに、オプションで、範疇判定デバイス143がセキュリティ脆弱性を含まないことを判断したリンクだけがさらなる処理のために変更判定デバイス141に送られてもよい。すべてのこれらのモードは本発明の保護範囲内である。
【００２６】
ウェブサイトスキャン装置100があるターゲットウェブサイトに関してセキュリティスキャンを実行するたびに、ウェブサイトスキャン装置100は、処理されることになるリンクの収集物を初期化するために、前のスキャンによって取得されたターゲットウェブサイトにおけるウェブページの収集物をまず利用する、すなわち、処理されることになるリンクの収集物を構築するために、ウェブページの収集物内のそれぞれのウェブページのリンクを利用する。その後、リンク処理構成要素140は、処理されることになるリンクの収集物内の処理されることになるそれぞれのリンクを処理して、ターゲットウェブサイトに関してセキュリティ脆弱性スキャンをいったん完了する。
【００２７】
本発明によるウェブサイトスキャン装置では、包括的なセキュリティ脆弱性検出はターゲットウェブサイトにおけるすべてのウェブページに関して実行されないが、セキュリティ脆弱性検出は、脆弱性を含んでいること、または、前の検出の結果に従って、最後の検出以来変更されていると以前に判断されているウェブページに関してだけ実行され、これにより、ウェブサイトに関するセキュリティスキャンを実行する効率性を改善して、ターゲットウェブサイトの処理圧力を低減することを理解されよう。
【００２８】
したがって、ターゲットウェブサイトに関してセキュリティ脆弱性スキャンを実行するために本発明によるウェブサイトスキャン装置が用いられるとき、最初のスキャンの手順のステップと後のスキャンの手順のステップとは異なる。図2は、本発明のある実施形態による、ターゲットウェブサイトに関して完全スキャンを実行するためのある方法の流れ図を概略的に示す。この方法は、処理されることになる現在のリンクとして、処理されることになるリンクの収集物(例えば、処理されることになるリンクメモリ110内の処理されることになるリンクの収集物)からリンクが取得されるステップS210で開始し、これはリンク処理構成要素140によって行われることが可能である。この方法が初めて実行されるとき、処理されることになるリンクの収集物内には処理されることになるリンクが1つだけ存在しうる。その後、ステップS220で、処理されることになるリンク、ならびにそのウェブページ内に含まれた他のウェブページに対するリンクに対応するウェブページコンテンツおよび/またはウェブページの特徴が取得される。これは、ウェブページ取得構成要素150を経由してリンク処理構成要素140によって行われることが可能であり、ネットワーククローラ技術など、様々なウェブページ取得技術を用いることによって行われることが可能である。その後、ステップS230で、取得されたウェブページコンテンツおよび/または特徴はウェブページメモリ130内のウェブページの収集物内に追加され、他のウェブページに対するリンクが処理されることになるリンクの収集物に追加され、これは、リンク処理構成要素140、詳細には、その中の更新デバイス142によって行われることが可能である。その後、ステップS240で、脆弱性検出の結果を取得するために、処理されることになるリンクに対応するウェブページコンテンツに関してセキュリティ脆弱性スキャンが実行される。脆弱性検出の結果は、ウェブページ内に脆弱性と関連する脆弱性特徴(例えば、脆弱性コード、脆弱性タイプ、脆弱性重要度など)が存在するかどうかを含む。ステップS240は、ウェブページコンテンツに関してセキュリティ検出を実行するための様々な方法を用いることによって実行可能であり、すべてのこれらの方法は本発明の保護範囲内である。脆弱性検出の結果が、ウェブページが脆弱性を含むことを示す場合、ステップS250で、脆弱性とその関連する脆弱性特徴とを含むウェブページが脆弱性を含んだウェブページメモリ120内の脆弱性を含むウェブページの収集物内に追加される。ステップS240およびステップS250は、脆弱性検出構成要素160によって実行可能である。
【００２９】
その後、ステップS260で、処理されることになるリンクの収集物内に処理されることになるさらなるリンクが存在するかどうかが判定され、「はい」である場合、ステップS270で、処理されることになる現在のリンクとして、処理されることになるリンクの収集物内の処理されることになる次のリンクが取得され、この方法は、処理のためにステップS220に戻る。そうでない場合、完全スキャン方法は終了する。
【００３０】
上述のように、完全スキャン方法を用いてターゲットウェブサイトに関して完全スキャンが実行された後で、ターゲットウェブサイトにおけるウェブページの収集物を取得することが可能であり、ウェブページのその収集物はそれぞれのウェブページに関するURL、ウェブページコンテンツおよび/またはウェブページ特徴を記憶することも可能である。加えて、ターゲットウェブサイトにおける脆弱性を含むウェブページの収集物も取得され、脆弱性を含むそれぞれのウェブページに関して、URLおよび関連する脆弱性特徴など(例えば、脆弱性コード、脆弱性タイプ、脆弱性重要度など)を記憶することが可能である。これらの2つの収集物に基づいて、後続の脆弱性スキャンが実行される。
【００３１】
図3は、本発明のある実施形態による、ターゲットウェブサイトに関して増分スキャンを実行するための方法300の流れ図を概略的に示す。方法300は、ターゲットウェブサイトに関して最初の完全スキャンが実行された後でスキャンが実行されるように適合される。図3に示されるように、方法300は、初期化が実行されるステップS310で開始する。ターゲットウェブサイトにおけるそれぞれのウェブページに関してスキャンを実行する必要があるため、この初期化は、ターゲットウェブサイトに関して前に記憶されたウェブページの収集物を利用することによって、処理されることになるリンクの収集物を作成することを含む。当然、この初期化は、ターゲットウェブサイトの特定の特徴、例えば、ターゲットウェブサイトによって使用されるネットワークアプリケーション、およびターゲットウェブサイトによって使用されるサーバタイプなどをロードすることなど、他の動作をさらに含むことが可能である。
【００３２】
その後、ステップS320で、処理されることになる現在のリンクとして、処理されることになるリンクの収集物からリンクが取得され、これはリンク処理構成要素140によって行われることが可能である。
【００３３】
次に、ステップS330で、処理されることになるリンクに対応するウェブページが前にスキャンされたウェブページと同一であるかどうか、すなわち、そのウェブページが最後のスキャン以来新たに出現したウェブページであるか、そのコンテンツが変更されているウェブページであるか、または元のウェブページと同一のウェブページであるかが判定される。これは、リンク処理構成要素140内の変更判定デバイス141によって行われることが可能である。特定の処理詳細は、変更判定デバイス141を参照して上で提示された、新しいリンクおよび/または変更されたリンクに関する処理に類似し、ここでこれ以上繰り返されない。
【００３４】
オプションで、ステップS330で、処理されることになるリンクが新しいリンクであるかまたは変更されたリンクであるかが判定される場合、ステップS350で、ウェブページの収集物内の対応するウェブページエントリが更新され(リンクが新しいリンクである場合、リンクに対応するウェブページエントリはウェブページの収集物に追加され)。さらに、新しいリンクまたは変更されたリンクに対応するウェブページに、他のウェブページに対するリンクがさらに含まれる場合、他のウェブページに対するこれらのリンクは処理されることになるリンクの収集物を更新するために利用され(すなわち、処理されることになるリンクの収集物内に存在しないリンクは処理されることになるリンクの収集物内に追加され)、これは更新デバイス142によって行われることが可能である。ウェブページの収集物と処理されることになるリンクの収集物とを更新した後で、ステップS360によって、処理されることになるリンクに関してセキュリティ脆弱性検出が実行される。
【００３５】
ステップS330で、処理されることになるリンクに対応するウェブページが変更されていないと判定された場合、ステップS340で、処理されることになるリンクに対応するウェブページが最後のスキャンで脆弱性を含むと判断されているかどうかが判定され、すなわち、脆弱性を含むウェブページの収集物内に処理されることになるリンクに対応するウェブページエントリが存在するかどうかが判定され、これは範疇判定デバイス143によって行われることが可能である。
【００３６】
ステップS340で、処理されることになるリンクに対応するウェブページが最後のスキャンで脆弱性を含むと判断されていると判定された場合、ステップS360で、処理されることになるリンクに関してセキュリティ脆弱性検出が実行される。
【００３７】
脆弱性検出の結果を取得するためにウェブページに関する脆弱性検出を実行し、脆弱性検出の結果に基づいて、脆弱性を含むウェブページの収集物を更新するように、当技術分野の任意のセキュリティ脆弱性検出技術を利用するために、脆弱性検出構成要素160によってステップS360を実行することが可能である。この節の特定の内容は、脆弱性検出構成要素160を参照して上で説明されたことに類似し、ここでこれ以上繰り返されない。
【００３８】
処理されることになるリンクの前述の処理の後で、ステップS370で、処理されることになるリンクの収集物内に処理されることになるさらなるリンクが処理のために存在するかどうかが判定され、「はい」である場合、ステップS380で、処理されることになる現在のリンクとして、処理されることになるリンクの収集物内の処理されることになる次のリンクが取得され、この方法は、処理のためにステップS330に戻る。そうでない場合、増分スキャン方法は終了する。
【００３９】
本発明のスキャン方法によれば、ターゲットウェブサイトに関して最初の完全スキャンが実行された後でその最初の完全スキャンの結果に基づいて後続の増分スキャンが実行され、完全スキャンは、最後のスキャンの後でそのコンテンツが変更されているウェブページまたは新しいウェブページに関してだけ実行され、完全スキャンは、脆弱性を含むという結論が前に出されたウェブページに関してだけ再度実行される。したがって、そのコンテンツがそれ以上変更されていない通常のウェブページに関してスキャンは再度実行されず、それによって、脆弱性スキャンの性能および速度を改善する。
【００４０】
本発明のウェブサイトスキャン装置100の個々の構成要素内で、その中の構成要素は、それらの構成要素によって実現されることになる機能に従って論理的に分離されるが、本発明は、それに限定されず、個々の構成要素は、必要に応じて、再分割されること、または組み合わされることが可能であり、例えば、いくつかの構成要素は、組み合わされて単一の構成要素にされることが可能であり、またはいくつかの構成要素はさらに分割されて、より多い下位構成要素にされることも可能である点に留意されたい。
【００４１】
本発明の個々の構成要素の実施形態は、ハードウェアの形で、または1つもしくは複数のプロセッサ上で実行するソフトウェアモジュールの形で、あるいはそれらの組合せの形で実施可能である。実際には、本発明のある実施形態によるウェブサイトスキャン装置内の構成要素のうちのいくつかもしくはすべての機能のうちのいくつかまたはすべては、マイクロプロセッサまたはデジタル信号プロセッサ(DSP)を使用して実現可能である点を当業者は理解されよう。本発明は、本明細書で説明された方法のうちの一部またはすべてを実行するための装置またはデバイスプログラム(例えば、コンピュータプログラムおよびコンピュータプログラム製品)として実施されることも可能である。本発明を実施するそのようなプログラムは、コンピュータ可読媒体上に記憶可能であるか、または1つもしくは複数の信号の形であってもよい。そのような信号は、インターネットウェブサイトからその信号をダウンロードすることによって取得可能であるか、もしくは搬送信号上で提供可能であるか、または任意の他の形で提供可能である。
【００４２】
例えば、図4は、本発明によるネットワークスキャン方法を実行することができるサーバ、例えば、アプリケーションサーバを示す。このサーバは、通常、プロセッサ410と、メモリ420の形でコンピュータプログラム製品またはコンピュータ可読媒体とを含む。メモリ420は、フラッシュメモリ、EEPROM(電気消去可能プログラマブル読出し専用メモリ)、EPROM、ハードディスク、またはROMなどの、電子メモリであってよい。メモリ420は、プログラムコード431が上で説明された方法のうちの任意の1つの任意の方法ステップを実行するためのメモリスペース430を有する。例えば、プログラムコード用のメモリスペース430は、それぞれ、上記の方法の個々のステップを実行するための個々のプログラムコード431を含むことが可能である。これらのプログラムコードは、1つもしくは複数のコンピュータプログラム製品から読み取られること、または1つもしくは複数のコンピュータプログラム製品に書き込まれることが可能である。これらのコンピュータプログラム製品は、ハードディスク、コンパクトディスク(CD)、メモリカード、またはフロッピー（登録商標）ディスクなどのプログラムコードキャリアを含む。そのようなコンピュータプログラム製品は、一般に、図5を参照して説明されるように、携帯用であるか、または固定記憶ユニットである。この記憶ユニットは、図4のサーバ内のメモリ420に類似して構成されたメモリ区分、メモリスペースなどを有することが可能である。プログラムコードは、例えば、適切な形で圧縮可能である。一般に、記憶ユニットは、コンピュータ可読コード431'、すなわち、410などのプロセッサによって読み取られることが可能なコードを含み、サーバによって実行されるとき、それらのコードは、サーバに上で説明された方法の個々のステップを実行させる。
【００４３】
上記の実施形態は、本発明を限定するのではなく、本発明を例示し、当業者は、添付の請求項の範囲から逸脱せずに代替の実施形態を考案することができる点に留意されたい。それらの請求項では、括弧間に配置されたいずれの参照符号も請求項を限定すると解釈されるべきではない。「備える」という用語は、請求項内に列挙されていない要素またはステップの存在を排除しない。要素に先立つ「ある」という用語は、複数のそのような要素の存在を排除しない。本発明は、いくつかの別個の要素を備えたハードウェアによって、かつ適切にプログラムされたコンピュータによって実施可能である。いくつかのデバイスを列挙している装置クレームでは、デバイスのうちのいくつかは、1つの同じハードウェア品目によって実施可能である。第1の、第2の、および第3のなどの用語の使用は、任意の順序を意味しない。そのような用語は命名と解釈されうる。
【符号の説明】
【００４４】
100  ウェブサイトスキャン装置
110  処理されることになるリンクメモリ
120  脆弱性を含んだウェブページメモリ
130  ウェブページメモリ
140  リンク処理構成要素
141  変更判定デバイス
142  更新デバイス
143  範疇判定デバイス
150  ウェブページ取得構成要素
160  脆弱性検出構成要素
【図１】
2013541774.tif 000003
【図２】
2013541774.tif 000004
【図３】
2013541774.tif 000005
【図４】
2013541774.tif 000006
【図５】
2013541774.tif 000007
【国際調査報告】
2013541774.tif 000008
2013541774.tif 000009
2013541774.tif 000010
2013541774.tif 000011