SYSTEM AND METHOD FOR PROTECTING USER DATA PRIVACY AGAINST ANTI-TRACKING EVASION TECHNIQUES FOR WEB TRACKERS

By detecting and identifying hidden tracking scripts in web pages and taking security measures to prevent their execution, the problem of user privacy data leakage caused by the anti-tracking and evasion technology of web page trackers is solved, and effective protection of user data is achieved.

JP7654902B2Active Publication Date: 2025-04-01GEN DIGITAL INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024515958
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-28
Filing Date
2022-08-31
Publication Date
2025-04-01
Estimated Expiration
2042-08-31

AI Technical Summary

Technical Problem

The prior art is difficult to effectively prevent the anti-tracking and evasion technology of web trackers, resulting in user privacy data leakage.

Method used

By detecting HTML in a web page, identifying potential web tracking code, identifying hidden tracking scripts, and taking security measures to prevent their execution, such as replacing or modifying script requests, preventing data collection.

Benefits of technology

It effectively prevents hidden web tracking script execution, protects user privacy data, and prevents potential data breaches and cyber attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007654902000001
    Figure 0007654902000001
  • Figure 0007654902000002
    Figure 0007654902000002
  • Figure 0007654902000003
    Figure 0007654902000003
Patent Text Reader

Abstract

A disclosed computer-implemented method for protecting user data privacy against anti-tracking evasion techniques for web trackers can include (i) detecting hypertext markup language (HTML) associated with a website displayed in a browser application, (ii) identifying one or more elements within the HTML capable of executing web tracking code from the website, (iii) determining the presence of a hidden web tracking script based on information describing script programming code responsible for embedding the HTML element in the website, and (iv) performing a security action to protect against potential violations of user data privacy by preventing the hidden web tracking script from executing the web tracking code within the browser application. Various other methods, systems, and computer-readable media are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Non-provisional Application No. 17 / 487,052, filed September 28, 2021, entitled "SYSTEMS AND METHODS FOR PROTECTING USER DATA PRIVACY AGAINST ANTI-TRACKING EVASION TECHNIQUES FOR WEB TRACKERS," the entire contents of which are incorporated herein by reference. [Background technology]

[0002] Internet browsing activities, including accessing websites over enterprise and home computer networks, often involve web tracking during a browsing session that can compromise user privacy by maintaining and / or utilizing private user data. For example, content being viewed by a user on a website may include a third-party website tracker configured to store identifying information (e.g., the user's browsing history or contact information) in a browser cookie or as a fingerprint on a local storage device, such that when the same content is loaded by a different website, the website tracker can continue to provide additional content to the user without the user's consent.

[0003] Traditional methods for combating unwanted web tracking include utilizing enhanced web browsers or browser extensions with do-not-track functionality configured to block network requests or browser cookies utilized by web trackers that are detectable via identification of third-party website domains. In response to do-not-tracking, web tracking companies often utilize evasion techniques that hide previously detectable trackers by disguising third-party domains as first-party domains that are not detectable by traditional methods. Summary of the Invention

[0004] As described in more detail below, this disclosure describes various systems and methods for protecting user data privacy against anti-tracking evasion techniques for web trackers.

[0005] In one example, a method for protecting user data privacy against anti-tracking evasion techniques for web trackers may include (i) detecting, by one or more computing devices, hypertext markup language (HTML) associated with a website displayed in a browser application; (ii) identifying, by the one or more computing devices, one or more elements within the HTML that are capable of executing web tracking code from the website; (iii) determining, by the one or more computing devices, the presence of a hidden web tracking script based on information describing script programming code responsible for embedding the HTML elements in the website; and (iv) performing, by the one or more computing devices, a security action that protects against potential violations of user data privacy by preventing the hidden web tracking script from executing the web tracking code in the browser application.

[0006] In some examples, HTML associated with a website may be detected by (i) searching for HTML documents that render web pages currently displayed on the website and (ii) detecting HTML within the HTML documents. In some embodiments, HTML capable of executing web tracking code may be identified by identifying script HTML elements and / or by identifying inline frame (iframe) HTML elements.

[0007] In some examples, the presence of a hidden web tracking script may be determined by (i) determining that a domain associated with the script programming code is unrelated to a domain associated with a web page of the website, and (ii) identifying the script programming code as a hidden web tracking script. In some embodiments, the security action may include preventing the hidden web tracking script from generating a web tracking identifier, such as a web tracking cookie or a local storage identifier utilized to store user data. Additionally or alternatively, the security action may include modifying execution of the hidden web tracking script to prevent it from retrieving programming code functions utilized to obtain private user data. For example, a request to retrieve a programming code function may be replaced with a request to retrieve harmless data (e.g., an image file or a fake identifier).

[0008] In one embodiment, a system for protecting user data privacy against anti-tracking evasion techniques for web trackers may include at least one physical processor, a physical memory including computer-executable instructions and one or more modules that, when executed by the physical processor, cause the physical processor to: (i) detect HTML associated with a website displayed in a browser application via a detection module; (ii) identify one or more elements in the HTML capable of executing web tracking code from the website via an identification module; (iii) determine, via a determination module, the presence of a hidden web tracking script based on information describing script programming code responsible for embedding the HTML elements in the website; and (iv) perform a security action, via a security module, to protect against potential violations of user data privacy by preventing the hidden web tracking script from executing the web tracking code in the browser application.

[0009] In some embodiments, the methods described above may be encoded as computer-readable instructions on a non-transitory computer-readable medium. For example, the computer-readable medium may include one or more computer-executable instructions that, when executed by at least one processor of a computing device, may cause the computing device to (i) detect hypertext markup language (HTML) associated with a website displayed in a browser application, (ii) identify one or more elements within the HTML that may execute web tracking code from the website, (iii) determine the presence of a hidden web tracking script based on information describing script programming code responsible for embedding the HTML elements into the website, and (iv) perform security actions to protect against potential violations of user data privacy by preventing the hidden web tracking script from executing the web tracking code within the browser application.

[0010] Features from any of the embodiments described herein may be used in combination with each other in accordance with the general principles described herein. These and other embodiments, features, and advantages will be more fully understood from a reading of the following detailed description in conjunction with the accompanying drawings and claims. [Brief description of the drawings]

[0011] The accompanying drawings illustrate several exemplary embodiments and are a part of this specification and, together with the following description, demonstrate and explain various principles of the present disclosure.

[0012] [Figure 1] FIG. 1 is a block diagram of an example system for protecting user data privacy against anti-tracking evasion techniques for web trackers. [Diagram 2] FIG. 1 is a block diagram of an additional exemplary system for protecting user data privacy against anti-tracking evasion techniques for web trackers. [Diagram 3] FIG. 2 is a flow diagram of an example method for protecting user data privacy against anti-tracking evasion techniques for web trackers. [Figure 4] FIG. 2 is a block diagram illustrating example HTML elements that may contain web tracking programming code in an example system for protecting against anti-tracking evasion techniques for web trackers. [Diagram 5] FIG. 2 is a block diagram illustrating example security actions that may be performed in an example system to protect against anti-tracking evasion techniques for web trackers. [Figure 6] FIG. 1 is a block diagram of an example computing system capable of implementing one or more of the embodiments described and / or illustrated herein. [Figure 7] FIG. 1 is a block diagram of an example computing network capable of implementing one or more of the embodiments described and / or illustrated herein.

[0013] Throughout the drawings, identical reference numbers and descriptions indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the present disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] The present disclosure is generally directed to systems and methods for protecting user data privacy against anti-tracking evasion techniques for web trackers. As described in more detail herein, by performing real-time tainting (i.e., associating information about known tracking scripts with created or modified HTML elements that can execute these scripts), the systems and methods described herein can identify and control the actions of hidden third-party trackers by preventing tracking scripts from retrieving native code that can be utilized to identify users, thereby preventing the collection of data that can be used to attack user privacy.

