This application incorporates by reference, in their entirety and for all purposes, commonly assigned U.S. Patent Applications:
This application incorporates by reference, in their entirety and for all purposes, commonly assigned U.S. Patents:
This document relates generally to systems and methods for processing communications and more particularly to systems and methods for classifying entities associated with communications.
In the anti-spam industry, spammers use various creative means for evading detection by spam filters. As such, the entity from which a communication originated can provide another indication of whether a given communication should be allowed into an enterprise network environment.
However, current tools for message sender analysis include internet protocol (IP) blacklists (sometimes called real-time blacklists (RBLs)) and IP whitelists (real-time whitelists (RWLs)). Whitelists and blacklists certainly add value to the spam classification process; however, whitelists and blacklists are inherently limited to providing a binary-type (YES/NO) response to each query. Moreover, blacklists and whitelists treat entities independently, and overlook the evidence provided by various attributes associated with the entities.
Systems and methods for a distributed reputation architecture are provided. A distributed reputation system can include a communications interface, a data aggregation engine, an analyzer, a correlation engine and a reputation engine. The communications interface can communicate with a plurality of agents arranged within a global network. The data aggregation engine can aggregate the collected data via the communications interface. The analyzer can analyze the data to identify attributes respectively associated with entities originating the received communications. The correlation engine can correlate the attributes of the entities and to identify relationships between the entities. The reputation engine can identify relationships between the entities and to update reputations associated with one or more entities based upon its relationship to one or more other entities. The communications interface can also to communicate updated reputation information to devices operating on the global network.
Other systems operable to derive and assign reputations can include a communications interface, a data aggregation engine, an analyzer, a correlation engine, a reputation engine and a traffic control engine. The communications interface can receive information from agents or a central server within a global network. The data aggregation engine can aggregate the received information from the communications interface. The analyzer can analyze the received information to identify attributes respectively associated with entities originating the received communications. The correlation engine can correlate the attributes of the entities and identify relationships between the entities. The reputation engine can identify relationships between the entities and to update reputations associated with one or more entities based upon its relationship to one or more other entities, The traffic control engine can determine handling associated with a communication based upon the updated reputations.
Methods of assigning reputation to communications entities can include: arranging a plurality of agents within a network, the plurality of agents being associated with a security device operable to protect an associated network from communications that violate a policy associated with the associated network; collecting data associated with entities originating communications, wherein collecting data comprises using the plurality of agents to collect data associated with the communications; aggregating the collected data; analyzing the aggregated data to identify attributes respectively associated with entities originating communications; correlating the attributes to identify relationships between entities; updating a reputation associated with one or more entities based upon the relationship to one or more other entities identified by correlating the attributes; and, communicating updated reputation information to one or more of the plurality of agents.
Methods of assigning reputation to a communications entity can include: collecting data associated with entities originating communications, wherein collecting data comprises receiving data from a plurality of agents to collect data associated with the communications; aggregating the collected data; analyzing the aggregated data to identify attributes respectively associated with entities originating communications; correlating the attributes to identify relationships between entities; updating a reputation associated with one or more entities based upon the relationship to one or more other entities identified by correlating the attributes; and, handling, communications based upon the updated reputation information.
The security agent 100 monitors communications entering and exiting the network 110. These communications are typically received though the internet 120 from many entities 130a-f that are connected to the internet 120. One or more of the entities 130a-f can be legitimate originators of communications traffic. However, one or more of the entities 130a-f can also be non-reputable entities originating unwanted communications. As such, the security agent 100 includes a reputation engine. The reputation engine can inspect a communication and to determine a reputation associated with an entity that originated the communication. The security agent 100 then performs an action on the communication based upon the reputation of the originating entity. If the reputation indicates that the originator of the communication is reputable, for example, the security agent can forward the communication to the recipient of the communication. However, if the reputation indicates that the originator of the communication is non-reputable, for example, the security agent can quarantine the communication, perform more tests on the message, or require authentication from the message originator, among many others. Reputation engines are described in detail in United States Patent Publication No. 2006/0015942, which is hereby incorporated by reference.
While such systems provide some protection for a network they typically do not address application level security threats. For example, hackers often attempt to use various network-type applications (e.g., e-mail, web, instant messaging (IM) etc.) to create a pre-textual connection with the networks 110a-n in order to exploit security holes created by these various applications using entities 130a-e. However, not all entities 130a-e imply threats to the network 110a-n. Some entities 130a-e originate legitimate traffic, allowing the employees of a company to communicate with business associates more efficiently. While examining the communications for potential threats is useful, it can be difficult to maintain current threat information because attacks are being continually modified to account for the latest filtering techniques. Thus, security agents 100a-n can run multiple tests on a communication to determine whether the communication is legitimate.
Furthermore, sender information included in the communication can be used to help determine whether or not a communication is legitimate. As such, sophisticated security agents 100a-n can track entities and analyze the characteristics of the entities to help determine whether to allow a communication to enter a network 110a-n. The entities 110a-n can then be assigned a reputation. Decisions on a communication can take into account the reputation of an entity 130a-e that originated the communication. Moreover, one or more central systems 200 can collect information on entities 120a-e and distribute the collected data to other central systems 200 and/or the security agents 100a-n.
Reputation engines can assist in identifying the bulk of the malicious communications without extensive and potentially costly local analysis of the content of the communication. Reputation engines can also help to identify legitimate communications and prioritize their delivery and reduce the risk of misclassifying a legitimate communication. Moreover, reputation engines can provide a dynamic and predictive approaches to the problem of identifying malicious, as well as legitimate, transactions in physical or virtual worlds. Examples include the process of filtering malicious communications in an email, instant messaging, VoIP, SMS or other communication protocol system using analysis of the reputation of sender and content. A security agent 100a-n can then apply a global or local policy to determine what action to perform with respect to the communication (such as deny, quarantine, load balance, deliver with assigned priority, analyze locally with additional scrutiny) to the reputation result.
However, the entities 130a-e can connect to the internet in a variety of methods. As should be understood, an entity 130a-e can have multiple identifiers (such as, for example, e-mail addresses, IP addresses, identifier documentation, etc) at the same time or over a period of time. For example, a mail server with changing IP addresses can have multiple identities over time. Moreover, one identifier can be associated with multiple entities, such as, for example, when an IP address is shared by an organization with many users behind it. Moreover, the specific method used to connect to the internet can obscure the identification of the entity 130a-e. For example, an entity 130b may connect to the internet using an internet service provider (ISP) 200. Many ISPs 200 use dynamic host configuration protocol (DHCP) to assign IP addresses dynamically to entities 130b requesting a connection. Entities 130a-e can also disguise their identity by spoofing a legitimate entity. Thus, collecting data on the characteristics of each entity 130a-e can help to categorize an entity 130a-e and determine how to handle a communication.
The ease of creation and spoofing of identities in both virtual and physical world can create an incentive for users to act maliciously without bearing the consequences of that act. For example, a stolen IP address on the Internet (or a stolen passport in the physical world) of a legitimate entity by a criminal can enable that criminal to participate in malicious activity with relative ease by assuming the stolen identity. However, by assigning a reputation to the physical and virtual entities and recognizing the multiple identities that they can employ, reputation systems can influence reputable and non-reputable entities to operate responsibly for fear of becoming non-reputable, and being unable to correspond or interact with other network entities.
As shown in
Furthermore, it should be understood that this data can be collected from communications 330a-c (e.g., e-mail) typically include some identifiers and attributes of the entity that originated the communication. Thus, the communications 330a-c provide a transport for communicating information about the entity to the security agents 100a, 100b. These attributes can be detected by the security agents 100a, 100b through examination of the header information included in the message, analysis of the content of the message, as well as through aggregation of information previously collected by the security agents 100a, 100b (e.g., totaling the volume of communication is received from an entity).
The data from multiple security agents 100a, 100b can be aggregated and mined. For example, the data can be aggregated and mined by a central system which receives identifiers and attributes associated with all entities 300a-c for which the security agents 100a, 100b have received communications. Alternatively, the security agents 100a, 100b can operate as a distributed system, communicating identifier and attribute information about entities 300a-c with each other. The process of mining the data can correlate the attributes of entities 300a-c with each other, thereby determining relationships between entities 300a-c (such as, for example, correlations between an event occurrence, volume, and/or other determining factors).
These relationships can then be used to establish a multi-dimensional reputation “vector” for all identifiers based on the correlation of attributes that have been associated with each identifier. For example, if a non-reputable entity 300a with a known reputation for being non-reputable sends a message 330a with a first set of attributes 350a, and then an unknown entity 300b sends a message 330b with a second set of attributes 350b, the security agent 100a can determine whether all or a portion of the first set of attributes 350a matched all or a portion of the second set of attributes 350b. When some portion of the first set of attributes 350a matches some portion of the second set of attributes 330b, a relationship can be created depending upon the particular identifier 320a. 320b that included the matching attributes 330a, 330b. The particular identifiers 340a, 340b which are found to have matching attributes can be used to determine a strength associated with the relationship between the entities 300a, 300b. The strength of the relationship can help to determine how much of the non-reputable qualities of the non-reputable entity 300a are attributed to the reputation of the unknown entity 300b.
However, it should also be recognized that the unknown entity 300b may originate a communication 330c which includes attributes 350c that match some attributes 350d of a communication 330d originating from a known reputable entity 300c. The particular identifiers 340c, 340d which are found to have matching attributes can be used to determine a strength associated with the relationship between the entities 300b, 300c. The strength of the relationship can help to determine how much of the reputable qualities of reputable entity 300c are attributed to the reputation of the unknown entity 300b.
A distributed reputation engine also allows for real-time collaborative sharing of global intelligence about the latest threat landscape, providing instant protection benefits to the local analysis that can be performed by a filtering or risk analysis system, as well as identify malicious sources of potential new threats before they even occur. Using sensors positioned at many different geographical locations information about new threats can be quickly and shared with the central system 200, or with the distributed security agents 100a, 100b. As should be understood, such distributed sensors can include the local security agents 100a, 100b, as well as local reputation clients, traffic monitors, or any other device suitable for collecting communication data (e.g., switches, routers, servers, etc.).
For example, security agents 100a, 100b can communicate with a central system 200 to provide sharing of threat and reputation information. Alternatively, the security agents 100a, 100b can communicate threat and reputation information between each other to provide up to date and accurate threat information. In the example of
The system attempts to assign reputations (reflecting a general disposition and/or categorization) to physical entities, such as individuals or automated systems performing transactions. In the virtual world, entities are represented by identifiers (ex. IPs, URLs, content) that are tied to those entities in the specific transactions (such as sending a message or transferring money out of a bank account) that the entities are performing. Reputation can thus be assigned to those identifiers based on their overall behavioral and historical patterns as well as their relationship to other identifiers, such as the relationship of IPs sending messages and URLs included in those messages. A “bad” reputation for a single identifier can cause the reputation of other neighboring identifiers to worsen, if there is a strong correlation between the identifiers. For example, an IP that is sending URLs which have a bad reputation will worsen its own reputation because of the reputation of the URLs. Finally, the individual identifier reputations can be aggregated into a single reputation (risk score) for the entity that is associated with those identifiers
It should be noted that attributes can fall into a number of categories. For example, evidentiary attributes can represent physical, digital, or digitized physical data about an entity. This data can be attributed to a single known or unknown entity, or shared between multiple entities (forming entity relationships). Examples of evidentially attributes relevant to messaging security include IP (internet protocol) address, known domain names, URLs, digital fingerprints or signatures used by the entity, TCP signatures, and etcetera.
As another example, behavioral attributes can represent human or machine-assigned observations about either an entity or an evidentiary attribute. Such attributes may include one, many, or all attributes from one or more behavioral profiles. For example, a behavioral attribute generically associated with a spammer may by a high volume of communications being sent from that entity.
A number of behavioral attributes for a particular type of behavior can be combined to derive a behavioral profile. A behavioral profile can contain a set of predefined behavioral attributes. The attributive properties assigned to these profiles include behavioral events relevant to defining the disposition of an entity matching the profile. Examples of behavioral profiles relevant to messaging security might include, “Spammer”, “Scammer”, and “Legitimate Sender”. Events and/or evidentiary attributes relevant to each profile define appropriate entities to which a profile should be assigned. This may include a specific set of sending patterns, blacklist events, or specific attributes of the evidentiary data. Some examples include: Sender/Receiver Identification; Time Interval and sending patterns; Severity and disposition of payload; Message construction; Message quality; Protocols and related signatures; Communications medium
It should be understood that entities sharing some or all of the same evidentiary attributes have an evidentiary relationship. Similarly, entities sharing behavioral attributes have a behavioral relationship. These relationships help form logical groups of related profiles, which can then be applied adaptively to enhance the profile or identify entities slightly more or less standard with the profiles assigned.
At step 420 identifiers are associated with the collected data (e.g., communication data). Step 420 can be performed by a security agent 100 or by a central system 200 operable to aggregate data from a number of sensor devices, including, for example, one or more security agents 100. Alternatively, step 420 can be performed by the security agents 100 themselves. The identifiers can be based upon the type of communication received. For example, an e-mail can include one set of information (e.g., IP) address of originator and destination, text content, attachment, etc.), while a VoIP communication can include a different set of information (e.g., originating phone number (or IP address if originating from a VoIP client), receiving phone number (or IP address if destined for a VoIP phone), voice content, etc.). Step 420 can also include assigning the attributes of the communication with the associated identifiers.
At step 430 the attributes associated with the entities are analyzed to determine whether any relationships exist between entities for which communications information has been collected. Step 430 can be performed, for example, by a central system 200 or one or more distributed security agents 100. The analysis can include comparing attributes related to different entities to find relationships between the entities. Moreover, based upon the particular attribute which serves as the basis for the relationship, a strength can be associated with the relationship.
At step 440 a risk vector is assigned to the entities. As an example, the risk vector can be assigned by the central system 200 or by one or more security agents 100. The risk vector assigned to an entity 130 (
At step 450, an action can be performed based upon the risk vector. The action can be performed, for example, by a security agent 100. The action can be performed on a received communication associated with an entity for which a risk vector has been assigned. The action can include any of allow, deny, quarantine, load balance, deliver with assigned priority, or analyze locally with additional scrutiny, among many others. However, it should be understood that a reputation vector can be derived separately
However, these stored derived reputations can be inconsistent between reputation engines, because each of the reputation engines may observe different types of traffic. For example, reputation engine 1510a may include a reputation that indicates a particular entity is reputable, while reputation engine 2510b may include a reputation that indicates that the same entity is non-reputable. These local reputational inconsistencies can be based upon different traffic received from the entity. Alternatively, the inconsistencies can be based upon the feedback from a user of local reputation engine 1510a indicating a communication is legitimate, while a user of local reputation engine 2510b provides feedback indicating that the same communication is not legitimate.
The server 530 receives reputation information from the local reputation engines 510a-e. However, as noted above, some of the local reputation information may be inconsistent with other local reputation information. The server 530 can arbitrate between the local reputations 500a-e to determine a global reputation 520 based upon the local reputation information 500a-e. In some examples, the global reputation information 520 can then be provided back to the local reputation engines 510a-e to provide these local engines 510a-e with up-to-date reputational information. Alternative, the local reputation engines 510a-e can be operable to query the server 530 for reputation information. In some examples, the server 530 responds to the query with global reputation information 520.
In other examples, the server 530 applies a local reputation bias to the global reputation 520. The local reputation bias can perform a transform on the global reputation to provide the local reputation engines 510a-e with a global reputation vector that is biased based upon the preferences of the particular local reputation engine 510a-e which originated the query. Thus, a local reputation engine 510a with an administrator or user(s) that has indicated a high tolerance for spam messages can receive a global reputation vector that accounts for an indicated tolerance. The particular components of the reputation vector returns to the reputation engine 510a might include portions of the reputation vector that are deemphasized with relationship to the rest of the reputation vector. Likewise, a local reputation engine 510b that has indicated, for example, a low tolerance communications from entities with reputations for originating viruses may receive a reputation vector that amplifies the components of the reputation vector that relate to virus reputation.
The server 620 is operable to respond to the query with a global reputation determination. The central server 620 can derive the global reputation using a global reputation aggregation engine 630. The global reputation aggregation engine 630 is operable to receive a plurality of local reputations 640 from a respective plurality of local reputation engines. In some examples, the plurality of local reputations 640 can be periodically sent by the reputation engines to the server 620. Alternatively, the plurality of local reputations 640 can be retrieved by the server upon receiving a query from one of the local reputation engines 600.
The local reputations can be combined using confidence values related to each of the local reputation engines and then accumulating the results. The confidence value can indicate the confidence associated with a local reputation produced by an associated reputation engine. Reputation engines associated with individuals, for example, can receive a lower weighting in the global reputation determination. In contrast, local reputations associated with reputation engines operating on large networks can receive greater weight in the global reputation determination based upon the confidence value associated with that reputation engine.
In some examples, the confidence values 650 can be based upon feedback received from users. For example, a reputation engine that receives a lot of feedback indicating that communications were not properly handled because local reputation information 640 associated with the communication indicated the wrong action can be assigned low confidence values 650 for local reputations 640 associated with those reputation engines. Similarly, reputation engines that receive feedback indicating that the communications were handled correctly based upon local reputation information 640 associated with the communication indicated the correct action can be assigned a high confidence value 650 for local reputations 640 associated with the reputation engine. Adjustment of the confidence values associated with the various reputation engines can be accomplished using a tuner 660, which is operable to receive input information and to adjust the confidence values based upon the received input. In some examples, the confidence values 650 can be provided to the server 620 by the reputation engine itself based upon stored statistics for incorrectly classified entities. In other examples, information used to weight the local reputation information can be communicated to the server 620.
In some examples, a bias 670 can be applied to the resulting global reputation vector. The bias 670 can normalize the reputation vector to provide a normalized global reputation vector to a reputation engine 600. Alternatively, the bias 670 can be applied to account for local preferences associated with the reputation engine 600 originating the reputation query. Thus, a reputation engine 600 can receive a global reputation vector matching the defined preferences of the querying reputation engine 600. The reputation engine 600 can take an action on the communication based upon the global reputation vector received from the server 620.
The server 720 uses the information received from the query to determine a global reputation based upon a configuration 725 of the server 720. The configuration 725 can include a plurality of reputation information, including both information indicating that a queried entity is non-reputable 730 and information indicating that a queried entity is reputable 735. The configuration 725 can also apply a weighting 740 to each of the aggregated reputations 730, 735. A reputation score determinator 745 can provide the engine for weighting 740 the aggregated reputation information 730, 735 and producing a global reputation vector.
The local security agent 700 then sends a query to a local reputation engine at 706. The local reputation engine 708 performs a determination of the local reputation and returns a local reputation vector at 710. The local security agent 700 also receives a response to the reputation query sent to the server 720 in the form of a global reputation vector. The local security agent 700 then mixes the local and global reputation vectors together at 712. An action is then taken with respect to the received message at 714.
In some examples, the categories 810 can be divided into two or more types of categories. For example, the categories 810 of
Moreover, while categories 810 of “Policy Settings” type 830 can be adjusted freely based upon the user's own judgment, categories of “Security Settings” type 820 can be limited to adjustment within a range. This distinction can be made in order to prevent a user from altering the security settings of the security agent beyond an acceptable range. For example, a disgruntled employee could attempt to lower the security settings, thereby leaving an enterprise network vulnerable to attack. Thus, the ranges 850 placed on categories 810 in the “Security Settings” type 820 are operable to keep security at a minimum level to prevent the network from being compromised. However, as should be noted, the “Policy Settings” type 830 categories 810 are those types of categories 810 that would not compromise the security of a network, but might only inconvenience the user or the enterprise if the settings were lowered.
Furthermore, it should be recognized that in various examples, range limits 850 can be placed upon all of the categories 810. Thus, the local security agent would prevent users from setting the mixer bar representation 840 outside of the provided range 850. It should also be noted, that in some examples, the ranges may not be shown on the graphical user interface 800. Instead, the range 850 would be abstracted out of the graphical user interface 800 and all of the settings would be relative settings. Thus, the category 810 could display and appear to allow a full range of settings, while transforming the setting into a setting within the provided range. For example, the “Virus” category 810 range 850 is provided in this example as being between level markers 8 and 13. If the graphical user interface 800 were set to abstract the allowable range 850 out of the graphical user interface 800, the “Virus” category 810 would allow setting of the mixer bar representation 840 anywhere between 0 and 14. However, the graphical user interface 800 could transform the 0-14 setting to a setting within the 8 to 13 range 850. Thus, if a user requested a setting of midway between 0 and 14, the graphical user interface could transform that setting into a settings of midway between 8 and 13.
Upon establishing a VoIP call, the originating IP phone has established a connection to the local network 930. This connection can be exploited similarly to the way e-mail, web, instant messaging, or other internet applications can be exploited for providing unregulated connect to a network. Thus, a connection to a receiving IP phone can be exploited, thereby putting computers 940, 950 operating on the local network 930 at risk for intrusion, viruses, trojan horses, worms, and various other types of attacks based upon the established connection. Moreover, because of the time sensitive nature of VoIP communications, these communications are typically not examined to ensure that the connection is not being misused. For example, voice conversations occur in real-time. If a few packets of a voice conversation are delayed, the conversation becomes stilted and difficult to understand. Thus, the contents of the packets typically cannot be examined once a connection is established.
However, a local security agent 960 can use reputation information received from a reputation engine or server 970 to determine a reputation associated with the originating IP phone. The local security agent 960 can use the reputation of the originating entity to determine whether to allow a connection to the originating entity. Thus, the security agent 960 can prevent connections to non-reputable entities, as indicated by reputations that do not comply with the policy of the local security agent 960.
In some examples, the local security agent 960 can include a connection throttling engine operable to control the flow rate of packets being transmitted using the connection established between the originating IP phone 900 and the receiving IP phone 910. Thus, an originating entities 900 with a non-reputable reputation can be allowed to make a connection to the receiving IP phone 910. However, the packet throughput will be capped, thereby preventing the originating entity 900 from exploiting the connection to attack the local network 930. Alternatively, the throttling of the connection can be accomplished by performing a detailed inspection of any packets originating from non-reputable entities. As discussed above, the detailed inspection of all VoIP packets is not efficient. Thus, quality of service (QoS) can be maximized for connections associated with reputable entities, while reducing the QoS associated with connections to non-reputable entities. Standard communication interrogation techniques call be performed on connections associated with non-reputable entities in order to discover whether any of the transmitted packets received from the originating entity comprise a threat to the network 930. Various interrogation techniques and systems are described in U.S. Pat. Nos. 6,941,467, 7,089,590, 7,096,498, and 7,124,438 and in U.S. Patent Application Nos. 2006/0015942, 2006/0015563, 2003/0172302, 2003/0172294, 2003/0172291, and 2003/0172166, which are hereby incorporated by reference.
The reputation engine 1030 is operable to provide the load balancer with a reputation vector. The reputation vector can indicate the reputation of the entity 1010, 1020 associated with the communication in a variety of different categories. For example, the reputation vector might indicate a good reputation for an entity 1010, 1020 with respect to the entity 1010, 1020 originating spam, while also indicating a poor reputation for the same entity 1010, 1020 with respect to that entity 1010, 1020 originating viruses.
The load balancer 1000 can use the reputation vector to determine what action to perform with respect to a communication associated with that entity 1010, 1020. In situations where a reputable entity 1010) is associated with the communication, the message is sent to a message transfer agent (MTA) 1050 and delivered to a recipient 1060.
In situations where a non-reputable entity 1020 has a reputation for viruses, but does not have a reputation for other types of non-reputable activity, the communication is forwarded to one of a plurality of virus detectors 1070. The load balancer 1000 is operable to determine which of the plurality of virus detectors 1070 to use based upon the current capacity of the virus detectors and the reputation of the originating entity. For example, the load balancer 1000 could send the communication to the least utilized virus detector. In other examples, the load balancer 1000 might determine a degree of non-reputability associated with the originating entity and send slightly non-reputable communications to the least utilized virus detectors, while sending highly non-reputable communications to a highly utilized virus detector, thereby throttling the QoS of a connection associated with a highly non-reputable entity.
Similarly, in situations where a non-reputable entity 1020 has a reputation for originating spam communications, but no other types of non-reputable activities, the load balancer can send the communication to specialized spam detectors 1080 to the exclusion of other types of testing. It should be understood that in situations where a communication is associated with a non-reputable entity 1020 that originates multiple types of non-reputable activity, the communication can be sent to be tested for each of the types of non-reputable activity that the entity 1020 is known to display, while avoiding tests associated with non-reputable activity that the entity 1020 is not known to display.
In some examples, every communication can receive routine testing for multiple types of non-legitimate content. However, when an entity 1020 associated with the communication shows a reputation for certain types of activity, the communication can also be quarantined for detailed testing for the content that the entity shows a reputation for originating.
In yet further examples, every communication may receive the same type of testing. However, communications associated with reputable entities 1010 is sent to the testing modules with the shortest queue or to testing modules with spare processing capacity. On the other hand, communications associated with non-reputable entities 1020 is sent to testing modules 1070, 1080 with the longest queue. Therefore, communications associated with reputable entities 1010 can receive priority in delivery over communications associated with non-reputable entities. Quality of service is therefore maximized for reputable entities 1010, while being reduced for non-reputable entities 1020. Thus, reputation based load balancing can protect the network from exposure to attack by reducing the ability of a non-reputable entity to connect to the network 930.
However, if the username and password do match a legitimate username/password combination, the origin of the login attempt is ascertained at step 1130. The origin of the login attempt can be determined by a local security agent 100 as described in
Alternatively, if the actual origin does not match statistical expectations for the origin, further processing is performed in step 1150. It should be understood that further processing can include requesting further information from the user to verify his or her authenticity. Such information can include, for example, home address, mother's maiden name, place of birth, or any other piece of information known about the user (e.g., secret question). Other examples of additional processing can include searching previous login attempts to determine whether the location of the current login attempt is truly anomalous or merely coincidental. Furthermore, a reputation associated with the entity originating the login attempt can be derived and used to determine whether to allow the login.
However, if the username and password do match a legitimate username/password combination, the origin of the login attempt is ascertained at step 1170. The origin of the login attempt can be determined by a local security agent 100 as described in
Alternatively, if the originating entity is non-reputable, further processing is performed in step 11190. It should be understood that farther processing can include requesting further information from the user to verify his or her authenticity. Such information can include, for example, home address, mother's maiden name, place of birth, or any other piece of information known about the user (e.g., secret question). Other examples of additional processing can include searching previous login attempts to determine whether the location of the current login attempt is truly anomalous or merely coincidental.
Thus, it should be understood that reputation systems can be applied to identifying fraud in financial transactions. The reputation system can raise the risk score of a transaction depending on the reputation of the transaction originator or the data in the actual transaction (source, destination, amount, etc). In such situations, the financial institution can better determine the probability that a particular transaction is fraudulent based upon the reputation of the originating entity.
If the communications are associated with a new entity, a dynamic quarantine counter is initialized in step 1215. Communications received from the new entity are then sent to a dynamic quarantined at step 1220. The counter is then checked to determine whether the counter has elapsed in step 1225. If the counter has not elapsed, the counter is decremented in step 1230. The behavior of the entity as well as the quarantined communications can be analyzed in step 1235. A determination is made whether the quarantined communications or behavior of the entity is anomalous in step 1240. If there is no anomaly found, the operational scenario returns to step 1220, where new communications are quarantined.
However, if the communications or behavior of the entity are found to be anomalous in step 1240, a non-reputable reputation is assigned to the entity in step 1245. The process ends by sending notification to an administrator or recipients of communications sent by the originating entity.
Returning to step 1220, the process of quarantining and examining communications and entity behavior continues until anomalous behavior is discovered, or until the dynamic quarantine counter elapses in step 1225. If the dynamic quarantine counter elapses, a reputation is assigned to the entity at step 1255. Alternatively, in situations where the entity is not an unknown entity, the reputation would be updated in steps 1245 or 1255. The operational scenario ends at step 1260 by releasing the dynamic quarantine where the dynamic quarantine counter has elapsed without discovery of an anomaly in the communications or in the originating entity behavior.
The process begins at step 1400 with analysis of the communication. Step 1400 typically includes analyzing the communication to determine whether the communication includes an image that is subject to image spam processing. At step 1410, the operational scenario performs a structural analysis of the communication to determine whether the image comprises spam. The header of the image is then analyzed in step 1420. Analysis of the image header allows the system to determine whether anomalies exist with respect to the image format itself (e.g., protocol errors, corruption, etc.). The features of the image are analyzed in step 1430. The feature analysis is intended to determine whether any of the features of the image are anomalous. The image can be normalized in step 1440. Normalization of an image typically includes removal of random noise that might be added by a spammer to avoid image fingerprinting techniques. Image normalization is intended to convert the image into a format that can be easily compared among images. A fingerprint analysis can be performed on the normalized image to determine whether the image matches images from previously received known image spam.
The operational scenario then includes image detection at step 1515. The image detection can include partitioning the image into a plurality of pieces and performing fingerprinting on the pieces to determine whether the fingerprints match pieces of previously received images.
One of the features extracted by the operational scenario can include the number of histogram modes of the image, as show at step 1525. The number of modes is yielded by an examination of spectral intensity of the image. As should be understood, artificial images will typically include fewer modes than natural images, because natural image colors are typically spread through a broad spectrum.
As described above, the features extracted from the image can be used to identify anomalies. In some examples, anomalies can include analyzing the characteristics of a message to determine a level of similarity of a number of features to the features of stored unwanted images. Alternatively, in some examples, the image features can also be analyzed for comparison with known reputable images to determine similarity to reputable images. It should be understood that none of the extracted features alone are determinative of a classification. For example, a specific feature might be associated with 60% of unwanted messages, while also being associated with 40% of wanted messages. Moreover, as the value associated with the feature changed, there might be a change in the probability that the message is wanted or unwanted. There are many features that can indicate a slight tendency. If each of these features are combined the image spam detection system can make classification decision.
The aspect ratio is then examined in step 1530 to determine whether there are any anomalies with respect to the image size or aspect. Such anomalies in the aspect ratio could be indicated by similarity of the image size or aspect ratio to known sizes or aspect ratios which are common to known image spam. For example, image spam can come in specific sizes to make the image spam look more like common e-mail. Messages that include images which share a common size with known spam images are more likely to be spam themselves. Alternatively, there are image sizes which are not conducive to spam (e.g., a 1″×1″ square image might be difficult to read if a spammer inserted a message into the image). Messages that include images which are known to be non-conducive to spam insertion are less likely to be image spam. Thus, the aspect ratio of a message can be compared to common aspect ratios used in image spam to determine a probability that the image is an unwanted image or that the image is a reputable image.
At step 1535, the frequency distribution of the image is examined. Typically, natural pictures have uniform frequency distribution with a relative scarcity of sharp frequency gradations. On the other hand, image spam typically includes a choppy frequency distribution as a result of black letters being placed on a dark background. Thus, such non-uniform frequency distribution can indicate image spam.
At step 1540, the signal to noise ratio can be analyzed. A high signal to noise ratio night indicate that a spammer may be trying to evade fingerprinting techniques by introducing noise into the image. Increasing noise levels can thereby indicate an increasing probability that the image is an unwanted image.
It should be understood that some features can be extracted on the scale of the entire image, while other features can be extracted from subparts of the image. For example the image can be subdivided into a plurality of subparts. Each of the rectangles can be transformed into a frequency domain using a fast Fourier transform (FFT). In the transformed image, the predominance of frequencies in a plurality of directions can be extracted as features. These subparts of the transformed image can also be examined to determine the amount of high frequencies and low frequencies. In the transformed image, the points that are further away from the origin represent higher frequencies. Similarly to the other extracted features, these features can then be compared to known legitimate and unwanted images to determine which characteristics the unknown image shares with each type of known image. Moreover, the transformed (e.g., frequency domain) image can also be divided into subparts (e.g., slices, rectangles, concentric circles, etc.) and compared against data from known images (e.g., both known unwanted images and known legitimate images).
An edge detection algorithm can be run on the normalized image at step 1550. In some examples, the edge detected image can be used provided to an optical character recognition engine to convert the edge detected image to text. The edge detection can be used to remove unnecessary detail from the picture which can cause inefficiency in processing the image again other images.
At step 1555, median filtering can be applied. The median filtering is applied to remove random pixel noise. Such random pixels can cause problems to content analysis of the image. The median filtering can help to remove single pixel type of noise introduced by spammers. It should be understood that single pixel noise is introduced by spammers using an image editor to alter one or more pixels in the image, which can make the image appear grainy in some areas, thereby making the image more difficult to detect.
At step 1560, the image is quantized. Quantizing of the image remove unnecessary color information. The color information typically requires more processing and is unrelated to the attempted propagation of the spam. Moreover, spammers could vary the color scheme in an image slightly and again vary the hash such that known image spam hashes would not match the derived hash from the color variant image spam.
At step 1565, contrast stretching is performed. Using contrast stretching the color scale in the image is maximized from black to white, even if the colors only vary through shades of gray. The lightest shade of the image is assigned a white value, while the darkest shade in the image is assigned a black value. All other shades are assigned their relative position in the spectrum in comparison to the lightest and darkest shades in the original image. Contrast stretching helps to define details in an image that may not make full use of the available spectrum and therefore can help to prevent spammers from using different pieces of the spectrum to avoid fingerprinting techniques. Spammers sometimes intentionally shift the intensity range of an image to defeat some types of feature identification engines. Contrast stretching can also help normalize an image such that it can be compared to other images to identify common features contained in the images.
As used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. Finally, as used in the description herein and throughout the claims that follow, the meanings of “and” and “or” include both the conjunctive and disjunctive and may be used interchangeably unless the context clearly dictates otherwise.
Ranges may be expressed herein as from “about” one particular value, and/or to “about” another particular value. When such a range is expressed, another embodiment includes from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent “about,” it will be understood that the particular value forms another embodiment. It will be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint.
A number of embodiments of the invention have been described. Nevertheless it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4289930 | Connolly et al. | Sep 1981 | A |
4384325 | Slechta et al. | May 1983 | A |
4386416 | Giltner et al. | May 1983 | A |
4532588 | Foster | Jul 1985 | A |
4713780 | Schultz et al. | Dec 1987 | A |
4754428 | Schultz et al. | Jun 1988 | A |
4837798 | Cohen et al. | Jun 1989 | A |
4853961 | Pastor | Aug 1989 | A |
4864573 | Horsten | Sep 1989 | A |
4951196 | Jackson | Aug 1990 | A |
4975950 | Lentz | Dec 1990 | A |
4979210 | Nagata et al. | Dec 1990 | A |
5008814 | Mathur | Apr 1991 | A |
5020059 | Gorin et al. | May 1991 | A |
5051886 | Kawaguchi et al. | Sep 1991 | A |
5054096 | Beizer | Oct 1991 | A |
5105184 | Pirani et al. | Apr 1992 | A |
5119465 | Jack et al. | Jun 1992 | A |
5144557 | Wang | Sep 1992 | A |
5144659 | Jones | Sep 1992 | A |
5144660 | Rose | Sep 1992 | A |
5167011 | Priest | Nov 1992 | A |
5210824 | Putz et al. | May 1993 | A |
5210825 | Kavaler | May 1993 | A |
5235642 | Wobber et al. | Aug 1993 | A |
5239466 | Morgan et al. | Aug 1993 | A |
5247661 | Hager et al. | Sep 1993 | A |
5276869 | Forrest et al. | Jan 1994 | A |
5278901 | Shieh et al. | Jan 1994 | A |
5283887 | Zachery | Feb 1994 | A |
5293250 | Okumura et al. | Mar 1994 | A |
5313521 | Torii et al. | May 1994 | A |
5319776 | Hile et al. | Jun 1994 | A |
5355472 | Lewis | Oct 1994 | A |
5367621 | Cohen et al. | Nov 1994 | A |
5377354 | Scannell et al. | Dec 1994 | A |
5379340 | Overend et al. | Jan 1995 | A |
5379374 | Ishizaki et al. | Jan 1995 | A |
5404231 | Bloomfield | Apr 1995 | A |
5406557 | Baudoin | Apr 1995 | A |
5414833 | Hershey et al. | May 1995 | A |
5416842 | Aziz | May 1995 | A |
5418908 | Keller et al. | May 1995 | A |
5424724 | Williams et al. | Jun 1995 | A |
5479411 | Klein | Dec 1995 | A |
5481312 | Cash et al. | Jan 1996 | A |
5483466 | Kawahara et al. | Jan 1996 | A |
5485409 | Gupta et al. | Jan 1996 | A |
5495610 | Shing et al. | Feb 1996 | A |
5509074 | Choudhury et al. | Apr 1996 | A |
5511122 | Atkinson | Apr 1996 | A |
5513126 | Harkins et al. | Apr 1996 | A |
5513323 | Williams et al. | Apr 1996 | A |
5530852 | Meske, Jr. et al. | Jun 1996 | A |
5535276 | Ganesan | Jul 1996 | A |
5541993 | Fan et al. | Jul 1996 | A |
5544320 | Konrad | Aug 1996 | A |
5550984 | Gelb | Aug 1996 | A |
5550994 | Tashiro et al. | Aug 1996 | A |
5557742 | Smaha et al. | Sep 1996 | A |
5572643 | Judson | Nov 1996 | A |
5577209 | Boyle et al. | Nov 1996 | A |
5602918 | Chen et al. | Feb 1997 | A |
5606668 | Shwed | Feb 1997 | A |
5608819 | Ikeuchi | Mar 1997 | A |
5608874 | Ogawa et al. | Mar 1997 | A |
5619648 | Canale et al. | Apr 1997 | A |
5621889 | Lermuzeaux et al. | Apr 1997 | A |
5632011 | Landfield et al. | May 1997 | A |
5638487 | Chigier | Jun 1997 | A |
5644404 | Hashimoto et al. | Jul 1997 | A |
5657461 | Harkins et al. | Aug 1997 | A |
5673322 | Pepe et al. | Sep 1997 | A |
5675507 | Bobo, II | Oct 1997 | A |
5675733 | Williams | Oct 1997 | A |
5677955 | Doggett et al. | Oct 1997 | A |
5694616 | Johnson et al. | Dec 1997 | A |
5696822 | Nachenberg | Dec 1997 | A |
5706442 | Anderson et al. | Jan 1998 | A |
5708780 | Levergood et al. | Jan 1998 | A |
5708826 | Ikeda et al. | Jan 1998 | A |
5710883 | Hong et al. | Jan 1998 | A |
5727156 | Herr-Hoyman et al. | Mar 1998 | A |
5740231 | Cohn et al. | Apr 1998 | A |
5742759 | Nessett et al. | Apr 1998 | A |
5742769 | Lee et al. | Apr 1998 | A |
5745574 | Muftic | Apr 1998 | A |
5751956 | Kirsch | May 1998 | A |
5758343 | Vigil et al. | May 1998 | A |
5764906 | Edelstein et al. | Jun 1998 | A |
5768528 | Stumm | Jun 1998 | A |
5771348 | Kubatzki et al. | Jun 1998 | A |
5778372 | Cordell et al. | Jul 1998 | A |
5781857 | Hwang et al. | Jul 1998 | A |
5781901 | Kuzma | Jul 1998 | A |
5790789 | Suarez | Aug 1998 | A |
5790790 | Smith et al. | Aug 1998 | A |
5790793 | Higley | Aug 1998 | A |
5793763 | Mayes et al. | Aug 1998 | A |
5793972 | Shane | Aug 1998 | A |
5796942 | Esbensen | Aug 1998 | A |
5796948 | Cohen | Aug 1998 | A |
5801700 | Ferguson | Sep 1998 | A |
5805719 | Pare, Jr. et al. | Sep 1998 | A |
5812398 | Nielsen | Sep 1998 | A |
5812776 | Gifford | Sep 1998 | A |
5822526 | Waskiewicz | Oct 1998 | A |
5822527 | Post | Oct 1998 | A |
5826013 | Nachenberg | Oct 1998 | A |
5826014 | Coley et al. | Oct 1998 | A |
5826022 | Nielsen | Oct 1998 | A |
5826029 | Gore, Jr. et al. | Oct 1998 | A |
5835087 | Herz et al. | Nov 1998 | A |
5845084 | Cordell et al. | Dec 1998 | A |
5850442 | Muftic | Dec 1998 | A |
5855020 | Kirsch | Dec 1998 | A |
5860068 | Cook | Jan 1999 | A |
5862325 | Reed et al. | Jan 1999 | A |
5864852 | Luotonen | Jan 1999 | A |
5878230 | Weber et al. | Mar 1999 | A |
5884033 | Duvall et al. | Mar 1999 | A |
5892825 | Mages et al. | Apr 1999 | A |
5893114 | Hashimoto et al. | Apr 1999 | A |
5896499 | McKelvey | Apr 1999 | A |
5898836 | Freivald et al. | Apr 1999 | A |
5903723 | Beck et al. | May 1999 | A |
5911776 | Guck | Jun 1999 | A |
5923846 | Gage et al. | Jul 1999 | A |
5930479 | Hall | Jul 1999 | A |
5933478 | Ozaki et al. | Aug 1999 | A |
5933498 | Schneck et al. | Aug 1999 | A |
5937164 | Mages et al. | Aug 1999 | A |
5940591 | Boyle et al. | Aug 1999 | A |
5948062 | Tzelnic et al. | Sep 1999 | A |
5958005 | Thorne et al. | Sep 1999 | A |
5963915 | Kirsch | Oct 1999 | A |
5978799 | Hirsch | Nov 1999 | A |
5987609 | Hasebe | Nov 1999 | A |
5991881 | Conklin et al. | Nov 1999 | A |
5999932 | Paul | Dec 1999 | A |
6003027 | Prager | Dec 1999 | A |
6006329 | Chi | Dec 1999 | A |
6012144 | Pickett | Jan 2000 | A |
6014651 | Crawford | Jan 2000 | A |
6023723 | McCormick et al. | Feb 2000 | A |
6029256 | Kouznetsov | Feb 2000 | A |
6035423 | Hodges et al. | Mar 2000 | A |
6052709 | Paul | Apr 2000 | A |
6058381 | Nelson | May 2000 | A |
6058482 | Liu | May 2000 | A |
6061448 | Smith et al. | May 2000 | A |
6061722 | Lipa et al. | May 2000 | A |
6072942 | Stockwell et al. | Jun 2000 | A |
6088804 | Hill et al. | Jul 2000 | A |
6092114 | Shaffer et al. | Jul 2000 | A |
6092194 | Touboul | Jul 2000 | A |
6094277 | Toyoda | Jul 2000 | A |
6094731 | Waldin et al. | Jul 2000 | A |
6104500 | Alam et al. | Aug 2000 | A |
6108688 | Nielsen | Aug 2000 | A |
6108691 | Lee et al. | Aug 2000 | A |
6108786 | Knowlson | Aug 2000 | A |
6118856 | Paarsmarkt et al. | Sep 2000 | A |
6118886 | Baumgari et al. | Sep 2000 | A |
6119137 | Smith et al. | Sep 2000 | A |
6119142 | Kosaka | Sep 2000 | A |
6119230 | Carter | Sep 2000 | A |
6119236 | Shipley | Sep 2000 | A |
6122661 | Stedman et al. | Sep 2000 | A |
6141695 | Sekiguchi et al. | Oct 2000 | A |
6141778 | Kane et al. | Oct 2000 | A |
6145083 | Shaffer et al. | Nov 2000 | A |
6151675 | Smith | Nov 2000 | A |
6161130 | Horvitz et al. | Dec 2000 | A |
6165314 | Gardner et al. | Dec 2000 | A |
6185689 | Todd, Sr. et al. | Feb 2001 | B1 |
6192360 | Dumais et al. | Feb 2001 | B1 |
6192407 | Smith et al. | Feb 2001 | B1 |
6199102 | Cobb | Mar 2001 | B1 |
6202157 | Brownlie et al. | Mar 2001 | B1 |
6219714 | Inhwan et al. | Apr 2001 | B1 |
6223213 | Cleron et al. | Apr 2001 | B1 |
6249575 | Heilmann et al. | Jun 2001 | B1 |
6249807 | Shaw et al. | Jun 2001 | B1 |
6260043 | Puri et al. | Jul 2001 | B1 |
6269447 | Maloney et al. | Jul 2001 | B1 |
6269456 | Hodges et al. | Jul 2001 | B1 |
6272532 | Feinleib | Aug 2001 | B1 |
6275942 | Bernhard et al. | Aug 2001 | B1 |
6279113 | Vaidya | Aug 2001 | B1 |
6279133 | Vafai et al. | Aug 2001 | B1 |
6282565 | Shaw et al. | Aug 2001 | B1 |
6285991 | Powar | Sep 2001 | B1 |
6289214 | Backstrom | Sep 2001 | B1 |
6298445 | Shostack et al. | Oct 2001 | B1 |
6301668 | Gleichauf et al. | Oct 2001 | B1 |
6304898 | Shiigi | Oct 2001 | B1 |
6304973 | Williams | Oct 2001 | B1 |
6311207 | Mighdoll et al. | Oct 2001 | B1 |
6317829 | Van Oorschot | Nov 2001 | B1 |
6320948 | Heilmann et al. | Nov 2001 | B1 |
6321267 | Donaldson | Nov 2001 | B1 |
6324569 | Ogilvie et al. | Nov 2001 | B1 |
6324647 | Bowman-Amuah | Nov 2001 | B1 |
6324656 | Gleichauf et al. | Nov 2001 | B1 |
6330589 | Kennedy | Dec 2001 | B1 |
6347374 | Drake et al. | Feb 2002 | B1 |
6353886 | Howard et al. | Mar 2002 | B1 |
6363489 | Comay et al. | Mar 2002 | B1 |
6370648 | Diep | Apr 2002 | B1 |
6373950 | Rowney | Apr 2002 | B1 |
6385655 | Smith et al. | May 2002 | B1 |
6393465 | Leeds | May 2002 | B2 |
6393568 | Ranger et al. | May 2002 | B1 |
6405318 | Rowland | Jun 2002 | B1 |
6434624 | Gai et al. | Aug 2002 | B1 |
6442588 | Clark et al. | Aug 2002 | B1 |
6442686 | McArdle et al. | Aug 2002 | B1 |
6453345 | Trcka et al. | Sep 2002 | B2 |
6460141 | Olden | Oct 2002 | B1 |
6470086 | Smith | Oct 2002 | B1 |
6487599 | Smith et al. | Nov 2002 | B1 |
6487666 | Shanklin et al. | Nov 2002 | B1 |
6502191 | Smith et al. | Dec 2002 | B1 |
6516411 | Smith | Feb 2003 | B2 |
6519703 | Joyce | Feb 2003 | B1 |
6539430 | Humes | Mar 2003 | B1 |
6546416 | Kirsch | Apr 2003 | B1 |
6546493 | Magdych et al. | Apr 2003 | B1 |
6550012 | Villa et al. | Apr 2003 | B1 |
6574737 | Kingsford et al. | Jun 2003 | B1 |
6578025 | Pollack et al. | Jun 2003 | B1 |
6609196 | Dickinson, III et al. | Aug 2003 | B1 |
6650890 | Irlam et al. | Nov 2003 | B1 |
6654787 | Aronson et al. | Nov 2003 | B1 |
6675153 | Cook et al. | Jan 2004 | B1 |
6681331 | Munson et al. | Jan 2004 | B1 |
6687687 | Smadja | Feb 2004 | B1 |
6697950 | Ko | Feb 2004 | B1 |
6701440 | Kim et al. | Mar 2004 | B1 |
6704874 | Porras et al. | Mar 2004 | B1 |
6711127 | Gorman et al. | Mar 2004 | B1 |
6711687 | Sekiguchi | Mar 2004 | B1 |
6725377 | Kouznetsov | Apr 2004 | B1 |
6732101 | Cook | May 2004 | B1 |
6732157 | Gordon et al. | May 2004 | B1 |
6735703 | Kilpatrick et al. | May 2004 | B1 |
6738462 | Brunson | May 2004 | B1 |
6742124 | Kilpatrick et al. | May 2004 | B1 |
6742128 | Joiner | May 2004 | B1 |
6754705 | Joiner et al. | Jun 2004 | B2 |
6757830 | Tarbotton et al. | Jun 2004 | B1 |
6760309 | Rochberger et al. | Jul 2004 | B1 |
6768991 | Hearnden | Jul 2004 | B2 |
6769016 | Rothwell et al. | Jul 2004 | B2 |
6772196 | Kirsch et al. | Aug 2004 | B1 |
6775657 | Baker | Aug 2004 | B1 |
6792546 | Shanklin et al. | Sep 2004 | B1 |
6880156 | Landherr et al. | Apr 2005 | B1 |
6892178 | Zacharia | May 2005 | B1 |
6892179 | Zacharia | May 2005 | B1 |
6892237 | Gai et al. | May 2005 | B1 |
6895385 | Zacharia et al. | May 2005 | B1 |
6907430 | Chong et al. | Jun 2005 | B2 |
6910135 | Grainger | Jun 2005 | B1 |
6928556 | Black et al. | Aug 2005 | B2 |
6941348 | Petry et al. | Sep 2005 | B2 |
6941467 | Judge et al. | Sep 2005 | B2 |
6968461 | Lucas et al. | Nov 2005 | B1 |
6981143 | Mullen et al. | Dec 2005 | B2 |
7051077 | Lin | May 2006 | B2 |
7089428 | Farley et al. | Aug 2006 | B2 |
7092992 | Yu | Aug 2006 | B1 |
7117358 | Bandini et al. | Oct 2006 | B2 |
7143213 | Need et al. | Nov 2006 | B2 |
7152105 | McClure et al. | Dec 2006 | B2 |
7155243 | Baldwin et al. | Dec 2006 | B2 |
7164678 | Connor | Jan 2007 | B2 |
7254712 | Godfrey et al. | Aug 2007 | B2 |
7272149 | Bly et al. | Sep 2007 | B2 |
7272853 | Goodman et al. | Sep 2007 | B2 |
7349332 | Srinivasan et al. | Mar 2008 | B1 |
7376731 | Khan et al. | May 2008 | B2 |
7385924 | Riddle | Jun 2008 | B1 |
7460476 | Morris et al. | Dec 2008 | B1 |
7461339 | Liao et al. | Dec 2008 | B2 |
7496634 | Cooley | Feb 2009 | B1 |
7522516 | Parker | Apr 2009 | B1 |
7543056 | McClure et al. | Jun 2009 | B2 |
7545748 | Riddle | Jun 2009 | B1 |
7610344 | Mehr et al. | Oct 2009 | B2 |
7617160 | Grove et al. | Nov 2009 | B1 |
7620986 | Jagannathan et al. | Nov 2009 | B1 |
7644127 | Yu | Jan 2010 | B2 |
7730316 | Baccash | Jun 2010 | B1 |
7739253 | Yanovsky et al. | Jun 2010 | B1 |
7870203 | Judge et al. | Jan 2011 | B2 |
7899866 | Buckingham et al. | Mar 2011 | B1 |
7937480 | Alperovitch et al. | May 2011 | B2 |
8079087 | Spies et al. | Dec 2011 | B1 |
20010037311 | McCoy et al. | Nov 2001 | A1 |
20010049793 | Sugimoto | Dec 2001 | A1 |
20020004902 | Toh et al. | Jan 2002 | A1 |
20020013692 | Chandhok et al. | Jan 2002 | A1 |
20020016910 | Wright et al. | Feb 2002 | A1 |
20020023089 | Woo | Feb 2002 | A1 |
20020023140 | Hile et al. | Feb 2002 | A1 |
20020026591 | Hartley et al. | Feb 2002 | A1 |
20020032871 | Malan et al. | Mar 2002 | A1 |
20020035683 | Kaashoek et al. | Mar 2002 | A1 |
20020042876 | Smith | Apr 2002 | A1 |
20020046041 | Lang | Apr 2002 | A1 |
20020049853 | Chu et al. | Apr 2002 | A1 |
20020051575 | Myers et al. | May 2002 | A1 |
20020059454 | Barrett et al. | May 2002 | A1 |
20020062368 | Holtzman et al. | May 2002 | A1 |
20020078382 | Sheikh et al. | Jun 2002 | A1 |
20020087882 | Schneier et al. | Jul 2002 | A1 |
20020095492 | Kaashoek et al. | Jul 2002 | A1 |
20020112013 | Walsh | Aug 2002 | A1 |
20020112185 | Hodges | Aug 2002 | A1 |
20020116627 | Tarbotton et al. | Aug 2002 | A1 |
20020120853 | Tyree | Aug 2002 | A1 |
20020133365 | Grey et al. | Sep 2002 | A1 |
20020138416 | Lovejoy et al. | Sep 2002 | A1 |
20020138755 | Ko | Sep 2002 | A1 |
20020138759 | Dutta | Sep 2002 | A1 |
20020138762 | Horne | Sep 2002 | A1 |
20020143963 | Converse et al. | Oct 2002 | A1 |
20020147734 | Shoup et al. | Oct 2002 | A1 |
20020152399 | Smith | Oct 2002 | A1 |
20020165971 | Baron | Nov 2002 | A1 |
20020169954 | Bandini et al. | Nov 2002 | A1 |
20020172367 | Mulder et al. | Nov 2002 | A1 |
20020178227 | Matsa et al. | Nov 2002 | A1 |
20020178383 | Hrabik et al. | Nov 2002 | A1 |
20020178410 | Haitsma et al. | Nov 2002 | A1 |
20020188864 | Jackson | Dec 2002 | A1 |
20020194469 | Dominique et al. | Dec 2002 | A1 |
20020199095 | Bandini et al. | Dec 2002 | A1 |
20030005326 | Flemming | Jan 2003 | A1 |
20030005331 | Williams | Jan 2003 | A1 |
20030009554 | Burch et al. | Jan 2003 | A1 |
20030009693 | Brock et al. | Jan 2003 | A1 |
20030009696 | Bunker, V et al. | Jan 2003 | A1 |
20030009699 | Gupta et al. | Jan 2003 | A1 |
20030014664 | Hentunen | Jan 2003 | A1 |
20030023692 | Moroo | Jan 2003 | A1 |
20030023695 | Kobata et al. | Jan 2003 | A1 |
20030023736 | Abkemeier | Jan 2003 | A1 |
20030023873 | Ben-Itzhak | Jan 2003 | A1 |
20030023874 | Prokupets et al. | Jan 2003 | A1 |
20030023875 | Hursey et al. | Jan 2003 | A1 |
20030028803 | Bunker, V et al. | Feb 2003 | A1 |
20030033516 | Howard et al. | Feb 2003 | A1 |
20030033542 | Goseva-Popstojanova et al. | Feb 2003 | A1 |
20030041264 | Black et al. | Feb 2003 | A1 |
20030046253 | Shetty et al. | Mar 2003 | A1 |
20030051026 | Carter et al. | Mar 2003 | A1 |
20030051163 | Bidaud | Mar 2003 | A1 |
20030051168 | King et al. | Mar 2003 | A1 |
20030055931 | Cravo De Almeida et al. | Mar 2003 | A1 |
20030061506 | Cooper et al. | Mar 2003 | A1 |
20030065943 | Geis et al. | Apr 2003 | A1 |
20030084280 | Bryan et al. | May 2003 | A1 |
20030084320 | Tarquini et al. | May 2003 | A1 |
20030084323 | Gales | May 2003 | A1 |
20030084347 | Luzzatto | May 2003 | A1 |
20030088792 | Card et al. | May 2003 | A1 |
20030093667 | Dutta et al. | May 2003 | A1 |
20030093695 | Dutta | May 2003 | A1 |
20030093696 | Sugimoto | May 2003 | A1 |
20030095555 | McNamara et al. | May 2003 | A1 |
20030097439 | Strayer et al. | May 2003 | A1 |
20030097564 | Tewari et al. | May 2003 | A1 |
20030105976 | Copeland, III | Jun 2003 | A1 |
20030110392 | Aucsmith et al. | Jun 2003 | A1 |
20030110396 | Lewis et al. | Jun 2003 | A1 |
20030115485 | Milliken | Jun 2003 | A1 |
20030115486 | Choi et al. | Jun 2003 | A1 |
20030123665 | Dunstan et al. | Jul 2003 | A1 |
20030126464 | McDaniel et al. | Jul 2003 | A1 |
20030126472 | Banzhof | Jul 2003 | A1 |
20030135749 | Gales et al. | Jul 2003 | A1 |
20030140137 | Joiner et al. | Jul 2003 | A1 |
20030140250 | Taninaka et al. | Jul 2003 | A1 |
20030145212 | Crumly | Jul 2003 | A1 |
20030145225 | Bruton, III et al. | Jul 2003 | A1 |
20030145226 | Bruton, III et al. | Jul 2003 | A1 |
20030149887 | Yadav | Aug 2003 | A1 |
20030149888 | Yadav | Aug 2003 | A1 |
20030152096 | Chapman | Aug 2003 | A1 |
20030154393 | Young | Aug 2003 | A1 |
20030154399 | Zuk et al. | Aug 2003 | A1 |
20030154402 | Pandit et al. | Aug 2003 | A1 |
20030158905 | Petry et al. | Aug 2003 | A1 |
20030159069 | Choi et al. | Aug 2003 | A1 |
20030159070 | Mayer et al. | Aug 2003 | A1 |
20030167308 | Schran | Sep 2003 | A1 |
20030167402 | Stolfo et al. | Sep 2003 | A1 |
20030172166 | Judge et al. | Sep 2003 | A1 |
20030172167 | Judge et al. | Sep 2003 | A1 |
20030172289 | Soppera | Sep 2003 | A1 |
20030172291 | Judge et al. | Sep 2003 | A1 |
20030172292 | Judge | Sep 2003 | A1 |
20030172294 | Judge | Sep 2003 | A1 |
20030172301 | Judge et al. | Sep 2003 | A1 |
20030172302 | Judge et al. | Sep 2003 | A1 |
20030182421 | Faybishenko et al. | Sep 2003 | A1 |
20030187936 | Bodin et al. | Oct 2003 | A1 |
20030187996 | Cardina et al. | Oct 2003 | A1 |
20030204596 | Yadav | Oct 2003 | A1 |
20030204719 | Ben | Oct 2003 | A1 |
20030212791 | Pickup | Nov 2003 | A1 |
20030233328 | Scott et al. | Dec 2003 | A1 |
20040015554 | Wilson | Jan 2004 | A1 |
20040025044 | Day | Feb 2004 | A1 |
20040054886 | Dickinson et al. | Mar 2004 | A1 |
20040058673 | Iriam et al. | Mar 2004 | A1 |
20040059811 | Sugauchi et al. | Mar 2004 | A1 |
20040088570 | Roberts et al. | May 2004 | A1 |
20040111519 | Fu et al. | Jun 2004 | A1 |
20040111531 | Staniford et al. | Jun 2004 | A1 |
20040122926 | Moore et al. | Jun 2004 | A1 |
20040139160 | Wallace et al. | Jul 2004 | A1 |
20040139334 | Wiseman | Jul 2004 | A1 |
20040167968 | Wilson et al. | Aug 2004 | A1 |
20040177120 | Kirsch | Sep 2004 | A1 |
20040203589 | Wang et al. | Oct 2004 | A1 |
20040205135 | Hallam | Oct 2004 | A1 |
20040221062 | Starbuck et al. | Nov 2004 | A1 |
20040236884 | Beetz | Nov 2004 | A1 |
20040249895 | Way | Dec 2004 | A1 |
20040267893 | Lin | Dec 2004 | A1 |
20050021738 | Goeller | Jan 2005 | A1 |
20050021997 | Beynon et al. | Jan 2005 | A1 |
20050052998 | Oliver et al. | Mar 2005 | A1 |
20050060643 | Glass et al. | Mar 2005 | A1 |
20050065810 | Bouron | Mar 2005 | A1 |
20050086300 | Yeager et al. | Apr 2005 | A1 |
20050091319 | Kirsch | Apr 2005 | A1 |
20050091320 | Kirsch et al. | Apr 2005 | A1 |
20050102366 | Kirsch | May 2005 | A1 |
20050141427 | Bartky | Jun 2005 | A1 |
20050149383 | Zacharia et al. | Jul 2005 | A1 |
20050159998 | Buyukkokten et al. | Jul 2005 | A1 |
20050160148 | Yu | Jul 2005 | A1 |
20050192958 | Widjojo et al. | Sep 2005 | A1 |
20050198159 | Kirsch | Sep 2005 | A1 |
20050204001 | Stein et al. | Sep 2005 | A1 |
20050216564 | Myers et al. | Sep 2005 | A1 |
20050256866 | Lu et al. | Nov 2005 | A1 |
20050262209 | Yu | Nov 2005 | A1 |
20050262210 | Yu | Nov 2005 | A1 |
20050262556 | Waisman et al. | Nov 2005 | A1 |
20060009994 | Hogg et al. | Jan 2006 | A1 |
20060015942 | Judge et al. | Jan 2006 | A1 |
20060023940 | Katsuyama | Feb 2006 | A1 |
20060031314 | Brahms et al. | Feb 2006 | A1 |
20060031483 | Lund et al. | Feb 2006 | A1 |
20060036693 | Hulten et al. | Feb 2006 | A1 |
20060036727 | Kurapati et al. | Feb 2006 | A1 |
20060041508 | Pham et al. | Feb 2006 | A1 |
20060042483 | Work et al. | Mar 2006 | A1 |
20060059238 | Slater et al. | Mar 2006 | A1 |
20060095404 | Adelman et al. | May 2006 | A1 |
20060095586 | Adelman et al. | May 2006 | A1 |
20060123083 | Goutte et al. | Jun 2006 | A1 |
20060129810 | Jeong et al. | Jun 2006 | A1 |
20060149821 | Rajan et al. | Jul 2006 | A1 |
20060155553 | Brohman et al. | Jul 2006 | A1 |
20060168024 | Mehr et al. | Jul 2006 | A1 |
20060174337 | Bernoth | Aug 2006 | A1 |
20060179113 | Buckingham et al. | Aug 2006 | A1 |
20060191002 | Lee et al. | Aug 2006 | A1 |
20060212925 | Shull et al. | Sep 2006 | A1 |
20060212930 | Shull et al. | Sep 2006 | A1 |
20060212931 | Shull et al. | Sep 2006 | A1 |
20060225136 | Rounthwaite et al. | Oct 2006 | A1 |
20060230039 | Shull et al. | Oct 2006 | A1 |
20060230134 | Qian et al. | Oct 2006 | A1 |
20060251068 | Judge et al. | Nov 2006 | A1 |
20060253447 | Judge | Nov 2006 | A1 |
20060253458 | Dixon et al. | Nov 2006 | A1 |
20060253582 | Dixon et al. | Nov 2006 | A1 |
20060253584 | Dixon et al. | Nov 2006 | A1 |
20060277259 | Murphy et al. | Dec 2006 | A1 |
20070019235 | Lee | Jan 2007 | A1 |
20070124803 | Taraz | May 2007 | A1 |
20070130350 | Alperovitch et al. | Jun 2007 | A1 |
20070130351 | Alperovitch et al. | Jun 2007 | A1 |
20070199070 | Hughes | Aug 2007 | A1 |
20070214151 | Thomas et al. | Sep 2007 | A1 |
20080005223 | Flake et al. | Jan 2008 | A1 |
20080077517 | Sappington | Mar 2008 | A1 |
20080091765 | Gammage et al. | Apr 2008 | A1 |
20080104180 | Gabe | May 2008 | A1 |
20080123823 | Pirzada et al. | May 2008 | A1 |
20080159632 | Oliver et al. | Jul 2008 | A1 |
20080175266 | Alperovitch et al. | Jul 2008 | A1 |
20080178259 | Alperovitch et al. | Jul 2008 | A1 |
20080178288 | Alperovitch et al. | Jul 2008 | A1 |
20090003204 | Okholm et al. | Jan 2009 | A1 |
20090113016 | Sen et al. | Apr 2009 | A1 |
20090122699 | Alperovitch et al. | May 2009 | A1 |
20090125980 | Alperovitch et al. | May 2009 | A1 |
20090254499 | Deyo | Oct 2009 | A1 |
20090254572 | Redlich et al. | Oct 2009 | A1 |
Number | Date | Country |
---|---|---|
2564533 | Dec 2005 | CA |
0375138 | Jun 1990 | EP |
0413537 | Feb 1991 | EP |
0420779 | Apr 1991 | EP |
0720333 | Jul 1996 | EP |
0838774 | Apr 1998 | EP |
0869652 | Oct 1998 | EP |
0907120 | Apr 1999 | EP |
1326376 | Jul 2003 | EP |
1271846 | Jul 2005 | EP |
1672558 | Jun 2006 | EP |
2271002 | Mar 1994 | GB |
2000148276 | May 2000 | JP |
2000215046 | Aug 2000 | JP |
2001028006 | Jan 2001 | JP |
2004537075 | Dec 2004 | JP |
2006268544 | Oct 2006 | JP |
18350870 | Dec 2006 | JP |
20070540073 | Jun 2008 | JP |
2006-0012137 | Feb 2006 | KR |
2006012137 | Feb 2006 | KR |
2006028200 | Mar 2006 | KR |
1020060041934 | May 2006 | KR |
699531 | Mar 2007 | KR |
737523 | Jul 2007 | KR |
750377 | Aug 2007 | KR |
447082 | Dec 2009 | KR |
WO 9635994 | Nov 1996 | WO |
WO9635994 | Nov 1996 | WO |
WO 9905814 | Feb 1999 | WO |
WO 9933188 | Jul 1999 | WO |
WO 9937066 | Jul 1999 | WO |
WO0007312 | Feb 2000 | WO |
WO0008543 | Feb 2000 | WO |
WO 0042748 | Jul 2000 | WO |
WO 0117165 | Mar 2001 | WO |
WO 0150691 | Jul 2001 | WO |
WO 0176181 | Oct 2001 | WO |
WO0180480 | Oct 2001 | WO |
WO 0213469 | Feb 2002 | WO |
WO 0213489 | Feb 2002 | WO |
WO0188834 | May 2002 | WO |
WO 02075547 | Sep 2002 | WO |
WO02082293 | Oct 2002 | WO |
WO 02091706 | Nov 2002 | WO |
WO 2004061703 | Jul 2004 | WO |
WO2004061698 | Jul 2004 | WO |
WO 2004081734 | Sep 2004 | WO |
WO2004088455 | Oct 2004 | WO |
WO2005086437 | Sep 2005 | WO |
WO 2005116851 | Dec 2005 | WO |
WO 2007030951 | Mar 2007 | WO |
WO2005116851 | Apr 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20080175266 A1 | Jul 2008 | US |