This document relates generally to systems and methods for rating the security of networks and more particularly to systems and methods for determining whether to allow a relationship between entities based upon a security rating.
Internet connectivity has become central to many daily activities. For example, millions of people in the worldwide use the internet for various bill pay and banking functionalities. Countless more people use the internet for shopping, entertainment, to obtain news, and for myriad other purposes. Moreover, many businesses rely on the internet for communicating with suppliers and customers, as well as providing a resource library for their employees.
However, it can be a difficult decision to create business relationships and share business information with other entities. For example, in the credit card industry, many of the publicized security breaches have been committed by business partners associated with the credit card company responsible for safeguarding consumer information. Thus, it can be important to gather information prior to making decisions on such relationships. However, it can be even more difficult to identify the level of security associated with an entity entrusted with confidential information.
In one aspect, systems, methods, apparatuses and computer program products are provided. In one aspect, methods are disclosed, which comprise: receiving a connection request for a first network entity from a second network entity; retrieving a reputation associated with the second network entity from a reputation server, the reputation server being operable to derive a reputation associated with the second network entity based upon captured data packets associated with the second network entity; comparing a reputation associated with the second network entity to a reputation associated with the first network entity; and, determining whether to approve a connection between the first network entity and the second network entity based upon the comparison.
A connection control system can include a communication interface, a reputation module and a comparison module. The communication interface can receive connection requests between a first entity and a second entity. The reputation module can provide a reputation associated with the first entity and the second entity based upon communications associated with each of the entities. The comparison module can compare the reputation of the first entity with the reputation of the second entity, and the communication interface can communicate a response to the connection request based upon the comparison between the reputation of the first entity and the reputation of the second entity.
Other methods can include: identifying a first reputation score, the first reputation score being based upon identified network activity associated with the first entity; identifying a second reputation score, the second reputation score being based upon identified network activity associate with the second entity; comparing the first reputation score with the second reputation score; and, determining whether to approve a connection to the second entity.
In various implementations, the network rating system can use a reputation associated with the first and second entity as a network rating. Reputation of a network entity can be derived based upon the type of traffic (e.g., spam, phishing, malware, zombies, legitimate messages, etc.) as well as traffic patterns (volume, volatility, frequency, etc.), exploitation patterns, volume and duration associated with the entity, and other behavior that can be used to characterize an entity. Reputation systems are described in detail in U.S. patent application Ser. No. 11/142,943, entitled “Systems and Methods for Classification of Messaging Entities,” filed on Jun. 2, 2005, and U.S. patent application Ser. No. 11/626,462, entitled “Correlation and Analysis of Entity Attributes,” filed on Jan. 24, 2007, each of which are hereby incorporated by reference in their entireties. Reputation information can also be retrieved using TrustedSource™, available from Secure Computing Corporation of San Jose, Calif.
Upon receiving a response to a reputation query, the reputation information can be used to determine whether to form a relationship between a first entity and a second entity. In some implementations, the reputation information can be provided as a raw score. The raw score of a first entity, for example, can be compared to a second entity's raw score to provide a comparison of the security measures taken by the first entity and the second entity. For example, if the raw score were on a scale from 1 to 10 (1 being the worst security and 10 being the highest security), and a first entity rated an 8, while the second entity rated a 2, the first entity might consider this to be an unacceptable level of risk to form a relationship with the second entity. In such an example, the second entity may gain access to sensitive customer data in the course of a relationship, and expose that sensitive data to potential abuse by hackers based on the relatively low level of security the second entity provides to its network.
In another example, using the same scale, a first entity might have a rating of 7, while a second entity might have a rating of 6. In some implementations, the relationship can be denied based upon a slight difference in ratings. In other implementations, the relationship can be permitted based upon the ratings being within a range of each other. For example, in some implementations, the relationship can be permitted based upon the ratings being within 1 or 2 points of each other. In other implementations, the relationship can be permitted based upon the ratings being within a grouping. For example, poor/average security might be rated between 1 and 4, good security might be rated between 5 and 8, and excellent security might be rated between 9 and 10. In such examples, relationships between entities with network ratings falling within the same category can be permitted.
In some implementations, the network rating can provide incentive for a poorly rated entity to increase its level of security in order to form relationships with more highly rated entities. For example, a first entity with a rating of 5 that wants to form a relationship with a second entity with a rating of 8 might use the rating to determine what sorts of security enhancements can be made to raise its rating to an permissible level for creating a relationship between the two entities. In other implementations, an entity can attempt to enhance its network rating to provide leverage for negotiating additional security with entities having an existing relationship with the entity.
In some implementations, each network rating point can be assigned a dollar figure. The dollar figure can represent the additional risk being taken on by the more secure entity in order to enter into a relationship with the less secure entity. Thus, for example, a first entity with a network rating of 9 might require that a second entity with a security rating of 5 provide monetary incentive to the first entity in exchange for taking on the additional risk represented by creating a relationship with the second entity. In other implementations, a difference in security rating between two entities entering into a relationship can be used to provide for damages between the parties in the event that the lower rated entity compromises data provided by a higher rated entity.
In various implementations, the communications module can be any of an ethernet card, an 802.11x card, or any other interface operable to facilitate communications between two network entities. For example, in some implementations, the communications interface can include a server operable to receive network rating requests and to provide responses to network rating requests based upon a response received from a comparison module 220 in conjunction with reputation information provided by a reputation module 210.
In some implementations, the reputation module 210 can include a reputation server, such as a TrustedSource™ server, available from Secure Computing Corporation of San Jose, Calif. In such implementations, the communication module 200 can send a reputation request to the reputation module. In other implementations, the reputation module 210 can be co-located with the communications interface 200 as shown in
In some implementations, the network rating system 200 can reply to the network rating request with the network ratings themselves, and allow the entities to determine whether to continue in establishing the relationship. In other implementations, the network rating system 200 can compare the reputations of the first and second entities using a comparison module 220. Upon identifying reputation information associated with the entities, a comparison module 220 can compare the reputation information to identify an response to the network rating request. In some implementations, the response can be based upon a policy. For example, in some implementations, the policy can provide a range within which the ratings are of each other to approve establishing the relationship between the entities. In other implementations, the policy can provide that the ratings associated with each of the entities both share a common range. In still further implementations, the policy can prevent relationships between entities having different ratings.
Based upon the results of the comparison module 220, the communication interface 200 can communicate the decision from the comparison module to one or more of the entities affected by the network rating request. In some implementations, the network rating system 100 can prevent the relationship from being established. In other implementations, the network rating system 100 merely provides input to the entities in determining whether to establish a relationship with the other entity.
In some implementations, an aggregation server 350 can aggregate the local reputations to derive a global reputation 360 based upon the traffic observed at each of multiple devices spread throughout the network. In various implementations, a network rating system 100 can retrieve the global reputation 360 from the aggregation server 350. A reputation module 370 associated with the network ratings system 100 can use the global reputation to supplement the local reputation 380 derived from network traffic identified by the network ratings system 100.
In some implementations, the network rating system 100 can retrieve reputation information associated with the external entity from a local reputation module 430. In some implementations, the local reputation module 430 can derive entity reputations based upon traffic observed by the enterprise network entity 400. In other implementations, the local reputation module can periodically retrieve reputation information from a central reputation server 440 and store the reputation information locally.
In other implementations, the network rating system 100 can retrieve reputation information associated with the external entity 410 from a central reputation server 440 through a network 450. In still further implementations, a local reputation module 430 can operate in conjunction with a central reputation server to provide reputation information to the network rating system 100. For example, if a communication is received from an entity unknown to the local reputation module, the reputation of the entity can be retrieved from the central reputation system 440. In other examples, reputation information received from a central reputation server 440 can be biased by the local reputation module 430 based upon local tolerances for various types of traffic. Arbitrating between local and global reputation is described in detail by U.S. patent application Ser. No. 11/626,479, entitled “Aggregation of Reputation Data,” filed on Jan. 24, 2007, which is hereby incorporated by reference in its entirety.
In some implementations, the network rating system 100 can compare the reputation information associated with the external entity to a connection policy to determine whether to permit the connection. For example, a connection policy might exclude entities rated lower than 5 (e.g., on a scale from 1 to 10, 1 being the poorest reputation, 10 being the best reputation). In this example, the network rating system can permit connections to any networks rated 5 or higher, while denying connections to any networks rated 4 or lower.
In various implementations, some of the local network entities 420a-d might be afforded different privileges with respect to establishing connections with external entities. For example, an information technology (IT) network entity 420a might be allowed greater ability to generate connections to external entities 410, while an administrative network entity 420b might be allowed limited access to generate connections to external entities 410. In various implementations, the privileges can be set by a system administrator by specifying a connection policy.
At stage 510 reputation associated with the connection request is retrieved. The reputation can be retrieved, for example, by a reputation module (e.g., reputation module 210 of
At stage 520, the reputation of first and second entities are compared. The reputations of the first and second entities can be compared, for example, by a comparison module (e.g., comparison module 220 of
At stage 530 approval of the connection request is determined. The determination can be made, for example by a comparison module (e.g., comparison module 220 of
At stage 610, data packets associated with the first network entity are identified. The data packets can be identified, for example, by a reputation module (e.g., reputation module 430 or 440 of
At stage 620, a plurality of tests can be applied to the data packets. The plurality of texts can be applied, for example, by a reputation module (e.g., reputation module 210 of
At stage 630, entity relationships can be identified. The entity relationships can be identified, for example, by a reputation module (e.g., reputation module 210 of
At stage 640, reputation score can be assigned to the first entity. The reputation score can be assigned, for example, by a reputation module (e.g., reputation module 210 of
At stage 650, a determination whether to approve a connection to a second network entity is made. The determination can be made based upon a comparison module (e.g. a comparator or comparison module 220 of
At stage 710, a second reputation score associated with a second entity is identified. The reputation score can be identified, for example, by a reputation module (e.g., reputation module 210 of
At stage 720, the first and second reputation scores are compared. The reputations of the first and second entities can be compared, for example, by a comparison module (e.g., comparison module 220 of
At stage 730, a determination of whether approve connection between a first and second entity is made. The determination can be made based upon a comparison module (e.g. a comparator or comparison module 220 of
The systems and methods disclosed herein may use data signals conveyed using networks (e.g., local area network, wide area network, internet, etc.), fiber optic medium, carrier waves, wireless networks (e.g., wireless local area networks, wireless metropolitan area networks, cellular networks, etc.), etc. for communication with one or more data processing devices (e.g., mobile devices). The data signals can carry any or all of the data disclosed herein that is provided to or from a device.
The methods and systems described herein may be implemented on many different types of processing devices by program code comprising program instructions that are executable by one or more processors. The software program instructions may include source code, object code, machine code, or any other stored data that is operable to cause a processing system to perform methods described herein.
The systems and methods may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions for use in execution by a processor to perform the methods' operations and implement the systems described herein.
The computer components, software modules, functions and data structures described herein may be connected directly or indirectly to each other in order to allow the flow of data needed for their operations. It is also noted that software instructions or a module can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code or firmware. The software components and/or functionality may be located on a single device or distributed across multiple devices depending upon the situation at hand.
This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art may effect alterations, modifications and variations to the examples without departing from the scope of the invention.
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.
These and other implementations are within the scope of the following claims.