[0015] Additionally, the systems and methods described herein can improve computer network security by identifying website trackers that execute scripts intended to obtain private data (e.g., web browser cookies containing private user data) during web browsing sessions, thereby protecting against potential privacy attacks (e.g., phishing attacks) by malicious actors that utilize these website trackers.

[0016] The following provides a detailed description of an exemplary system for protecting user data privacy against anti-tracking evasion techniques for web trackers with reference to Figures 1-2. A detailed description of a corresponding computer-implemented method is also provided in relation to Figure 3. In addition, a detailed description of an exemplary HTML element that may include web tracking programming code in an exemplary system for protecting against anti-tracking evasion techniques for web trackers is also provided in relation to Figure 4. In addition, a detailed description of an exemplary security action that may be performed in an exemplary system for protecting against anti-tracking evasion techniques for web trackers is also provided in relation to Figure 5. Furthermore, a detailed description of an exemplary computing system and network architecture capable of implementing one or more of the embodiments described herein is provided in relation to Figures 6 and 7, respectively.

[0017] As shown in this figure, the exemplary system 100 may include one or more modules 102 for performing one or more tasks. As described in more detail below, the modules 102 may include a detection module 104 that detects HTML 114 associated with the website 112. The exemplary system 100 may further include an identification module 106 that identifies one or more HTML elements 116 that may execute web tracking code from the website 112. The exemplary system 100 may also include a determination module 108 that determines the presence of hidden web tracking scripts 118 based on information describing script programming code responsible for embedding the HTML elements 116 into the website 112. The exemplary system 100 may further include a security module 110 that performs security actions to protect against potential violations of user data privacy by preventing the hidden web tracking scripts 118 from the web tracking code. Although illustrated as separate elements, one or more of the modules 102 of FIG. 1 may represent portions of a single module or application.

[0018] In particular embodiments, one or more of the modules 102 in Figure 1 may represent one or more software applications or programs that, when executed by a computing device, may cause the computing device to perform one or more tasks. For example, and as described in more detail below, one or more of the modules 102 may represent modules stored in and configured to operate on one or more computing devices, such as the devices shown in Figure 2 (e.g., computing device 202 and / or server 206). One or more of the modules 102 in Figure 1 may also represent all or part of one or more special-purpose computers configured to perform one or more tasks.

[0019] 1, the exemplary system 100 may also include one or more memory devices, such as memory 140. Memory 140 generally represents any type or form of volatile or non-volatile storage device or medium capable of storing data and / or computer-readable instructions. In one embodiment, memory 140 may store, load, and / or maintain one or more of modules 102. Examples of memory 140 include, without limitation, Random Access Memory (RAM), Read Only Memory (ROM), Flash memory, Hard Disk Drive (HDD), Solid-State Drive (SSD), Optical Disk Drive, cache, any variation or combination of one or more thereof, and / or any other suitable storage memory.

