The technical field relates to computer security systems and methods. More specifically, the technical field relates to systems and methods for providing security for a digital content marketplace.
Digital content marketplaces provide convenient distribution platforms for digital content. In many digital content marketplaces, a digital content marketplace client on an end user's device typically allows digital content to be downloaded and initially accessed by the device. Many mobile and traditional operating systems include or are affiliated with some form of digital content marketplace.
However, many digital content marketplaces face security issues, since many do not closely monitor publishers or digital content. These digital content marketplaces leave users vulnerable to digital content that contains malicious code. As a result, most digital content marketplaces provide little control for end users or Information Technology (IT) departments to further manage access. It would be helpful if systems and methods existed that could secure digital content marketplaces to protect end users from malicious code and allow end users and IT departments greater control.
In a system, a digital content marketplace filter engine may be configured to identify a communication between a digital content marketplace client and a digital content marketplace server. An analysis engine may be configured to review the communication against a digital content marketplace policy. A response engine configured to block, allow or modify the communication to conform to the digital content marketplace policy.
In some embodiments, the communication comprises a search request for one or more digital content items. The communication may include search results in response to a search request for digital content items.
In an embodiment, the digital content marketplace policy may include a whitelist or a blacklist of digital content items. The digital content marketplace policy may include at least one attribute associated with each digital content item. The at least one attribute may include title, publisher, size, hardware requirements, metadata or tags. Moreover, the digital content marketplace policy may include at least one budget factor. Further, the at least one budget factor may include a maximum price per digital content item, a maximum budget per time period, or a maximum number of downloads per time period.
In various embodiments, the digital content marketplace policy includes at least one metric associated with each digital content item. The at least one metric includes number of downloads, user rating, or popularity.
In a method, communication between a digital content marketplace client and a digital content marketplace server may be identified. The communication may be reviewed against a digital content marketplace policy. The communication may be blocked, allowed, or modified to conform to the digital content marketplace policy.
In some embodiments, the communication comprises a search request for one or more digital content items. The communication may include search results in response to a search request for digital content items.
In an embodiment, the digital content marketplace policy may include a whitelist or a blacklist of digital content items. The digital content marketplace policy may include at least one attribute associated with each digital content item. The at least one attribute may include title, publisher, size, hardware requirements, metadata or tags. Moreover, the digital content marketplace policy may include at least one budget factor. Further, the at least one budget factor may include a maximum price per digital content item, a maximum budget per time period, or a maximum number of downloads per time period.
In various embodiments, the digital content marketplace policy includes at least one metric associated with each digital content item. The at least one metric includes number of downloads, user rating, or popularity.
A system may include: means for identifying a communication between a digital content marketplace client and a digital content marketplace server; means for reviewing the communication against a digital content marketplace policy; and means for blocking, allowing or modifying the communication to conform to the digital content marketplace policy.
Other features and embodiments are apparent from the accompanying drawings and from the detailed description.
The digital content marketplace server(s) 105 may include a digital device configured to distribute digital content to the user device 120a. “Digital content,” as referred to herein, may refer to any item of content that can be represented in a format compatible with a digital device. Examples of digital content include digital applications compatible with digital devices, digital books, digital music, and digital video. In some embodiments, the digital content marketplace server(s) 105 allows digital content publishers to publish digital content. Digital content publishers may include publishers affiliated with the entity that manages the digital content marketplace server(s) 105 as well as third-party publishers who are not affiliated with the entity that manages the digital content marketplace server(s) 105. The digital content marketplace server(s) 105 may allow users to access published digital content. For example, the digital content marketplace server(s) 105 may allow users to download, install, and/or stream digital applications, digital books, digital music, and digital video.
The digital content marketplace server(s) 105 may store and/or index digital content and may allow users to perform searches and take other actions with respect to digital content. More particularly, the digital content marketplace server(s) 105 may allow users to search for digital content that has been published. In some embodiments, the digital content marketplace server(s) 105 provides categories of digital content for users to browse. The digital content marketplace server(s) 105 may also provide metrics about digital content, such as sizes of digital content, resources consumed by digital content, ratings, downloads and other metrics about the digital content.
The digital content marketplace server(s) 105 may be associated with a specific operating platform of the user device 120, such a specific operating system of the user device 120. For example, the digital content marketplace server(s) 105 may be associated with a mobile operating system such as the iOS operating system, the Android operating system, and the Windows Phone operating system. The digital content marketplace server(s) 105 may also be associated with a Mac-based operating system, a Linux-based operating system, or a Windows-based operating system. The digital content marketplace server(s) 105 may be a server corresponding to the iOS App Store, the Mac App Store, the iTunes Store, the Kindle Store, the Google Play Store, the Windows Phone Store, or the Windows Store. In some embodiments, the digital content marketplace server(s) 105 need not be affiliated with an operating platform of the user device 120. For example, the digital content marketplace server(s) 105 may be maintained by a vendor of digital content (such as Amazon or Netflix) that distributes digital content but does not maintain an operating platform for the user device 120.
The marketplace security management server(s) 110 may include a digital device configured to manage the marketplace security system 165a and/or the marketplace security policies 170. The marketplace security management server(s) 110 may install the marketplace security system 165a and/or the marketplace security policies 170. The marketplace security management server(s) 110 may also maintain a master list of security policies with the latest security policy definitions. The master list of security policies may be used to update the marketplace security policies 170. In some embodiments, the marketplace security management server(s) 110 is managed by an entity that provides Information Technology (IT) services. Examples of such an entity include a member of the IT department of an enterprise, a parent of a user of the user device 120a, and an entity maintaining the security of the computer network 115. The entity providing the IT services corresponds to the entity managing the digital content marketplace server(s) 105 in an embodiment. Although
The computer network 115 may include a medium that couples digital devices to one another. The computer network 115 may include technologies such as Ethernet, 802.11x, worldwide interoperability for microwave access WiMAX, 2G, 3G, 4G, CDMA, GSM, LTE, digital subscriber line (DSL), and/or the like. The computer network 115 may further include networking protocols such as multiprotocol label switching (MPLS), transmission control protocol/Internet protocol (TCP/IP), User Datagram Protocol (UDP), hypertext transport protocol (HTTP), simple mail transfer protocol (SMTP), file transfer protocol (FTP), and/or the like. The data exchanged over the computer network 115 can be represented using technologies and/or formats including hypertext markup language (HTML) and extensible markup language (XML). In addition, all or some links can be encrypted using conventional encryption technologies such as secure sockets layer (SSL), transport layer security (TLS), and Internet Protocol security (IPsec). Though element 115 is labeled a “computer network” in
The user device 120a may include a digital device that allows a user to interact with digital content published by the digital content marketplace server(s) 105. The user device 120a may include a mobile phone, a Personal Data Assistant (PDA), a tablet computing device, a laptop computer, a desktop computer, or some combination thereof. The user device 120a may include a user device processor 125, a network interface 130, a digital content marketplace client 135, a marketplace data redirector(s) 140a, and an internal marketplace security chip 145.
The user device processor 125 may include a shared or dedicated processor configured to execute instructions loaded in a memory of the user device 120a. The user device processor 125 may include a general purpose processor that executes an operating system, processes, and applications loaded into the memory of the user device 120a. The user device processor 125 may provide instructions to execute the network interface 130, the digital content marketplace client 135, and the marketplace data redirector(s) 140a.
The network interface 130 may include hardware, firmware, and/or software configured to receive data from the computer network 115 and provide data to the computer network 115. The network interface 130 may be compatible with the transmission protocols of the computer network 115 and other portions of the user device 120a.
The digital content marketplace client 135 may include hardware, firmware, and/or software configured to provide access to the digital content marketplace server(s) 105. In an embodiment, the digital content marketplace client 135 provides facilitates search for digital content on the digital content marketplace server(s) 105. The digital content marketplace client 135 may also receive search results of digital content on the digital content marketplace server(s) 105. The digital content marketplace client 135 may further provide the ability to view categories of digital content and metrics associated with digital content.
The digital content marketplace client 135 may facilitate installation and/or access of digital content on the user device 120a. For example, the digital content marketplace client 135 may download and initiate installation of applications from the digital content marketplace server(s) 105. As another example, the digital content marketplace client 135 may download or initiate streaming digital books, digital music, or digital video that the user device 120a has been authorized to access. The digital content marketplace client 135 may also facilitate installation of processes and/or applications (digital book readers, digital music or digital video players, etc.) that are required to access the digital content items. Examples of the digital content marketplace client 135 include portions of the iOS App Store client application, the Mac App Store client application, the iTunes client application, the Kindle Reader, the Google Play client application, the Windows Phone Store client application, and the Windows Store client application.
The marketplace data redirector(s) 140a may include hardware, firmware, and/or software to redirect the data going to and coming from the digital content marketplace client 135 to the internal marketplace security chip 145. In some embodiments, the marketplace data redirector(s) 140a identifies marketplace communications (Hypertext Transfer Protocol (HTTP) communications, API calls, Wi-Fi communications, Ethernet communications, Bluetooth communications, etc.) to and from the digital content marketplace client 135. The marketplace data redirector(s) 140a may further redirect these marketplace communications to the internal marketplace security chip 145. For instance, the marketplace data redirector(s) 140a may redirect to the internal marketplace security chip 145 all requests to search digital content in the digital content marketplace server(s) 105. As another example, the marketplace data redirector(s) 140a may redirect to the internal marketplace security chip 145 results of the search requests coming from the digital content marketplace server(s) 105. As yet another example, the marketplace data redirector(s) 140a may redirect to the internal marketplace security chip 145 all requests to install, update, and/or modify digital content on the user device 120a. In various embodiments, the marketplace data redirector(s) 140a is implemented using a library of code that is executed by the user device processor 125.
Although
The internal marketplace security chip 145 may include hardware coupled to an internal port or embedded within the user device 120a. In an embodiment, the internal marketplace security chip 145 is implemented as a non-volatile memory card, such as a Secure Digital (SD) card. For example, the internal marketplace security chip 145 may be implemented as a standard SD card, a miniSD card, or a microSD card. The internal marketplace security chip 145 may also be implemented in other known or convenient formats, such as in a SmartMedia (SM) or a Personal Computer Memory Card International Association (PCMCIA) card. The internal marketplace security chip 145 may include a security chip processor 150, a marketplace security system 165a, and marketplace security policies 170.
The security chip processor 150 may include a shared or dedicated processor configured to execute the processes associated with the internal marketplace security chip 145. The security chip processor 150 may be separate and independent of the user device processor 125 described herein. In an embodiment, the security chip processor 150 is a secure processor. More specifically, the security chip processor 150 may implement encryption and other security algorithms to ensure the contents of the internal marketplace security chip 145 are protected from unauthorized access. The security chip processor 150 may store use secure memory of the internal marketplace security chip 145 for its operations. In an embodiment, the security chip processor 150 may provide instructions to execute the marketplace security system 165a.
The marketplace security system 165a may include hardware, firmware, and/or software to provide security for the data going to and coming from the digital content marketplace client 135. The marketplace security system 165a may be a miniature server, based on commercial hardware (with Intel's Xscale as the core), Linux OS and network services, and an open-source firewall. The marketplace security system 165a may be based on an embedded OS, such as a version of embedded Linux. The marketplace security system 165a may receive the marketplace communications from the marketplace data redirector(s) 140a. The marketplace security system 165a may further evaluate the marketplace communications in accordance with the marketplace security policies 170, as describe herein. Based on the marketplace security policies 170, the marketplace security system 165a may determine whether to allow, deny, or modify the marketplace communications based on the marketplace security policies 170. To continue the foregoing examples, the marketplace security system 165a may determine whether to allow, deny, or modify a particular search request and/or particular search results based on the marketplace security policies 170. The marketplace security system 165a may further determine whether to allow, deny, or modify installation of digital content based on the marketplace security policies 170. In an embodiment, the marketplace security system 165a may be executed by the security chip processor 150, and may be controlled by the marketplace security management server(s) 110.
The marketplace security policies 170 may include hardware, firmware, and/or software datastores configured to support the marketplace security system 165a. In an embodiment, the marketplace security policies 170 include policies related to the types of search requests, search results, and digital content that are to be allowed, denied, or modified. For example, the marketplace security policies 170 may include policies related to acceptable and/or unacceptable search requests and acceptable and/or unacceptable search results. The marketplace security policies 170 may also include policies related to acceptable and/or unacceptable digital content types, policies related to malware definitions, and policies that implement content analysis and risk assessment definitions. In various embodiments, the marketplace security policies 170 include policies related to of acceptable and/or unacceptable metrics about digital content. The marketplace security policies 170 may further include policies related to Digital Rights Management (DRM) definitions and/or other information relating to whether digital content is to be allowed, denied, or modified. The marketplace security policies 170 may be controlled and may receive updates from the marketplace security management server(s) 110.
The user device 120b includes a user device processor 125, a network interface 130, a digital content marketplace client 135, a marketplace security system 165, and marketplace security policies 170. The user device processor 125, the network interface 130 and the digital content marketplace client 135 may be similar to their counterparts in
In an embodiment, the marketplace security system 165b implements the features of the marketplace data redirector(s) 140a and the marketplace security system 165a, which are discussed in conjunction with
The user device 120c includes a user device processor 125, a network interface 130, a digital content marketplace client 135, and a marketplace data redirector(s) 140c. The user device processor 125, the network interface 130 and the digital content marketplace client 135 may be similar to their counterparts in
The external marketplace security chip 155 may include hardware coupled to an external port of the user device 120c. In some embodiments, the external marketplace security chip 155 is coupled to the user device 120c using a Universal Serial Bus (USB) port, a network interface, or a data port.
The external marketplace security chip 155 may include an external security processor 160, a marketplace security system 165c, and marketplace security policies 170. The external security processor 160 may include shared or dedicated processor configured to execute the processes associated with the external marketplace security chip 155. The external security processor 160 may be separate and independent of the user device processor 125, and may comprise a secure processor. The external security processor 160 may implement encryption and other security algorithms to ensure the contents of the external marketplace security chip 155 are protected from unauthorized access. The external security processor 160 may store use secure memory of the external marketplace security chip 155 for its operations. In an embodiment, the external security processor may provide instructions to execute the marketplace security system 165c. The marketplace security system 165c and the marketplace security policies 170 may operate similarly to their counterparts in
The marketplace data redirector interface engine 205 may interface with the marketplace data redirector(s) 140 (shown as the marketplace data redirector(s) 140a in
The digital content marketplace filter engine 210 may filter communications to and communications from the digital content marketplace client 135. More specifically, the digital content marketplace filter engine 210 may identify which communications fall under the marketplace security policies 170. For instance, the digital content marketplace filter engine 210 may filter search requests relating to searches for digital content on the digital content marketplace server(s) 105. As another example, the digital content marketplace filter engine 210 may filter the results of searches for digital content. As yet another example, the digital content marketplace filter engine 210 may filter requests to install, update, modify, etc. digital content. The digital content marketplace filter engine 210 may provide filtered communications to the other engines of the marketplace security system 165. For example, the digital content marketplace filter engine 210 may provide search requests to the search request security analysis engine 215. The digital content marketplace filter engine 210 may further provide results of search requests to the search results security analysis engine 230. Moreover, the digital content marketplace filter engine 210 may provide requests to install, update, modify, etc. digital content to the digital content security analysis engine 240.
The search request security analysis engine 215 may identify portions of a search request that are relevant to determining whether the search request is likely to obtain unauthorized digital content. In some embodiments, a search request is in plain text format. In these embodiments, the search request security analysis engine 215 parses the plain text of the search request, and identifies digital content names, digital content publishers, and/or digital content categories. The search request security analysis engine 215 may further identify levels and/or types of access to the digital content marketplace server(s) 105 sought by a search request. The search request security analysis engine 215 may analyze whether the search request requests paid digital content and/or how much those items of paid digital content cost. The search request security analysis engine 215 may provide the information from the search requests to the security policy interface engine 220.
The security policy interface engine 220 may provide relevant portions of the marketplace security policies 170 to the other engines of the marketplace security system 165. More specifically, the security policy interface engine 220 may obtain portions of the marketplace security policies 170 relating to the types of digital content marketplace search requests and/or search results that should be allowed or denied. The security policy interface engine 220 may also obtain portions of the marketplace security policies 170 to analyze digital content, as described further herein. In some embodiments, the security policy interface engine 220 is used to update the marketplace security policies 170. More specifically, the security policy interface engine 220 may receive updates to definitions, white- and/or black-lists, and/or other portions of the marketplace security policies 170 from the marketplace security management server(s) 110. The security policy interface engine 220 may provide these updates to the marketplace security policies 170 to ensure the security policies reflect the most recent definitions and lists.
The search request response engine 225 may decide whether a search request violates the marketplace security policies 170. The search request response engine 225 may interface with the search request security policy 605, shown in
The search request response engine 225 may provide instructions to allow, deny, or modify the search request based on whether the search request violates the marketplace security policies 170. The search request response engine 225 may deny an unpermitted search request access to the computer network 115 and/or the digital content marketplace server(s) 105. The search request response engine 225 may also replace an unpermitted search request with another search request that is similar to the unpermitted search request, but that is in conformance with the marketplace security policies 170. As an example, the search request response engine 225 may replace search terms related to an unpermitted search request for network optimizing software with new search terms seeking a permitted type of software. As another example, the search request response engine 225 may remove inappropriate search terms (e.g., gambling-oriented or adult-oriented search terms) from a search. In some embodiments, the search request response engine 225 instructs the digital content marketplace client interface engine 250 whether a particular search request is to be allowed, denied, or modified.
The search results security analysis engine 230 may identify portions of search results that are relevant to determining whether a set of search results violates the marketplace security policies 170. In some embodiments, the search results security analysis engine 230 parses search results from the digital content marketplace server(s) 105. The search results security analysis engine 230 may further analyze the parsed search results for digital content names, digital content publishers, digital content categories, levels and/or types of access sought by digital content, whether digital content is paid or free, how much paid digital content would cost, metrics related to the digital content, etc. The search results security analysis engine 230 may provide the relevant portions of search results to the search results response engine 235 and/or the digital content security analysis engine 240.
The search results response engine 235 may decide whether specific search results violate the marketplace security policies 170. The search results response engine 235 may interface with the search results security policy 610, shown in
The digital content security analysis engine 240 may analyze digital content for compliance with the marketplace security policies 170. In some embodiments, the digital content security analysis engine 240 verifies attributes of digital content. “Attributes” of digital content may include properties of digital content or anything that can provide a description of digital content. Examples of attributes of digital content include titles, publishers, sizes, hardware requirements, metadata, and/or tags associated with digital content. The digital content security analysis engine 240 may also analyze digital content for malware, perform content analysis and/or risk assessment algorithms, and determine appropriate digital content metrics. Digital content “metrics,” as used herein, may refer to measures related to how digital content is distributed. Examples of digital content metrics include popularity of digital content, ratings related to digital content, and the number of times digital content has been downloaded. The digital content security analysis engine 240 may further evaluate digital content for compliance with DRM rules (e.g., to ensure digital content is only accessed with an appropriate license). In various embodiments, the digital content security analysis engine 240 provides its analysis of the digital content before the digital content is installed on the user device 120.
The digital content security response engine 245 may decide whether specific digital content violates the marketplace security policies 170. The digital content security response engine 245 may interface with one or more of the digital content attribute verification policy 615, the digital content malware analysis security policy 620, the content analysis policy 625, and the digital rights management policy 630, shown in
The digital content marketplace client interface engine 250 may interface with the digital content marketplace client 135. The digital content marketplace client interface engine 250 may provide modified search requests, modified search results, and/or modified digital content to the user device 120 to display digital content that complies with the marketplace security policies 170. For example, the digital content marketplace client interface engine 250 may provide modified search requests to the user device 120 based on instructions from the search request response engine 225. As another example, the digital content marketplace client interface engine 250 may provide modified search results to the user device 120 based on corresponding instructions from the search results response engine 235. Moreover, the digital content marketplace client interface engine 250 may provide modified digital content to the user device 120 based on instructions from the digital content security response engine 245. In some embodiments, the digital content marketplace client interface engine 250 may instruct security software on the user device 120 to modify the search request, search results and/or digital content, before the digital content is presented and/or installed.
The search request parsing engine 305 may parse a search request for language related to digital content, for digital content access levels, and for digital content budgets. In an embodiment, the search request is in plain text format. The search request parsing engine 305 may remove irrelevant characters (non-alphanumeric symbols, server names, hypertext functional strings, etc.) when performing parsing. The search request parsing engine 305 may provide the parsed search request to the search request attribute analysis engine 310, the search request access analysis engine 315, and/or the search request budget analysis engine 320.
The search request attribute analysis engine 310 may extract attributes of digital content from a parsed search request. For example, the search request attribute analysis engine 310 may identify digital content names, digital content publishers, the publication date of digital content, and digital content categories in a parsed search request. The search request attribute analysis engine 310 may provide the extracted information to the search request response engine 225 as discussed herein.
The search request access analysis engine 315 may analyze whether the search request is requesting digital content requiring secure resources of the user device 120. More specifically, the search request access analysis engine 315 may analyze whether the search request is seeking digital content that requires additional security to install (e.g., digital content that can modify operating system processes, digital content that interfaces with device drivers, digital content that is automatically loaded on startup, and digital content that requires administrator privileges to install). The search request access analysis engine 315 may provide the extracted information to the search request response engine 225 as discussed herein.
The search request budget analysis engine 320 may analyze whether the search request seeks paid content. In an embodiment, the search request budget analysis engine 320 analyzes whether the search request contains the word “free” (or some other word indicating free content), the word “paid” (or other word indicating paid content), currency symbols, etc. The search request budget analysis engine 320 may further evaluate the search request for the presence of words that indicate paid and/or premium content, such as “paid,” “purchase,” or “premium.” The search request budget analysis engine 320 may provide the extracted information to the search request response engine 225 as discussed herein.
The search request metrics analysis engine 325 may analyze metrics related to a search request. The search request metrics analysis engine 325 may identify installation sizes and/or memory and other resources digital content in a search request is likely to consume. The search request metrics analysis engine 325 may further identify ratings (e.g., points, stars likes, positive reviews, and/or negative reviews). The search request metrics analysis engine 325 may provide the extracted information to the search request response engine 225, as discussed herein.
The search request digital rights management engine 330 may evaluate a search request for compliance with digital rights management policies. In some embodiments, the search request digital rights management engine 330 evaluates digital content in search requests for the presence or absence of watermarks, licenses, and other tamper-prevention technologies. The search request digital rights management engine 330 may interface with the digital rights management policy 630, shown in
The search results parsing engine 405 may parse search results for information related to digital content, for digital content access levels, for digital content budgets, and for digital content metrics. In some embodiments, the search results are in a binary encoded format. The search results parsing engine 405 may convert the search results to a text string, may remove irrelevant characters, and may extract the relevant information from the search results. The search results parsing engine 405 may provide the parsed search results to the search results attribute analysis engine 410, the search results access analysis engine 415, the search results budget analysis engine 420, and/or the digital content metrics analysis engine.
The search results attribute analysis engine 410 may extract information about digital content (e.g., digital content names, digital content publishers, and digital content categories) provided by the search results. The search results attribute analysis engine 410 may provide the extracted information to the search results response engine 235 as discussed herein.
The search results access analysis engine 415 may analyze whether the search results include digital content requiring secure resources of the user device 120. The search results access analysis engine 415 may determine whether search results are providing digital content that requires additional security to install. The search results access analysis engine 415 may provide the extracted information to the search results response engine 235 as discussed herein.
The search results budget analysis engine 420 may analyze whether the search results include paid content, and if so, prices and other information related to the paid content. More specifically, the search results budget analysis engine 420 may analyze whether the search results include the words “free” or “paid,” currency symbols, etc. The search results budget analysis engine 420 may provide the extracted information to the search results response engine 235 as discussed herein.
The search results metrics analysis engine 425 may analyze metrics related to digital content in the search results. More specifically, the search results metrics analysis engine 425 may identify installation sizes and/or memory and other resources digital content is likely to consume. The search results metrics analysis engine 425 may further identify ratings related to digital content. For example, the search results metrics analysis engine 425 may identify points, stars, or likes digital content has received. The search results metrics analysis engine 425 may further identify positive and/or negative reviews of digital content. The search results metrics analysis engine 425 may provide the extracted information to the search results response engine 235 as discussed herein.
The search results digital rights management engine 430 may evaluate search results for compliance with digital rights management policies. In some embodiments, the search results digital rights management engine 430 evaluates digital content in search results for the presence or absence of watermarks, licenses, and other tamper-prevention technologies. For example, the search results digital rights management engine 430 may identify pirated or tampered digital content in search results. The search results digital rights management engine 430 may interface with the digital rights management policy 630, shown in
The attribute verification engine 505 may verify attributes of digital content based on known attributes of digital content. In an embodiment, the attribute verification engine 505 may interface with the digital content attribute verification policy 615, shown in
The malware analysis engine 510 may analyze digital content for malware. The malware analysis engine 510 may interface with the digital content malware analysis security policy 620, shown in
The content analysis engine 515 may analyze digital content for the presence of content types that could compromise the security of the user device 120. The content analysis engine 515 may interface with the content analysis policy 625, shown in
The digital rights management engine 520 may evaluate digital content for compliance with digital rights management policies. In some embodiments, the digital rights management engine 520 evaluates digital content for the presence or absence of watermarks, licenses, and other tamper-prevention technologies. The digital rights management engine 520 may further identify pirated or tampered digital content. The digital rights management engine 520 may interface with the digital rights management policy 630, shown in
The search request security policy 605 may include a policy having white- and/or black-lists related to digital content marketplace search requests. For instance, the search request security policy 605 may include white- and/or black-lists of specific digital content or digital content publishers. The search request security policy 605 may further include rules relating to acceptable and/or unacceptable search words, phrases, and/or terms. For instance, the search request security policy 605 may provide lists that filtering of inappropriate search terms. In some embodiments, the search request security policy 605 includes rules relating to acceptable and/or unacceptable resources digital content in search requests may potentially require. More specifically, the search request security policy 605 may include lists of maximum allowed sizes of digital content; and maximum processor, memory, and/or network utilization allowed. The search request security policy 605 may further include rules relating to acceptable and/or unacceptable budgets the digital content in search requests may potentially require. As a result, the search request security policy 605 may include rules that specify whether paid content is allowed, or specify maximum allowable prices of paid digital content.
The search results security policy 610 may include a policy having security rules relating to authorized and/or unauthorized digital content marketplace search results. The search results security policy 610 may include security rules relating to authorized and/or unauthorized digital content, digital content publishers, words, terms, phrases, resources, and budgets. The search results security policy 610 may further include security rules relating to authorized and/or unauthorized metrics. More specifically, the search results security policy 610 may include security rules relating to authorized and/or unauthorized installation sizes, memory, ratings, points, stars, number of downloads and positive and/or negative reviews.
The digital content attribute verification policy 615 may include a policy containing definitions of verified attributes of digital content. The digital content attribute verification policy 615 may include titles of digital content, the names of publishers of digital content, digital content descriptions, and other information that can be used to verify the identity of digital content.
The digital content malware analysis security policy 620 may include a policy having malware definitions. In an embodiment, the digital content malware analysis security policy 620 includes antivirus and antispyware policies based on Clam Antivirus (AV), and/or additional antivirus and antispyware engines, such as McAfee, Kaspersky, Pandamay, or other free or subscription-based engines. The digital content malware analysis security policy 620 may further include Intrusion Detection System (IDS) and/or Intrusion Prevention System (IPS) policies to inspect signatures, protocols, and anomalies in digital content. The digital content malware analysis security policy 620 may also include URL Categorization Filtering policies that filter categories of URLs, such as gambling, news, adult content, webmail, etc.
The content analysis policy 625 may include a policy containing definitions of malicious content types. The content analysis policy 625 may include scripts, controls, components, etc. that are known to be malicious. The content analysis policy 625 may further include definitions that can identify gambling-oriented or adult-oriented materials in digital content. In some embodiments, the content analysis policy 625 implements dedicated High Risk Content Filtering (HRCF) algorithms that perform deep content analysis to verify content types. For example, the content analysis policy 625 may detect whether mimes, ActiveX controls, or scripts in digital content are different from what they say they are. The content analysis policy 625 may include definitions common to the digital content malware analysis security policy 620 for automatic rule adjustment based on URL categories. More specifically, the content analysis policy 625 may analyze digital content associated with higher risk URLs more stringently than digital content associated with lower risk URLs. In some embodiments, the content analysis policy 625 includes policies to strip pieces of malicious code from digital content.
The digital rights management policy 630 may include a policy relating to digital rights management. The digital rights management policy 630 may include information about watermarks or other technology that limits access to digital content without an appropriate license.
At step 705, the digital content marketplace filter engine 210 identifies a search request directed to the digital content marketplace server(s) 105. More specifically, the digital content marketplace filter engine 210 may receive a character string corresponding to a search request. The character string may have been manually entered into a user interface of the digital content marketplace client 135 or may have been automatically generated by a process of the digital content marketplace client 135. In some embodiments, the search request includes language about digital content that is being sought. For example, the search request may include language such as the title of the digital content, the publisher of the digital content, or the publication date of the digital content.
At step 710, the search request parsing engine 305 parses the search request for language to analyze with a marketplace security policy, such as the marketplace security policies 170. The search request parsing engine 305 may parse the search request for relevant characters and/or character strings and may remove irrelevant characters, whitespaces, etc. from the search request. The search request parsing engine 305 may provide the parsed search request to one or more of the search request attribute analysis engine 310, the search request access analysis engine 315, and the search request budget analysis engine 320.
At step 715, the search request attribute analysis engine 310 analyzes the language for attributes of digital content to be evaluated for compliance with the marketplace security policy. More particularly, the search request attribute analysis engine 310 may identify the digital content names, publishers, publication dates, and categories in the language of the parsed search request.
At step 720, the search request access analysis engine 315 analyzes the language for a level of access sought by digital content to be evaluated for compliance with the marketplace security policy. In an embodiment, the search request access analysis engine 315 may review the parsed language of the search request to see if the search request is seeking digital content that requires additional security to install. The search request access analysis engine 315 may provide extracted access level information to the search request response engine 225.
At step 725, the search request budget analysis engine 320 analyzes the language for a budget factors associated with digital content to be evaluated for compliance with the marketplace security policy. More specifically, the search request budget analysis engine 320 may analyze the language of the parsed search request for words that indicate paid and/or free content, currency symbols, or other language indicating budget factors of the search request.
At step 730, the search request response engine 225 determines whether to allow, deny, or modify the search request. In various embodiments, the search request response engine 225 evaluates the search request in accordance with the search request security policy 605, discussed herein. The search requests may be compared to white-lists of permitted searches and/or black-lists of unpermitted search requests. At least portions of the search request may be replaced or cleaned with other language. The search request response engine 225 may provide the determination to the digital content marketplace client interface engine 250.
At step 735, the digital content marketplace client interface engine 250 instructs the digital content marketplace client 135 to allow, deny, or modify the search request based on the determination. The digital content marketplace client interface engine 250 may call APIs on the digital content marketplace client 135 that allow, deny, or modify the search request. For example, the digital content marketplace client interface engine 250 may allow the search request by calling a function on the digital content marketplace client 135 that sends the search to the computer network 115. The digital content marketplace client interface engine 250 may deny the search request by blocking that same function. The digital content marketplace client interface engine 250 may modify the search request by replacing or cleaning the search request with other language.
At step 805, the digital content marketplace filter engine 210 identifies search results from the digital content marketplace server(s) 105. The digital content marketplace filter engine 210 may identify search results that are directed to the digital content marketplace client 135. The digital content marketplace filter engine 210 may provide these search results to the search results parsing engine 405 in a binary encoded format, or other known or convenient format.
At step 810, the search results parsing engine 405 identifies digital content in the search results to be evaluated for compliance with a marketplace security policy. The search results parsing engine 405 may identify digital content names in the search results. In some embodiments, the search results parsing engine 405 identifies all known digital content names in the search results. The search results parsing engine 405 may also identify a limited set of digital content in the search results. The search results parsing engine 405 may provide the list of identified digital content to the other engines of the search results security analysis engine 230.
At step 815, the search results attribute analysis engine 410 evaluates attributes of the identified digital content for compliance with the marketplace security policy. The search results attribute analysis engine 410 may compare the attributes of the identified digital content with white-lists of permitted digital content and/or black-lists of unpermitted content in the search results security policy 610. In various embodiments, the search results attribute analysis engine 410 may evaluate the names, publishers, and/or categories associated with the identified digital content to see if the identified digital content should be allowed and/or disallowed.
At step 820, the search results access analysis engine 415 evaluates one or more levels of access of the identified digital content for compliance with the marketplace security policy. More specifically, the search results access analysis engine 415 may determine, based on the search results security policy 610, whether the identified digital content seeks an appropriate level of access to the user device 120.
At step 825, the search results budget analysis engine 420 evaluates budget factors of the identified digital content for compliance with the marketplace security policy. The search results budget analysis engine 420 may compare the identified digital content with known budget factors to see if the identified digital content comports with any digital content budget factors.
At step 825, the search results metrics analysis engine 425 evaluates metrics of the identified digital content for compliance with the marketplace security policy. More specifically, the search results metrics analysis engine 425 evaluate installation sizes, memory and/or other resources, ratings, points, stars, likes, etc. for the identified digital content. The search results metrics analysis engine 425 may provide the extracted information to the search results response engine 235 as discussed herein.
At step 830, the search results response engine 235 determines whether to allow, deny, or modify at least portions of the search response. The search results response engine 235 may evaluate the search results in accordance with the search results security policy 610, discussed herein. The search results may be compared to white-lists of permitted searches and/or black-lists of unpermitted search results. At least portions of the search results may be replaced with other language. The search results response engine 235 may provide the determination to the digital content marketplace client interface engine 250.
At step 835, the digital content marketplace client interface engine 250 instructs the digital content marketplace client 135 to allow, deny, or modify the search results based on the determination. More specifically, the digital content marketplace client interface engine 250 may call APIs on the digital content marketplace client 135 that allow, deny, or modify the search results. For example, the digital content marketplace client interface engine 250 may allow the search results by calling a function on the digital content marketplace client 135 that displays the search results on the user interface of the user device 120. The digital content marketplace client interface engine 250 may deny the search results by blocking the user interface display function. The digital content marketplace client interface engine 250 may modify the search results by replacing or cleaning the search results with other language.
At step 905, the digital content marketplace filter engine 210 identifies an attempt to access digital content from the digital content marketplace server(s) 105. For example, the digital content marketplace filter engine 210 may identify an attempt to install digital content on the user device 120. The digital content marketplace filter engine 210 may also identify an attempt to automatically or manually update or modify digital content on the user device 120.
At step 910, the attribute verification engine 505 verifies one or more attributes of the digital content using the marketplace security policies 170. The attribute verification engine 505 may use the digital content attribute verification policy 615 for this step. The attribute verification engine 505 may verify the digital content name, publisher, etc. By verifying this information, the attribute verification engine 505 prevents phishing attempts and other schemes using spoofed file names and/or content types.
At step 915, the malware analysis engine 510 performs malware analysis on the digital content using the marketplace security policies 170. The digital content may perform the malware analysis using the digital content malware analysis security policy 620. The malware analysis engine 510 may scan the digital content for viruses, spyware, adware, and other malware.
At step 920, the content analysis engine 515 performs content analysis on the digital content using the marketplace security policies 170. The content analysis engine 515 may evaluate the scripts, controls, components, etc. in the digital content using the content analysis policy 625.
At step 925, the digital content access analysis engine 525 evaluates a level of access of the digital content for compliance with the marketplace security policies 170. At step 930, the digital content budget analysis engine 530 evaluates budget factors of the digital content for compliance with the marketplace security policies 170.
At step 930, the digital content security response engine 245 determines whether to allow, deny, or modify the attempt to access the digital content. At step 935, the digital content marketplace client interface engine 250 instructs the digital content marketplace client 135 to allow, deny, or modify the attempt to access the digital content. If the access attempt is an attempt to install the digital content, the digital content marketplace client interface engine 250 may call APIs that allow or block the installation processes accordingly. The digital content marketplace client interface engine 250 may also modify the access attempt by installing similar or cleaned digital content in place of the digital content that was evaluated.
In some embodiments, the processor 1105 comprises circuitry or any processor capable of processing the executable instructions. The memory system 1110 comprises any memory configured to store data. Some examples of the memory system 1110 are storage devices, such as RAM or ROM. The memory system 1110 may comprise the RAM cache. In various embodiments, data is stored within the memory system 1110. The data within the memory system 1110 may be cleared or ultimately transferred to the storage system 1115.
The storage system 1115 comprises any storage configured to retrieve and store data. Some examples of the storage system 1115 are flash drives, hard drives, optical drives, and/or magnetic tape. In some embodiments, the digital device 1100 includes a memory system 1110 in the form of RAM and a storage system 1115 in the form of flash data. Both the memory system 1110 and the storage system 1115 comprise computer readable media which may store instructions or programs that are executable by a computer processor including the processor 1105.
The communication network interface (com. network interface) 1120 may be coupled to a data network. The communication network interface 1120 may support communication over an Ethernet connection, a serial connection, a parallel connection, or an ATA connection, for example. The communication network interface 1120 may also support wireless communication (e.g., 802.11 a/b/g/n, WiMAX, LTE, 3G, 2G). It will be apparent to those skilled in the art that the communication network interface 1120 may support many wired and wireless standards.
The optional input/output (I/O) interface 1125 is any device that receives input from the user and output data. The display interface 1130 is any device that may be configured to output graphics and data to a display. In one example, the display interface 1130 is a graphics adapter.
It will be appreciated by those skilled in the art that the hardware elements of the digital device 1100 are not limited to those depicted in
In an embodiment, the processor 1105 may correspond to the user device processor 125 of the user device 120. The processor 1105 may also correspond to the security chip processor 150 of the internal marketplace security chip 145, or the external security processor 160 of the external marketplace security chip 155. In some embodiments, the storage system 1115 may store the marketplace security policies 170 and/or other information relevant to the security of the digital content marketplace server(s) 115.
The above-described functions and components may be comprised of instructions that are stored on a storage medium such as a computer readable medium. The instructions may be retrieved and executed by a processor. Some examples of instructions are software, program code, and firmware. Some examples of storage medium are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processor to direct the processor to operate in accord with some embodiments. Those skilled in the art are familiar with instructions, processor(s), and storage medium.
For purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that embodiments of the disclosure can be practiced without these specific details. In some instances, modules, structures, processes, features, and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams and flow diagrams are shown to represent data and logic flows. The components of block diagrams and flow diagrams (e.g., modules, blocks, structures, devices, features, etc.) may be variously combined, separated, removed, reordered, and replaced in a manner other than as expressly described and depicted herein.
Reference in this specification to “one embodiment,” “an embodiment,” “some embodiments,” “various embodiments,” “certain embodiments,” “other embodiments,” “one series of embodiments,” or the like means that a particular feature, design, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of, for example, the phrase “in one embodiment” or “in an embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, whether or not there is express reference to an “embodiment” or the like, various features are described, which may be variously combined and included in some embodiments, but also variously omitted in other embodiments. Similarly, various features are described that may be preferences or requirements for some embodiments, but not other embodiments.
The language used herein has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments is intended to be illustrative, but not limiting, of the scope, which is set forth in the following claims.
This application claims priority to U.S. Provisional Patent Application Ser. No. 61/843,578, filed Jul. 8, 2013, and entitled “Systems and Methods to Control, Manage and Define/Enforce Policy to Application Marketplace and a Mobile Device,” the contents of which are hereby incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
H0001944 | Cheswick et al. | Feb 2001 | H |
6286087 | Ito et al. | Sep 2001 | B1 |
6466779 | Moles et al. | Oct 2002 | B1 |
6725294 | Moore et al. | Apr 2004 | B1 |
6772345 | Shetty | Aug 2004 | B1 |
6813682 | Bress et al. | Nov 2004 | B2 |
7036143 | Leung et al. | Apr 2006 | B1 |
7065644 | Daniell et al. | Jun 2006 | B2 |
7069330 | McArdle et al. | Jun 2006 | B1 |
7076690 | Todd et al. | Jul 2006 | B1 |
7086089 | Hrastar et al. | Aug 2006 | B2 |
7131141 | Blewett et al. | Oct 2006 | B1 |
7168089 | Nguyen | Jan 2007 | B2 |
D537036 | Chen | Feb 2007 | S |
7184554 | Freese | Feb 2007 | B2 |
7197638 | Grawrock et al. | Mar 2007 | B1 |
7283542 | Mitchell | Oct 2007 | B2 |
7353533 | Wright et al. | Apr 2008 | B2 |
7359983 | Maufer et al. | Apr 2008 | B1 |
7360242 | Syvanne | Apr 2008 | B2 |
7418253 | Kavanagh | Aug 2008 | B2 |
7529932 | Haustein | May 2009 | B1 |
7539828 | Lomnes | May 2009 | B2 |
7657941 | Zaitsev | Feb 2010 | B1 |
7665137 | Barton | Feb 2010 | B1 |
7818803 | Gordon | Oct 2010 | B2 |
7908476 | Kandasamy et al. | Mar 2011 | B2 |
7971258 | Liao et al. | Jun 2011 | B1 |
7984479 | Brabson et al. | Jul 2011 | B2 |
7992199 | Winick et al. | Aug 2011 | B1 |
8180654 | Berkman et al. | May 2012 | B2 |
8218449 | Taylor | Jul 2012 | B2 |
8218558 | Tan et al. | Jul 2012 | B2 |
8234261 | Monahan | Jul 2012 | B2 |
8239531 | Bellovin et al. | Aug 2012 | B1 |
8266670 | Merkow | Sep 2012 | B1 |
8321934 | Cooley et al. | Nov 2012 | B1 |
8402528 | McCorkendale et al. | Mar 2013 | B1 |
8495290 | Sugar et al. | Jul 2013 | B2 |
8495700 | Shahbazi | Jul 2013 | B2 |
8631488 | Oz | Jan 2014 | B2 |
RE45009 | Vange et al. | Jul 2014 | E |
8904523 | Gordon | Dec 2014 | B2 |
8978132 | Henry | Mar 2015 | B2 |
9202070 | Rajakarunanayake | Dec 2015 | B2 |
9438631 | Bettini | Sep 2016 | B2 |
9565202 | Kindlund | Feb 2017 | B1 |
9832603 | Schlaupitz | Nov 2017 | B2 |
9847020 | Davis | Dec 2017 | B2 |
9910979 | Ben-Haim | Mar 2018 | B2 |
20010014102 | Mattingly | Aug 2001 | A1 |
20020095540 | Zolnowsky | Jul 2002 | A1 |
20020111824 | Grainger | Aug 2002 | A1 |
20020193015 | Milan | Dec 2002 | A1 |
20030046397 | Trace et al. | Mar 2003 | A1 |
20030055994 | Herrmann et al. | Mar 2003 | A1 |
20030070084 | Satomaa et al. | Apr 2003 | A1 |
20030084319 | Tarquini et al. | May 2003 | A1 |
20030097431 | Dill | May 2003 | A1 |
20030110391 | Wolff et al. | Jun 2003 | A1 |
20030126468 | Markham | Jul 2003 | A1 |
20030131245 | Linderman | Jul 2003 | A1 |
20030142683 | Lam et al. | Jul 2003 | A1 |
20030148656 | Huang | Aug 2003 | A1 |
20030224758 | O'Neill et al. | Dec 2003 | A1 |
20030229808 | Heintz et al. | Dec 2003 | A1 |
20040003262 | England et al. | Jan 2004 | A1 |
20040019656 | Smith | Jan 2004 | A1 |
20040064575 | Rasheed et al. | Apr 2004 | A1 |
20040078568 | Pham et al. | Apr 2004 | A1 |
20040085944 | Boehm | May 2004 | A1 |
20040093520 | Lee et al. | May 2004 | A1 |
20040123153 | Wright et al. | Jun 2004 | A1 |
20040148450 | Chen et al. | Jul 2004 | A1 |
20040177274 | Aroya | Sep 2004 | A1 |
20040199763 | Freund | Oct 2004 | A1 |
20040203296 | Moreton et al. | Oct 2004 | A1 |
20040210775 | Gbadegesin | Oct 2004 | A1 |
20040237079 | Cox et al. | Nov 2004 | A1 |
20050055578 | Wright | Mar 2005 | A1 |
20050091522 | Hearn et al. | Apr 2005 | A1 |
20050109841 | Ryan | May 2005 | A1 |
20050114711 | Hesselink et al. | May 2005 | A1 |
20050114870 | Song | May 2005 | A1 |
20050149757 | Corbett et al. | Jul 2005 | A1 |
20050182883 | Overtoom | Aug 2005 | A1 |
20050208967 | Buniatyan | Sep 2005 | A1 |
20050254455 | Plehn et al. | Nov 2005 | A1 |
20050260996 | Groenendaal | Nov 2005 | A1 |
20050265385 | Cromer | Dec 2005 | A1 |
20050278544 | Baxter | Dec 2005 | A1 |
20060020723 | Chia-Chun | Jan 2006 | A1 |
20060022802 | Bridgelall | Feb 2006 | A1 |
20060031940 | Rozman et al. | Feb 2006 | A1 |
20060037071 | Rao et al. | Feb 2006 | A1 |
20060056317 | Manning et al. | Mar 2006 | A1 |
20060059092 | Burshan et al. | Mar 2006 | A1 |
20060064391 | Petrov et al. | Mar 2006 | A1 |
20060070129 | Sobel et al. | Mar 2006 | A1 |
20060074896 | Thomas et al. | Apr 2006 | A1 |
20060075494 | Bertman et al. | Apr 2006 | A1 |
20060075501 | Thomas et al. | Apr 2006 | A1 |
20060085528 | Thomas | Apr 2006 | A1 |
20060095595 | Dalton et al. | May 2006 | A1 |
20060101277 | Meenan et al. | May 2006 | A1 |
20060161985 | Zhao | Jul 2006 | A1 |
20060174342 | Zaheer | Aug 2006 | A1 |
20060206300 | Garg et al. | Sep 2006 | A1 |
20060224794 | Stevens | Oct 2006 | A1 |
20060229741 | Achanta | Oct 2006 | A1 |
20060230199 | Yu | Oct 2006 | A1 |
20060242686 | Toda et al. | Oct 2006 | A1 |
20060272020 | Gardner | Nov 2006 | A1 |
20060277405 | Bowler et al. | Dec 2006 | A1 |
20070005987 | Durham et al. | Jan 2007 | A1 |
20070022474 | Rowett et al. | Jan 2007 | A1 |
20070058642 | Eisink | Mar 2007 | A1 |
20070061887 | Hoover et al. | Mar 2007 | A1 |
20070083939 | Fruhauf et al. | Apr 2007 | A1 |
20070097976 | Wood et al. | May 2007 | A1 |
20070104197 | King | May 2007 | A1 |
20070110053 | Soni et al. | May 2007 | A1 |
20070118874 | Adams et al. | May 2007 | A1 |
20070118893 | Crawford | May 2007 | A1 |
20070123214 | Mock | May 2007 | A1 |
20070124536 | Carper | May 2007 | A1 |
20070130433 | Safa | Jun 2007 | A1 |
20070130457 | Kamat et al. | Jun 2007 | A1 |
20070143827 | Nicodemus et al. | Jun 2007 | A1 |
20070143851 | Nicodemus et al. | Jun 2007 | A1 |
20070162582 | Belali et al. | Jul 2007 | A1 |
20070192500 | Lum | Aug 2007 | A1 |
20070192854 | Kelley et al. | Aug 2007 | A1 |
20070199060 | Touboul | Aug 2007 | A1 |
20070199061 | Byres et al. | Aug 2007 | A1 |
20070209067 | Fogel | Sep 2007 | A1 |
20070214369 | Roberts et al. | Sep 2007 | A1 |
20070220187 | Kates | Sep 2007 | A1 |
20070233842 | Roberts | Oct 2007 | A1 |
20070240217 | Tuvell et al. | Oct 2007 | A1 |
20070261112 | Todd et al. | Nov 2007 | A1 |
20070266265 | Zmudzinski | Nov 2007 | A1 |
20070281664 | Kaneko et al. | Dec 2007 | A1 |
20070294744 | Alessio et al. | Dec 2007 | A1 |
20080034419 | Mullick et al. | Feb 2008 | A1 |
20080066148 | Lim | Mar 2008 | A1 |
20080083030 | Durham et al. | Apr 2008 | A1 |
20080083037 | Kruse et al. | Apr 2008 | A1 |
20080084799 | Repasi | Apr 2008 | A1 |
20080098478 | Vaidya et al. | Apr 2008 | A1 |
20080109871 | Jacobs | May 2008 | A1 |
20080114990 | Hilbert et al. | May 2008 | A1 |
20080120423 | Hall et al. | May 2008 | A1 |
20080134163 | Golde | Jun 2008 | A1 |
20080141349 | Lyle et al. | Jun 2008 | A1 |
20080165957 | Kandasamy et al. | Jul 2008 | A1 |
20080201264 | Brown | Aug 2008 | A1 |
20080235755 | Blaisdell et al. | Sep 2008 | A1 |
20080282337 | Crawford | Nov 2008 | A1 |
20080307240 | Dahan et al. | Dec 2008 | A1 |
20090019223 | Lection et al. | Jan 2009 | A1 |
20090054075 | Boejer | Feb 2009 | A1 |
20090106556 | Hamid | Apr 2009 | A1 |
20090135751 | Hodges et al. | May 2009 | A1 |
20090143057 | Arun et al. | Jun 2009 | A1 |
20090165132 | Jain et al. | Jun 2009 | A1 |
20090249465 | Touboul | Oct 2009 | A1 |
20090253454 | Sampson | Oct 2009 | A1 |
20090254993 | Leone | Oct 2009 | A1 |
20100064341 | Aldera et al. | Mar 2010 | A1 |
20100186093 | Aussel | Jul 2010 | A1 |
20100195833 | Preistley et al. | Aug 2010 | A1 |
20100218012 | Joseph | Aug 2010 | A1 |
20100225493 | Zishaan | Sep 2010 | A1 |
20100242109 | Lee | Sep 2010 | A1 |
20100251369 | Grant | Sep 2010 | A1 |
20100269172 | Xie | Oct 2010 | A1 |
20100333088 | Rogel et al. | Dec 2010 | A1 |
20110023118 | Wright | Jan 2011 | A1 |
20110154443 | Thakur et al. | Jun 2011 | A1 |
20110154477 | Parla et al. | Jun 2011 | A1 |
20110182180 | Riddle | Jul 2011 | A1 |
20110264931 | Chang et al. | Oct 2011 | A1 |
20110268106 | Dalton, Jr. et al. | Nov 2011 | A1 |
20110269397 | Bella | Nov 2011 | A1 |
20110296397 | Vidal et al. | Dec 2011 | A1 |
20120005756 | Hoefelmeyer et al. | Jan 2012 | A1 |
20120030750 | Bhargava et al. | Feb 2012 | A1 |
20120042391 | Risan | Feb 2012 | A1 |
20120054744 | Singh et al. | Mar 2012 | A1 |
20120084831 | Hu et al. | Apr 2012 | A1 |
20120110320 | Kumar et al. | May 2012 | A1 |
20120110331 | Falk | May 2012 | A1 |
20120149350 | Fan et al. | Jun 2012 | A1 |
20120173609 | Kulaga et al. | Jul 2012 | A1 |
20120185846 | Recio et al. | Jul 2012 | A1 |
20120216273 | Rolette et al. | Aug 2012 | A1 |
20120233695 | Mahaffey et al. | Sep 2012 | A1 |
20120239739 | Manglik et al. | Sep 2012 | A1 |
20120240183 | Sinha | Sep 2012 | A1 |
20120240236 | Wyatt et al. | Sep 2012 | A1 |
20120303971 | Palka | Nov 2012 | A1 |
20120324504 | Archer | Dec 2012 | A1 |
20130031601 | Bott | Jan 2013 | A1 |
20130064373 | Hagbard | Mar 2013 | A1 |
20130074144 | Narayanaswamy et al. | Mar 2013 | A1 |
20130091534 | Gilde et al. | Apr 2013 | A1 |
20130097659 | Das | Apr 2013 | A1 |
20130097660 | Das | Apr 2013 | A1 |
20140032314 | Gieseke | Jan 2014 | A1 |
20140058679 | Varoglu | Feb 2014 | A1 |
20140317679 | Wade | Oct 2014 | A1 |
20160105847 | Smith | Apr 2016 | A1 |
20160234204 | Rishi | Aug 2016 | A1 |
20170039367 | Ionescu | Feb 2017 | A1 |
20170103647 | Davis | Apr 2017 | A1 |
Number | Date | Country |
---|---|---|
2000078008 | Dec 2000 | WO |
2004030308 | Apr 2004 | WO |
2006069041 | Jun 2006 | WO |
2007110094 | Oct 2007 | WO |
2008154726 | Dec 2008 | WO |
2009004452 | Jan 2009 | WO |
2010004296 | Jan 2010 | WO |
Entry |
---|
NPL “The Online User Supervision Architecture”, IEEE Security & Privacy, Nov./Dec. 2011; downloaded from https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5959149, PDF file attached. (Year: 2011). |
NPL—“Method and system to provide automatic parental control in television broadcasting environment”, downloaded through IP.com and attached as PDF file (Year: 2012). |
International Application No. PCT/US2014/045826, International Search Report and Written Opinion dated Oct. 30, 2014. |
European Patent Application No. 13845746.0, Search Report dated Jun. 7, 2016. |
European Patent Application No. 06821641.5, Examination Report dated Dec. 16, 2016. |
International Application No. PCT/US2015/015970, International Search Report and Written Opinion dated May 28, 2015. |
Breeden II, John et al., “A Hardware Firewall You Take With You,” Government Computer News, located at http:/gcn.com/Articles/2005/06/01/A-hardware-firewall-you-take-with-you.aspx?p=1, Jun. 1, 2005. |
Claessens, Joris et al., “(How) Can Mobile Agents Do Secure Electronic Transactions on Mobile Hosts? A Survey of the Security Issues and the Current Solutions,” ACM Transactions on Intenet Technology, vol. 3, No. 1, pp. 28-48, Feb. 2003. |
CyberGuard Corporation, “Model 1: Wireless Mobile Security Appliance,” located at http://support2.cyberguard.com/products/oem/model1.htm, 2005. |
Entry, Inc., “CyberGuard Develops a Custom Mobile Security Appliance,” SecurityProNews, located at http://www.securitypronews.com/news/securitynews/spn-45-20041007CyberGuardDevelo . . . , Oct. 7, 2004. |
Kent, S. et al., “Security Architecture for the Internet Protocol,” I.E.T.F. Network Working Group, RFC 4301, pp. 10-11, Dec. 2005. |
PMC-Sierra, Inc., “MSP8120 Multi-Service Security Processor,” Product Brief, 2007. |
Prevelakis, Vassilis et al., “Drop-In Security for Distributed and Portable Computing Elements,” Internet Research: Electronic Networking, Applications and Policy, vol. 13, No. 2, pp. 107-115, located at http://www.cs.columbia.edu/˜angelos/Papers/InternetResearch-Final.pdf, 2003. |
WatchGuard Technologies, Inc., “Mobile User VPN and PPTP,” Internet Security Handbook, copyright 1998-2001, pp. 1-2, located at http://www.watchguard.com/help/Iss/41 /handbook/vpn3.htm, believe published Jun. 5, 2003. |
ZyXEL Communications Corp., “ZyXEL Releases Worlds First Palm-Sized Portable Personal Firewall for Ultimate Security: ZyWALL P1 Pushes Network Security to the End-Point PC's with Minimum Administration Effort,” ZyXEL News, located at http://global.zyxel.com/news/press.php?indexflag=20050310013432, Mar. 8, 2005. |
European Patent Application No. 06821641.5, Search Report dated May 17, 2011. |
European Patent Application No. 08847968.8, Search Report dated Oct. 25, 2011. |
International Application No. PCT/IL2006/001428, International Search Report and Written Opinion dated Jul. 15, 2008. |
International Application No. PCT/IL2008/000740, International Search Report and Written Opinion dated Nov. 5, 2008. |
International Application No. PCT/US2008/055942, International Search Report and Written Opinion dated Apr. 6, 2009. |
International Application No. PCT/US2009/065204, International Search Report and Written Opinion dated Jan. 13, 2010. |
International Application No. PCT/US2013/064161, International Search Report and Written Opinion dated Apr. 18, 2014. |
Hall, Marty, “Core Web Programming: Chapter 16—The Hypertext Transfer Protocol,” Prentice Hall PTR, ISBN 0-13-625666-X, pp. 867-911, Dec. 1997. |
Henmi, Anne et al., “Firewall Policies and VPN Configurations,” Syngress Publishing, Inc., ISBN 1-59749-088-1, pp. 99, 111, 291, Dec. 2006. |
Jakobsson, Markus, “Invasive Browser Sniffing and Countermeasures,” Proceedings of the 15th International Conference on World Wide Web, pp. 523-532, May 23, 2006. |
Lee, Henry C.J. et al., “Port Hopping for Resilient Networks,” IEEE 60th Vehicular Technology Conference (VTC2004), Sep. 26, 2004. |
O'Brien, Kevin J., “Microsoft Hit by Antitrust Complaint for Browser,” The International Herald Tribune, Dec. 14, 2007. |
Sen, Subhabrata et al., “Accurate, Scalable In-Network, Identification of P2P Traffic Using Application Signatures,” Proceedings of the 13th International Conference on World Wide Web, pp. 512-521, May 17, 2004. |
Shreeve, Jimmy Lee, “Hasta la Vista, Microsoft!; It's Faster than Windows, It Fights Viruses—and It's Free,” Independent Extra, Aug. 29, 2007. |
Shuler, Rus, “How Does the Internet Work,” white paper, 2002 [retrieved online at https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm on Dec. 11, 2018. |
Srisuresh, P. et al., “IP Network Address Translator (NAT) Terminology and Considerations,” I.E.T.F. Network Working Group, RFC 2663, Aug. 1999. |
Srisuresh, P. et al., “Traditional IP Network Address Translator (Traditional NAT),” I.E.T.F. Network Working Group, RFC 3022, Jan. 2001. |
Fielding, R. et al., “Hypertext Transfer Protocol—HTTP/1.1,” I.E.T.F. Network Working Group, RFC 2616, Jun. 1999. |
Hall, Marty, “More Servlets and JavaServer Pages: Chapter 2—A Fast Introduction to Basic Servlet Programming,” Prentice Hall PTR, ISBN 0-13-067614-4, pp. 34-118, Dec. 1997. |
World Wide Web Consortium (W3C), “HTTP Request Fields,” May 3, 1994 [retrieved online at https://web.archive.org/web/20060110150527/http://www.w3.org:80/Protocols/HTTP/HTRQ_Headers.html on Jan. 24, 2019]. |
Decision—Institution of Inter Partes Review of U.S. Pat. No. 9,781,164 entered Jun. 25, 2019, 28 pages. |
Decision—Institution of Inter Partes Review of U.S. Pat. No. 8,631,488 entered Aug. 28, 2019, 39 pages. |
Decision—Institution of Inter Partes Review of U.S. Pat. No. 9,106,683 entered Aug. 28, 2019, 39 pages. |
Decision—Institution of Inter Partes Review of U.S. Pat. No. 9,843,595 entered Aug. 28, 2019, 33 pages. |
Decision—Institution of Inter Partes Review of U.S. Pat. No. 8,365,272 entered Jul. 26, 2019, 27 pages. |
Decision—Institution of Inter Partes Review of U.S. Pat. No. 9,756,079 entered Jul. 26, 2019, 32 pages. |
Decision—Institution of Inter Partes Review of U.S. Pat. No. 8,789,202 entered Sep. 18, 2019, 33 pages. |
Liang et al., “Passive Wake-up Scheme for Wireless Sensor Networks”, Second International Conference on Innovative Computing, Information and Control, 2007, 4 pages. |
Lim et al., “Adaptive power controllable retrodirective array system for wireless sensor server applications”, IEEE Transactions on Microwave Theory and Techniques, vol. 53, No. 12, Dec. 2005, pp. 3735-3743. |
Trend Micro Inc. v. CUPP Computing AS, IPR2019-00765, U.S. Pat. No. 9,843,595, Judgment Final Written Decision Determining All Challenged Claims Unpatentable entered Aug. 25, 2020, 47 pages. |
Trend Micro Inc. v. CUPP Computing AS, IPR2019-00803, U.S. Pat. No. 8,789,202, Judgment Final Written Decision Determining No Challenged Claims Unpatentable entered Sep. 15, 2020, 30 pages. |
CUPP Cybersecurity, LLC and CUPP Computing AS v. Trend Micro, Inc., Trend Micro America, Inc., and Trend Micro Incorporated, Case No. 3:20-cv-03206-K, Complaint for Patent Infringement, filed Oct. 20, 2020, 99 pages. |
CUPP Cybersecurity, LLC and CUPP Computing AS v. Trend Micro, Inc., Trend Micro America, Inc., and Trend Micro Incorporated, Case No. 20-cv-03206-M, First Amended Complaint for Patent Infringement, filed Apr. 23, 2021, 140 pages. |
Number | Date | Country | |
---|---|---|---|
20150012383 A1 | Jan 2015 | US |
Number | Date | Country | |
---|---|---|---|
61843578 | Jul 2013 | US |