(57)【特許請求の範囲】
【請求項１】
計算システムによって、当事者に関するインタラクションデータを受け取るステップであって、前記インタラクションデータが、前記当事者と複数のエンティティとの間で発生したインタラクションの集合について記述し、前記インタラクションデータが、各インタラクションについて、(i)前記インタラクションの1つまたは複数のディメンションの値および(ii)前記当事者との前記インタラクションに参加した前記複数のエンティティのうちの1つに対するエンティティ識別子を識別する、ステップと、
前記計算システムによって、前記当事者に関するクエリデータを受け取るステップであって、前記クエリデータが、前記当事者と前記複数のエンティティとの間で発生したインタラクションの前記集合に関して前記当事者によって発行される複数のクエリについて記述する、ステップと、
前記計算システムによって、複数のディメンション組合せを決定するステップであって、各々のディメンション組合せが、前記インタラクションデータに表される前記1つまたは複数のディメンションの値の異なる組合せに対応する、ステップと、
前記計算システムによって、前記クエリデータに記載される前記複数のクエリの各クエリについて、前記クエリに対する結果において現れる前記複数のディメンション組合せからの各ディメンション組合せを識別するステップと、
前記計算システムによって、前記複数のディメンション組合せの各ディメンション組合せに対して、前記クエリに対する結果において前記ディメンション組合せが現れる前記複数のクエリからの各クエリを識別するクエリメンバーシップタグを生成するステップと、
前記計算システムによって、各一意のクエリメンバーシップタグに対して、前記クエリメンバーシップタグに対応するディメンション組合せを有するいずれかのインタラクションに前記インタラクションデータにおいて関連付けられたエンティティの数のカウントを決定するステップと、
1つまたは複数の一意のクエリメンバーシップタグに対する前記カウントに基づいて前記当事者に関するデータ漏洩リスクを評価するステップとを含む、
コンピュータで実行される方法。
【請求項２】
前記当事者に関する前記インタラクションデータを受け取るステップが、
前記当事者に知られているコンバージョンインタラクションデータを受け取るステップを含み、
インタラクションの前記集合が、前記複数のエンティティと前記当事者の1つまたは複数のウェブプロパティとの間で発生したコンバージョンインタラクションを含む、
請求項1に記載のコンピュータで実行される方法。
【請求項３】
前記コンバージョンインタラクションデータが前記当事者から受け取られる、
請求項2に記載のコンピュータで実行される方法。
【請求項４】
前記当事者に関する前記インタラクションデータを受け取るステップが、
前記当事者に知られていない非コンバージョンインタラクションデータを受け取るステップを含み、
インタラクションの前記集合が、前記複数のエンティティと1つまたは複数のサードパーティウェブプロパティとの間で発生した非コンバージョンインタラクションを含む、
請求項1から3のいずれか一項に記載のコンピュータで実行される方法。
【請求項５】
前記非コンバージョンインタラクションデータが、通知アイテム提供システムから受け取られる、
請求項4に記載のコンピュータで実行される方法。
【請求項６】
前記計算システムによって決定される前記複数のディメンション組合せが、前記当事者に知られているコンバージョンインタラクション値だけを含む、
請求項1から5のいずれか一項に記載のコンピュータで実行される方法。
【請求項７】
前記クエリに対する同じ結果において現れる2つ以上の異なるディメンション組合せが同じクエリメンバーシップタグを有する、
請求項1から6のいずれか一項に記載のコンピュータで実行される方法。
【請求項８】
前記当事者に関する前記データ漏洩リスクを評価するステップが、
前記一意のクエリメンバーシップタグのいずれかに対するエンティティの前記数の前記カウントが、識別可能な閾値未満であるかどうかを判定するステップを含む、
請求項1から7のいずれか一項に記載のコンピュータで実行される方法。
【請求項９】
前記当事者に関する前記データ漏洩リスクを評価するステップに基づいて所与のクエリメンバーシップタグに対応する潜在的なデータ漏洩を識別した後に、前記所与のクエリメンバーシップタグにおいて識別されるクエリの組合せの差分クエリ解析を行って、実際のデータ漏洩が発生したかどうかを判定するステップをさらに含む、
請求項1から8のいずれか一項に記載のコンピュータで実行される方法。
【請求項１０】
前記実際のデータ漏洩が発生したとの判定に応じて、1つまたは複数のセキュリティ措置を行うステップをさらに含む、
請求項9に記載のコンピュータで実行される方法。
【請求項１１】
前記1つまたは複数のセキュリティ措置が、前記当事者によって発行される、さらなるクエリを制限することを含む、
請求項10に記載のコンピュータで実行される方法。
【請求項１２】
前記1つまたは複数のセキュリティ措置が前記計算システムによって自動的に行われる、
請求項10または11に記載のコンピュータで実行される方法。
【請求項１３】
前記1つまたは複数のセキュリティ措置が、前記計算システムの管理者からの入力を受け取った後に行われる、
請求項10または11に記載のコンピュータで実行される方法。
【請求項１４】
計算デバイスの1つまたは複数のプロセッサによって実行されると、以下の動作を前記1つまたは複数のプロセッサに行わせるための命令を記憶したコンピュータ可読記憶媒体であって、前記動作が、
計算システムによって、当事者に関するインタラクションデータを受け取ることであって、前記インタラクションデータが、前記当事者と複数のエンティティとの間で発生したインタラクションの集合について記述し、前記インタラクションデータが、各インタラクションについて、(i)前記インタラクションの1つまたは複数のディメンションの値および(ii)前記当事者との前記インタラクションに参加した前記複数のエンティティのうちの1つに対するエンティティ識別子をさらに識別する、ことと、
前記計算システムによって、前記当事者に関するクエリデータを受け取ることであって、前記クエリデータが、前記当事者と前記複数のエンティティとの間で発生したインタラクションの前記集合に関して前記当事者によって発行される複数のクエリについて記述する、ことと、
前記計算システムによって、複数のディメンション組合せを決定することであって、各々のディメンション組合せが、前記インタラクションデータに表される前記1つまたは複数のディメンションの値の異なる組合せに対応する、ことと、
前記計算システムによって、前記クエリデータに記載される前記複数のクエリの各クエリについて、前記クエリに対する結果において現れる前記複数のディメンション組合せからの各ディメンション組合せを識別することと、
前記計算システムによって、前記複数のディメンション組合せの各ディメンション組合せに対して、前記クエリに対する結果において前記ディメンション組合せが現れる前記複数のクエリからの各クエリを識別するクエリメンバーシップタグを生成することと、
前記計算システムによって、各一意のクエリメンバーシップタグに対して、前記クエリメンバーシップタグに対応するディメンション組合せを有するいずれかのインタラクションに前記インタラクションデータにおいて関連付けられたエンティティの数のカウントを決定することと、
1つまたは複数の一意のクエリメンバーシップタグに対する前記カウントに基づいて前記当事者に関するデータ漏洩リスクを評価することと
を含む動作を前記1つまたは複数のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項１５】
計算装置によって実行されると、前記計算装置に請求項1から13のいずれか一項に記載の方法を行わせるためのマシン可読命令を含むコンピュータプログラム。
【請求項１６】
請求項1から13のいずれか一項に記載の方法を行うように構成される装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本文書は概して、計算環境におけるデータ漏洩リスクを評価するための技術について記載する。
【背景技術】
【０００２】
データシステムは、クエリを受け取り、結果データに記載される個人についての具体的な情報が明らかにされないように集計クエリ結果を提供することができる。しかしながら、攻撃者が異なるクエリパラメータを持つ複数のクエリを発行し、結果データの解析を通じて特定の個人についての情報を推論する差分クエリ攻撃が試みられる可能性がある。一部のシステムは、結果データに統計的ノイズを追加して差分クエリ攻撃を阻止する。
【発明の概要】
【課題を解決するための手段】
【０００３】
本文書は概して、計算環境におけるデータ漏洩リスクを評価するためのコンピュータベースの技術(例えば、システム、デバイス、方法および他の技術)について記載する。本明細書に記載されるシステム、デバイスおよび技術は、情報要求者によって発行されたクエリの初期フィルタリングを行う効率的なプロセスを使用して、情報要求者による差分クエリ攻撃に関与している可能性があるクエリの部分集合を識別することを含む。初期フィルタリングプロセスを行った後に、例えば、クエリの部分集合が結果として実際のデータ漏洩になったかどうかを確認するために比較的包括的なプロセスが使用されてよい。情報要求者によって提出されるクエリに適切な制御を適用するために追加の技術が使用されてよく、したがってユーザデータプライバシーを保護する。
【０００４】
本明細書に開示される対象の一部の実装例はコンピュータで実行される方法を含む。同方法は、計算システムによって、当事者に関するインタラクションデータを受け取るステップを含む。インタラクションデータは、当事者と複数のエンティティとの間で発生したインタラクションの集合について記述できる。インタラクションデータは、各インタラクションについて、(i)インタラクションの1つまたは複数のディメンションの値および(ii)当事者とのインタラクションに参加した複数のエンティティのうちの1つに対するエンティティ識別子をさらに識別できる。システムは、当事者に関するクエリデータを受け取る。クエリデータは、当事者と複数のエンティティとの間で発生したインタラクションの集合に関して当事者によって発行される複数のクエリについて記述できる。システムは、複数のディメンション組合せを決定し、各々のディメンション組合せが、インタラクションデータに表される1つまたは複数のディメンションの値の異なる組合せに対応する。システムは、クエリデータに記載される複数のクエリの各クエリについて、クエリに対する結果において現れる複数のディメンション組合せからの各ディメンション組合せを識別する。システムは、複数のディメンション組合せの各ディメンション組合せに対して、クエリに対する結果においてディメンション組合せが現れる複数のクエリからの各クエリを識別するクエリメンバーシップタグを生成する。システムは、各一意のクエリメンバーシップタグに対して、クエリメンバーシップタグに対応するディメンション組合せを有するいずれかのインタラクションにインタラクションデータにおいて関連付けられたエンティティの数のカウントを決定する。システムは、1つまたは複数の一意のクエリメンバーシップタグに対するカウントに基づいて当事者に関するデータ漏洩リスクを評価する。
【０００５】
これらおよび他の実装例は以下の特徴の1つまたは複数を任意選択で含むことができる。
【０００６】
当事者に関するインタラクションデータを受け取るステップは、当事者に知られているコンバージョンインタラクションデータを受け取るステップを含むことができ、インタラクションの集合は、複数のエンティティと当事者の1つまたは複数のウェブプロパティとの間で発生したコンバージョンインタラクションを含む。コンバージョンインタラクションデータは当事者から受け取られてよい。
【０００７】
当事者に関するインタラクションデータを受け取るステップは、当事者に知られていない非コンバージョンインタラクションデータを受け取るステップを含むことができ、インタラクションの集合は、複数のエンティティと1つまたは複数のサードパーティウェブプロパティとの間で発生した非コンバージョンインタラクションを含む。非コンバージョンインタラクションデータは通知アイテム提供システムから受け取られてよい。
【０００８】
計算システムによって決定される複数のディメンション組合せは、当事者に知られているコンバージョンインタラクション値だけを含んでよい。
【０００９】
クエリに対する同じ結果において現れる2つ以上の異なるディメンション組合せが同じクエリメンバーシップタグを有してよい。
【００１０】
当事者に関するデータ漏洩リスクを評価するステップは、一意のクエリメンバーシップタグのいずれかに対するエンティティの数のカウントが、識別可能な閾値未満であるかどうかを判定するステップを含むことができる。
【００１１】
当事者に関するデータ漏洩リスクを評価するステップに基づいて所与のクエリメンバーシップタグに対応する潜在的なデータ漏洩を識別した後に、所与のクエリメンバーシップタグにおいて識別されるクエリの組合せの差分クエリ解析が行われて、実際のデータ漏洩が発生したかどうかを判定できる。
【００１２】
実際のデータ漏洩が発生したとの判定に応じて、1つまたは複数のセキュリティ措置が行われ得る。1つまたは複数のセキュリティ措置は、当事者によって発行される、さらなるクエリを制限することを含むことができる。1つまたは複数のセキュリティ措置は計算システムによって自動的に行われてよい。1つまたは複数のセキュリティ措置は、計算システムの管理者からの入力を受け取った後に行われてよい。
【００１３】
本明細書に開示される対象の一部の実装例は、1つまたは複数のプロセッサによって実行されると、本明細書に開示される方法のいずれかのための動作をプロセッサに行わせる命令を記憶した1つまたは複数のコンピュータ可読媒体(例えば、非一時的媒体)を含む。一部の実装例では、計算デバイスは、1つまたは複数のプロセッサおよび1つまたは複数のコンピュータ可読媒体を含む。
【００１４】
本文書を通して記載されるシステム、デバイス、プログラム製品およびプロセスは、一部の事例で、以下の利点の1つまたは複数を提供できる。クエリ結果が不正確であるようにする、結果に統計的ノイズを追加することなく、差分クエリ攻撃が検出され得る。差分クエリ攻撃に関与している可能性がある発行されたクエリの部分集合を識別するためにライトウェイトプロセスが使用され得、次いでクエリの部分集合が結果として実際のデータ漏洩になったかどうかを確認するために包括的なプロセスが使用され得、したがってより高速なクエリ解析を行うと共に計算リソースを節約する。潜在的に悪意のある情報要求者が識別され得、適切な制御が適用されてよく、したがってユーザデータプライバシーを保護する。
【００１５】
1つまたは複数の実施形態の詳細が添付図面および以下の説明に明らかにされる。他の特徴および利点は説明および図面から、ならびに請求項から明らかであろう。
【図面の簡単な説明】
【００１６】
【図１】計算環境におけるデータ漏洩リスクを評価するためのシステム例のブロック図である。
【図２】計算環境におけるデータ漏洩リスクを評価するための技術例のフローチャートである。
【図３】クエリ結果例を示す図である。
【図４】インタラクションデータの一例を示す図である。
【図５Ａ】インタラクションデータのクエリビュー例を示す図である。
【図５Ｂ】インタラクションデータのクエリビュー例を示す図である。
【図６】ディメンション組合せデータの一例を示す図である。
【図７】一致ディメンション組合せデータの一例を示す図である。
【図８】クエリメンバーシップタグデータの一例を示す図である。
【図９】クエリメンバーシップタグに対するエンティティ関連データの一例を示す図である。
【図１０】本文書に記載されるシステムおよび方法を実装するために使用されてよい計算デバイス例のブロック図である。
【発明を実施するための形態】
【００１７】
様々な図面における同様の参照記号は同様の要素を示す。
【００１８】
本文書は概して、計算環境におけるデータ漏洩リスクを評価するためのシステム、デバイスおよび技術について記載する。例えば、情報要求者は、リソースインタラクション追跡システムにクエリを提出して、コンピュータネットワーク(例えば、ローカルネットワーク、インターネットまたは別の種類のネットワーク)を通じて利用可能な様々なデジタルリソース(例えば、ウェブページ、文書、メディアコンテンツまたは他の種類のリソース)に関して行われたインタラクション(例えば、視聴、クリックまたは他の種類のインタラクション)についての情報を得ることができる。クエリに応じて、システムは、インタラクションについての集計情報を提供して、例えば、インタラクションを行った個人のプライバシーを保護できる。情報要求者によって管理されるリソースにアクセスすることを伴うインタラクションなど、インタラクションの一部は情報要求者に既に知られていてよい。情報要求者によって管理されないリソースにアクセスすることを伴うインタラクションなど、インタラクションの一部は情報要求者に知られていなくてよい。そのような未知のインタラクション情報を得る試みで、例えば、情報要求者は、個人の小グループを分離する複数の異なるクエリを提出し、クエリ結果間の差分を解析し、解析に基づいて個人の小グループ(または特定の個人)に対する情報を推論することを含んでよい差分クエリ攻撃を行うことができる。
【００１９】
一般に、差分クエリ攻撃によって引き起こされるデータ漏洩リスクを評価することは、クエリ結果が場合により、多くの異なるデジタルリソースとの多くの異なるインタラクションを行う多くの異なる個人に対する情報を集計する多くの行を返すため、莫大な計算リソース(例えば、メモリおよび記憶空間)を伴うことがあり、また著しい量の時間を必要とすることがある。したがって、クエリ差分を比較して潜在的な差分クエリ攻撃を発見することは一般に計算的に高価である。本明細書に記載されるシステム、デバイスおよび技術は、情報要求者によって発行されたクエリの初期フィルタリングを行う比較的ライトウェイトなプロセスを使用して、差分クエリ攻撃に関与している可能性があるクエリの部分集合を識別することを含む。初期フィルタリングプロセスを行った後に、クエリの部分集合が結果として実際のデータ漏洩になったかどうかを確認するために比較的包括的なプロセスが使用される。したがって、より高速なクエリ解析を行うと共に、計算リソースが節約されてよい。潜在的に悪意のある情報要求者が識別され得、情報要求者によって提出されるクエリに適切な制御が適用されてよく、したがってユーザデータプライバシーを保護する。
【００２０】
図1は、計算環境におけるデータ漏洩リスクを評価するためのシステム例100のブロック図である。例えば、システム100は、リソースインタラクション追跡システム(図示せず)と関連付けられて(またはその一部であって)よい。簡単には、システム100は、例えば、当事者(例えば、組織)と様々なエンティティ(例えば、インターネットユーザ)との間のインタラクションについて記述する当事者に関するインタラクションデータ120を受け取って記憶するインタラクション情報データストア102を含む。システム100は、例えば、インタラクションに対して当事者によって発行されるクエリに関連したクエリデータ122を受け取って記憶するクエリ情報データストア106も含む。一般に、システム100は、差分クエリアナライザ(フィルタ)108を使用して、潜在的なデータ漏洩128を識別するライトウェイトプロセスを行うことができ、次いで包括的差分クエリアナライザ110を使用して、確認されたデータ漏洩130が発生したかどうかを判定できる。確認されたデータ漏洩情報は、データ漏洩アラートを提供すること、クエリ制限を実施すること、および他の適切な措置などの、様々なセキュリティ措置を行うためにデータ漏洩情報データストアに記憶され得る。システム100によって行われる動作は、本明細書における追加の図および説明に関してさらに詳細に記載される。
【００２１】
図2は、計算環境におけるデータ漏洩リスクを評価するための技術例200のフローチャートである。技術例は、システム100(図1に図示される)などの、各種の適切なシステムのいずれかによって行われ得る。
【００２２】
当事者に関するインタラクションデータが受け取られる(202)。図1を参照すると、例えば、インタラクションデータ120がインタラクション情報データストア102による記憶のためにシステム100によって受け取られる。インタラクションデータ120は、例えば、当事者と複数のエンティティとの間で発生したインタラクションの集合について記述できる。
【００２３】
一部の実装例では、当事者と複数のエンティティとの間で発生したインタラクションの集合は、エンティティと当事者の1つまたは複数のウェブプロパティ(例えば、ウェブサイト)との間で発生したインタラクションを含んでよい。例えば、複数のエンティティはインターネットユーザを含んでよく、当事者は、ウェブサイトなどのインターネットプレゼンスを持つ組織であってよい。ユーザは、組織のウェブサイトを訪問でき、いくつかの例を記載すると、ウェブサイト上に含まれる様々なページ、コンテンツおよび/または製品とインタラクトすることなどの、様々なインタラクションを行うことができる。一般に、当事者と複数のエンティティとの間のこれらの種類のユーザインタラクションは当事者に知られており、コンバージョンインタラクションと称されてよい。一部の実装例では、インタラクションデータ120に含まれるコンバージョンインタラクションデータは当事者によってシステム100に提供されてよい。
【００２４】
一部の実装例では、当事者と複数のエンティティとの間で発生したインタラクションの集合は、エンティティと当事者によって維持されない1つまたは複数のサードパーティウェブプロパティ(例えば、ウェブサイト)との間で発生したインタラクションを含んでよい。当事者と複数のエンティティとの間のこれらの種類のユーザインタラクションは、例えば、当事者に知られていなくてよく、非コンバージョン(例えば、プライベート)インタラクションと称されてよい。例えば、通知アイテム(例えば、情報ウィジェット、ウェブサイトリンク、広告、またはユーザに当事者のウェブサイト上で利用可能なコンテンツを通知する他のアイテム)が、様々なサードパーティウェブサイト上での表現のために当事者によって提供され得、ユーザに当事者のウェブサイト上でコンバージョンインタラクションを行わせることができる情報を含むことができる。ユーザが通知アイテムとインタラクトする(例えば、ユーザが情報ウィジェットを見る、ウェブサイトリンクをクリックする、または別の種類のインタラクションを行う)と、例えば、サードパーティウェブサイト(図示せず)による表現のための通知アイテムを提供する通知アイテム提供システムによって、非コンバージョン(例えば、プライベート)ユーザインタラクションデータに関連した情報が追跡され得、ユーザは、コンバージョンインタラクション(例えば、当事者に知られているインタラクション)が発生してよい当事者のウェブサイトに進み得るかつ/またはそれに案内され得る。しかしながら、ユーザプライバシーを維持するために、コンバージョンインタラクションを開始した非コンバージョン(例えば、プライベート)インタラクションと関連する個別情報は、通知アイテム提供システムによって当事者に提供されなくてよい。例えば、特定のサードパーティウェブサイト上でのアクティビティを特定のユーザにリンクする情報を当事者に提供することは適切でない場合がある。一部の実装例では、インタラクションデータ120に表される非コンバージョン(例えば、プライベート)データが通知アイテム提供システムによってシステム100に提供されてよい。
【００２５】
各インタラクションについて、インタラクションデータは、インタラクションの1つまたは複数のディメンションの値を識別でき、当事者とのインタラクションに参加した複数のエンティティのうちの1つに対するエンティティ識別子を含むことができる。例えば、インタラクションデータ120は、当事者に知られているユーザアクション(例えば、コンバージョンインタラクション)に関係するデータおよび当事者に知られていないユーザアクション(例えば、非コンバージョンまたはプライベートインタラクション)に関係するデータを含むことができる。各コンバージョン(例えば、既知の)インタラクションに対して、例えば、インタラクションデータ120は、インタラクションの種類(例えば、視聴、コメント、転送、購入もしくは別のインタラクション型)、インタラクションが発生した日時、インタラクションが発生したときにユーザが位置していた場所(例えば、国、州、市もしくは別の場所)、インタラクションを行うために使用されたデバイス型(例えば、モバイル、デスクトップもしくは別のデバイス型)、インタラクションを行ったユーザの識別子、および/またはインタラクションに関する他の適切な種類の情報などのインタラクションディメンションの値を含むことができる。各非コンバージョン(例えば、プライベート)インタラクションに対して、例えば、インタラクションデータ120は、通知アイテムを含んだサードパーティウェブサイト、通知アイテムとのユーザインタラクションが発生した日時、インタラクションが発生したときにユーザが位置していた場所(例えば、国、州、市もしくは別の場所)、インタラクションを行うために使用されたデバイス型(例えば、モバイル、デスクトップもしくは別のデバイス型)、インタラクションを行ったユーザの識別子、および/またはインタラクションに関する他の適切な種類の情報などのインタラクションディメンションの値を含むことができる。
【００２６】
当事者に関するクエリデータが受け取られる(204)。図1を再び参照すると、例えば、クエリデータ122は、システム100のクエリメンバーシップジェネレータ104によって受け取られ、さらなる解析のためにクエリ情報データストア106によって記憶される。クエリデータ122は、例えば、当事者と複数のエンティティとの間で発生したインタラクションの集合に関して当事者によって発行される複数のクエリについて記述できる。例えば、複数のクエリは、どの種類のコンバージョンインタラクション(例えば、当事者に知られているインタラクション)が一般にどの種類の非コンバージョンインタラクション(例えば、当事者に知られていないかつ/またはプライベートであるインタラクション)に帰され得るかを判定するために当事者によって発行されたクエリを含んでよい。当事者は、例えば、クエリ結果に含めるための、クエリに対する時間範囲、1つまたは複数のインタラクション(例えば、コンバージョンインタラクションおよび/または非コンバージョンインタラクション)に関する主要ディメンションの集合、および1つまたは複数の集計ディメンションを各々指定する様々なクエリを時間とともに発行できる。一部の実装例では、記憶されるクエリデータ(例えば、クエリディメンションおよびクエリ結果を含む)の量は、有限数の前に発行されたクエリと関連するクエリデータに限定されてよい。例えば、クエリ情報データストア106は、システム100のデータ記憶機能またはポリシーに従って、適切な数(例えば、10、100、1000または別の数)の当事者によって最近発行されたクエリと関連するクエリデータを記憶できる。
【００２７】
図3をここで参照すると、クエリ結果例300が図示される。クエリ結果300は、例えば、指定時間範囲(例えば、2018年1月1日〜2018年1月31日のコンバージョン期間)に対して、主要非コンバージョンディメンション302(例えば、特定の通知アイテムを含んだサードパーティウェブサイト)、主要非コンバージョンディメンション304(例えば、通知アイテムとインタラクトするためにユーザによって利用されたデバイス)、コンバージョンディメンション306(例えば、通知アイテムとインタラクトすることから生じたコンバージョンインタラクションを行うためにユーザによって利用されたデバイス)、コンバージョンディメンション308(例えば、コンバージョンインタラクションを行うために使用されたデバイスの位置)、および集計ディメンション310(例えば、主要ディメンション302〜308の各一意の組合せに対するコンバージョンインタラクションの集計数)を含む。十分に集計されたディメンション値を提供することによって、例えば、クエリ結果300は、当事者に非コンバージョンディメンション値をいずれかの特定のユーザ識別子にリンクさせることなく、コンバージョン(例えば、既知の)ディメンション値を非コンバージョン(例えば、未知またはプライベート)ディメンション値に帰する一般情報を当事者に提供できる。しかしながら、一部の当事者は、例えば、自分のウェブサイトユーザに関係する非コンバージョン(例えば、未知またはプライベート)インタラクション情報を知りたい可能性があり、そのような未知またはプライベート情報を見つけ出す試みでコンバージョン(例えば、既知の)インタラクション情報を活かす様々な技術(例えば、差分クエリ攻撃)を利用する可能性がある。差分クエリ攻撃例が図4および図5A〜図5Bに関して以下に記載される。
【００２８】
図4をここで参照すると、インタラクションデータ400の一例が図示される。例えば、インタラクションデータ400(例えば、図1に図示されるインタラクションデータ120と同様)は、特定の期間(例えば、3日)にわたって当事者(例えば、ウェブサイトを維持する組織)と複数のエンティティ(例えば、ユーザ1〜5)との間で発生したインタラクションの集合について、当事者に知られているインタラクションおよび当事者に知られていないインタラクションを含めて、記載する。本例では、インタラクションデータ400は、様々なエンティティ(例えば、ユーザ)と当事者との間で発生した各コンバージョンインタラクションに対して、当事者に知られているコンバージョン識別子402、コンバージョン日404およびユーザ識別子406を含む。一部の実装例では、ユーザ識別子406は、識別データがプライベートなままであるようにシグネチャ値を使用して記憶されてよい。本例のインタラクションデータ400は、各コンバージョンインタラクションに至った非コンバージョン(例えば、プライベート)インタラクションを参照するデータ、特にユーザに当事者のウェブサイトに対する通知アイテムを提供したサードパーティウェブサイトであって、当事者に知られていないサードパーティウェブサイトに対するサードパーティウェブサイト識別子408も含む。
【００２９】
本例に図示されるように、コンバージョンC1は、1日目のユーザ1によるコンバージョンインタラクション(サイトAとの非コンバージョンインタラクションによって先行される)を表し、コンバージョンC2は、1日目のユーザ2によるコンバージョンインタラクション(サイトBとの非コンバージョンインタラクションによって先行される)を表し、コンバージョンC3は、2日目のユーザ3によるコンバージョンインタラクション(サイトAとの非コンバージョンインタラクションによって先行される)を表し、コンバージョンC4は、3日目のユーザ4によるコンバージョンインタラクション(サイトAとの非コンバージョンインタラクションによって先行される)を表し、コンバージョンC5は、3日目のユーザ5によるコンバージョンインタラクション(サイトBとの非コンバージョンインタラクションによって先行される)を表す。当事者が本例では各ユーザに対する様々なコンバージョンインタラクションの知識を有するが、当事者は、ユーザがどのサードパーティウェブサイトとインタラクトした可能性があるか、インタラクションが発生した日時、インタラクションが発生したときにユーザがどこに位置していたか、およびインタラクションを行うために使用されたデバイスの種類など、コンバージョンインタラクションに至った可能性がある非コンバージョン(例えば、プライベート)インタラクションの直接的な知識を有しない。そのような未知またはプライベート情報を見つけ出そうと試みるために、例えば、当事者は、インタラクションの最小の集合を識別する目的で、インタラクションの最小の集合に関連するユーザ数が識別可能な閾値(例えば、2人のユーザ、10人のユーザ、50人のユーザまたは別の適切な値)未満であるような、異なるクエリパラメータを有する2つ以上のクエリを発行してもよい。
【００３０】
図5A〜図5Bをここで参照すると、インタラクションデータ400(図4に図示される)のクエリビュー500および550が、それぞれシステム100の観点からおよび当事者の観点から図示される。クエリビュー500および550(例えば、図1に図示されるクエリデータ122と同様またはそれに基づく)は、例えば、様々な発行されたクエリに対するコンバージョンインタラクションデータ(例えば、既知のデータ)および非コンバージョンインタラクションデータ(例えば、未知またはプライベートデータ)のビューを含むことができる。本例では、クエリFは、1日目および2日目にわたって発生したコンバージョンと関連するインタラクションデータを返し、クエリGは、2日目および3日目にわたって発生したコンバージョンと関連するインタラクションデータを返し、クエリHは、1日目、2日目および3日目にわたって発生したコンバージョンと関連するインタラクションデータを返す。
【００３１】
図5Aに図示されるように、例えば、システム100には、各発行されたクエリに対して、コンバージョンおよび非コンバージョンインタラクションディメンションに対するデータ値を含むインタラクションデータ400の比較的包括的なクエリビュー500が提供され得る。クエリFは、例えば、コンバージョン日1および2を指定し、指定日にわたって発生するコンバージョンC1およびC3がサードパーティサイトAと関連する非コンバージョンインタラクションに帰され得ること、およびコンバージョンC2がサードパーティサイトBと関連する非コンバージョンインタラクションに帰され得ることを示すインタラクションデータを返す。クエリGは、例えば、コンバージョン日2および3を指定し、指定日にわたって発生するコンバージョンC3およびC4がサードパーティサイトAと関連する非コンバージョンインタラクションに帰され得ること、およびコンバージョンC5がサードパーティサイトBと関連する非コンバージョンインタラクションに帰され得ることを示すインタラクションデータを返す。クエリHは、例えば、コンバージョン日1、2および3を指定し、指定日にわたって発生するコンバージョンC1、C3およびC4がサードパーティサイトAと関連する非コンバージョンインタラクションに帰され得ること、およびコンバージョンC2およびC5がサードパーティサイトBと関連する非コンバージョンインタラクションに帰され得ることを示すインタラクションデータを返す。
【００３２】
図5Bに図示されるように、例えば、当事者には、各発行されたクエリに対して、コンバージョンインタラクションディメンションに対するデータ値および非コンバージョンインタラクションディメンションに対応する集計データ値を含むインタラクションデータ400の比較的限定されたクエリビュー550が提供され得る。クエリFは、例えば、コンバージョン日1および2を指定し、指定日にわたってコンバージョンC1、C2およびC3が発生したこと、および総コンバージョン数のうち、コンバージョンの2つがサードパーティサイトAと関連する非コンバージョンインタラクションに帰され得、コンバージョンの1つがサードパーティサイトBと関連する非コンバージョンインタラクションに帰され得ることを示すインタラクションデータを返す。クエリGは、例えば、コンバージョン日2および3を指定し、指定日にわたってコンバージョンC3、C4およびC5が発生したこと、および総コンバージョン数のうち、コンバージョンの2つがサードパーティサイトAと関連する非コンバージョンインタラクションに帰され得、コンバージョンの1つがサードパーティサイトBと関連する非コンバージョンインタラクションに帰され得ることを示すインタラクションデータを返す。クエリHは、例えば、コンバージョン日1、2および3を指定し、指定日にわたってコンバージョンC1、C2、C3、C4およびC5が発生したこと、および総コンバージョン数のうち、コンバージョンの3つがサードパーティサイトAと関連する非コンバージョンインタラクションに帰され得、コンバージョンの2つがサードパーティサイトBと関連する非コンバージョンインタラクションに帰され得ることを示すインタラクションデータを返す。
【００３３】
非コンバージョンインタラクションディメンションに対応する集計カウント値がクエリF、GおよびHを通じて当事者に提供されたが、例えば、当事者は場合により、特定のユーザに対する個別の非コンバージョンインタラクションディメンション値を見つけ出す試みでコンバージョンインタラクションに関してそれが既に有する情報を活かす可能性がある。図4および図5に図示されるように、例えば、当事者は、コンバージョンC1が1日目にユーザ1によって行われ、コンバージョンC2が1日目にユーザ2によって行われ、コンバージョンC3が2日目にユーザ3によって行われ、コンバージョンC4が3日目にユーザ4によって行われ、コンバージョンC5が3日目にユーザ5によって行われたことを示すコンバージョンインタラクションデータを有するが、当事者は、どの特定のユーザが、コンバージョンインタラクションに至った可能性があるどの特定の非コンバージョンインタラクション(例えば、サードパーティサイトAおよびサードパーティサイトBとのインタラクション)を行ったかに関連した個別情報を有しない。個別の非コンバージョンインタラクションデータを見つけ出す試みで、例えば、当事者は、クエリFおよびクエリG結果が加算され、次いでクエリH結果が減算される差分クエリ攻撃を行う可能性がある。本例では、当事者は、クエリFおよびクエリGの加算結果に従って、サイトAに関して合計4つの非コンバージョンインタラクションが発生し、かつサイトBに関して合計2つの非コンバージョンインタラクションが発生したことを知っている。クエリH(クエリFおよびGのそれにわたる時間範囲に基づく)の結果に従って、サイトAに関して3つの非コンバージョンインタラクションが発生し、かつサイトBに関して2つの非コンバージョンインタラクションが発生した。((クエリF+クエリG)-クエリH)を行うことによって、例えば、当事者は、2日目に、サイトAに関して1つの非コンバージョンインタラクション(4引く3)が発生したと、およびサイトBに関して非コンバージョンインタラクションが発生しなかった(2引く2)と判定できる。当事者は、ユーザ3によるコンバージョンC3が2日目に発生したことを示すコンバージョンインタラクションデータも有する。したがって、本例では、当事者は、ユーザ3がサイトBとの非コンバージョンイン
タラクションを行ったと推測してよく、そのような推論はデータ漏洩リスクを表す。
【００３４】
当事者に提供されるクエリ結果に対してデータ漏洩リスクを評価するために、例えば、システム100(図1に図示される)は、差分クエリ攻撃が発生した可能性があるかどうかを判定できる。一般に、当事者によって発行された全てのクエリにブルートフォース解析を行うことは計算的に高価であることがあり、かつ莫大な量の記憶空間を消費することがある。システム処理および記憶リソースを節約するために、かつより高速なデータ解析を行うために、例えば、システム100は、潜在的なデータ漏洩を識別する(例えば、単一ユーザまたはユーザの小集合を識別する、当事者によって発行されたクエリの部分集合を決定することによる)ための比較的安価な技術を行うことができ、次いでブルートフォース解析を行って、データ漏洩が実際のデータ攻撃の一部であったかどうかを確認できる。さらに、システム100は、以下にさらに詳細に記載されるように、さらなる攻撃を防止するための方策も行ってよい。
【００３５】
図2を再び参照すると、複数のディメンション組合せが決定される(206)。一般に、ディメンション組合せは、当事者がコンバージョンインタラクションの集合を識別できる最小単位を表す。各ディメンション組合せは、例えば、インタラクションデータ120(図1に図示される)に表される1つまたは複数のコンバージョンディメンション(例えば、当事者に知られているディメンション)に対する値の異なる組合せに対応できる。例えば、もしインタラクションデータ120がコンバージョンディメンションの集合(例えば、コンバージョン日、コンバージョン型、コンバージョンデバイス型およびコンバージョン位置を含む)に対する値を含むとすれば、各ディメンション組合せは、コンバージョンディメンションに対してインタラクションデータに発生するコンバージョンインタラクション値の異なる組合せを指定するタプル(例えば、4つ組)であろう。
【００３６】
図6をここで参照すると、例えば、ディメンション組合せデータ600の一例が図示される。例えば、ディメンション組合せデータ600は、インタラクションデータ400(図4に図示される)に基づくことができ、様々なエンティティと当事者との間で発生した各コンバージョンインタラクションに対して、インタラクションデータにおける1つまたは複数のコンバージョンインタラクション値を含むディメンション組合せ602、およびコンバージョンインタラクションを行ったエンティティ(例えば、ユーザ)に対応するユーザID604を含むことができる。本例では、インタラクションデータ400に表されるコンバージョンインタラクションの集合(例えば、コンバージョンインタラクションC1、C2、C3、C4およびC5)が与えられると、コンバージョン日1のコンバージョンインタラクション値を含むディメンション組合せが、ユーザ1およびユーザ2を含むユーザ集合と関連付けられ、コンバージョン日2のコンバージョンインタラクション値を含むディメンション組合せが、ユーザ3を含むユーザ集合と関連付けられ、3日目のコンバージョンインタラクション値を含むディメンション組合せが、ユーザ4およびユーザ5を含むユーザ集合と関連付けられる。本例の各ディメンション組合せ602は単一のコンバージョンディメンション(例えば、コンバージョン日)を含むが、しかしながらディメンション組合せの他の例は複数のコンバージョンディメンションを含んでよい。
【００３７】
図2を再び参照すると、クエリデータに記載される複数のクエリの各クエリについて、クエリに対する結果において現れる複数のディメンション組合せからの各ディメンション組合せが識別される(208)。例えば、システム100(図1に図示される)は、クエリデータ122に従って、クエリF、クエリGおよびクエリH(図5Bに図示される)の1つまたは複数に対して当事者に前に提供されたクエリ結果(例えば、1つまたは複数の結果行)において現れる複数のディメンション組合せ602(図6に図示される)からの各ディメンション組合せを識別できる。図1に図示されるように、例えば、クエリデータ122に含まれる各クエリ結果行に対して識別されたディメンション組合せ一致が、一致ディメンション組合せデータ124としてインタラクション情報データストア102からクエリメンバーシップジェネレータ104によって受け取られ得る。
【００３８】
図7をここで参照すると、一致ディメンション組合せデータ700の一例が図示される。例えば、一致ディメンション組合せデータ700(例えば、図1に図示される一致ディメンション組合せデータ124と同様)は、当事者によって前に発行された各クエリ702(例えば、図5Bに図示されるクエリF、クエリGおよびクエリH)に対して、クエリによって返された1つまたは複数のクエリ結果行704、およびクエリ結果行に含まれる1つまたは複数の一致ディメンション組合せ706を指定できる。本例では、クエリFは、クエリ結果行1および2(例えば、サイトAとの非コンバージョンインタラクションの集計を含む第1の行、およびサイトBとの非コンバージョンインタラクションの集計を含む第2の行)を返し、かつクエリ結果にディメンション組合せ1日目および2日目を含んだ。クエリGは、例えば、クエリ結果行1および2を返し、かつクエリ結果にディメンション組合せ2日目および3日目を含んだ。クエリHは、例えば、クエリ結果行1および2を返し、かつクエリ結果にディメンション組合せ1日目、2日目および3日目を含んだ。
【００３９】
複数のディメンション組合せの各ディメンション組合せに対して、クエリメンバーシップタグが生成される(210)。例えば、クエリメンバーシップジェネレータ104(図1に図示される)は、受け取った一致ディメンション組合せデータ124に含まれるディメンション組合せの各々に対するクエリメンバーシップデータ126を決定できる。ディメンション組合せに対するクエリメンバーシップタグは、クエリに対する結果においてディメンション組合せが現れる複数のクエリからの各クエリを識別できる。例えば、当事者によって前に発行されたクエリF、GおよびH(図5Bに図示される)の1つまたは複数に対する結果において現れる各ディメンション組合せに対して、クエリメンバーシップジェネレータ104は、ディメンション組合せと発行されたクエリの1つまたは複数との間の関連を指定するタグを生成できる。一部の実装例では、クエリメンバーシップタグデータはさらなる処理および解析のために記憶されてよい。例えば、クエリメンバーシップデータ126は、インタラクション情報データストア102および/またはクエリ情報データストア106によって記憶されてよく、将来の発行されるクエリに関する解析のためにアクセスされ得る。
【００４０】
図8をここで参照すると、クエリメンバーシップタグデータ800の一例が図示される。例えば、クエリメンバーシップタグデータ800は、クエリF、GおよびH(図5Bに図示される)の1つまたは複数に対する結果において現れる各ディメンション組合せ802に対して、どの特定のクエリがそのクエリ結果値にディメンション組合せを返したかを指定するクエリメンバーシップタグ804を指定できる。一部の実装例では、クエリメンバーシップタグは、クエリの集合の各結果行におけるディメンション組合せの存在を表す一連の値(例えば、0および1)を含んでよい。例えば、1の値は、ディメンション組合せが特定のクエリ結果行によって一致される(例えば、そこに存在する)ことを示すことができ、0の値は、ディメンション組合せが特定のクエリ結果行によって一致されない(例えば、そこに存在しない)ことを示すことができる。本例では、1日目のディメンション値は、クエリメンバーシップタグ(1,0,1)によって指定されるように、クエリFに対するクエリ結果に(例えば、行1および2に)現れ、クエリGに対するクエリ結果に現れず、かつクエリHに対するクエリ結果に(例えば、行1および2に)現れた。2日目のディメンション値は、例えば、クエリメンバーシップタグ(1,1,1)によって指定されるように、クエリF(例えば、行1および2に)、クエリG(例えば、行1および2に)ならびにクエリH(例えば、行1および2に)に対するクエリ結果に現れた。3日目のディメンション値は、例えば、クエリメンバーシップタグ(0,1,1)によって指定されるように、クエリFに対するクエリ結果においては現れていないが、クエリG(例えば、行1および2に)ならびにクエリH(例えば、行1および2に)に対するクエリ結果においては現れた。他の例では、ディメンション組合せが同じクエリおよび同じクエリ行において一致される場合、異なるディメンション組合せが同じクエリメンバーシップタグを有してよい。
【００４１】
各一意のクエリメンバーシップタグに対して、エンティティであって、クエリメンバーシップタグに対応するディメンション組合せを有するいずれかのインタラクションにインタラクションデータにおいて関連付けられたエンティティの数のカウントが決定される(212)。図1に図示されるように、例えば、クエリメンバーシップジェネレータ104は、インタラクション情報データストア102にクエリメンバーシップデータ126を提供でき、システム100は、差分クエリアナライザ(フィルタ)108を使用して、インタラクション情報データストア102によって記憶されるインタラクションデータ120およびクエリ情報データストア106によって記憶されるクエリデータ122に鑑みてクエリメンバーシップデータ126を解析できる。例えば、差分クエリアナライザ(フィルタ)108は、同じメンバーシップタグ804(図8に図示される)を共有するクエリメンバーシップタグデータ800におけるいかなるディメンション組合せ802もグループ化でき、かつ各メンバーシップタグに対して、インタラクションデータ400(図4に図示される)におけるその対応するディメンション組合せと関連付けられたエンティティ識別子(例えば、ユーザID)の集合を決定できる。
【００４２】
図9をここで参照すると、クエリメンバーシップタグに対するエンティティ関連データ900の一例が図示される。例えば、エンティティ関連データ900は、各クエリメンバーシップタグ902(例えば、図8に図示されるクエリメンバーシップタグ804と同様)に対して、メンバーシップタグに対応する1つまたは複数のディメンション組合せ904、および1つまたは複数のディメンション組合せに対応するインタラクション値を含むインタラクションとインタラクションデータ400(図4に図示される)において関連付けられるユーザID906の集合を指定できる。本例では、(1,0,1)のクエリメンバーシップタグはディメンション組合せ1日目に対応し、これは、ユーザ1およびユーザ2を含むユーザ識別子の集合とインタラクションデータ400において関連付けられる。(1,1,1)のクエリメンバーシップタグは、例えば、2日目のディメンション組合せに対応し、これは、ユーザ3を含むユーザ識別子の集合とインタラクションデータ400において関連付けられる。(0,1,1)のクエリメンバーシップタグは、例えば、3日目のディメンション組合せに対応し、これは、ユーザ4およびユーザ5を含むユーザ識別子の集合とインタラクションデータにおいて関連付けられる。
【００４３】
図2を再び参照すると、1つまたは複数の一意のクエリメンバーシップタグに対するカウントに基づいて、当事者に対してデータ漏洩リスクが評価される(214)。例えば、差分クエリアナライザ(フィルタ)108(図1に図示される)は、各クエリメンバーシップタグ902(図9に図示される)に対して、クエリメンバーシップタグと関連するエンティティ(例えば、ユーザ識別子)の集合のカウントを決定し、いずれかのクエリメンバーシップタグが識別可能な閾値(例えば、2つのエンティティ、10のエンティティ、50のエンティティまたは別の適切な値)未満のエンティティカウントと関連付けられているかどうかを判定できる。データ漏洩リスクを評価するとき、例えば、各コンバージョンが2つ以上の非コンバージョンインタラクションと関連付けられる場合があるので、コンバージョンインタラクションカウントよりはむしろエンティティカウントが決定されてよい。本例では、クエリメンバーシップタグ(1,0,1)は2のエンティティカウント(例えば、ユーザ1およびユーザ2を含む)と関連付けられ、クエリメンバーシップタグ(1,1,1)は1のエンティティカウント(例えば、ユーザ3を含む)と関連付けられ、クエリメンバーシップタグ(0,1,1)は2のエンティティカウント(例えば、ユーザ4およびユーザ5を含む)と関連付けられる。もしクエリメンバーシップタグ902の全てが閾値エンティティカウント値と同じに関連付けられるとすれば、例えば、差分クエリアナライザ(フィルタ)108はクエリ攻撃が発生しなかったと判定してよい。しかしながら、2つのエンティティの閾値を考えると、例えば、差分クエリアナライザ(フィルタ)108は、1つのエンティティとだけ関連付けられ、したがって閾値エンティティカウント値未満であるクエリメンバーシップタグ(1,1,1)に対して潜在的なデータ漏洩128を識別できる。
【００４４】
潜在的なデータ漏洩が発生したと判定した後に、例えば、システム100(図1に図示される)は、包括的差分クエリアナライザ110を使用して、潜在的なデータ漏洩128と関連するクエリメンバーシップタグによって示される1つまたは複数のクエリに関してさらなる解析を行うことができる。例えば、包括的差分クエリアナライザ110は、潜在的なデータ漏洩128の識別に応じて1つまたは複数のクエリに比較的包括的な解析プロセスを自動的に適用できる、または潜在的なデータ漏洩128に関連した情報をシステム管理者に提供し、次いでシステム管理者からの入力の受取りに応じて包括的な解析プロセスを適用できる。本例では、クエリメンバーシップタグ(1,1,1)は、潜在的なデータ漏洩128が、当事者によって発行済みのタグに表されるクエリ(例えば、図5Bに図示されるクエリF、クエリGおよびクエリH)の1つまたは複数の組合せに帰され得ることを示す。したがって、本例では、包括的差分クエリアナライザ110は、当事者によって前に発行されてクエリ情報データストア106に記憶されたクエリの関連部分集合の様々なXOR組合せを計算する選択ブルートフォース解析を行うことができる。例えば、確認されたデータ漏洩130を表すクエリ組合せが見つけられるまで、クエリの関連部分集合の2クエリXOR組合せが計算され得、次いで3クエリXOR組合せ等が計算され得る。
【００４５】
本例では、クエリF、クエリGおよびクエリHが包括的差分クエリアナライザ110によってブルートフォース解析のために選択され、これは以下の例に従って行われてよい:
【００４６】
【数１】
0006845344.tif 000002
【００４７】
実際のデータ漏洩が発生したことを確認した後に、例えば、包括的差分クエリアナライザ110(図1に図示される)は、確認されたデータ漏洩130と関連する情報を記憶のためにデータ漏洩情報データストア112に提供できる。例えば、確認されたデータ漏洩130と関連する情報は、結果として確認されたデータ漏洩130になったクエリの集合を発行した当事者の識別子、発行されたクエリの集合の各クエリと関連するタイムスタンプ、データが漏洩されたエンティティのリスト、および漏洩された非コンバージョン(例えば、プライベート)インタラクションディメンションのリストを含むことができる。漏洩された非コンバージョンインタラクションディメンションを決定するために、例えば、包括的差分クエリアナライザ110は、発行されたクエリに対して非コンバージョンインタラクションディメンションの共通部分を見つけることができる。本例では、データ漏洩情報データストア112は、クエリF、クエリGおよびクエリHを発行した当事者を含む情報、クエリの各々に対するタイムスタンプ、ならびにユーザ3に対して非コンバージョンインタラクションデータ(例えば、訪問されたサードパーティウェブサイトサイトA)が漏洩されたことを記憶できる。
【００４８】
一部の実装例では、データ漏洩が発生したとの確認に応じて、システム100によって1つまたは複数のセキュリティ措置が行われてよい。セキュリティ措置は、例えば、自動的に行われ得る、またはシステム管理者から入力を受け取った後に行われ得る。例えば、データ漏洩報告システム(図示せず)が、データ漏洩情報データストア112を参照し、確認されたデータ漏洩130と関連する情報を提供するアラートを生成できる。別の例として、データ漏洩防止システム(図示せず)が、おそらく悪意のある当事者(例えば、データ攻撃を示すクエリを発行した当事者)を識別でき、当事者によるさらなる発行されるクエリを制限できる。例えば、データ漏洩防止システムは、将来の差分クエリ攻撃が当事者によって行われないように、報告目的で当事者によって選択される可能性があるディメンションを制限し、報告目的で当事者によって選択される時間範囲を制限し、または別の適切なクエリパラメータ制限を実施してよい。当事者によって繰り返されるデータ攻撃の識別に応じてシステム100によって行われてよい別の可能な措置は、当事者がさらなるクエリを発行するのを防止することである。
【００４９】
図10は、本文書に記載されるシステムおよび方法を実装するために、クライアントとしてかサーバまたは複数のサーバとしてか使用されてよい計算デバイス1000、1050のブロック図である。計算デバイス1000は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなど、デジタルコンピュータの様々な形態を表すと意図される。計算デバイス1050は、携帯情報端末、セルラ電話、スマートフォンおよび他の同様の計算デバイスなど、モバイルデバイスの様々な形態を表すと意図される。追加的に、計算デバイス1000または1050はユニバーサルシリアルバス(USB)フラッシュドライブを含むことができる。USBフラッシュドライブはオペレーティングシステムおよび他のアプリケーションを記憶してよい。USBフラッシュドライブは、別の計算デバイスのUSBポートへ挿入されてよい無線送信器またはUSBコネクタなどの、入出力部品を含むことができる。ここで図示される部品、それらの接続および関係、ならびにそれらの機能は単に例証的であると意味され、本文書に記載および/または特許請求される実装例を限定するとは意味されない。
【００５０】
計算デバイス1000は、プロセッサ1002、メモリ1004、記憶デバイス1006、メモリ1004および高速拡張ポート1010に接続する高速インタフェース1008、ならびに低速バス1014および記憶デバイス1006に接続する低速インタフェース1012を含む。部品1002、1004、1006、1008、1010および1012の各々は、様々なバスを使用して相互接続され、かつ共通のマザーボード上にまたは適宜他の方式で装着されてよい。プロセッサ1002は、メモリ1004にまたは記憶デバイス1006に記憶される命令を含め、計算デバイス1000内での実行のための命令を処理して、高速インタフェース1008に連結されるディスプレイ1016などの外部入出力デバイス上にGUIのためのグラフィック情報を表示できる。他の実装例では、複数のプロセッサおよび/または複数のバスが、適宜、複数個のメモリおよび複数種類のメモリと共に使用されてよい。同じく、複数の計算デバイス1000が接続されて、各デバイスが必要な動作の一部分を提供してよい(例えば、サーババンク、一群のブレードサーバまたはマルチプロセッサシステムとして)。
【００５１】
メモリ1004は計算デバイス1000内の情報を記憶する。1つの実装例では、メモリ1004は1つまたは複数の揮発性メモリユニットである。別の実装例では、メモリ1004は1つまたは複数の不揮発性メモリユニットである。メモリ1004は、磁気または光ディスクなどの、コンピュータ可読媒体の別の形態であってもよい。
【００５２】
記憶デバイス1006は計算デバイス1000に大容量記憶を提供することが可能である。1つの実装例では、記憶デバイス1006は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成のデバイスを含め、デバイスのアレイなど、コンピュータ可読媒体であっても、またはそれを含んでもよい。コンピュータプログラム製品が情報担体に有形に具象化され得る。コンピュータプログラム製品は、実行されると、上記したものなど、1つまたは複数の方法を行う命令を含んでもよい。情報担体は、メモリ1004、記憶デバイス1006またはプロセッサ1002上のメモリなど、コンピュータまたはマシン可読媒体である。
【００５３】
高速コントローラ1008が計算デバイス1000のための帯域幅集約動作を管理する一方で、低速コントローラ1012は低帯域幅集約動作を管理する。そのような機能の配分は単に例証的である。1つの実装例では、高速コントローラ1008は、メモリ1004、ディスプレイ1016(例えば、グラフィックプロセッサまたはアクセラレータを通じて)に、および高速拡張ポート1010に連結され、これは様々な拡張カード(図示せず)を受け入れることができる。実装例では、低速コントローラ1012は、記憶デバイス1006および低速拡張ポート1014に連結される。低速拡張ポートは、様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含んでよく、キーボード、ポインティングデバイス、スキャナ、または、例えば、ネットワークアダプタを通じてスイッチもしくはルータといったネットワークデバイスなど、1つまたは複数の入出力デバイスに連結されてよい。
【００５４】
計算デバイス1000は、図に図示されるように、いくつかの異なる形態で実装されてよい。例えば、それは、標準サーバ1020として、または一群のそのようなサーバに重ねて実装されてよい。それは、ラックサーバシステム1024の一部として実装されてもよい。加えて、それは、ラップトップコンピュータ1022などのパーソナルコンピュータに実装されてよい。代替的に、計算デバイス1000からの部品が、デバイス1050などのモバイルデバイス(図示せず)における他の部品と組み合わされてよい。そのようなデバイスの各々は、計算デバイス1000、1050の1つまたは複数を含んでよく、全システムが、互いと通信する複数の計算デバイス1000、1050から構成されてよい。
【００５５】
計算デバイス1050は、他の部品の中でも、プロセッサ1052、メモリ1064、ディスプレイ1054などの入出力デバイス、通信インタフェース1066および送受信器1068を含む。デバイス1050は、マイクロドライブまたは他のデバイスなどの記憶デバイスも設けられて追加記憶を提供してよい。部品1050、1052、1064、1054、1066および1068の各々は、様々なバスを使用して相互接続され、部品のいくつかは共通のマザーボード上にまたは適宜他の方式で装着されてよい。
【００５６】
プロセッサ1052は、メモリ1064に記憶される命令を含め、計算デバイス1050内で命令を実行できる。プロセッサは、別々かつ複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されてよい。追加的に、プロセッサは、いくつかのアーキテクチャのいずれかを使用して実装されてよい。例えば、プロセッサ1052は、CISC(複合命令セットコンピュータ)プロセッサ、RISC(縮小命令セットコンピュータ)プロセッサまたはMISC(最小命令セットコンピュータ)プロセッサであってよい。プロセッサは、例えば、ユーザインタフェース、デバイス1050によって動かされるアプリケーションおよびデバイス1050による無線通信の制御などの、デバイス1050のその他の部品の協調を提供してよい。
【００５７】
プロセッサ1052は、ディスプレイ1054に連結される制御インタフェース1058およびディスプレイインタフェース1056を通じてユーザと通信してよい。ディスプレイ1054は、例えば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイもしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってよい。ディスプレイインタフェース1056は、ディスプレイ1054を駆動してユーザにグラフィックおよび他の情報を提示するための適切な回路網を備えてよい。制御インタフェース1058は、ユーザから命令を受けて、それらをプロセッサ1052への投入のために変換してよい。加えて、外部インタフェース1062が、デバイス1050の他のデバイスとの近距離通信を可能にするように、プロセッサ1052と通信して設けられてよい。外部インタフェース1062は、例えば、いくつかの実装例では有線通信を、または他の実装例では無線通信を提供してよく、複数のインタフェースが使用されてもよい。
【００５８】
メモリ1064は計算デバイス1050内の情報を記憶する。メモリ1064は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニットまたは1つもしくは複数の不揮発性メモリユニットの1つまたは複数として実装され得る。拡張メモリ1074も設けられて、デバイス1050に拡張インタフェース1072を通じて接続されてよく、それは、例えば、SIMM(シングルインラインメモリモジュール)カードインタフェースを含んでよい。そのような拡張メモリ1074は、デバイス1050に追加の記憶空間を提供してよく、またはデバイス1050のためのアプリケーションもしくは他の情報を記憶してもよい。詳細には、拡張メモリ1074は、上記のプロセスを実施または補足する命令を含んでよく、かつ安全な情報も含んでよい。したがって、例えば、拡張メモリ1074は、デバイス1050のためのセキュリティモジュールとして設けられてよく、かつデバイス1050の安全な使用を許可する命令がプログラムされてよい。加えて、SIMMカード上に非ハッキング可能な方式で識別情報を置くことなど、安全なアプリケーションが、追加情報と共に、SIMMカードを介して提供されてよい。
【００５９】
メモリは、例えば、後述されるように、フラッシュメモリおよび/またはNVRAMメモリを含んでよい。1つの実装例では、コンピュータプログラム製品が情報担体に有形に具象化される。コンピュータプログラム製品は、実行されると、上記したものなど、1つまたは複数の方法を行う命令を含む。情報担体は、メモリ1064、拡張メモリ1074またはプロセッサ1052上のメモリなど、コンピュータまたは機械可読媒体であるが、例えば、送受信器1068または外部インタフェース1062を通じて受信されてもよい。
【００６０】
デバイス1050は、通信インタフェース1066を通じて無線通信してよく、それは必要な場合、デジタル信号処理回路網を含んでよい。通信インタフェース1066は、とりわけ、GSM(登録商標)音声通話、SMS、EMSもしくはMMSメッセージング、CDMA(登録商標)、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの様々なモードまたはプロトコル下で通信を提供してよい。そのような通信は、例えば、無線周波数送受信器1068を通じて発生してよい。加えて、ブルートゥース(登録商標)、WiFiまたは他のそのような送受信器(図示せず)を使用してなど、短距離通信が発生してよい。加えて、GPS(全地球測位システム)受信器モジュール1070がデバイス1050に追加のナビゲーションおよび位置関連無線データを提供してよく、これはデバイス1050上で動くアプリケーションによって適宜使用されてよい。
【００６１】
デバイス1050は、音声コーデック1060を使用して可聴通信してもよく、それはユーザから発声情報を受けて、それを使用可能なデジタル情報に変換してよい。音声コーデック1060は同様に、例えば、デバイス1050のハンドセットのスピーカを通してなど、ユーザに対する可聴音を発生してよい。そのような音は、音声通話からの音を含んでよく、録音(例えば、音声メッセージ、音楽ファイル等)を含んでよく、デバイス1050上で動作するアプリケーションによって発生される音も含んでよい。
【００６２】
計算デバイス1050は、図に図示されるように、いくつかの異なる形態で実装されてよい。例えば、それは、セルラ電話1080として実装されてよい。それは、スマートフォン1082、携帯情報端末または他の同様のモバイルデバイスの一部として実装されてもよい。
【００６３】
ここで記載されるシステムおよび技術の様々な実装例は、デジタル電子回路網、集積回路網、特別設計のASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはその組合せで実現され得る。これらの様々な実装例は、記憶システム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスからデータおよび命令を受けるように、かつそれらにデータおよび命令を送るように連結される、専用または汎用であってよい、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行および/または解釈可能である1つまたは複数のコンピュータプログラムによる実装例を含むことができる。
【００６４】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械語で実装され得る。本明細書で使用される場合、用語「コンピュータ可読媒体」は、機械可読信号として機械命令を受信する機械可読媒体を含め、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。用語「機械可読信号」は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【００６５】
ユーザとのインタラクションを提供するために、ここで記載されるシステムおよび技術は、ユーザに情報を表示するためのディスプレイデバイス(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)ならびにユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上に実装され得る。ユーザとのインタラクションを提供するために他の種類のデバイスも使用され得る;例えば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であり得;ユーザからの入力は、音響、音声または触覚入力を含め、任意の形態で受け取られ得る。
【００６６】
ここで記載されるシステムおよび技術は、バックエンド部品(例えば、データサーバとして)を含む、あるいはミドルウェア部品(例えば、アプリケーションサーバ)を含む、あるいはフロントエンド部品(例えば、ここで記載されるシステムおよび技術の実装例とユーザがインタラクトできるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ)、またはそのようなバックエンド、ミドルウェアもしくはフロントエンド部品の任意の組合せを含む、計算システムにおいて実装され得る。システムの部品は、デジタルデータ通信の任意の形態または媒体(例えば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、ピアツーピアネットワーク(アドホックまたは静的メンバを有する)、グリッドコンピューティングインフラストラクチャ、およびインターネットを含む。
【００６７】
計算システムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的に通信ネットワークを通じてインタラクトする。クライアントおよびサーバの関係は、それぞれのコンピュータ上で動いており、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【００６８】
以上いくつかの実装例が詳細に記載されたが、他の変更が可能である。その上、本文書に記載されるシステムおよび方法を行うための他のメカニズムが使用されてよい。加えて、図に描かれる論理フローは、望ましい結果を達成するために、図示される特定の順序または順番を必要としない。他のステップが設けられてもよく、または記載されたフローからステップが排除されてもよく、記載されたシステムに他の部品が追加されても、またはそれから部品が削除されてもよい。したがって、他の実装例は以下の請求項の範囲内である。
【符号の説明】
【００６９】
100  システム
102  インタラクション情報データストア
104  クエリメンバーシップジェネレータ
106  クエリ情報データストア
108  差分クエリアナライザ
110  包括的差分クエリアナライザ
112  データ漏洩情報データストア
120  インタラクションデータ
122  クエリデータ
124  一致ディメンション組合せデータ
126  クエリメンバーシップデータ
128  潜在的なデータ漏洩
130  確認されたデータ漏洩
300  クエリ結果
302  主要非コンバージョンディメンション
304  主要非コンバージョンディメンション
306  コンバージョンディメンション
308  コンバージョンディメンション
310  集計ディメンション
400  インタラクションデータ
402  コンバージョン識別子
404  コンバージョン日
406  ユーザ識別子
408  サードパーティウェブサイト識別子
500  比較的包括的なクエリビュー
550  比較的限定されたクエリビュー
600  ディメンション組合せデータ
602  ディメンション組合せ
604  ユーザID
700  一致ディメンション組合せデータ
702  クエリ
704  クエリ結果行
706  一致ディメンション組合せ
800  クエリメンバーシップタグデータ
802  ディメンション組合せ
804  クエリメンバーシップタグ
900  エンティティ関連データ
902  クエリメンバーシップタグ
904  ディメンション組合せ
906  ユーザID
1000  計算デバイス
1002  プロセッサ
1004  メモリ
1006  記憶デバイス
1008  高速インタフェース
1010  高速拡張ポート
1012  低速インタフェース
1014  低速バス
1016  ディスプレイ
1020  標準サーバ
1022  ラップトップコンピュータ
1024  ラックサーバシステム
1050  計算デバイス
1052  プロセッサ
1054  ディスプレイ
1056  ディスプレイインタフェース
1058  制御インタフェース
1060  音声コーデック
1062  外部インタフェース
1064  メモリ
1066  通信インタフェース
1068  送受信器
1070  GPS受信器モジュール
1072  拡張インタフェース
1074  拡張メモリ
1080  セルラ電話
1082  スマートフォン
【図１】
0006845344.tif 000003
【図２】
0006845344.tif 000004
【図３】
0006845344.tif 000005
【図４】
0006845344.tif 000006
【図５Ａ】
0006845344.tif 000007
【図５Ｂ】
0006845344.tif 000008
【図６】
0006845344.tif 000009
【図７】
0006845344.tif 000010
【図８】
0006845344.tif 000011
【図９】
0006845344.tif 000012
【図１０】
0006845344.tif 000013