[0020] As shown in FIG. 1, the exemplary system 100 may also include one or more physical processors, such as physical processor 130. Physical processor 130 generally represents any type or form of hardware-implemented processing unit capable of interpreting and / or executing computer-readable instructions. In one embodiment, physical processor 130 may access and / or modify one or more of modules 102 stored in memory 140. Additionally or alternatively, physical processor 130 may execute one or more of modules 102 to facilitate protecting user data privacy against anti-tracking evasion techniques for web trackers. Examples of physical processor 130 include, without limitation, a microprocessor, a microcontroller, a Central Processing Unit (CPU), a Field-Programmable Gate Array (FPGA) implementing a soft-core processor, an Application-Specific Integrated Circuit (ASIC), one or more portions thereof, one or more variations or combinations thereof, and / or any other suitable physical processor.

[0021] 1, the exemplary system 100 may also include a data storage 120 for storing data. In one example, the data storage 120 may store a website 112 that includes HTML 114. The data storage 120 may also store HTML elements 116 and hidden web tracking scripts 118.

[0022] The example system 100 of FIG. 1 may be implemented in a variety of ways. For example, all or a portion of the example system 100 may represent a portion of the example system 200 in FIG. 2. As shown in FIG. 2, the system 200 may include a computing device 202 in communication with a server 206 via a network 204. In one embodiment, all or a portion of the functionality of the modules 102 may be implemented by the computing device 202, the server 206, and / or any other suitable computing system. As described in more detail below, one or more of the modules 102 of FIG. 1, when executed by at least one processor of the computing device 202 and / or the server 206, may enable the computing device 202 and / or the server 206 to protect user data privacy from anti-tracking evasion techniques of web trackers.

[0023] For example, the detection module 104 may detect HTML 114 associated with the website 112. The identification module 106 may then identify one or more HTML elements 116 capable of executing web tracking code from the website 112 and / or the website 212. The determination module 108 may then determine the presence of a hidden web tracking script 118 based on the web tracker data 214 (i.e., information describing the script programming code 208 responsible for embedding the HTML element 116 in the website 112). Finally, the security module 110 may perform a security action 210 that protects against potential violations of user data privacy by preventing the hidden web tracking script 118 from executing the script programming code 208.

[0024] Computing device 202 generally represents any type or form of computing device capable of reading computer-executable instructions. In some examples, computing device 202 may be an endpoint device that executes client-side security software including online privacy protection associated with a user web browsing session. Additional examples of computing device 202 include, without limitation, laptops, tablets, desktops, servers, cellular phones, personal digital assistants (PDAs), multimedia players, embedded systems, wearable devices (e.g., smart watches, smart glasses, etc.), smart vehicles, smart packaging (e.g., active or intelligent packaging), gaming consoles, so-called Internet of Things devices (e.g., smart appliances, etc.), variations or combinations of one or more of the foregoing, and / or any other suitable computing devices.

[0025] Servers 206 generally represent any type or form of computing device capable of servicing user website requests from one or more client devices and storing third-party web tracker data. In some examples, each of servers 206 may represent multiple servers functioning and / or operating in conjunction with one another. Additional examples of servers 206 include, without limitation, security servers, application servers, web servers, storage servers, and / or database servers configured to run particular software applications and / or provide various security, web, storage, and / or database services.

[0026] Network 204 generally represents any medium or architecture capable of facilitating communication or data transfer. In one embodiment, network 204 can facilitate communication between computing device 202 and server 206. In this embodiment, network 204 may facilitate communication or data transfer using wireless and / or wired connections. Examples of network 204 include, without limitation, an intranet, a Wide Area Network (WAN), a Local Area Network (LAN), a Personal Area Network (PAN), the Internet, Power Line Communications (PLC), a cellular network (e.g., a Global System for Mobile Communications (GSM) network), one or more portions thereof, one or more variations or combinations thereof, and / or any other suitable network.

[0027] Figure 3 is a flow diagram of an example computer-implemented method 300 for protecting user data privacy against anti-tracking evasion techniques for web trackers. The steps illustrated in Figure 3 may be performed by any suitable computer-executable code and / or computing system, including system 100 of Figure 1, system 200 of Figure 2, and / or variations or combinations of one or more thereof. In one example, each of the steps illustrated in Figure 3 may represent an algorithm having a structure that includes and / or is represented by multiple sub-steps, examples of which are described in more detail below.

[0028] 3, at step 302, one or more of the systems described herein may detect HTML associated with a website displayed in a browser application. For example, detection module 104 may detect HTML 114 associated with website 112 that may be displayed in a browser application for a user as part of computing device 202 of FIG.

[0029] The detection module 104 can detect HTML 114 in a variety of ways. In some embodiments, the detection module 104 can search for an HTML document that renders a web page currently displayed on the website 112 and then detect the HTML 114 within the HTML document.

[0030] In step 304, one or more of the systems described herein may identify one or more elements within the HTML detected in step 302 that are capable of executing web tracking code from the website. For example, the identification module 106, as part of the computing device 202 of FIG. 2, may identify an HTML element 116 that is capable of executing web tracking code from the website 112.

[0031] The identification module 106 can identify the HTML elements 116 in a variety of ways. In some embodiments, the identification module 106 identifies one or more script HTML elements (i.e., <script>)を識別することができる。追加又は代替として、識別モジュールは、ウェブサイト112のHTML114内に含まれるIframe HTML要素(すなわち、<iframe>)を識別することができる。いくつかの例では、図4に示すように、HTML要素400は、実行可能プログラムコード404及び実行可能プログラムコード408をそれぞれ含むスクリプト402要素及びiframe 406要素を含むことができる。プログラムコード404及びプログラムコード408は、ウェブ追跡コード(例えば、「document.createElement」)を表してもよい。

