# Patent

## Title
Information technology security assessment system

## Abstract

A method and system for creating a composite security rating from security characterization data of a third party computer system. The security characterization data is derived from externally observable characteristics of the third party computer system. Advantageously, the composite security score has a relatively high likelihood of corresponding to an internal audit score despite use of externally observable security characteristics. Also, the method and system may include use of multiple security characterizations all solely derived from externally observable characteristics of the third party computer system.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation of U.S. patent application Ser. No. 13/240,572 entitled “Information Technology Security Assessment System” and filed on Sep. 22, 2011, which claims priority to U.S. Prov. Pat. App. No. 61/386,156 entitled “Enterprise Information Security Score” and filed on Sep. 24, 2010; and 61/492,287 entitled “Information Technology Security Assessment System” and filed on Jun. 1, 2011 which are hereby incorporated herein in their entireties by reference.


ACKNOWLEDGEMENT
This invention was made with government support under 1127185 awarded by the National Science Foundation. The government has certain rights to this invention.


BACKGROUND
The present invention relates to systems for determining the security of information systems and, in particular, for evaluating the security of third-party computer systems.
When a company wants to reduce its cyber security risk of doing business with another company's computer systems, it either performs, or hires an outside firm to perform, a cyber security assessment of the other company to determine if it is following good security practices. The theory is that these good practices make it difficult for attackers to compromise the networks of the other company. If the auditing company is satisfied with the assessment, it may choose to continue doing business with the other company. Or, it may ask the other company to make some improvements to its security systems or terminate the business relationship.
Generally, these audits are slow, expensive and impractical given the high volume of service provider security systems that need to be characterized by the company. And, the inventors have noted that audits are not entirely predictive of the performance of the security systems.
SUMMARY
A method and system is disclosed for creating a composite security rating from security characterization data of a third party computer system. The security characterization data is derived from externally observable characteristics of the third party computer system. Advantageously, the composite security rating has a relatively high likelihood of corresponding to an internal audit score despite use of externally observable security characteristics. Also, the method and system may include use of multiple security characterizations all solely derived from externally observable characteristics of the third party computer system.
A method of evaluating information security of a third party computer system is disclosed. The method includes collecting at least two security characterizations of the third party computer system. A composite security rating is generated using the at least two security characterizations. Advantageously, the two security characterizations are derived from externally observable characteristics of the third party system.
Each of the security characterizations may be from an associated one of a plurality of independent entities. For example, the independent entities may include commercial data sources. Also, the security characterizations may be derived without permission of the third party system.
The security characterizations may include multiple data types, such as breach disclosures, block lists, configuration parameters, malware servers, reputation metrics, suspicious activity, spyware, white lists, compromised hosts, malicious activity, spam activity, vulnerable hosts, phishing, user-behavior or e-mail viruses. The externally observable characteristics may also include serving of malicious code or communications with known attacker controlled networks.
The externally observable characteristics may be evidence of internal security controls or outcomes or operational execution of security measures of the third party computer system.
The collecting and generating steps may be repeated to generate a series of scores and the series examined to determine a trend. Also, the scores may be reported to a consumer. For instance, reporting may include reporting a warning based on a change in the scores. Or, reporting may include posting the score and warning to a web portal.
Collecting the security characterizations may include using various tools such as WGET, RSYNC, CURL or interfaces that may be characterization specific.
The method may also include mapping the third party computer system to an IP space and using the IP space for collecting the security characterizations. Mapping, for example, may include querying a Regional Internet Registry (RIR), such as by submitting an entity name to the RIR. Querying an entity name may include querying for variations of the entity name.
Mapping may also include using a domain name associated with the third party computer system. For example, tools such as nslookup or dig may be used on the domain name to determine a published IP address. Mapping may also include probing addresses around the published IP address. For example, IP addresses could be probed in powers of two around the published IP address. Mapping could also include adapting the domain name to server naming conventions and using tools like nslookup to verify an IP address associated with the domain name.
Generating the composite security rating may include assessing vulnerability and resilience of the third party computer systems. Vulnerability, for example, may include a number of IP addresses with malicious behavior. Resilience may be inversely proportional to a duration of malicious behavior.
The IP space may include a plurality of IP addresses. And, the composite security rating may correspond to an intensity and duration of malicious activity determined from one of the security characterizations. Generation of the composite security rating may include aggregation of a plurality of individual security metrics and/or the IP addresses associated with the third party computer system.
Determination of the individual security metric may include adjusting for false positives in the security characterizations. Correlating data across multiple related security characterizations may help improve the quality of any single security characterization. Further, adjusting for false positives may include determining an occurrence of an event, which includes persistent, reported activity on one of the IP addresses for a predetermined period of time. It may also include determining an intensity of the IP address for the predetermined period of time, such as a day.
Determining the intensity may include increasing intensity in proportion to a number of reporting targets from the security characterizations.
Determining an individual security metric may include assigning a raw score for each of the IP addresses appearing on a block list as one of the security characterizations. After an IP address is delisted, the raw score may be exponentially attenuated.
The individual security metric may also incorporate a raw score in proportion to a CIDR block size.
Individual security metrics or the composite ratings may be normalized based on, for example, network size or a number of employees.
Security characterizations may also include positive information about an organization that's aggregated into the composite rating.
The method could also include statistically correlating the composite security rating with actual outcomes and adjusting the generating step based on the statistical correlations.
Further, the method may include determining a confidence range of the composite security rating. For example, the confidence range may be based on a redundancy of the security characterizations or a size of the third party computer system.
The method may also include determining an accuracy of each of the security characterizations, such as by determining a level of coverage of the third party computer system by the security characterizations.
Also disclosed herein are a system and computer program product for data collection and scoring, including systems and software for performing the methods described above.
Another method may include generating a composite security rating using at least one security characterization that's derived from externally observable characteristics of the third party computer system wherein the composite security rating has a relatively high likelihood of corresponding to an internal audit score.



BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 is a schematic of a system for evaluating information security;
FIG. 2 is a schematic of a system for gathering security data from external sensors;
FIG. 3 is a schematic of a composite security rating calculation; and
FIG. 4 is a schematic of a distributed system for evaluating information security.



DETAILED DESCRIPTION
Generally, the present invention includes a method, system and computer program product for creating composite security ratings from security characterization data of a third party computer system. The security characterization data is derived from externally observable characteristics of the third party computer system. Advantageously, the composite security rating has a relatively high likelihood of corresponding to an internal audit score despite use of externally observable security characteristics. Also, the method and system may include use of multiple security characterizations all solely derived from externally observable characteristics of the third party computer system.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Referring again to FIG. 1, a system 10 for evaluating information security of a third party computer system includes the following systems: a global data source 12, an entity ownership collector 14, a data collection processor 16, a data collection management 18, a data archive 20, an entity database 22, a manual entity input 24, an entity data join process 26, an entity mapped meta-reports repository 28, a ratings processing 30, a normalization, consolidation and global relative rank 32, a report generation 34, a report archive 36 and a report delivery 38 systems. Different delivery modules 40 are configured to use different methods to deliver the reports to customers 42.
The global data source system 12 obtains data sources that characterize any observation about an entity (e.g., a third party computer system) and these sources can be highly varied and disparate. Each data source has a particular vantage point of the security related characteristics of entities.
The entity ownership collection system 14 gathers information about an entity. This includes information about which IT assets an entity owns, controls, uses, or is affiliated with. Examples of asset ownership include control and operation of an Internet Protocol (IP) network address range or computer services such as web servers residing within that address block. Information about entities also includes relationships such as subsidiaries, affiliates, etc., that describe entity association.
The data collection processing system 16 includes custom modules configured to collect and process unique data sources.
The data collection management system 18 is configured to schedule and coordinate the constant collection of the different data sources.
The data archive 20 is configured to store all of the terabytes of data constantly collected by the data collection management system 18.
The entity database 22 holds all of the information about an entity such as its name, address, web site address, industry sector, IP address ranges owned, etc. This data base includes the “Entity Map” which maps data back to an entity. For example, if observations are made about a particular IP address, the IP address can be looked up in the entity map to determine which entity controls or owns that address. This database is populated by automatic or manual data collection methods, or combinations thereof.
The manual entity input system is configured to place non-automatic data on an entity into the entity database 22.
The entity data join process or system 26 is configured to match the collected data to the entity. In most instances, this is a computationally expensive operation because it requires going though all of the data collected and performing the map operation. Any evidence of security outcomes or configurations in the larger data collection pool is then assigned to an entity based on the entity map.
The entity mapped meta-reports repository 28 contains data summaries of observations made with respect to a particular entity for each data set after the map/join process is complete.
The ratings processing system 30 may include custom models for applying data source specific ratings to determine an entity rating. Each data source generally requires a custom model due to the unique nature of that data source. Each model accounts for the custom attributes and idiosyncrasies of the different data sources that have been mapped to the entity being rated. Custom data source models can account for any data source feature including temporal and cross-data source behaviors.
The ratings normalization, cross-validation, and relative ranking system 32 is configured to normalize ratings so appropriate entity-to-entity comparisons can be made and the ratings are normalized and ranked within sectors or peer-groups and globally.
An entity and rating analytics repository or archive 36 is configured to hold all of the ratings data and resulting analytics produced by the ratings process.
A report generation system 34 takes the ratings and analytics and generates report objects. These objects are not rendered into any particular presentation format at this stage but are in a generic intermediary format that can be then transformed into a specific deliverable format.
A report delivery system 38 is configured to translate generic reports into a specific report format. Examples of these formats include HTML, PDF, text, and XML. Delivery modules 40 are different methods for delivering the reports include by web portal, API or data feed.
Advantages include ratings based on the quality of outcomes of the information security practices of the third party computer systems and enablement of comparisons of ratings across organizations. The system 10 can be entirely, or to a large extent, automated and need not have the permission of the entity being rated. The reports will allow risk management professionals to monitor, assess and mitigate partner risk by up-to-date ratings due to its persistent monitoring of the third party computer systems. Also, the portal may provide for location of new partners, such as suppliers, with lower risk profiles and improved security postures.
Unlike internal audit systems, the system 10 is not relying upon a correlation between practices and outcomes. Instead, evidence of actual security outcomes is collected through the data source partners.
Also advantageously, trial data on 50 entities revealed that rankings produced using the system 10 matched internal evaluations. In some cases the system 10 revealed problems with the entities not revealed by internal evaluations.
Data Sources
External ratings from data sources available outside an entity provide an information security based view into internal workings of the organization. For example, infection by malicious software can be determined using non-invasive website scanning technology. Communication between the entity computer system and known attacker controlled networks may reveal when the computer system has been compromised. Also, if an entity computer system is serving malicious code to visitors the system was compromised at some point. The entity may not have the capability to detect such compromises or cannot quickly react operationally to resolve the issue. External observations also can measure operational execution, which may not occur despite good internal policies.
A diverse set of network sensors and services around the Internet collect and observe information about the third party entity computer systems. The system 10 then gathers, processes, and stores the data collected about entities from the sensors and service providers using custom developed data source specific collection processors. The collection manager 18 automates the scheduling and execution of the different collectors.
The global data source system 12 includes hundreds of potential data sources, including, for example during experimental testing, 97 data sources owned by 37 organizations. At least 82 data sources are on active collection, being stored on the data archive 20. Trial ratings were performed on at least 11 data sources from 7 organizations. Rankings were produced on nearly 600 different entities.
A data source is a single type of data from a single organization. For example, if two organizations provide a list of hosts that participate in phishing attacks, they are counted as two data sources. The 15 types of data in Table 3 all provide different information security related views of an organization. New types of data and new sources of existing data types are constantly added to the data sources used to characterize the performance of the entity. Breach disclosures for example indicate that an organization has experienced a particular kind of data or integrity breach. Configuration data on the other hand provides any number of configuration related information and could for example state the type of encryption used on the organization's website.







