(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】ウェブサイト上の誤った方向に導くクリックから保護するためのシステム及び方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20240930BHJP
【FI】
G06F21/55
(21)【出願番号】P 2023508574
(86)(22)【出願日】2021-08-11
(86)【国際出願番号】 US2021045574
(87)【国際公開番号】W WO2022035981
(87)【国際公開日】2022-02-17
【審査請求日】2023-02-15
(32)【優先日】2020-08-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】501113353
【氏名又は名称】ジェン デジタル インコーポレイテッド
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(72)【発明者】
【氏名】サンチェス、イスカンデル
(72)【発明者】
【氏名】シルヴァ、デイヴィッド
【審査官】吉田 歩
(56)【参考文献】
【文献】特表2013-541781(JP,A)
【文献】特開2019-191701(JP,A)
【文献】特表2011-517859(JP,A)
【文献】鈴木 宏彰 ほか,“IDNホモグラフ攻撃の大規模実態調査: 傾向と対策“”,CSS2018 コンピュータセキュリティシンポジウム2018論文集 [USB] ,一般社団法人情報処理学会,2018年10月15日,pp.249-256
【文献】小寺 博和 ほか,“偽ショッピングサイトを起点とする攻撃の実態調査”,情報処理学会 研究報告 コンピュータセキュリティ(CSEC) 2020-CSEC-088 [online] ,情報処理学会,2020年03月11日,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
ウェブサイト上の誤った方向に導くクリックから保護するためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法は、
前記1つ以上のコンピューティングデバイスによって、ウェブブラウジングセッション中にウェブサイトにナビゲートするためのユニフォームリソースロケータ(URL)のユーザクリックイベントを検出することと、
前記1つ以上のコンピューティングデバイスによって、前記ユーザクリックイベントを分析して、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動を識別することと、
前記1つ以上のコンピューティングデバイスによって、前記分析に基づいて、
バックグラウンドで中間リダイレクトを検出することによって、前記ユーザクリックイベントが、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた前記予想されるドメイン挙動から逸脱していると判定することと、
前記1つ以上のコンピューティングデバイスによって、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた前記予想されるドメイン挙動から逸脱する前記ユーザクリックイベントによって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクションを
、前記ユーザクリックイベントをブロックすることによって、実施することと、を含む、コンピュータ実装方法。
【請求項2】
前記ウェブブラウジングセッション中の前記ウェブサイトへのナビゲートのための前記URLの前記ユーザクリックイベントを検出することは、
前記ウェブブラウジングセッション中に前記ユーザクリックイベントについてウェブサイトを監視することと、
前記ユーザクリックイベントのコンテキスト情報を抽出することと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記ユーザクリックイベントの前記コンテキスト情報を抽出することは、
前記ユーザクリックイベントが発生したドメインを記述する情報を抽出することと、
前記ユーザクリックイベントの宛先の予想されるドメインを抽出することと、を含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記ユーザクリックイベントを分析して、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた前記予想されるドメイン挙動を識別することは、
前記ブラウジングセッション中に前記ウェブサイトを表示するためのブラウザ内の前記URLへのハイパーリンク参照を検出することと、
前記ハイパーリンク参照に基づいて、前記ウェブサイトへのナビゲートに関連付けられたドメイン挙動を記述するクリック契約が破られたか又は履行されたかを判定することと、
前記クリック契約が履行されたと判定すると、前記ドメイン挙動を前記予想されるドメイン挙動として識別することと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記ハイパーリンク参照に基づいて、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた前記ドメイン挙動を記述する前記クリック契約が破られたか又は履行されたかを判定することは、
前記URLによって指し示されたターゲットドメイン宛先へのナビゲーションが、前記ユーザクリックイベントに応答して、異なるドメイン宛先に到達した場合、前記クリック契約が破られたと判定すること、
前記ターゲットドメイン宛先への前記ナビゲーションが、前記ユーザクリックイベントに応答して、前記ターゲットドメイン宛先に到達する前に別のドメイン宛先にリダイレクトされる場合、前記クリック契約が破られたと判定すること、
セキュアプロトコルによって保護されたターゲットドメイン宛先へのナビゲーションが、前記ユーザクリックイベントに応答して、非保護ドメイン宛先に到達する場合、前記クリック契約が破られたと判定すること、又は
前記セキュアプロトコルによって保護された前記ターゲットドメイン宛先への前記ナビゲーションが、前記ユーザクリックイベントに応答して、前記セキュアプロトコルによって保護された前記ターゲット宛先に到達する前に、前記非保護ドメイン宛先にリダイレクトされる場合、前記クリック契約が破られたと判定すること、のうちの少なくとも1つを含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記セキュリティアクションを実施することは、前記ユーザクリックイベントに応答して前記ウェブサイトへの前記ナビゲートをブロックすることを含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記セキュリティアクションを実施することは、
前記ユーザクリックイベントに応答して前記ウェブサイトへの前記ナビゲートをブロックすることに応答して、複数のユーザセキュリティオプションを提示することと、
前記ユーザセキュリティオプションのうちの少なくとも1つの選択を受信することと、を更に含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記複数のユーザセキュリティオプションは、
前記ウェブブラウジングセッション中に前記ウェブサイトにナビゲートするための、前記URLの後続のユーザクリックイベントを許可することと、
前記ウェブサイトに関連付けられたドメインを信頼することと、
前記ユーザクリックイベントを検出するために利用されるブラウザ拡張機能を無効にすることと、を含む、請求項7に記載のコンピュータ実装方法。
【請求項9】
ウェブサイト上の誤った方向に導くクリックから保護するためのシステムであって、前記システムは、
少なくとも1つの物理プロセッサ、
コンピュータ実行可能命令及び1つ以上のモジュールを含む物理メモリであって、前記コンピュータ実行可能命令は、前記物理プロセッサによって実行されると、前記物理プロセッサに、
検出するための手段によって、ウェブブラウジングセッション中のウェブサイトへのナビゲートのためのユニフォームリソースロケータ(URL)のユーザクリックイベントを検出させ、
分析するための手段によって、前記ユーザクリックイベントを分析させて、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動を識別させ、
判定モジュールのための手段によって、前記分析に基づいて、
バックグラウンドで中間リダイレクトを検出することによって、前記ユーザクリックイベントが、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた前記予想されるドメイン挙動から逸脱していると判定させ、
セキュリティのための手段によって、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた前記予想されるドメイン挙動から逸脱する前記ユーザクリックイベントによって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクションを
、前記ユーザクリックイベントをブロックすることによって、実施させる、物理メモリ、を備える、システム。
【請求項10】
前記検出するための手段は、前記ウェブブラウジングセッション中の前記ウェブサイトへのナビゲートのための前記URLの前記ユーザクリックイベントを、
前記ウェブブラウジングセッション中に前記ユーザクリックイベントについてウェブサイトを監視することと、
前記ユーザクリックイベントのコンテキスト情報を抽出することと、によって検出する、請求項9に記載のシステム。
【請求項11】
前記ユーザクリックイベントの前記コンテキスト情報は、
前記ユーザクリックイベントが発生したドメインを記述する情報を抽出することと、
前記ユーザクリックイベントの宛先の予想されるドメインを抽出することと、によって抽出される、請求項10に記載のシステム。
【請求項12】
前記分析するための手段は、前記ユーザクリックイベントを分析して、前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた前記予想されるドメイン挙動を識別することを、
前記ブラウジングセッション中に前記ウェブサイトを表示するためのブラウザ内の前記URLへのハイパーリンク参照を検出することと、
前記ハイパーリンク参照に基づいて、前記ウェブサイトへのナビゲートに関連付けられたドメイン挙動を記述するクリック契約が破られたか又は履行されたかを判定することと、
前記クリック契約が履行されたと判定すると、前記ドメイン挙動を前記予想されるドメイン挙動として識別することと、によって行う、請求項9に記載のシステム。
【請求項13】
前記URLに基づく前記ウェブサイトへのナビゲートに関連付けられた前記ドメイン挙動を記述する前記破られたか又は履行されたクリック契約は、
前記URLによって指し示されたターゲットドメイン宛先へのナビゲーションが、前記ユーザクリックイベントに応答して、異なるドメイン宛先に到達した場合、前記クリック契約が破られたと判定すること、
前記ターゲットドメイン宛先への前記ナビゲーションが、前記ユーザクリックイベントに応答して、前記ターゲットドメイン宛先に到達する前に別のドメイン宛先にリダイレクトされる場合、前記クリック契約が破られたと判定すること、
セキュアプロトコルによって保護されたターゲットドメイン宛先へのナビゲーションが、前記ユーザクリックイベントに応答して、非保護ドメイン宛先に到達する場合、前記クリック契約が破られたと判定すること、又は
前記セキュアプロトコルによって保護された前記ターゲットドメイン宛先への前記ナビゲーションが、前記ユーザクリックイベントに応答して、前記セキュアプロトコルによって保護された前記ターゲット宛先に到達する前に、前記非保護ドメイン宛先にリダイレクトされる場合、前記クリック契約が破られたと判定すること、のうちの少なくとも1つによって判定される、
請求項12に記載のシステム。
【請求項14】
前記セキュリティのための手段は、前記ユーザクリックイベントに応答して前記ウェブサイトへの前記ナビゲートをブロックすることによって前記セキュリティアクションを実施する、請求項9に記載のシステム。
【請求項15】
前記セキュリティのための手段は、前記セキュリティアクションを、
前記ユーザクリックイベントの前記ナビゲートをブロックすることに応答して複数のユーザセキュリティオプションを提示することと、
前記ユーザセキュリティオプションのうちの少なくとも1つの選択を受信することと、に更によって更に実施する、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、「SYSTEMS AND METHODS FOR PROTECTING AGAINST MISLEADING CLICKS ON WEBSITES」と題され、2020年8月12日に出願された米国非仮出願第16/991,985号の優先権を主張し、当該米国非仮出願の内容全体は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
消費者及び企業コンピュータユーザは、しばしば、単一のウェブブラウジングセッション中に、異なるウェブサイトを指し示すいくつかのユニバーサルリソースロケータ(universal resource locator、URL)又はリンクをクリックすることがある。いくつかの例では、ウェブサイトリンクは、悪意のある行為者によって既知の/安全なドメインを指し示すが、実際には、マルウェア攻撃、フィッシング攻撃などを含む様々な脅威にユーザをさらすことを意図した危険なウェブサイトの異なるドメインを指し示す正当なURLとして偽装され得る。
【0003】
従来のセキュリティソフトウェアは、しばしば、ユーザがウェブブラウザにおいて特定のスクリプト又はウェブサイトにアクセスした場合にのみ、それらをブロックすることに基づいてウェブブラウジング保護を提供する。しかしながら、従来のセキュリティソフトウェアは、潜在的に有害なウェブサイトにアクセスするためにクリックを実施するときには、保護又は予想されることの指示を提供しない。
【発明の概要】
【0004】
より詳細に後述するように、本開示は、ウェブサイト上の誤った方向に導くクリックから保護するための様々なシステム及び方法を説明する。
【0005】
一例では、ウェブサイト上の誤った方向に導くクリックから保護するための方法は、(i)1つ以上のコンピューティングデバイスによって、ウェブブラウジングセッション中のウェブサイトへのナビゲートのためのユニフォームリソースロケータ(URL)のユーザクリックイベントを検出することと、(ii)1つ以上のコンピューティングデバイスによって、ユーザクリックイベントを分析して、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動を識別することと、(iii)1つ以上のコンピューティングデバイスによって、分析に基づいて、ユーザクリックイベントが、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動から逸脱すると判定することと、(iv)1つ以上のコンピューティングデバイスによって、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動から逸脱するユーザクリックイベントによって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクションを実施することと、を含み得る。
【0006】
いくつかの実施例では、ユーザクリックイベントは、(i)ウェブブラウジングセッション中にユーザクリックイベントについてウェブサイトを監視することと、(ii)ユーザクリックイベントのコンテキスト情報を抽出することと、によって検出され得る。コンテキスト情報は、ユーザクリックイベントが発生したドメイン及びユーザクリックイベントの宛先の予想されるドメインを記述する情報を含み得る。
【0007】
いくつかの実施形態では、ユーザクリックイベントは、(i)ブラウジングセッション中にウェブサイトを表示するためのブラウザ内のURLへのハイパーリンク参照(例えば、hrefドメイン値)を検出することと、(ii)ハイパーリンク参照に基づいて、ウェブサイトへのナビゲートに関連付けられたドメイン挙動を記述するクリック契約が破られたか又は履行されたかを判定することと、(iii)クリック契約が履行されたと判定すると、ドメイン挙動を予想されるドメイン挙動として識別することと、によって分析され得る。いくつかの実施例では、クリック契約が破られたか又は履行されたかを判定することは、(i)URLによって指し示されたターゲットドメイン宛先へのナビゲーションが、ユーザクリックイベントに応答して、異なるドメイン宛先(ウェブトラッカドメインを含む)に到達する場合、クリック契約が破られたと判定すること、(ii)ターゲットドメイン宛先へのナビゲーションが、ユーザクリックイベントに応答してターゲットドメイン宛先に到達する前に、別のドメイン宛先(ウェブトラッカドメインを含み得る)にリダイレクトされる場合、クリック契約が破られたと判定すること、(iii)セキュアプロトコルによって保護されたターゲットドメイン宛先へのナビゲーションが、ユーザクリックイベントに応答して、非保護ドメイン宛先に到達する場合、クリック契約が破られたと判定すること、又は(iv)セキュアプロトコルによって保護されたターゲットドメイン宛先へのナビゲーションが、ユーザクリックイベントに応答して、セキュアプロトコルによって保護されたターゲット宛先に到達する前に、非保護ドメイン宛先にリダイレクトされる場合、クリック契約が破られたと判定することを含み得る。
【0008】
いくつかの実施例では、セキュリティアクションは、ユーザクリックイベントに応答してウェブサイトにナビゲートすることをブロックすることを含み得る。セキュリティアクションは、(i)ユーザクリックイベントに応答してウェブサイトへのナビゲートをブロックすることに応答して、ユーザセキュリティオプションの選択を提示することと、(ii)ユーザセキュリティオプションのうちの少なくとも1つの選択を受信することと、を更に含み得る。いくつかの実施形態では、ユーザセキュリティオプションは、(i)ウェブブラウジングセッション中にウェブサイトにナビゲートするための、URLの後続のユーザクリックイベントを許可することと、(ii)ウェブサイトに関連付けられたドメインを信頼することと、(iii)ユーザクリックイベントを検出するために利用されるブラウザ拡張機能を無効化することと、を含み得る。
【0009】
一実施形態では、ウェブサイト上の誤った方向に導くクリックから保護するためのシステムは、少なくとも1つの物理プロセッサと、コンピュータ実行可能命令及び1つ以上のモジュールを含む物理メモリであって、コンピュータ実行可能命令は、物理プロセッサによって実行されると、物理プロセッサに、(i)検出モジュールによって、ウェブブラウジングセッション中のウェブサイトへのナビゲートのためのユニフォームリソースロケータ(URL)のユーザクリックイベントを検出させ、(ii)分析モジュールによって、ユーザクリックイベントを分析させて、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動を識別させ、(iii)判定モジュールによって、分析に基づいて、ユーザクリックイベントが、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動から逸脱すると判定させ、(iv)セキュリティモジュールによって、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動から逸脱するユーザクリックイベントによって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクションを実施させる、物理メモリとを含み得る。
【0010】
いくつかの実施例では、上述の方法は、非一時的コンピュータ可読媒体上のコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、1つ以上のコンピュータ実行可能命令であって、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、コンピューティングデバイスに、(i)ウェブブラウジングセッション中のウェブサイトへのナビゲートのためのユニフォームリソースロケータ(URL)のユーザクリックイベントを検出させ、(ii)ユーザクリックイベントを分析させて、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動を識別させ、(iii)分析に基づいて、ユーザクリックイベントがURLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動から逸脱すると判定させ、(iv)URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動から逸脱するユーザクリックイベントによって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクションを実施させ得る、1つ以上のコンピュータ実行可能命令を含み得る。
【0011】
本明細書に記載される実施形態のいずれかによる特徴は、本明細書に記載される一般原理にしたがって、互いに組み合わせて使用され得る。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことによって更に十分に理解されるだろう。
【図面の簡単な説明】
【0012】
添付の図面は、いくつかの例示的な実施形態を図示するものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
【
図1】ウェブサイト上の誤った方向に導くクリックから保護するための例示的なシステムのブロック図である。
【
図2】ウェブサイト上の誤った方向に導くクリックから保護するための追加の例示的なシステムのブロック図である。
【
図3】ウェブサイト上の誤った方向に導くクリックから保護するための例示的な方法のフロー図である。
【
図4】予想外のドメイン挙動を識別するためにユーザクリックイベントを分析するための例示的な方法のフロー図である。
【
図5】誤った方向に導くクリックから保護するための例示的なシステムにおける例示的なセキュリティアクションを示すウェブサイトのブロック図である。
【
図6】本明細書に記載及び/又は図示される実施形態のうちの1つ以上を実装できる例示的なコンピューティングシステムのブロック図である。
【
図7】本明細書に記載及び/又は図示される実施形態のうちの1つ以上を実装できる例示的なコンピューティングネットワークのブロック図である。
【0013】
図面を通して、同一の参照符号及び記述は、必ずしも同一ではないが、類似の要素を示す。本明細書で説明される例示的な実施形態は、様々な修正形態及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書に詳細に記載される。しかしながら、本明細書に記載される例示的な実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲の範囲内にある全ての修正形態、等価形態、及び代替形態を網羅する。
【発明を実施するための形態】
【0014】
本開示は、概して、ウェブサイト上の誤った方向に導くクリックから保護するためのシステム及び方法を対象とする。以下でより詳細に説明するように、本明細書で説明するシステム及び方法は、ブラウザ拡張機能を利用して、ウェブサイトへのナビゲートのためのURLがブラウザ内でクリックされたときに起こること(すなわち、ユーザクリックイベント)を監視して、予想されるドメイン挙動の1つ以上のルールに対応するクリック契約が破られたかを判定し得る。予想外のドメイン挙動に基づいてクリック契約が破られたと判定すると、ウェブブラウザ拡張機能は、ブラウザナビゲーション/リダイレクトを傍受することによってユーザクリックイベントをブロックし、クリック契約ルールが破られたことをユーザに通知するように構成され得る。このようにブラウザ拡張機能を利用することによって、本明細書で説明されるシステム及び方法は、ユーザセキュリティ又はユーザコンピューティングデバイスのセキュリティを脅かし得る、クリック宛先(例えば、ウェブサイト)に到達する前にウェブブラウジングセッション中に潜在的に安全でない、有害な、及び/又は追跡クリックイベントをユーザに通知し、それらからユーザを保護し得る。
【0015】
加えて、本明細書で説明されるシステム及び方法は、ウェブブラウジングセッション中の予想外のクリック挙動を識別することに基づいて、ユーザから機密情報を取得するように設計されたコードを含む潜在的に有害なウェブサイトへのナビゲーションを防止することによって、データプライバシーの分野を改善し得る。更に、本明細書で説明されるシステム及び方法は、ウェブブラウジングセッション中に予想外のクリック挙動を識別することに基づいて、コンピューティングデバイスに損傷を引き起こすように設計されたコードを含む潜在的に有害なウェブサイトへのナビゲーションを防止することによって、コンピューティングデバイスセキュリティの分野を改善することができる。
【0016】
以下に、
図1~
図2を参照して、ウェブサイト上の誤った方向に導くクリックから保護するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明についても、
図3~
図4に関連して提供される。加えて、誤った方向に導くクリックから保護するための例示的なシステムにおける例示的なセキュリティアクションを示すウェブサイトの詳細な説明もまた、
図5に関連して提供される。更に、本明細書に説明される実施形態のうちの1つ以上を実装することができる例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明が、それぞれ、
図6及び
図7に関連して提供される。
【0017】
図1は、ウェブサイト上の誤った方向に導くクリックから保護するための例示的なシステム100のブロック図である。この図に示されるように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含み得る。例えば、以下でより詳細に説明するように、例示的なシステム100は、ウェブブラウジングセッション中にウェブサイト114にナビゲートするためのユニフォームリソースロケータ(URL)のユーザクリックイベント112を検出する検出モジュール104を含むことができる。例示的なシステム100は、ユーザクリックイベント112を分析して、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動116を識別する分析モジュール106を更に含むことができる。例示的なシステム100はまた、分析モジュール106によって実施された分析に基づいて、ユーザクリックイベント112が、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動116から逸脱していると判定する判定モジュール108を含むことができる。例示的なシステム100は、予想されるドメイン挙動116から逸脱するユーザクリックイベント112によって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクションを実施するセキュリティモジュール110を更に含み得る。別々の要素として図示されるが、
図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表し得る。
【0018】
特定の実施形態では、
図1のモジュール102のうちの1つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに1つ以上のタスクを実施させ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、以下で更に詳細に説明するように、モジュール102のうちの1つ以上は、
図2に示されるデバイス(例えば、コンピューティングデバイス202)などの1つ以上のコンピューティングデバイスに記憶されかつその上で実行するように構成されるモジュールを表してもよい。
図1のモジュール102のうちの1つ以上はまた、1つ以上のタスクを実施するように構成された1つ以上の専用コンピュータの全て又は部分を表し得る。
【0019】
図1に示すように、例示的なシステム100はまた、メモリ140などの1つ以上のメモリデバイスも含み得る。メモリ140は、一般に、データ及び/又はコンピュータ可読命令を記憶することができる任意のタイプ又は形態の揮発性又は不揮発性の記憶デバイス又は媒体を表す。一実施例では、メモリ140は、モジュール102のうちの1つ以上を記憶、ロード、及び/又は維持してもよい。メモリ140の例としては、非限定的に、ランダムアクセスメモリ(Random Access Memory、RAM)、読み取り専用メモリ(Read Only Memory、ROM)、フラッシュメモリ、ハードディスクドライブ(Hard Disk Drive、HDD)、ソリッドステートドライブ(Solid-State Drive、SSD)、光ディスクドライブ、キャッシュ、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他の好適な記憶メモリが挙げられる。
【0020】
図1に示すように、例示的なシステム100はまた、物理プロセッサ130などの1つ以上の物理プロセッサも含み得る。物理プロセッサ130は、一般に、コンピュータ可読命令を解釈及び/又は実行することができる任意のタイプ又は形態のハードウェア実装処理ユニットを表す。一実施例では、物理プロセッサ130は、メモリ140に記憶されているモジュール102のうちの1つ以上にアクセスし、かつ/又はそれを修正することができる。付加的に、又は代替的に、物理プロセッサ130は、ウェブサイト上の誤った方向に導くクリックからの保護を容易にするために、モジュール102のうちの1つ以上を実行し得る。物理プロセッサ130の例としては、非限定的に、マイクロプロセッサ、マイクロコントローラ、中央処理装置(Central Processing Unit、CPU)、ソフトコアプロセッサを実装するフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array、FPGA)、特定用途向け集積回路(Application-Specific Integrated Circuit、ASIC)、それらのうちの1つ以上の部分、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他の好適な物理プロセッサが挙げられる。
【0021】
図1に示すように、例示的なシステム100は、データを記憶するためのデータストレージ120も含み得る。一例では、データストレージ120は、ユーザクリックイベント112、ウェブサイト114、及び予想されるドメイン挙動116をシステム100上のデータとして記憶することができる。
【0022】
図1の例示的なシステム100は、様々な方法で実装され得る。例えば、例示的なシステム100のうちの全て又は一部分は、
図2における例示的なシステム200の部分を表してもよい。
図2に示されるように、システム200は、ネットワーク204を介してサーバ206と通信するコンピューティングデバイス202を含んでもよい。一実施例では、モジュール102の機能のうちの全て又は一部分は、コンピューティングデバイス202、サーバ206、及び/又は任意の他の好適なコンピューティングシステムによって実施され得る。いくつかの実施例では、モジュール102の機能の全て又は一部は、コンピューティングデバイス202上に記憶された単一のソフトウェアモジュール(すなわち、ブラウザ拡張機能)に組み込まれ得る。より詳細に後述するように、
図1のモジュール102のうちの1つ以上は、コンピューティングデバイス202及び/又はサーバ206のうちの少なくとも1つのプロセッサによって実行されると、コンピューティングデバイス202及び/又はサーバ206がウェブサイトの誤った方向に導くクリックから保護されることを可能にし得る。
【0023】
例えば、検出モジュール104は、ウェブブラウジングセッション中にウェブサイト114にナビゲートするためのURLのユーザクリックイベント112を検出してもよい。次に、分析モジュール106は、ユーザクリックイベント112を分析して、ウェブサイト114へのナビゲートに関連付けられた予想されるドメイン挙動116(クリック契約210の遵守及び任意の(ウェブ)トラッカ212の存在に基づく)を識別することができる。次いで、判定モジュール108は、分析モジュール106によって実施された分析に基づいて、ユーザクリックイベント112が、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動116から逸脱していると判定することができる。最後に、セキュリティモジュール110は、予想外のドメイン挙動214を呈することによって、予想されるドメイン挙動116から逸脱するユーザクリックイベント112によって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクション(ブロックウェブサイトナビゲーションアクション216など)を実施することができる。
【0024】
コンピューティングデバイス202は、一般に、コンピュータ実行可能命令を読み取ることができる任意のタイプ又は形態のコンピューティングデバイスを表す。いくつかの実施例では、コンピューティングデバイス202は、ウェブサイト上の誤った方向に導くクリックを検出し、それから保護するためのブラウザ拡張機能を含むクライアント側ウェブブラウザソフトウェアを実行するエンドポイントデバイスであってもよい。コンピューティングデバイス202の追加の例としては、非限定的に、ラップトップ、タブレット、デスクトップ、サーバ、セルラー電話、携帯情報端末(Personal Digital Assistant、PDA)、マルチメディアプレーヤ、埋め込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラスなど)、スマート車両、スマートパッケージング(例えば、アクティブ又はインテリジェントパッケージング)、ゲーム機、いわゆるモノのインターネットデバイス(例えば、スマート家電など)、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は他の任意の好適なコンピューティングデバイスが挙げられる。
【0025】
サーバ206は、一般に、コンピュータ可読命令を読み取り、かつ/又は実行することができる、任意のタイプ又は形態のコンピューティングデバイスを表す。いくつかの実施例では、サーバ206は、ウェブブラウジングセッション中にユーザクリックイベント112に応答して何らかの予想外の(しかし安全ではない)ドメイン挙動を呈し得る高度にアクセスされたウェブサイトを識別するためのウェブサイトドメインホワイトリスト208を提供するバックエンドサーバであり得る。サーバ206の追加の例としては、非限定的に、特定のソフトウェアアプリケーションを実行する、かつ/又は様々なセキュリティサービス、ウェブサービス、ストレージサービス、及び/又はデータベースサービスを提供するように構成された、セキュリティサーバ、アプリケーションサーバ、ウェブサーバ、ストレージサーバ、及び/又はデータベースサーバが挙げられる。
図2では単一のエンティティとして示されているが、サーバ206は、互いに連携して作動及び/又は動作する複数のサーバを含む、かつ/又はそれらを表してもよい。
【0026】
ネットワーク204は、一般に、通信若しくはデータ転送を容易にすることが可能な、任意の媒体又はアーキテクチャを表す。一実施例では、ネットワーク204は、コンピューティングデバイス202とサーバ206との間の通信を容易にすることができる。この実施例では、ネットワーク204は、無線接続及び/又は有線接続を使用して、通信又はデータ転送を容易にしてもよい。ネットワーク204の例としては、非限定的に、イントラネット、広域ネットワーク(Wide Area Network、WAN)、ローカルエリアネットワーク(Local Area Network、LAN)、パーソナルエリアネットワーク(Personal Area Network、PAN)、インターネット、電力線通信(Power Line Communications、PLC)、セルラーネットワーク(例えば、Global System for Mobile Communications(GSM)ネットワーク)、それらのうちの1つ以上の部分、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他の好適なネットワークが挙げられる。
【0027】
図3は、ウェブサイト上の誤った方向に導くクリックから保護するための例示的なコンピュータ実装方法300のフロー図である。
図3に示されるステップは、
図1のシステム100、
図2のシステム200、及び/又はそれらのうちの1つ以上の変形形態若しくは組み合わせを含む、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって実施され得る。一実施例では、
図3に示すステップの各々は、その構造が、以下で例がより詳細に提供される複数のサブステップを含む、及び/又はサブステップによって表されるアルゴリズムを表してもよい。
【0028】
図3に示されるように、ステップ302において、本明細書で説明されるシステムのうちの1つ以上は、ウェブブラウジングセッション中にウェブサイトにナビゲートするために、URLのユーザクリックイベントを検出し得る。例えば、検出モジュール104は、
図2のコンピューティングデバイス202の一部として、ブラウザにおけるウェブブラウジングセッション中にウェブサイト114にナビゲートするためのURLのユーザクリックイベント112を検出することができる。
【0029】
本明細書で使用される場合、「ユーザクリックイベント」という用語は、概して、ブラウザウェブサイト上のURL(例えば、ウェブリンク)を選択し、かつ/又はそれと対話するための任意のユーザ入力(例えば、マウス入力、キーボード入力、タッチスクリーン入力、音声入力など)を指す。いくつかの実施例では、ユーザクリックイベントは、異なるウェブサイトにナビゲートするためにウェブサイト上のウェブリンクを選択するためのユーザ入力を含んでもよい。
【0030】
検出モジュール104は、様々な方法で、ユーザクリックイベント112を検出し得る。いくつかの実施例では、検出モジュール104は、ウェブブラウジングセッション中にユーザクリックイベント112についてウェブサイトを監視し、次いで、関連するコンテキスト情報を抽出するように構成され得る。一実施形態では、検出モジュール104は、ウェブブラウザ(例えば、ウェブページ)に表示されるドキュメントにおいて利用されるハイパーテキストマークアップランゲージ(Hypertext Markup language、HTML)におけるユーザアクションの結果として生じるアクションを監視するドキュメントオブジェクトモジュール(document object module、DOM)ミューテーション(mutation)オブザーバを利用することによってウェブサイトを監視してもよい。例えば、検出モジュール104は、DOMミューテーションオブザーバを利用して、ウェブサイトについてウェブページを絶えず監視し、その構造内の任意の修正(挿入されたノード、属性の変更など)を観察することができる。このように監視を実施することによって、ウェブページ上の全ての要素を利用して、ユーザクリックイベント112をリッスンし、バックグラウンドルール評価プロセスをトリガすることができる。更に、DOMミューテーションオブザーバを利用して、複数のユーザクリックイベント112(すなわち、クリック)及び「マウスダウンイベント」(すなわち、ウェブリンク上のマウスクリックを検出するブラウザイベント)の全てをリッスンし、ユーザクリックのコンテキストを抽出し、クリックが発生したことをバックエンドランタイム(すなわち、ブラウザ拡張機能のバックグラウンドスクリプト)に通知することができる。いくつかの実施形態では、抽出されたコンテキスト情報は、ユーザクリックイベント112が発生したドメインを記述し、クリック宛先の予想されるドメインを抽出する情報を含むことができる。以下でより詳細に説明するように、ユーザクリックイベント112が発生したドメイン及び宛先の予想されるドメインを記述する情報を利用して、クリック契約210が破られたか否かを評価することができる。
【0031】
ステップ304では、本明細書で説明されるシステムのうちの1つ以上が、ステップ302で検出されたユーザクリックイベントを分析して、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動を識別し得る。例えば、分析モジュール106は、
図2のコンピューティングデバイス202の一部として、ユーザクリックイベント112を分析して、ウェブサイト114へのナビゲートに関連付けられた予想されるドメイン挙動116を識別することができる。分析モジュール106は、ここで
図4に関連して説明される様々な方法でユーザクリックイベント112を分析することができる。
【0032】
図4は、予想外のドメイン挙動を識別するためにユーザクリックイベントを分析するための例示的なコンピュータ実装方法400のフロー図である。
図4に示されるステップは、
図1のシステム100、
図2のシステム200、及び/又はそれらのうちの1つ以上の変形形態若しくは組み合わせを含む、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって実施され得る。一実施例では、
図4に示すステップの各々は、その構造が、以下で例がより詳細に提供される複数のサブステップを含む、及び/又はサブステップによって表されるアルゴリズムを表してもよい。
【0033】
図4に示されるように、ステップ402では、本明細書で説明されるシステムのうちの1つ以上は、URLへのハイパーリンク参照を検出し、ブラウジングセッション中にウェブサイトを表示するためのブラウザにおけるユーザクリックイベントを受信し得る。例えば、分析モジュール106は、
図2のコンピューティングデバイス202の一部として、ブラウジングセッション中にウェブサイト114を表示するためのブラウザにおいてユーザクリックイベント112を受信するURLへのハイパーリンク参照を検出することができる。
【0034】
分析モジュール106は、様々な方法で、ウェブサイト114を表示するためのブラウザにおいてユーザクリックイベント112を受信するURLへのハイパーリンク参照を検出することができる。いくつかの実施形態では、分析モジュール106は、ブラウザに示されたhrefドメイン値及びURLのテキストに示された特定の値を検出することができる。特定の値が示されていない場合、URLからの外部アクセスは期待されない。付加的に、ウェブサイトへのリンクのいかなる表示もないURLは、予想外のものと考えられ得る。
【0035】
ステップ404では、本明細書で説明されるシステムのうちの1つ以上が、ステップ402で検出されたハイパーリンク参照に基づいて、ウェブサイトへのナビゲートに関連付けられたドメイン挙動を記述するクリック契約が破られたか又は履行されたかを判定し得る。例えば、分析モジュール106は、
図2のコンピューティングデバイス202の一部として、ウェブサイト114へのナビゲートに関連付けられたドメイン挙動を記述するクリック契約210が破られたか又は履行されたかを判定してもよい。
【0036】
本明細書で使用される場合、「クリック契約」という用語は、一般に、ウェブブラウザ内のURLのユーザクリックイベントから生じる任意の予想されるナビゲーションを指す。例えば、ウェブサイト「A」を指し示すURLのクリック契約は、URLをクリックすることによって生じる到達宛先がウェブサイト「A」へのナビゲーションをもたらす場合に履行される。逆に、ウェブサイト「A」を指し示すURLのクリック契約は、URLをクリックすることによって生じる到達宛先がウェブサイト「B」へのナビゲーションをもたらす場合に破られる。別の例として、ウェブサイト「A」を指し示すURLのクリック契約は、URLをクリックすることによって生じる到達宛先がウェブサイト「A」へのナビゲーションをもたらす場合にも破られるが、バックグラウンドで(つまり、ユーザに知られておらず)、ウェブサイト「A」にナビゲーションが到達する前に、ウェブサイト「B」への中間リダイレクトも行われる。別の例として、ハイパーテキスト転送プロトコルセキュア(hypertext transfer protocol secure、HTTPS)ウェブサイトを指し示すURLのクリック契約は、宛先ウェブサイトがHTTPS経由でサービス提供されている場合に履行される。逆に、HTTPSウェブサイトを指し示すURLのクリック契約は、宛先ウェブサイトが非セキュアなHTTPプロトコルを介してサービス提供されている場合に破られる。別の例として、HTTPSウェブサイトを指し示すURLのクリック契約は、宛先ウェブサイトがHTTPSを介してサービス提供されている場合にも破られるが、バックグラウンドで(すなわち、ユーザに知られておらず)、HTTPSを介してサービス提供されている宛先ウェブサイトにナビゲーションが到達する前に、非セキュアなHTTPプロトコルを介してサービス提供されている別のウェブサイトへの中間リダイレクトも行われる。
【0037】
分析モジュール106は、クリック契約210が破られたか又は履行されたかを様々な方法で判定することができる。いくつかの実施形態では、分析モジュール106は、ユーザクリックイベントに応答して、URLによって指し示されたドメイン宛先へのナビゲーションが異なるドメイン宛先に到達する(例えば、URLがウェブサイト「A」を指し示すが、URLをクリックすることから生じる到達宛先がウェブサイト「B」へのナビゲーションをもたらす)場合、クリック契約210が破られたと判定することができる。付加的に、又は代替的に、分析モジュール106は、ユーザクリックイベント112に応答して、ドメイン宛先へのナビゲーションが、ドメイン宛先に到達する前に別のドメイン宛先にリダイレクトされる(例えば、URLがウェブサイト「A」を指し示し、URLをクリックすることから生じる到達宛先がウェブサイト「A」へのナビゲーションをもたらすが、バックグラウンドでは、ウェブサイト「A」に到達する前に、ウェブサイト「B」への中間リダイレクトも行われる)場合、クリック契約210が破られたと判定することができる。付加的に、又は代替的に、分析モジュール106は、セキュアプロトコル(例えば、HTTPS)によって保護されるドメイン宛先へのナビゲーションが、ユーザクリックイベント112に応答して、非保護(例えば、HTTP)ドメイン宛先に到達する場合、クリック契約210が破られたと判定することができる。付加的に、又は代替的に、分析モジュール106は、セキュアプロトコル(例えば、HTTPS)によって保護されるドメイン宛先へのナビゲーションが、ユーザクリックイベント112に応答して、セキュアプロトコルによって保護される宛先に到達する前に、非保護(例えば、HTTP)ドメイン宛先にリダイレクトされる場合、クリック契約210が破られたと判定することができる。いくつかの実施形態では、上述した破られたクリック契約例における異なる及び/又は非保護ドメイン宛先を指し示すURLは、ウェブトラッカ(すなわち、トラッカ212)に関連付けられ得る。
【0038】
ステップ406では、本明細書で説明されるシステムのうちの1つ以上は、クリック契約が履行されたと判定すると、ドメイン挙動を予想されるドメイン挙動として識別し得る。例えば、分析モジュール106は、
図2のコンピューティングデバイス202の一部として、クリック契約210が履行されたと判定すると、ドメイン挙動を予想されるドメイン挙動116として識別し得る。
【0039】
分析モジュール106は、様々な方法で予想されるドメイン挙動116を識別することができる。例えば、上述したように、分析モジュール106は、ウェブサイト「A」を指し示すURLが、URLのユーザクリックイベント112の受信に応答して、ウェブサイト「A」への直接ナビゲーション(すなわち、異なる中間宛先へのリダイレクトを伴わない)をもたらす場合、予想されるドメイン挙動116を識別し得る。付加的に、又は代替的に、分析モジュール106は、HTTPSウェブサイトを指し示すURLが、URLのユーザクリックイベント112を受信することに応答して、指定されたHTTPSウェブサイトへの直接ナビゲーション(すなわち、中間HTTPウェブサイトへのリダイレクトを伴わない)をもたらす場合、予想されるドメイン挙動116を識別することができる。
【0040】
ステップ406では、本明細書で説明されるシステムのうちの1つ以上は、クリック契約が破られたと判定すると、ドメイン挙動を予想外のドメイン挙動として識別し得る。例えば、分析モジュール106は、
図2のコンピューティングデバイス202の一部として、クリック契約210が破られたと判定すると、ドメイン挙動を予想外のドメイン挙動214として識別することができる。
【0041】
分析モジュール106は、様々な方法で予想されるドメイン挙動116を識別することができる。例えば、上述したように、分析モジュール106は、ウェブサイト「A」を指し示すURLが、URLのユーザクリックイベント112を受信したことに応答して、ウェブサイト「B」への直接ナビゲーションをもたらす場合、予想外のドメイン挙動214を識別することができる。付加的に、又は代替的に、分析モジュール106は、ウェブサイト「A」を指し示すURLが、URLのユーザクリックイベント112を受信することに応答して、ウェブサイト「A」への間接ナビゲーションをもたらす(すなわち、ウェブサイト「B」における中間宛先へのリダイレクトが生じる)場合、予想外のドメイン挙動214を識別し得る。付加的に、又は代替的に、分析モジュール106は、セキュアなHTTPSウェブサイトを指し示すURLが、URLのユーザクリックイベント112を受信することに応答して、非セキュアなHTTPウェブサイトへの直接ナビゲーションをもたらす場合、予想外のドメイン挙動214を識別し得る。付加的に、又は代替的に、分析モジュール106は、セキュアなHTTPSウェブサイトを指し示すURLが、URLのユーザクリックイベント112の受信に応答して、セキュアなHTTPSへの間接的なナビゲーション(すなわち、非セキュアなHTTPウェブサイトへの中間リダイレクトを介する)をもたらす場合、予想外のドメイン挙動214を識別し得る。この例では、非セキュアなHTTPウェブサイトへのリダイレクトは、セキュアなユーザブラウザデータがプレーンテキストとして受信され、したがって攻撃(例えば、データ破損)に対して脆弱になる場合がある。
【0042】
ここで
図3に戻ると、ステップ306では、本明細書に説明されるシステムのうちの1つ以上は、ステップ304において実施された(及び
図4の説明において詳細に説明される)分析に基づいて、ユーザクリックイベントが、URLに基づくウェブサイトへのナビゲートに関連付けられた予想されるドメイン挙動から逸脱すると判定し得る。例えば、判定モジュール108は、
図2のコンピューティングデバイス202の一部として、破られたクリック契約210を識別することに基づいて、ユーザクリックイベント112が予想されるドメイン挙動116から逸脱すると判定することができる。
【0043】
ステップ308では、本明細書で説明されるシステムのうちの1つ以上は、予想されるドメイン挙動から逸脱するユーザクリックイベントによって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクションを実施することができる。例えば、セキュリティモジュール110は、
図2のコンピューティングデバイス202の一部として、予想外のドメイン挙動214をもたらすURLのユーザクリックイベント112に対してウェブサイトナビゲーションをブロックするセキュリティアクション(すなわち、ブロックウェブサイトナビゲーションアクション216)を実施することができる。
【0044】
セキュリティモジュール110は、様々な方法でユーザクリックイベント112によって引き起こされる潜在的に悪意のある活動から保護するセキュリティアクションを実施することができる。いくつかの実施例では、セキュリティモジュール110は、予想外のドメイン挙動214に関連付けられたウェブサイトを指すURLの現在のユーザクリックイベント112が、ブラウザ拡張機能を利用するブラウザによってブロックされるように、ブロックウェブサイトナビゲーションアクション216を実施することができる。ユーザクリックイベント112は、URLのクリックの検出に続いてブラウザ/ナビゲーションリダイレクトを傍受することによってブロックされ得る。いくつかの実施例では、セキュリティモジュール110は、予想外のドメイン挙動214に関連付けられた全てのユーザクリックイベント112に対してブロックウェブサイトナビゲーションアクション216を実施することができる。他の例では、セキュリティモジュール110は、予想外のドメイン挙動214に関連付けられ、ウェブサイトドメインホワイトリスト208に現れないウェブサイトへのナビゲーションをもたらすユーザクリックイベント112に対してのみ、ブロックウェブサイトナビゲーション216を実施することができる。例えば、ウェブサイトドメインホワイトリスト208は、任意の数のオープンソース有害ドメインリスト及び/又は高リスクドメインリストに現れないと判定された、高度にアクセスされたドメインのフィルタリングされたリストを含み得る。したがって、ウェブサイトドメインホワイトリスト208内の任意のドメインへのナビゲーションが、破られたクリック契約210をもたらすと判定された場合、セキュリティモジュール110は、ブロックウェブサイトナビゲーションアクション216を実施せず、対応するユーザクリックイベント112が許可される。付加的に、又は代替的に、セキュリティモジュール110はまた、クリック契約210が破られたという通知をユーザに生成してもよい。付加的に、又は代替的に、セキュリティモジュール110は、ユーザ選択のためにブロックウェブサイトナビゲーションアクション216を実施することに応答して、ユーザセキュリティオプションを提示してもよい。いくつかの実施形態では、これらのユーザセキュリティオプションは、将来のユーザクリックイベント112が許可されるように(例えば、ブロックされたウェブサイトが実際にユーザがアクセスしたいウェブサイト上にあるとき)、ユーザがブロックウェブサイトナビゲーションアクション216をバイパスすることを許可し得る。いくつかの実施例では、ユーザセキュリティオプションは、ウェブブラウジングセッション中にウェブサイト114にナビゲートするための、URLの後続のユーザクリックイベント112を許可すること、ウェブサイト114に関連付けられたドメインを信頼すること、及びブラウザ拡張機能がURLの将来のユーザクリックイベント112を検出することを無効にすることを含み得る。
【0045】
図5は、誤った方向に導くクリックから保護するための例示的なセキュリティアクションを示すウェブサイト500のブロック図である。ウェブサイト500は、ビデオストリーム504を再生するために現在表示されているウェブサイトを識別するURL502を含む。ウェブサイト500は、再生のために追加のビデオストリーム(すなわち、「より多くのビデオ(More Videos)」)にアクセスするためのリンクとして識別される別のURL505を更に含む。ウェブサイト500はまた、URL505(すなわち、「hkv06j2p7」)によって指し示される到達宛先が未知であると判定された(すなわち、ナビゲーションURL505が予想外のドメイン挙動をもたらすと判定された)ために、誤った方向に導くクリックとして識別されたことに起因して、URL505のユーザクリックイベントが停止されたことを示すセキュリティアクション通知506を含む。ウェブサイト500はまた、クリックイベントを一時的に許可すること、URL505の未知の到達宛先を信頼すること、及び/又は誤った方向に導くクリックイベントからの保護を表示することを含む、(例えば、ユーザが、URL505の到達宛先が安全であることを知っている場合)セキュリティアクション通知506に関連付けられた追加のオプションをユーザが選択することを許可するためのドロップダウンボックス508を含む。
【0046】
上記の方法300に関連して説明したように、本明細書に記載されるシステム及び方法は、予想されるドメイン挙動の1つ以上のルールに対応するクリック契約が破られたかを判断するために、ウェブサイトにナビゲートするためのURLがブラウザ内でクリックされたときに何が起こるかを監視するためにブラウザ拡張機能を利用することを提供する。予想外のドメイン挙動に基づいてクリック契約が破られたと判定すると、ウェブブラウザ拡張機能は、ブラウザナビゲーション/リダイレクトを傍受することによってユーザクリックイベントをブロックし、クリック契約ルールが破られたことをユーザに通知するように構成され得る。このようにブラウザ拡張機能を利用することによって、本明細書で説明されるシステム及び方法は、ユーザセキュリティ又はユーザコンピューティングデバイスのセキュリティを脅かし得る、クリック宛先(例えば、ウェブサイト)に到達する前にウェブブラウジングセッション中に潜在的に安全でない、有害な、及び/又は追跡クリックイベントをユーザに通知し、それらからユーザを保護し得る。
【0047】
図6は、本明細書に記載及び/又は図示される実施形態のうちの1つ以上を実装することができる例示的なコンピューティングシステム610のブロック図である。例えば、コンピューティングシステム610のうちの全て又は一部分は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載されるステップのうちの1つ以上(
図3に示されるステップのうちの1つ以上など)を実施し得る、かつ/又はそれを実施するための手段であってもよい。コンピューティングシステム610のうちの全て又は一部分はまた、本明細書に記載及び/若しくは図示される任意の他のステップ、方法、若しくはプロセスを実施し得る、かつ/又はそれを実施するための手段であってもよい。
【0048】
コンピューティングシステム610は、コンピュータ可読命令を実行することができる任意のシングル又はマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム610の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム610は、少なくとも1つのプロセッサ614及びシステムメモリ616を含んでもよい。
【0049】
プロセッサ614は、一般に、データを処理すること又は命令を解釈及び実行することができる、任意のタイプ又は形態の物理処理ユニット(例えば、ハードウェア実装型中央処理ユニット)を表す。特定の実施形態において、プロセッサ614は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ614に、本明細書に記載及び/又は図示される例示的な実施形態のうちの1つ以上の機能を実施させてもよい。
【0050】
システムメモリ616は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の揮発性又は不揮発性の記憶デバイス又は媒体を表す。システムメモリ616の例としては、非限定的に、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態において、コンピューティングシステム610は、揮発性メモリユニット(例えば、システムメモリ616など)及び不揮発性記憶デバイス(例えば、後に詳述するような一次記憶デバイス632など)の両方を含んでもよい。一実施例では、
図1のモジュール102のうちの1つ以上は、システムメモリ616内にロードされ得る。
【0051】
いくつかの実施例では、システムメモリ616は、プロセッサ614による実行のために、オペレーティングシステム640を記憶及び/又はロードし得る。一実施例では、オペレーティングシステム640は、コンピュータハードウェア及びソフトウェアリソースを管理し、かつ/又はコンピューティングシステム610上のコンピュータプログラム及び/若しくはアプリケーションに共通のサービスを提供する、ソフトウェアを含む、かつ/又は表すことができる。オペレーティングシステム640の例としては、非限定的に、LINUX、JUNOS、MICROSOFT WINDOWS、WINDOWS MOBILE、MAC OS、APPLEのIOS、UNIX、GOOGLE CHROME OS、GOOGLEのANDROID、SOLARIS、それらのうちの1つ以上の変形形態、及び/又は任意の他の好適なオペレーティングシステムが挙げられる。
【0052】
特定の実施形態では、例示的なコンピューティングシステム610はまた、プロセッサ614及びシステムメモリ616に加えて、1つ以上の構成要素又は要素も含み得る。例えば、
図6に示すように、コンピューティングシステム610は、メモリコントローラ618、入力/出力(Input/Output、I/O)コントローラ620、及び通信インターフェース622を含み得、これらの各々は、通信基盤612を介して相互接続され得る。通信基盤612は、一般に、コンピューティングデバイスの1つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤612の例としては、非限定的に、通信バス(業界標準アーキテクチャ(Industry Standard Architecture、ISA)、周辺装置相互接続(Peripheral Component Interconnect、PCI)、PCIエクスプレス(PCI Express、PCIe)、又は類似のバスなど)及びネットワークが挙げられる。
【0053】
メモリコントローラ618は、一般に、メモリ若しくはデータを扱うこと、又はコンピューティングシステム610の1つ以上の構成要素間の通信を制御することができる、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ618は、通信基盤612を介して、プロセッサ614、システムメモリ616、及びI/Oコントローラ620の間の通信を制御してもよい。
【0054】
I/Oコントローラ620は、一般に、コンピューティングデバイスの入出力機能を調整及び/又は制御することができる、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ620は、プロセッサ614、システムメモリ616、通信インターフェース622、ディスプレイアダプタ626、入力インターフェース630、及び記憶インターフェース634などの、コンピューティングシステム610の1つ以上の要素間のデータ転送を制御又は容易にし得る。
【0055】
図6に示すように、コンピューティングシステム610はまた、ディスプレイアダプタ626を介してI/Oコントローラ620に連結された少なくとも1つのディスプレイデバイス624も含み得る。ディスプレイデバイス624は、一般に、ディスプレイアダプタ626によって転送された情報を視覚的に表示することができる、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ626は、一般に、ディスプレイデバイス624上に表示するために通信基盤612から(又は当該技術分野において既知であるように、フレームバッファから)グラフィックス、テキスト、及び他のデータを転送するように構成された任意のタイプ又は形態のデバイスを表す。
【0056】
図6に示すように、例示的なコンピューティングシステム610はまた、入力インターフェース630を介してI/Oコントローラ620に連結された少なくとも1つの入力デバイス628も含み得る。入力デバイス628は、一般に、コンピュータ又は人間のいずれかが生成した入力を例示的なコンピューティングシステム610に提供することができる任意のタイプ又は形態の入力デバイスを表す。入力デバイス628の例としては、非限定的に、キーボード、ポインティングデバイス、音声認識デバイス、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他の入力デバイスが挙げられる。
【0057】
付加的に、又は代替的に、例示的なコンピューティングシステム610は、追加のI/Oデバイスを含み得る。例えば、例示的なコンピューティングシステム610は、I/Oデバイス636を含み得る。この実施例では、I/Oデバイス636は、コンピューティングシステム610との人間の相互作用を容易にするユーザインターフェースを含み得る、かつ/又はそれを表し得る。I/Oデバイス636の例としては、非限定的に、コンピュータマウス、キーボード、モニタ、プリンタ、モデム、カメラ、スキャナ、マイクロフォン、タッチスクリーンデバイス、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び/又は任意の他のI/Oデバイスが挙げられる。
【0058】
通信インターフェース622は、例示的なコンピューティングシステム610と1つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ又は形態の通信デバイス又はアダプタを幅広く表す。例えば、特定の実施形態では、通信インターフェース622は、コンピューティングシステム610と、追加のコンピューティングシステムを含むプライベート又はパブリックネットワークとの間の通信を容易にし得る。通信インターフェース622の例としては、非限定的に、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び任意の他の好適なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース622は、インターネットなどのネットワークへの直接リンクを介してリモートサーバへの直接接続を提供し得る。通信インターフェース622はまた、例えば、ローカルエリアネットワーク(イーサネット(登録商標)ネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通して、このような接続を間接的に提供してもよい。
【0059】
特定の実施形態では、通信インターフェース622はまた、外部バス又は通信チャネルを介したコンピューティングシステム610と1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成されたホストアダプタも表し得る。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース(Small Computer System Interface、SCSI)ホストアダプタ、ユニバーサルシリアルバス(Universal Serial Bus、USB)ホストアダプタ、米国電気電子学会(Institute of Electrical and Electronics Engineers、IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(Advanced Technology Attachment、ATA)ホストアダプタ、パラレルATA(Parallel ATA、PATAホストアダプタ)、シリアルATA(Serial ATA、SATA)ホストアダプタ、及び外部SATA(External SATA、eSATA)ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット(登録商標)アダプタなどが挙げられる。通信インターフェース622はまた、コンピューティングシステム610が分散型又はリモートコンピューティングに関与することも可能にし得る。例えば、通信インターフェース622は、実行のために、リモートデバイスから命令を受信してもよく、又はリモートデバイスに命令を送信してもよい。
【0060】
いくつかの実施例では、システムメモリ616は、プロセッサ614による実行のために、ネットワーク通信プログラム638を記憶及び/又はロードし得る。一実施例では、ネットワーク通信プログラム638は、コンピューティングシステム610が、別のコンピューティングシステム(
図6には図示せず)とのネットワーク接続642を確立すること、及び/又は通信インターフェース622を介して他のコンピューティングシステムと通信すること、を可能にする、ソフトウェアを含み得る、かつ/又はそれを表し得る。この実施例では、ネットワーク通信プログラム638は、ネットワーク接続642を介して他のコンピューティングシステムに送信される発信トラフィックの流れを指示し得る。付加的に、又は代替的に、ネットワーク通信プログラム638は、プロセッサ614と関連してネットワーク接続642を介して他のコンピューティングシステムから受信された着信トラフィックの処理を指示し得る。
【0061】
図6にはこのようには示されていないが、ネットワーク通信プログラム638は、代替として、通信インターフェース622に記憶及び/又はロードされ得る。例えば、ネットワーク通信プログラム638は、通信インターフェース622に組み込まれたプロセッサ及び/又は特定用途向け集積回路(ASIC)によって実行されるソフトウェア及び/又はファームウェアの少なくとも一部分を含み得る、かつ/又はそれを表し得る。
【0062】
図6に示すように、例示的なコンピューティングシステム610はまた、記憶インターフェース634を介して通信基盤612に連結された、一次記憶デバイス632及びバックアップ記憶デバイス633も含み得る。記憶デバイス632及び633は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス632及び633は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース634は、一般に、記憶デバイス632及び633とコンピューティングシステム610の他の構成要素との間でデータを転送するための、任意のタイプ又は形態のインターフェース又はデバイスを表す。一実施例では、
図1からのデータストレージ120は、一次記憶デバイス632内に記憶及び/又はロードされ得る。
【0063】
特定の実施形態では、記憶デバイス632及び633は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された取り外し可能な記憶ユニットから読み取る及び/又はそれに書き込むように構成され得る。好適な取り外し可能な記憶ユニットの例としては、非限定的に、フロッピー(登録商標)ディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス632及び633はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令がコンピューティングシステム610内にロードされることを可能にするための、他の同様の構造体又はデバイスを含んでもよい。例えば、記憶デバイス632及び633は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み書きするように構成され得る。記憶デバイス632及び633はまた、コンピューティングシステム610の一部であってもよいし、又は他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
【0064】
他の多くのデバイス又はサブシステムが、コンピューティングシステム610に接続され得る。反対に、
図6に示す構成要素及びデバイスの全てが、本明細書に記載及び/又は図示される実施形態を実践するために存在する必要があるわけではない。上で言及したデバイス及びサブシステムはまた、
図6に示されるものとは異なる手段で相互接続されてもよい。コンピューティングシステム610はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を用いてもよい。例えば、本明細書で開示する例示的な実施形態のうちの1つ以上は、コンピュータ可読媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用される場合、一般に、コンピュータ可読命令を記憶又は保有することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピー(登録商標)ディスク)、光学記憶媒体(例えば、コンパクトディスク(Compact Disk、CD)、デジタルビデオディスク(Digital Video Disk、DVD)、及びブルーレイ(BLU-RAY)ディスク(登録商標))、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュ媒体)、並びに他の分散システムなどの非一時的媒体が挙げられる。
【0065】
コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム610内にロードされ得る。コンピュータ可読媒体に記憶されているコンピュータプログラムのうちの全て又は一部分は、次いで、システムメモリ616内に、並びに/又は記憶デバイス632及び633の様々な部分内に記憶され得る。プロセッサ614によって実行されると、コンピューティングシステム610内にロードされたコンピュータプログラムは、プロセッサ614に、本明細書に記載及び/若しくは図示される例示的な実施形態のうちの1つ以上の機能を実施させることができ、かつ/又はそれらを実施するための手段とすることができる。付加的に、又は代替的に、本明細書に記載及び/又は図示される例示的な実施形態のうちの1つ以上は、ファームウェア及び/又はハードウェアに実装されてもよい。例えば、コンピューティングシステム610は、本明細書に開示される例示的な実施形態のうちの1つ以上を実装するように適合された特定用途向け集積回路(ASIC)として構成され得る。
【0066】
図7は、クライアントシステム710、720、及び730、並びにサーバ740及び745がネットワーク750に連結され得る例示的なネットワークアーキテクチャ700のブロック図である。上で詳述したように、ネットワークアーキテクチャ700のうちの全て又は一部分は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に開示されるステップのうちの1つ以上(
図3に示されるステップのうちの1つ以上など)を実施し得る、かつ/又はそれを実施するための手段であり得る。ネットワークアーキテクチャ700のうちの全て又は一部分はまた、本開示に記載される他のステップ及び特徴を実施するために使用されてもよく、並びに/又はこれらを実施するための手段であってもよい。
【0067】
クライアントシステム710、720、及び730は、一般に、
図6の例示的なコンピューティングシステム610など、任意のタイプ又は形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ740及び745は、一般に、様々なデータベースサービスを提供する及び/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを表す。ネットワーク750は、一般に、例えば、イントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信ネットワーク又はコンピュータネットワークを表す。一実施例では、クライアントシステム710、720、及び/若しくは730、並びに/又はサーバ740及び/若しくは745は、
図1のシステム100のうちの全て又は一部分を含み得る。
【0068】
図7に示すように、1つ以上の記憶デバイス760(1)~(N)は、サーバ740に直接取り付けられ得る。同様に、1つ以上の記憶デバイス770(1)~(N)は、サーバ745に直接取り付けられ得る。記憶デバイス760(1)~(N)及び記憶デバイス770(1)~(N)は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス760(1)~(N)及び記憶デバイス770(1)~(N)は、ネットワークファイルシステム(Network File System、NFS)、サーバメッセージブロック(Server Message Block、SMB)、又は共通インターネットファイルシステム(Common Internet File System、CIFS)など、様々なプロトコルを使用して、サーバ740及び745と通信するように構成された、ネットワーク接続ストレージ(Network-Attached Storage、NAS)デバイスを表してもよい。
【0069】
サーバ740及び745はまた、ストレージエリアネットワーク(Storage Area Network、SAN)ファブリック780に接続されてもよい。SANファブリック780は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック780は、サーバ740及び745と、複数の記憶デバイス790(1)~(N)及び/又はインテリジェント記憶アレイ795と、の間の通信を容易にし得る。また、SANファブリック780は、デバイス790(1)~(N)及びアレイ795が、クライアントシステム710、720、及び730にローカルに取り付けられたデバイスとして現れるような方式で、ネットワーク750並びにサーバ740及び745を介し、クライアントシステム710、720、及び730と記憶デバイス790(1)~(N)及び/又はインテリジェント記憶アレイ795との間の通信を容易にし得る。記憶デバイス760(1)~(N)及び記憶デバイス770(1)~(N)と同様に、記憶デバイス790(1)~(N)及びインテリジェント記憶アレイ795は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。
【0070】
特定の実施形態では、及び
図6の例示的なコンピューティングシステム610を参照すると、
図6の通信インターフェース622などの通信インターフェースは、各クライアントシステム710、720、及び730とネットワーク750との間の接続性を提供するために使用され得る。クライアントシステム710、720、及び730は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ740又は745上の情報にアクセスすることが可能であり得る。かかるソフトウェアは、クライアントシステム710、720、及び730が、サーバ740、サーバ745、記憶デバイス760(1)~(N)、記憶デバイス770(1)~(N)、記憶デバイス790(1)~(N)、又はインテリジェント記憶アレイ795によってホストされたデータにアクセスすることを可能にし得る。
図7は、データを交換するために(インターネットなどの)ネットワークを使用することを示しているが、本明細書に記載及び/又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【0071】
少なくとも1つの実施形態では、本明細書に開示される例示的な実施形態のうちの1つ以上のうちの全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ740、サーバ745、記憶デバイス760(1)~(N)、記憶デバイス770(1)~(N)、記憶デバイス790(1)~(N)、インテリジェント記憶アレイ795、又はこれらの任意の組み合わせ上にロードされ、これらによって実行され得る。本明細書に開示される例示的な実施形態のうちの1つ以上のうちの全て又は一部分はまた、コンピュータプログラムとしてコード化され、サーバ740に記憶され、サーバ745によって実行され、ネットワーク750を通じてクライアントシステム710、720、及び730に分散されてもよい。
【0072】
上で詳述したように、コンピューティングシステム610、及び/又はネットワークアーキテクチャ700の1つ以上の構成要素は、単独で又は他の要素と組み合わせて、ウェブサイト上の誤った方向に導くクリックから保護するための例示的な方法の1つ以上のステップを実施してもよく、かつ/又は実施するための手段であってもよい。
【0073】
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び/又は図示されるそれぞれのブロック図の構成要素、フローチャートのステップ、動作、及び/又は構成要素は、個別に及び/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(若しくはそれらの任意の組み合わせ)の構成を使用して実装されてもよい。加えて、同じ機能性を達成するように他の多くのアーキテクチャを実装することができるので、他の構成要素内に包含される構成要素のいかなる開示も、本質的に例示とみなされるべきである。
【0074】
いくつかの実施例では、
図1の例示的なシステム100のうちの全て又は一部分は、クラウドコンピューティング環境又はネットワークベースの環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載される様々な機能は、リモートデスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を通して提供されてもよい。
【0075】
様々な実施形態では、
図1の例示的なシステム100のうちの全て又は一部分は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載されるソフトウェアモジュールは、本明細書に記載される機能のうちの1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成してもよい。例えば、本明細書に記載されるソフトウェアモジュールのうちの1つ以上は、2つ以上のクライアント(例えば、顧客)がサーバ上で実行しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客(すなわち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有してもよい。本明細書に記載されるモジュールのうちの1つ以上はまた、ある顧客が別の顧客のデータ及び/又は設定情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び/又は設定情報を分割してもよい。
【0076】
様々な実施形態によれば、
図1の例示的なシステム100のうちの全て又は一部分は、仮想環境内で実装されてもよい。例えば、本明細書に記載されるモジュール及び/又はデータは、仮想機械内で常駐及び/又は実行してもよい。本明細書で使用される場合、「仮想機械」という用語は、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽象化される、任意のオペレーティングシステム環境を指す。付加的に、又は代替的に、本明細書に記載されるモジュール及び/又はデータは、仮想化層内で常駐及び/又は実行してもよい。本明細書で使用される場合、「仮想化層」という用語は、概して、オペレーティングシステム環境にオーバーレイする、かつ/又はそこから抽象化される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び/又はレジストリ内の場所に方向付けられるコールを、仮想化層内の場所にリダイレクトしてもよい。
【0077】
いくつかの実施例では、
図1の例示的なシステム100のうちの全て又は一部分は、モバイルコンピューティング環境の部分を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダ、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイを有するコンピューティングデバイス、スマートウォッチなど)などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。いくつかの実施例では、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での1つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、場所及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、かつ/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアからのみ生じるように)制限する制御などを含む、1つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、かつ/又はモバイルコンピューティング環境と相互作用し得る。
【0078】
加えて、
図1の例示的なシステム100のうちの全て又は一部分は、情報管理のための1つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって作成されるデータを消費してもよく、かつ/又はそれによって消費されるデータを作成してもよい。本明細書で使用される場合、「情報管理」という用語は、データの保護、組織化、及び/又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
【0079】
いくつかの実施形態では、
図1の例示的なシステム100のうちの全て又は一部分は、情報セキュリティのための1つ以上のシステムの部分を表してもよく、それによって保護されるデータを作成してもよく、かつ/又はそれと通信してもよい。本明細書で使用される場合、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
【0080】
いくつかの実施例によれば、
図1の例示的なシステム100のうちの全て又は一部分は、エンドポイントセキュリティのための1つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ/又はそれから保護を受けてもよい。本明細書で使用される場合、「エンドポイントセキュリティ」という用語は、不正及び/若しくは違法な使用、アクセス、並びに/又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザ認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
【0081】
本明細書に記載及び/又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び/又は記載されるステップは特定の順序で図示又は考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び/又は図示される様々な例示的な方法はまた、本明細書に記載及び/又は図示されるステップのうちの1つ以上を省略してもよく、又は開示されるものに加えて追加のステップを含んでもよい。
【0082】
様々な実施形態が、完全に機能的なコンピューティングシステムの文脈において本明細書に記載及び/又は図示されているが、これら例示的な実施形態のうちの1つ以上は、実際に分散を行うために使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として分散され得る。本明細書に開示される実施形態はまた、特定のタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに記憶されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの1つ以上を実施するようにコンピューティングシステムを構成してもよい。
【0083】
加えて、本明細書に記載されるモジュールのうちの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を、1つの形態から別の形態へと変換してもよい。付加的に、又は代替的に、本明細書に列挙されるモジュールのうちの1つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを記憶し、かつ/又は別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/又は物理的コンピューティングデバイスの任意の他の部分を、1つの形態から別の形態へと変換してもよい。
【0084】
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正形態及び変形形態が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないとみなされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【0085】
別途記載のない限り、「~に接続される」及び「~に連結される」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用される場合、直接的接続及び間接的接続(すなわち、他の要素若しくは構成要素を介する)の両方を許容するものとして解釈されるものである。加えて、「a」又は「an」という用語は、本明細書及び特許請求の範囲で使用される場合、「~のうち少なくとも1つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用される場合、「備える」という単語と互換性があり、同じ意味を有する。