[0032] ステップ306において、本明細書で説明されるシステムのうちの1つ以上は、HTML要素をウェブサイトに埋め込むことを担うスクリプトプログラミングコードを記述する情報に基づいて、隠しウェブ追跡スクリプトの存在を判定し得る。例えば、判定モジュール108は、図2のコンピューティングデバイス202の一部として、HTML要素116をウェブサイト112に埋め込む役割を担うスクリプトプログラミングコード208を記述する情報に基づいて、隠しウェブ追跡スクリプト118の存在を判定してもよい。

[0033] 判定モジュール108は、様々な方法で隠しウェブ追跡スクリプト118の存在を判定することができる。いくつかの実施形態では、判定モジュール108は、スクリプトプログラミングコード208に関連付けられたドメインがウェブサイト112のウェブページに関連付けられたドメインと無関係であると判定し、次いで、スクリプトプログラミングコード208を隠しウェブ追跡スクリプト118として識別してもよい。例えば、判定モジュール108は、ドメイン「tracker.net」に関連付けられたウェブトラッカがウェブサイト「example.com」のメインウェブページにスクリプトを埋め込むと判定してもよい。この判定に基づいて、判定モジュール108は、ドメイン「tracker.net」のスクリプトプログラミングコードを隠しウェブ追跡スクリプトとして識別することができる(すなわち、「tracker.net」に関連付けられたウェブトラッカは、現在実装されている可能性がある任意のウェブブラウザ追跡防止ソリューションをバイパスするために、それ自体を「example.com」に偽装している)。

[0034] ステップ308において、本明細書で説明されるシステムのうちの1つ以上は、隠しウェブ追跡スクリプトがブラウザアプリケーションにおいてウェブ追跡コードを実行することを防止することによって、ユーザデータプライバシーの潜在的な侵害に対して保護するセキュリティアクションを実行し得る。例えば、セキュリティモジュール110は、図2のコンピューティングデバイス202の一部として、隠しウェブ追跡スクリプト118の実行を防止する1つ以上のセキュリティアクション210を実行してもよい。

[0035] セキュリティモジュール110は、様々な方法でセキュリティアクション210を実行してもよい。例えば、図5に示すように、セキュリティモジュール110は、隠しウェブ追跡スクリプト508を阻止するアクション及び隠しウェブ追跡スクリプト502を修正するアクションを含むが、これらに限定されない様々なセキュリティアクション500を実行することができる。いくつかの実施形態において、隠しウェブ追跡スクリプト502の動作を阻止することは、隠しウェブ追跡スクリプト118が、クッキー504及び / 又はローカルストレージ識別子506などのウェブ追跡識別子を生成することを防止することを含み得る。追加的又は代替的に、隠しウェブ追跡スクリプト502のアクションを阻止することは、隠しウェブ追跡スクリプト118が、ウェブサイトユーザを識別するために利用される特定のJAVASCRIPT関数のネイティブコードを検索するのを防止することを含むことができる。例えば、隠しウェブ追跡スクリプト118が、そのソースとして「window.location.host」を有するiframeを作成し、次いで、「iframe.contentWindow」を使用してネイティブ関数コードを検索しようと試みる場合、隠しウェブ追跡スクリプト502のアクションを阻止すると、隠しウェブ追跡スクリプト118が、ユーザのプライバシーを攻撃するために使用され得る情報(すなわち、プライベートユーザデータ)を取得できないように、検索の試みを停止し得る。いくつかの実施形態では、隠しウェブ追跡スクリプト508アクションを修正するアクションは、プログラミングコード関数を検索するための要求を無害なデータを検索するための要求で置き換えることを含むことができる。例えば、隠しウェブ追跡スクリプト118が、ウェブサイトユーザを識別するために利用されるJAVASCRIPT機能を検索する要求を送信しようと試みる場合、隠しウェブ追跡スクリプト508を修正するアクションは、要求された機能の代わりに無害なデータ(例えば、偽の識別子又は画像ファイル)が返されるように、この要求を修正することができる。

[0036] 上記の方法300に関連して説明したように、本明細書で説明するシステム及び方法は、ウェブトラッカのための追跡防止回避技術に対してユーザデータプライバシーを保護することを提供する。本明細書で説明されるシステム及び方法は、リアルタイム汚染(すなわち、既知の追跡スクリプトについての情報を、これらのスクリプトを実行することが可能な作成又は修正されたHTML要素と関連付けること)を実行するために汚染段階を利用し得る。本明細書で説明されるシステム及び方法はまた、追跡スクリプトが、ユーザをフィンガープリントするために利用され得るネイティブコードを検索することを防止し、それによって、ユーザのプライバシーを攻撃するために使用され得るデータの収集を防止することによって、隠れたサードパーティトラッカのアクションを識別及び制御するために、制御段階を利用し得る。

[0037] 図6は、本明細書に記載及び / 又は図示される実施形態のうちの1つ以上を実装することができる例示的なコンピューティングシステム610のブロック図である。例えば、コンピューティングシステム610のうちの全て又は一部分は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に記載されるステップのうちの1つ以上(図3に示されるステップのうちの1つ以上など)を実施し得る、かつ / 又はそれを実施するための手段であってもよい。コンピューティングシステム610のうちの全て又は一部分はまた、本明細書に記載及び / 若しくは図示される任意の他のステップ、方法、若しくはプロセスを実施し得る、かつ / 又はそれを実施するための手段であってもよい。