TABLE 1





Data Sources Summary


















Total Data Sources
97



Total Sourcing
37



Organizations




Total Sources on Active
82



Collection




Total Different Source Types
15

















TABLE 3







Data Source Types










Breach Disclosures
Spam Activity







Block Lists
Vulnerable Hosts



Configuration Parameters
Spyware



Compromised Hosts
Whitelists



Malicious Activity
Email viruses



Malware Servers
Multi-type



Reputation
Phishing



Suspicious Activity
User Behavior










Of the 97 data sources identified, 82 are on “Active Collection” meaning there is a method for obtaining the data source and that its collection is automated. The high degree of automation helps to satisfy the methodology objective for adoption of techniques that are principally automated.
Table 2 lists the 6 collections methods employed for data acquisition with the “Unknown” category meaning that the sources are identified but the method and ability to collect that data source has yet be determined. The method Instances are the number of data sources that are collected using that particular method. For example, 32 of the sources are collected using the network file transfer and synchronization tool rsync (http://samba.anu.edu.au/rsync/).







TABLE 2







Data Collection Methods










Methods
Instances














WGET
35



RSYNC
32



API
13



MANUAL
6



WHOIS
1



HTTP GET
1



UNKNOWN
9










A collection processing infrastructure 50, configured to build and validate composite security ratings, is shown in FIG. 2. A plurality of different clouds represents different network segments. Rated Entity clouds 52 are organizations for which the system 10 generates a rating. Those entities include an entity perimeter or boundary, indicated by the firewall that connects to the Internet. Services clouds 54 provide data or reports on observed activity from a rated entity 52. An example of a report from a Service 54 could be a list of hosts that have been participating in malicious activity. Services use Sensor networks 56 to observe the behavior of entities. For example, a sensor could observe SPAM messages sent from a rated entity network 52 to the Internet 58.
Entity Mapping
There is no single central repository that holds information about the IP address allocation. Determining the correct and complete IP address space owned by a given entity improves the reliability and robustness of a rating.
In general, Regional Internet Registries (RIRs) manage the allocation and registration of Internet number resources (IP Addresses, Autonomous System Numbers, etc.) within a particular region of the world. There are five RIRs—ARIN for North America, AfriNIC for Africa, APNIC for Asia Pacific, RIPE for Europe, Middle East, Central Asia, and LACNIC for Latin America.
The RIRs allocate the address space to service providers, corporations, universities, etc. The RIRs provide various interfaces that enable queries of the RIR to determine who owns a given IP address. It is also possible to query the database by an entity name and get a list of IP addresses allocated to that entity. Despite lack of standardization of entity names in the RIR databases, well chosen queries can result in a very high coverage of addresses owned by an entity.
Another problem is that RIRs often allocate large chunks of addresses to Internet Service Providers (ISPs) who go on to allocate smaller address spaces to their customers. ISPs are under no obligation to report this data back to anyone. Most small companies contract with their local ISP for Internet access and don't obtain addresses from RIRs.
These problems are addressed by the entity ownership collection system 14 being configured to execute various heuristic processes including the following non-limiting list of examples:
1. Using the ‘dig’ (http://linux.die.net/man/1/dig) tool to determine any IP information published by an entity. The dig tool takes the domain name of the entity as an argument. For example, execution of ‘dig a.com ANY’ returns all IP information published by the entity a.com.
2. Use the IP addresses and domain names published to find ranges of IP addresses actually used. ISPs almost always allocate addresses in size of powers of 2 (2, 4, 8 etc.). Knowing one IP address allows probing around that space. The ‘whois’ (http://linux.die.net/man/1/whois) tool can be used to determine ownership of neighborhood addresses.
3. Even if the entity does not publish any IP information that can be retrieved through dig, most entities have servers whose names may be guessed. Mail servers for the domain a.com often have the name mail.a.com, SMTP servers tend to be smtp.a.com, FTP servers tend to be ftp.a.com etc. Using a tool like nslookup, the entity ownership collection system 14 can verify if any of these common names are in use by the entity.
4. If an IP address is found, the system 14 is configured to probe around the address (such as in step 2) to determine any addresses in the neighborhood owned by that entity.
5. Searching around the website of the company often gives a hint of other servers hosted by the company (ex: reports.a.com) which can be used as a starting point for search.
Rating Methodology
Organizational security risk may be measured along two vectors: vulnerability and resilience. An entity's vulnerability is defined as its “physical, technical, organizational, and cultural states,” which can be exploited to create a security breach. An entity's resilience is defined to be its ability to recover from a security breach.
The system 10 uses the concepts of vulnerability and resilience by examining externally observable proxies for them. An example proxy for entity vulnerability is the number of entity-owned IP addresses, which are reported to be malicious. The higher the number of reports the more likely the entity was vulnerable and had been compromised. Resilience is inversely proportional to the duration of detected malicious activity. The shorter the duration of the malicious activity, the higher level of resilience the entity demonstrates as it can quickly identify and remove malicious infections.
To compute the ratings for an entity, the system 10 aggregates all of the data collected pertaining to the IT assets owned by that organization, such as the IP addresses controlled by the entity and the associated activity of those IP addresses. The types of activities depend on the types of data. The data sources may include false positives and the system 10 is configured to account for those uncertainties.
To determine quality metrics for IP address based assets, every IP address is uniquely mapped to an entity. Processing the data from a data source yields a list of IPs for each organization that has demonstrated suspicious or malicious behavior. The processing steps are as follows:

    
    
        1. For each IP address, determine a security quality metric called “badness”.
        2. Badness is a number between 0 and 1 that corresponds to the extent and duration of malicious activity that was reported.
        3. For each data source in which the IP address is reported, determine a data source specific badness score for that IP.
        4. Consolidate the badness score for a given IP across all data sources by cross validating data to determine the aggregate Badness for that IP.
        5. Aggregate the badness scores of IPs from an entity to determine the entity's IP asset based security quality metric.
    
    


The ratings processing system 30 is configured to account for differences in data sources and types. Given each data source's potentially unique view of an entity, there is not a universal technique that treated them all the same way. Data source specific modeling techniques, for example, were developed for 11 of the 97 data sources in experimental trials in order to demonstrate feasibility and validate the approach. The data sources incorporated accounted for five different data source types: Block Lists, Suspicious Activity, Malicious Servers, Compromised Hosts, and Spamming.
The following two sections give detailed examples of modeling techniques developed for calculating IP address badness for two different data sources that are representative of the data collected.
One of the data sources is a daily updated list of IP addresses that were reported by volunteer hosts from across the Internet. IP Addresses are reported in this data source if they have communicated with hosts that do not expect any inbound communication from them. It lists many more IP addresses on a given day compared with the other data sources and therefore, provides a significant amount of information contained only in this data source. However, this data source has a high incidence of false positives, where a false positive is an unwarranted report due to an incorrectly configured reporting host (i.e., the target) or a listing of an incorrect IP address due to backscatter.
False positives are accounted for by identifying events—where an event is defined as persistent, reported activity on a single IP address within a time period. For each event, heuristics are applied to determine the average intensity for the event. The intensity of an IP address on a given day is a measure of the confidence that malicious activity originated from the IP address on that day.
For the case where an event spans multiple days, the IP address is generally reported on each day in the event. However, if an IP address is listed on one day but not the next, this omission does not necessarily signify that the host has stopped its malicious behavior; rather, it could be that the host was offline for the day. For example, many corporate hosts are offline for weekends and holidays. Thus, an event is allowed to have short inactive periods, or days without any reports on the IP address. To generate the IP address quality metric, a maximum inactive period of three days is used.
The intensity of an IP address for a given day is calculated dynamically and increases both with the number of reporting targets as well as the duration of the event. Reports with a larger number of targets have larger intensities. This is because false positives due to mis-configured hosts are less likely to have occurred when multiple targets report the same IP address on the same day. Likewise, reports that belong to a persistent event have larger intensities, since persistent reports also signal the legitimacy of the malicious activity on the IP address.
The intensity, I(s) is calculated as follows:



 
  
   I
   ⁡
   (
   s
   )
  
  =
  
   {
   
    
     
      
       0.1
       ,
      
     
     
      
       
        if
        ⁢
           
        s
       
       <
       2
      
     
    
    
     
      
       
        
         0
         .
         0
        
        ⁢
        1
        ⁢
        
         e
         
          
           
            ln
            (
            10
            )
           
           ⁢
           
            (
            
             s
             -
             1
            
            )
           
          
          4
         
        
       
       ,
      
     
     
      
       
        if
        ⁢
           
        2
       
       ≤
       s
       <
       5
      
     
    
    
     
      
       
        
         0
         .
         8
        
        -
        
         0.7
         
          e
          
           -
           
            
             
              ln
              (
              10
              )
             
             ⁢
             
              (
              
               s
               -
               5
              
              )
             
            
            4
           
          
         
        
       
       ,
      
     
     
      
       
        if
        ⁢
           
        s
       
       ≤
       5
      
     
    
   
  
 



where s is the number of hosts reporting the IP address. Thus, the average intensity, Iavg, of an event is the average of the intensities calculated per active day (a day with reports) and is determined as follows:




 
  
   
    I
    avg
   
   =
   
    
     
      I
      ⁡
      (
      s
      )
     
     T
    
    +
    
     
      A
      ·
      
       I
       prev
      
     
     T
    
   
  
  ,
 



where T is the list time, A is T minus the number of days since the last update, and Iprev is the average intensity at the last update. The Badness, BIP, of an IP address is derived from the intensity and duration of the events for the IP, such that recent events are weighted heavier than historical events and is calculated as follows:




 
  
   
    B
    IP
   
   =
   
    min
    ⁡
    (
    
     1
     ,
      
     
      
       
        
         I
         avg
        
        (
        
         1
         -
         
          e
          
           -
           0.02
          
         
        
        )
       
       
        1
        -
        
         e
         
          -
          0.12
         
        
       
      
      ⁢
      
       
        ∑
        
         t
         1
        
        
         t
         n
        
       
       
        e
        
         -
         0.02
        
       
      
     
    
    )
   
  
  ,
 



where tl and tn denote time lapsed from the end and beginning of an event, respectively; and the average intensity is readjusted if the persistence surpasses a threshold.

The second data source example is a host block list that lists IP addresses that have been compromised. Based on an analysis of the data sources collection methods, the block list is considered very reliable in the sense that a listing implies that malicious activity originated from the listed address. This block list removes IP addresses from the list if no malicious activity is detected for a small window of time. Because of the high confidence in the data source's accuracy, any IP address on the block list is assigned a raw Badness of 0.8.
Once an IP address is delisted and is no longer on the block list, its Badness decays exponentially with respect to the time since it was last listed. Thus, the Badness is:



 
  
   
    B
    IP
   
   =
   
    0.8
    
     e
     
      -
      
       
        
         ln
         (
         2
         )
        
        ⁢
        T
       
       182.625
      
     
    
   
  
  ,
 



where T is the time in days since the last listing. This decay rate corresponds to a half-life of six months.

Various other data sources are handled similarly but the raw score is based on the confidence in the data source's collection methods. Other data sources track CIDR blocks as opposed to individual IP addresses, and so the Badness assigned to a listing on these lists are weighted by the CIDR block size as follows:



 
  
   
    B
    IP
   
   =
   
    0
    .8
    
     We
     
      -
      
       
        
         ln
         (
         2
         )
        
        ⁢
        T
       
       182.625
      
     
    
   
  
  ,
 



where W is the natural log of the block size.

The total IP space badness of an entity is an aggregation of the badness of the entity's individual IP addresses and/or CIDR blocks. In the simplest model where all data sources are IP address based, the entity badness is the total badness of the IP addresses owned by the entity. To normalize ratings across entities of different sizes, the entity's network size defined as the number of active IP addresses owned by the entity is used:



 
  
   
    B
    entity
   
   =
   
    
     
      ∑
      
       IP
       ∈
       entity
      
     
     
      B
      IP
     
    
    
     ln
     ⁡
     (
     N
     )
    
   
  
  ,
 



where N denotes the network size. Normalizing avoids penalizing of smaller entities allowing fair comparisons between entities of differing sizes.

Enhancements to the Ratings Methodology

The system 10 may also include expanded the methodology to support additional and different types of data sources. It could identify data sources that indicate different levels of IT sophistication—such information is a measure of the level of IT practice maturity.
Entity normalization methods can also account for differences in entity size beyond network size. For example, the use of other normalization methods such as number of employees may help produce more robust normalizations under certain circumstances.
Also, statistical properties of the model's internal parameters may be analyzed and adjust based on the findings. For example, certain inputs or features may be disproportionately skewing the ratings and such inputs or features may be modulated through weighting factors.
The composite security rating described above measured, amongst other things, how much, to what extent, and how recently malicious activity was detected on an entity's cumulative IP space. The score could also be adapted to show a level of confidence. For example, a failure to detect malicious activity on an entity's IP space does not necessarily imply non-malicious behavior. Rather, the data sources may lack coverage on the entity's IP space. By outputting a range as opposed to a number, the system 10 is able to convey its confidence in a rating where a larger range necessarily implies a lower confidence, and a smaller range necessarily implies a higher confidence.
Such a range could be computed from a mean score and a confidence range, which could be determined from a developed discrete choice model. Features such as the Badness scores from each data source could help determine the mean score. Features such as redundancy between data sources and network size could also help determine the confidence range.
Entity mapping may also be improved through other data sources and functions. Data sharing relationships with Internet Service Providers might provide additional data on security outcomes and practices at entity computer systems. Also, consumers of the scoring reports may already have partner-mapping data through the nature of their relationship with the entity or may be able to request the information.
Entity mapping may also be facilitated by persistent updates of the heuristics, such as updating prefixes from BGP announcements and data from Regional Internet Registries.
Data storage used by the system 10 may be improved to minimize the disk space required while supporting rapid inclusion of new entity ratings. For example, high-speed data access layers may be created for daily ratings computation.
Speed and scale can be accomplished through distributed or parallel processing on different systems. A distributed data source query interface may be implemented so that massive and expensive centralized data storage is not required.
The system 10 may also be configured to develop and evaluate predictive capabilities of information security ratings and incorporate them into the rating methodology.
The ability to demonstrate predictability has a dependency on data reliability. For example, improving coverage of malicious events improves data reliability. Statistical evaluations may be used to disambiguate strong entity performance (e.g., no malicious activity) from low coverage (e.g., lack of information on the malicious activity). These evaluations can then be used in the rating methodology.
Statistical evaluations of data coverage may include a data accuracy assessment wherein levels of coverage assurance associated with a particular adopted data source are determined. Also, observations across data sources may be compared to determine data sources of high probability or low probability of coverage for a given entity.
Predictive modeling may include determination of entity historical trends to display and predict future performance. Regression and machine learning based models may be developed to predict information security performance. Models may be evaluated and further developed for predictive capability through a series of prediction experiments.
Also, the data source features may be analyzed for correlations of high and low performance. For example, entities with behavior “X” tend to perform well and entities that demonstrate property “Y” tend to behave poorly.
Use of External and Internal Security Data
The system 10 may also include internally derived security assessments. For example, such a score computation is shown in FIG. 3. The final score STotal has two components, the Internal score and the External score.
The Internal score, Sint, is derived from data collected and observed from inside the enterprise. Data sources that provide inputs to the internal scoring function could include, but are not limited to, the following:

    
    
        Vulnerability scans
        Firewall Rules
        Incident Reports
        Configurations
        Software inventory
        Policies
        Controls
        User Behavior

The features from each of the data sources are extracted to create a feature vector. This feature vector is Xint={InternalFeatures} in the “Internal Source Score,” as shown in FIG. 3. Features include, but are not limited to, derived metrics from the data sources (e.g., the number of remotely exploitable vulnerabilities from outside the entity, the number of incidents, or the number of vulnerable versions of software).

    
    


Each feature xi in XINT has a corresponding transformation function ƒl(xi)(xi) that performs a normalization transformation such that the resultants can be summed.
Each feature xi in XINT also has corresponding weight ωi such that different weights can be placed on the resultant feature transformation where the sum of the weights equal is unity



 
  
   
    ∑
    
     i
     =
     1
    
    n
   
   
    ω
    i
   
  
  =
  1.
 



The sum of the transformed and weighted feature vector is computed by summing each resultant for each of the features




 
  
   ∑
   
    
     i
     =
     1
    
    ,
    
     x
     ∈
     
      X
      int
     
    
   
   n
  
  
   
    ω
    i
   
   ⁢
   
    
     
      f
      
       t
       ⁡
       (
       
        x
        i
       
       )
      
     
     (
     
      x
      i
     
     )
    
    .
   
  
 



The final score Sint is the summation normalized by a set of normalization factors given as ƒl(xα)(xα)+ƒl(xβ)(xβ) where each normalization factor xα, xβ, . . . also has a factor normalization transformation function.
The computation of the Internal Score is given as:



 
  
   S
   int
  
  =
  
   
    
     ∑
     
      
       i
       =
       1
      
      ,
      
       x
       ∈
       
        X
        int
       
      
     
     n
    
    
     
      ω
      i
     
     ⁢
     
      
       f
       
        t
        ⁡
        (
        
         x
         i
        
        )
       
      
      (
      
       x
       i
      
      )
     
    
   
   
    
     
      f
      
       t
       ⁡
       (
       
        x
        α
       
       )
      
     
     (
     
      x
      α
     
     )
    
    +
    
     
      f
      
       t
       ⁡
       (
       
        x
        β
       
       )
      
     
     (
     
      x
      β
     
     )
    
   
  
 



The External Score is the combination of the Public Sources Score (Spub) and the Commercial Sources (Scom). Spub and Scom are derived using the same heuristic combinatorial functions as the Internal Score. However, the input data sources, weights, transformation functions and normalization factors are different.
Spub and Scom have their own feature vectors Xpub={PublicFeatures} and
Xcom{CommercialFeatures} based on the data input sources used.
Data sources in Xpub that provide inputs to the Spub score could include but are not limited to the following:

    
    
        Industry reports
        Internet monitoring web sites that publish reports (ex: www.malwareurl.com)
        News articles
        Court records
    
    


Data sources in Xcom that provide inputs to the Scom score could include but are not limited to the following:

    
    
        Company proprietary data collected during operations
        Renesys
        Arbor Networks
        Business intelligence bought from corporations and services
        User Behavior

With the Internal and External Scores computed, the final total score is computed and the weighted sum of the three: STotal=ωintSint+ωpubSpub+ωcomScom 

    
    


It is possible that the algorithm does not have the same inputs for all entities. More information may be available for some entities compared to other entities. Given this, each data source is assigned a normalized confidence level based on how much they contribute to the computation of the enterprise score. Depending on the actual data that went into rating the company, the confidence level is assigned as a sum of the confidence levels associated with the data sources. The confidence level can be used to assign a range of scores for an enterprise. For instance, if an enterprise is rated as 750 with a confidence level of 0.8, the entity's actual score is reported as (750−(1−0.8)*100, 750)=(730−750). An entity's score is deemed to be unavailable if the confidence level is below a minimum threshold of 0.5.
It should be noted that the Sint may be zero due to a lack of available information or permission, wherein Stotal becomes characteristic only of externally observable characteristics. Also, characteristics for the calculation can be used in conjunction, or vice versa, with functions and aspects of the remaining systems described hereinabove and below.
Distributed System
Referring now to FIG. 4, a schematic diagram of a central server 500, or similar network entity, configured to implement a system for creating a composite security score is provided. As used herein, the designation “central” merely serves to describe the common functionality the server provides for multiple clients or other computing devices and does not require or infer any centralized positioning of the server relative to other computing devices. As may be understood from FIG. 4, the central server 500 may include a processor 510 that communicates with other elements within the central server 500 via a system interface or bus 545. Also included in the central server 500 may be a display device/input device 520 for receiving and displaying data. This display device/input device 520 may be, for example, a keyboard or pointing device that is used in combination with a monitor. The central server 500 may further include memory 505, which may include both read only memory (ROM) 535 and random access memory (RAM) 530. The server's ROM 535 may be used to store a basic input/output system 540 (BIOS), containing the basic routines that help to transfer information across the one or more networks.
In addition, the central server 500 may include at least one storage device 515, such as a hard disk drive, a floppy disk drive, a CD Rom drive, or optical disk drive, for storing information on various computer-readable media, such as a hard disk, a removable magnetic disk, or a CD-ROM disk. As will be appreciated by one of ordinary skill in the art, each of these storage devices 515 may be connected to the system bus 545 by an appropriate interface. The storage devices 515 and their associated computer-readable media may provide nonvolatile storage for a central server. It is important to note that the computer-readable media described above could be replaced by any other type of computer-readable media known in the art. Such media include, for example, magnetic cassettes, flash memory cards and digital video disks.
A number of program modules may be stored by the various storage devices and within RAM 530. Such program modules may include an operating system 550 and a plurality of one or more (N) modules 560. The modules 560 may control certain aspects of the operation of the central server 500, with the assistance of the processor 510 and the operating system 550. For example, the modules may perform the functions described above and illustrated by the figures and other materials disclosed herein, such as collecting security characterizations 570, generating a composite rating 580, determining a trend 590, reporting the ratings 600, IP mapping 610, determining a badness quality metric 620, attenuating a raw score 630, correlating with statistical outcomes 640, determining a confidence range 650, predicting future performance 660 and determining an accuracy 670.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

## Claims

1. A method for determining a security rating of an entity, the method comprising:
determining an internal security rating comprising:
obtaining data indicative of internal security from a plurality of internal data sources;
extracting a plurality of internal security features from the obtained data;
applying a respective transformation function to each of the plurality of internal security features to determine a first plurality of transformed features; and
combining the first plurality of transformed features to form the internal security rating;

determining an external security rating comprising:
obtaining data indicative of external security from a plurality of external data sources;
extracting a plurality of external security features from the obtained data;
applying a respective transformation function to each of the plurality of external security features to determine a second plurality of transformed features; and
combining the second plurality of transformed features to form the external security rating; and

providing, via a reporting facility, a composite security rating for the entity based on the internal security rating and the external security rating, wherein at least one of the internal security features or the external security features indicates malicious activity associated with an IP address of the entity.

2. The method of claim 1, further comprising:
determining the composite security rating based on a weighted combination of the internal security rating and the external security rating.

3. The method of claim 1, wherein the plurality of internal data sources comprises:
vulnerability scan data of the entity;
data indicating firewall rules of the entity;
data from security incident reports corresponding to the entity;
data indicative of computer network configurations of the entity;
data indicative of software inventory of the entity;
data indicative of security policies of the entity;
data indicative of security controls of the entity; and
data indicative of user behavior corresponding to the entity.

4. The method of claim 1, wherein at least one of the internal security features or the external security features comprise at least one of:
a number of remotely exploitable vulnerabilities of the entity;
a number of security incidents; or
a number of vulnerable versions of software of the entity.

5. The method of claim 1, wherein each respective transformation function is a normalization of the respective feature, and further comprising:
when the normalization is applied to two or more of the internal security features or the external security features, summing the normalized features.

6. The method of claim 1, wherein determining the internal security rating further comprises weighting the first plurality of transformed features.

7. The method of claim 1, wherein combining the first plurality of transformed features comprises:
summing the first plurality of transformed features; and
normalizing the summed features by a set of normalization factors.

8. The method of claim 1, wherein combining the second plurality of transformed features comprises:
summing the second plurality of transformed features; and
normalizing the summed features by a set of normalization factors.

9. A system for determining a security rating of an entity, the system comprising:
one or more computer systems programmed to perform operations comprising:
determining an internal security rating comprising:
obtaining data indicative of internal security from a plurality of internal data sources;
extracting a plurality of internal security features from the obtained data;
applying a transformation function to each of the plurality of internal security features; and
combining the transformed features to form the internal security rating;

determining an external security rating comprising:
obtaining data indicative of external security from a plurality of external data sources;
extracting a plurality of external security features from the obtained data;
applying a transformation function to each of the plurality of external security features; and
combining the transformed features to form the external security rating; and

providing, via a reporting facility, a composite security rating for the entity based on the internal security rating and the external security rating, wherein at least one of the internal security features or the external security features indicates malicious activity associated with an IP address of the entity.

10. The system of claim 9, wherein the one or more computer systems are further programmed to perform operations comprising:
determining the composite security rating based on a weighted combination of the internal security rating and the external security rating.

11. The system of claim 9, wherein the plurality of internal data sources comprises:
vulnerability scan data of the entity;
data indicating firewall rules of the entity;
data from security incident reports corresponding to the entity;
data indicative of computer network configurations of the entity;
data indicative of software inventory of the entity;
data indicative of security policies of the entity;
data indicative of security controls of the entity; and
data indicative of user behavior corresponding to the entity.

12. The system of claim 9, wherein the internal security features and the external security features comprise at least one of:
a number of remotely exploitable vulnerabilities of the entity;
a number of security incidents; or
a number of vulnerable versions of software of the entity.

13. The system of claim 9, wherein each respective transformation function is a normalization of the respective feature, and wherein the one or more computer systems are further programmed to perform operations comprising:
when the normalization is applied to two or more of the internal security features or the external security features, summing the normalized features.

14. The system of claim 9, wherein determining the internal security rating further comprises weighting the first plurality of transformed features.

15. The system of claim 1, wherein combining the first plurality of transformed features further comprises:
summing the first plurality of transformed features; and
normalizing the summed features by a set of normalization factors.

16. The system of claim 9, wherein combining the second plurality of transformed features further comprises:
summing the second plurality of transformed features; and
normalizing the summed features by a set of normalization factors.