[0038] コンピューティングシステム610は、コンピュータ可読命令を実行することができる任意のシングル又はマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム610の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム610は、少なくとも1つのプロセッサ614及びシステムメモリ616を含んでもよい。

[0039] プロセッサ614は、一般に、データを処理すること又は命令を解釈及び実行することができる、任意のタイプ又は形態の物理処理ユニット(例えば、ハードウェア実装型中央処理ユニット)を表す。特定の実施形態において、プロセッサ614は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ614に、本明細書に記載及び / 又は図示される例示的な実施形態のうちの1つ以上の機能を実施させてもよい。

[0040] システムメモリ616は、一般に、データ及び / 又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の揮発性又は不揮発性の記憶デバイス又は媒体を表す。システムメモリ616の例としては、非限定的に、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態において、コンピューティングシステム610は、揮発性メモリユニット(例えば、システムメモリ616など)及び不揮発性記憶デバイス(例えば、後に詳述するような一次記憶デバイス632など)の両方を含んでもよい。一実施例では、図1のモジュール102のうちの1つ以上は、システムメモリ616内にロードされ得る。

[0041] いくつかの実施例では、システムメモリ616は、プロセッサ614による実行のために、オペレーティングシステム640を記憶及び / 又はロードし得る。一実施例では、オペレーティングシステム640は、コンピュータハードウェア及びソフトウェアリソースを管理し、かつ / 又はコンピューティングシステム610上のコンピュータプログラム及び / 若しくはアプリケーションに共通のサービスを提供する、ソフトウェアを含む、かつ / 又は表すことができる。オペレーティングシステム640の例としては、非限定的に、LINUX、JUNOS、MICROSOFT WINDOWS、WINDOWS MOBILE、MAC OS、APPLEのIOS、UNIX、GOOGLE CHROME OS、GOOGLEのANDROID、SOLARIS、それらのうちの1つ以上の変形形態、及び / 又は任意の他の好適なオペレーティングシステムが挙げられる。

[0042] 特定の実施形態では、例示的なコンピューティングシステム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)、又は類似のバスなど)及びネットワークが挙げられる。

[0043] メモリコントローラ618は、一般に、メモリ若しくはデータを扱うこと、又はコンピューティングシステム610の1つ以上の構成要素間の通信を制御することができる、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ618は、通信基盤612を介して、プロセッサ614、システムメモリ616、及びI / Oコントローラ620の間の通信を制御してもよい。

[0044] I / Oコントローラ620は、一般に、コンピューティングデバイスの入出力機能を調整及び / 又は制御することができる、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I / Oコントローラ620は、プロセッサ614、システムメモリ616、通信インターフェース622、ディスプレイアダプタ626、入力インターフェース630、及び記憶インターフェース634などの、コンピューティングシステム610の1つ以上の要素間のデータ転送を制御又は容易にし得る。

[0045] 図6に示すように、コンピューティングシステム610はまた、ディスプレイアダプタ626を介してI / Oコントローラ620に連結された少なくとも1つのディスプレイデバイス624も含み得る。ディスプレイデバイス624は、一般に、ディスプレイアダプタ626によって転送された情報を視覚的に表示することができる、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ626は、一般に、ディスプレイデバイス624上に表示するために通信基盤612から(又は当該技術分野において既知であるように、フレームバッファから)グラフィックス、テキスト、及び他のデータを転送するように構成された任意のタイプ又は形態のデバイスを表す。

[0046] 図6に示すように、例示的なコンピューティングシステム610はまた、入力インターフェース630を介してI / Oコントローラ620に連結された少なくとも1つの入力デバイス628も含み得る。入力デバイス628は、一般に、コンピュータ又は人間のいずれかが生成した入力を例示的なコンピューティングシステム610に提供することができる任意のタイプ又は形態の入力デバイスを表す。入力デバイス628の例としては、非限定的に、キーボード、ポインティングデバイス、音声認識デバイス、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び / 又は任意の他の入力デバイスが挙げられる。

[0047] 付加的に、又は代替的に、例示的なコンピューティングシステム610は、追加のI / Oデバイスを含み得る。例えば、例示的なコンピューティングシステム610は、I / Oデバイス636を含み得る。この実施例では、I / Oデバイス636は、コンピューティングシステム610との人間の相互作用を容易にするユーザインターフェースを含み得る、かつ / 又はそれを表し得る。I / Oデバイス636の例としては、非限定的に、コンピュータマウス、キーボード、モニタ、プリンタ、モデム、カメラ、スキャナ、マイクロフォン、タッチスクリーンデバイス、それらのうちの1つ以上の変形形態若しくは組み合わせ、及び / 又は任意の他のI / Oデバイスが挙げられる。

[0048] 通信インターフェース622は、例示的なコンピューティングシステム610と1つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ又は形態の通信デバイス又はアダプタを幅広く表す。例えば、特定の実施形態では、通信インターフェース622は、コンピューティングシステム610と、追加のコンピューティングシステムを含むプライベート又はパブリックネットワークとの間の通信を容易にし得る。通信インターフェース622の例としては、非限定的に、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び任意の他の好適なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース622は、インターネットなどのネットワークへの直接リンクを介してリモートサーバへの直接接続を提供し得る。通信インターフェース622はまた、例えば、ローカルエリアネットワーク(イーサネット(登録商標)ネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通して、このような接続を間接的に提供してもよい。

[0049] 特定の実施形態では、通信インターフェース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は、実行のために、リモートデバイスから命令を受信してもよく、又はリモートデバイスに命令を送信してもよい。

[0050] いくつかの実施例では、システムメモリ616は、プロセッサ614による実行のために、ネットワーク通信プログラム638を記憶及び / 又はロードし得る。一実施例では、ネットワーク通信プログラム638は、コンピューティングシステム610が、別のコンピューティングシステム(図6には図示せず)とのネットワーク接続642を確立すること、及び / 又は通信インターフェース622を介して他のコンピューティングシステムと通信すること、を可能にする、ソフトウェアを含み得る、かつ / 又はそれを表し得る。この実施例では、ネットワーク通信プログラム638は、ネットワーク接続642を介して他のコンピューティングシステムに送信される発信トラフィックの流れを指示し得る。付加的に、又は代替的に、ネットワーク通信プログラム638は、プロセッサ614と関連してネットワーク接続642を介して他のコンピューティングシステムから受信された着信トラフィックの処理を指示し得る。

[0051] 図6にはこのようには示されていないが、ネットワーク通信プログラム638は、代替として、通信インターフェース622に記憶及び / 又はロードされ得る。例えば、ネットワーク通信プログラム638は、通信インターフェース622に組み込まれたプロセッサ及び / 又は特定用途向け集積回路(ASIC)によって実行されるソフトウェア及び / 又はファームウェアの少なくとも一部分を含み得る、かつ / 又はそれを表し得る。

[0052] 図6に示すように、例示的なコンピューティングシステム610はまた、記憶インターフェース634を介して通信基盤612に連結された、一次記憶デバイス632及びバックアップ記憶デバイス633も含み得る。記憶デバイス632及び633は、一般に、データ及び / 又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス632及び633は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース634は、一般に、記憶デバイス632及び633とコンピューティングシステム610の他の構成要素との間でデータを転送するための、任意のタイプ又は形態のインターフェース又はデバイスを表す。一実施例では、図1からのデータストレージ120は、一次記憶デバイス632内に記憶及び / 又はロードされ得る。

[0053] 特定の実施形態では、記憶デバイス632及び633は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された取り外し可能な記憶ユニットから読み取る及び / 又はそれに書き込むように構成され得る。好適な取り外し可能な記憶ユニットの例としては、非限定的に、フロッピー(登録商標)ディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス632及び633はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令がコンピューティングシステム610内にロードされることを可能にするための、他の同様の構造体又はデバイスを含んでもよい。例えば、記憶デバイス632及び633は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み書きするように構成され得る。記憶デバイス632及び633はまた、コンピューティングシステム610の一部であってもよいし、又は他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。

[0054] 他の多くのデバイス又はサブシステムが、コンピューティングシステム610に接続され得る。反対に、図6に示す構成要素及びデバイスの全てが、本明細書に記載及び / 又は図示される実施形態を実践するために存在する必要があるわけではない。上で言及したデバイス及びサブシステムはまた、図6に示されるものとは異なる手段で相互接続されてもよい。コンピューティングシステム610はまた、任意の数のソフトウェア、ファームウェア、及び / 又はハードウェア構成を用いてもよい。例えば、本明細書で開示する例示的な実施形態のうちの1つ以上は、コンピュータ可読媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用される場合、一般に、コンピュータ可読命令を記憶又は保有することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピー(登録商標)ディスク)、光学記憶媒体(例えば、コンパクトディスク(Compact Disk、CD)、デジタルビデオディスク(Digital Video Disk、DVD)、及びブルーレイ(BLU-RAY)ディスク(登録商標))、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュ媒体)、並びに他の分散システムなどの非一時的媒体が挙げられる。

[0055] コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム610内にロードされ得る。コンピュータ可読媒体に記憶されているコンピュータプログラムのうちの全て又は一部分は、次いで、システムメモリ616内に、並びに / 又は記憶デバイス632及び633の様々な部分内に記憶され得る。プロセッサ614によって実行されると、コンピューティングシステム610内にロードされたコンピュータプログラムは、プロセッサ614に、本明細書に記載及び / 若しくは図示される例示的な実施形態のうちの1つ以上の機能を実施させることができ、かつ / 又はそれらを実施するための手段とすることができる。付加的に、又は代替的に、本明細書に記載及び / 又は図示される例示的な実施形態のうちの1つ以上は、ファームウェア及び / 又はハードウェアに実装されてもよい。例えば、コンピューティングシステム610は、本明細書に開示される例示的な実施形態のうちの1つ以上を実装するように適合された特定用途向け集積回路(ASIC)として構成され得る。

[0056] 図7は、クライアントシステム710、720、及び730、並びにサーバ740及び745がネットワーク750に連結され得る例示的なネットワークアーキテクチャ700のブロック図である。上で詳述したように、ネットワークアーキテクチャ700のうちの全て又は一部分は、単独で又は他の要素と組み合わせてのいずれかで、本明細書に開示されるステップのうちの1つ以上(図3に示されるステップのうちの1つ以上など)を実施し得る、かつ / 又はそれを実施するための手段であり得る。ネットワークアーキテクチャ700のうちの全て又は一部分はまた、本開示に記載される他のステップ及び特徴を実施するために使用されてもよく、並びに / 又はこれらを実施するための手段であってもよい。

[0057] クライアントシステム710、720、及び730は、一般に、図6の例示的なコンピューティングシステム610など、任意のタイプ又は形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ740及び745は、一般に、様々なデータベースサービスを提供する及び / 又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを表す。ネットワーク750は、一般に、例えば、イントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信ネットワーク又はコンピュータネットワークを表す。一実施例では、クライアントシステム710、720、及び / 若しくは730、並びに / 又はサーバ740及び / 若しくは745は、図1のシステム100のうちの全て又は一部分を含み得る。

[0058] 図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)デバイスを表してもよい。

[0059] サーバ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は、一般に、データ及び / 又は他のコンピュータ可読命令を記憶することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。

[0060] 特定の実施形態では、及び図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は、データを交換するために(インターネットなどの)ネットワークを使用することを示しているが、本明細書に記載及び / 又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。

[0061] 少なくとも1つの実施形態では、本明細書に開示される例示的な実施形態のうちの1つ以上のうちの全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ740、サーバ745、記憶デバイス760(1)~(N)、記憶デバイス770(1)~(N)、記憶デバイス790(1)~(N)、インテリジェント記憶アレイ795、又はこれらの任意の組み合わせ上にロードされ、これらによって実行され得る。本明細書に開示される例示的な実施形態のうちの1つ以上のうちの全て又は一部分はまた、コンピュータプログラムとしてコード化され、サーバ740に記憶され、サーバ745によって実行され、ネットワーク750を通じてクライアントシステム710、720、及び730に分散されてもよい。

[0062] 上で詳述したように、コンピューティングシステム610、及び / 又はネットワークアーキテクチャ700の1つ以上の構成要素は、単独で又は他の要素と組み合わせて、ウェブトラッカの追跡防止回避技術からユーザデータプライバシーを保護するための例示的な方法の1つ以上のステップを実施してもよく、かつ / 又は実施するための手段であってもよい。

[0063] 前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び / 又は図示されるそれぞれのブロック図の構成要素、フローチャートのステップ、動作、及び / 又は構成要素は、個別に及び / 又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(若しくはそれらの任意の組み合わせ)の構成を使用して実装されてもよい。加えて、同じ機能性を達成するように他の多くのアーキテクチャを実装することができるので、他の構成要素内に包含される構成要素のいかなる開示も、本質的に例示とみなされるべきである。

[0064] いくつかの実施例では、図1の例示的なシステム100のうちの全て又は一部分は、クラウドコンピューティング環境又はネットワークベースの環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載される様々な機能は、リモートデスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を通して提供されてもよい。

[0065] 様々な実施形態では、図1の例示的なシステム100のうちの全て又は一部分は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載されるソフトウェアモジュールは、本明細書に記載される機能のうちの1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成してもよい。例えば、本明細書に記載されるソフトウェアモジュールのうちの1つ以上は、2つ以上のクライアント(例えば、顧客)がサーバ上で実行しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客(すなわち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び / 又は記憶システムを共有してもよい。本明細書に記載されるモジュールのうちの1つ以上はまた、ある顧客が別の顧客のデータ及び / 又は設定情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び / 又は設定情報を分割してもよい。

[0066] 様々な実施形態によれば、図1の例示的なシステム100のうちの全て又は一部分は、仮想環境内で実装されてもよい。例えば、本明細書に記載されるモジュール及び / 又はデータは、仮想機械内で常駐及び / 又は実行してもよい。本明細書で使用される場合、「仮想機械」という用語は、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽象化される、任意のオペレーティングシステム環境を指す。付加的に、又は代替的に、本明細書に記載されるモジュール及び / 又はデータは、仮想化層内で常駐及び / 又は実行してもよい。本明細書で使用される場合、「仮想化層」という用語は、概して、オペレーティングシステム環境にオーバーレイする、かつ / 又はそこから抽象化される、任意のデータ層及び / 又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び / 又はレジストリ内の場所に方向付けられるコールを、仮想化層内の場所にリダイレクトしてもよい。

[0067] いくつかの実施例では、図1の例示的なシステム100のうちの全て又は一部分は、モバイルコンピューティング環境の部分を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダ、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイを有するコンピューティングデバイス、スマートウォッチなど)などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。いくつかの実施例では、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での1つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、場所及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、かつ / 又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアからのみ生じるように)制限する制御などを含む、1つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、かつ / 又はモバイルコンピューティング環境と相互作用し得る。

[0068] 加えて、図1の例示的なシステム100のうちの全て又は一部分は、情報管理のための1つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって作成されるデータを消費してもよく、かつ / 又はそれによって消費されるデータを作成してもよい。本明細書で使用される場合、「情報管理」という用語は、データの保護、組織化、及び / 又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。

[0069] いくつかの実施形態では、図1の例示的なシステム100のうちの全て又は一部分は、情報セキュリティのための1つ以上のシステムの部分を表してもよく、それによって保護されるデータを作成してもよく、かつ / 又はそれと通信してもよい。本明細書で使用される場合、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。

[0070] いくつかの実施例によれば、図1の例示的なシステム100のうちの全て又は一部分は、エンドポイントセキュリティのための1つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ / 又はそれから保護を受けてもよい。本明細書で使用される場合、「エンドポイントセキュリティ」という用語は、不正及び / 若しくは違法な使用、アクセス、並びに / 又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザ認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。

[0071] 本明細書に記載及び / 又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び / 又は記載されるステップは特定の順序で図示又は考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び / 又は図示される様々な例示的な方法はまた、本明細書に記載及び / 又は図示されるステップのうちの1つ以上を省略してもよく、又は開示されるものに加えて追加のステップを含んでもよい。

[0072] 様々な実施形態が、完全に機能的なコンピューティングシステムの文脈において本明細書に記載及び / 又は図示されているが、これら例示的な実施形態のうちの1つ以上は、実際に分散を行うために使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として分散され得る。本明細書に開示される実施形態はまた、特定のタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに記憶されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの1つ以上を実施するようにコンピューティングシステムを構成してもよい。

[0073] 加えて、本明細書に記載されるモジュールのうちの1つ以上は、データ、物理的デバイス、及び / 又は物理的デバイスの表現を、1つの形態から別の形態へと変換してもよい。付加的に、又は代替的に、本明細書に列挙されるモジュールのうちの1つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを記憶し、かつ / 又は別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び / 又は物理的コンピューティングデバイスの任意の他の部分を、1つの形態から別の形態へと変換してもよい。

[0074] 上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正形態及び変形形態が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないとみなされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。

[0075] 別途記載のない限り、「~に接続される」及び「~に連結される」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用される場合、直接的接続及び間接的接続(すなわち、他の要素若しくは構成要素を介する)の両方を許容するものとして解釈されるものである。加えて、「a」又は「an」という用語は、本明細書及び特許請求の範囲で使用される場合、「~のうち少なくとも1つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用される場合、「備える」という単語と互換性があり、同じ意味を有する。< / script>

Claims

1. 1. A computer-implemented method for protecting user data privacy against anti-tracking evasion techniques for web trackers, the method being at least partially performed by a computing device having at least one processor, the method comprising: detecting, by the one or more computing devices, a hypertext markup language (HTML) associated with a website displayed in a browser application; identifying one or more elements within the HTML that are capable of executing web tracking code from the website by the one or more computing devices; determining, by the one or more computing devices, the presence of a hidden web tracking script based on information describing script programming code responsible for embedding the HTML element into the website; performing, by the one or more computing devices, a security action to protect against potential violations of user data privacy by preventing the hidden web tracking script from executing the web tracking code within the browser application; 4. A computer-implemented method comprising:

2. Detecting the HTML associated with the website includes: retrieving an HTML document that renders a web page currently displayed on the website; and detecting the HTML within the HTML document.

3. The computer-implemented method of claim 1 , wherein identifying the HTML capable of executing the web tracking code comprises identifying a script HTML element.

4. The computer-implemented method of claim 1 or 2, wherein identifying the HTML on which the web tracking code can be executed includes identifying an iframe HTML element.

5. Determining the presence of a hidden web tracking script includes: determining that a domain associated with the script programming code is unrelated to a domain associated with a web page of the website; and identifying the script programming code as the hidden web tracking script.

6. The computer-implemented method of claim 1 , wherein the security action includes preventing the hidden web tracking script from generating a web tracking identifier.

7. The web tracking identifier is Web tracking cookies, or The computer-implemented method of claim 6 including at least one of a local storage identifier utilized to store user data.

8. The computer-implemented method of claim 1 or 6, wherein the security action includes preventing the hidden web tracking script from retrieving programming code functions utilized to obtain private user data.

9. 10. The computer-implemented method of claim 1 or 6, wherein the security action includes modifying execution of the hidden web tracking script to prevent retrieval of programming code functions utilized to obtain private user data.

10. 10. The computer-implemented method of claim 9, wherein modifying the execution of the hidden web tracking script to prevent retrieving programming code functions utilized to obtain private user data comprises replacing requests to retrieve the programming code functions with requests to retrieve harmless data.

11. 1. A system for protecting user data privacy against anti-tracking evasion techniques for web trackers, the system comprising: at least one physical processor; A physical memory containing computer-executable instructions and one or more modules, the computer-executable instructions, when executed by the physical processor, causing the physical processor to: detecting, by the detecting means, a hypertext markup language (HTML) associated with a website displayed in the browser application; causing the identifying means to identify one or more elements within the HTML capable of executing web tracking code from the website; causing a means for determining to determine the presence of a hidden web tracking script based on information describing script programming code responsible for embedding the HTML element into the website; a physical memory that performs security actions to protect against potential violations of user data privacy by preventing the hidden web tracking script from executing the web tracking code in the browser application by a security measure; A system comprising:

12. The means for detecting detects the HTML associated with the website by: retrieving an HTML document that renders a web page currently displayed on the website; Detecting the HTML in the HTML document.

13. 12. The system of claim 11, wherein the means for identifying identifies the HTML capable of executing the web tracking code by identifying a scripting HTML element.

14. 14. The system of claim 11 or 13, wherein the means for identifying identifies the HTML in which the web tracking code can be executed by identifying an inline frame (iframe) HTML element.

15. The means for determining detects the presence of a hidden web tracking script by: determining that a domain associated with the script programming code is unrelated to a domain associated with a web page of the website; and identifying the script programming code as the hidden web tracking script.

Citation Information

Patent Citations

  • Method for detecting web tracking services

    JP2019505865A

  • Systems for and methods for detecting URL web tracking and consumer opt-out cookies

    US20110191664A1

  • System and method for transforming online content

    US20170237823A1

  • Systems and methods for detecting the presence of web tracking

    US9197711B1

  • Analysis device, analysis method, and analysis program

    WO2017077847A1