Patent Publication Number: US-11652732-B2

Title: System and method for scattering network traffic across a number of disparate hosts

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Application Ser. No. 62/720,155 filed Aug. 21, 2018, the disclosures of which are hereby incorporated by reference as if fully restated herein. 
    
    
     TECHNICAL FIELD 
     Exemplary embodiments relate generally to a system and method for scattering network traffic across a number of disparate hosts. 
     BACKGROUND AND SUMMARY OF THE INVENTION 
     Two of the most important communication protocols used on the Internet and other similar networks are the Transmission Control Protocol (TCP) and the Internet Protocol (IP). Together, the TCP and IP protocols form core protocols of the larger Internet protocol suite used on packet-switched networks. That protocol suite is commonly referred to as the TCP/IP protocol because of the widespread adoption and implementation of the TCP and IP protocols. 
     The TCP/IP protocol was developed for the United States Advanced Research Projects Agency (ARPA). The TCP/IP protocol is a set of rules that enable different types of network-enabled or networked devices to communicate with each other. Those network devices communicate by using the TCP/IP standard, or format, to transfer or share data. TCP/IP rules are established and maintained by the Internet Engineering Task Force (IETF). The IETF is an international community of network designers, operators, vendors, and researchers concerned with the Internet&#39;s architecture and operation. The IETF&#39;s mission is to produce technical and engineering documents that influence the way people design, use and manage the Internet with the goal of improving its operations and efficiencies. These documents include protocol standards, best current practices and information updates of various kinds, and are commonly referred to as Request for Comments (RFC). 
     TCP can be used to establish a bi-directional connection between two clients wherein activity begins with a request for information made by one client to another client. A “client” is any program or application that initiates requests for or sends information from one remote location to another. As used herein, the term “client” may refer to such applications including, but not limited to, web browsers, web servers, file transfer protocol (FTP) programs, electronic mail programs, line printer (LPR) programs also known as print emulators, mobile phone apps, and telnet programs also known as terminal emulators, all of which operate conceptually in an application layer. 
     The TCP protocol is typically implemented as a “daemon” that is part of a TCP/IP stack of protocol layers. A daemon—also often referred to interchangeably as a server or service—is generally a software component of a device that runs a background process. As used herein in relation to the operation of the TCP protocol, the term “daemon” is used to refer to a component of a networked device that sends (source daemon) or receives (destination daemon), and processes communications between remote clients according to the TCP standard. 
     A host is a device or system that runs or executes TCP/IP daemons. As used herein, the term “host” refers to any such device or system including, but not limited to, a server platform, a personal computer (PC), and any other type of computer or peripheral device that implements and runs TCP software. Generally, a host physically connects and links clients and daemons to TCP/IP networks, thereby enabling communication between clients. 
     TCP software accepts requests and data streams directly from clients and other daemons, sequentially numbering the bytes, or octets, in the stream during the time the connection is active. When required, it breaks the data stream into smaller pieces called segments (sometimes referred to as datagrams or packets generally) for transmission to a requesting client. The protocol calls for the use of checksums, sequence numbers, timestamps, time-out counters and retransmission algorithms to ensure reliable data transmission. 
     The IP layer actually performs the communication function between networked hosts. The IP software receives data segments from the TCP layer, ensures that the segment is sized properly to meet the requirements of the transmission path and physical adapters (such as Ethernets and CTCs). IP changes the segment size, if necessary, by breaking it down into smaller IP datagrams, and transmits the data to the physical network interface or layer of the host. 
     The IP layer is responsible for delivering an IP datagram over an IP network using the destination IP address contained within the IP header. This network traffic originates with a host and is passed from gateway to gateway until it reached its final destination. While the source IP address contained within the IP header is important for higher level protocols, it is not absolutely necessary for some specialized applications; furthermore, the source address allows ICMP error messages to be directed to the point of origination so that network corrections can occur. 
     IP traffic is processed through a complex network of hosts and gateways using the IP address and its specific subsections. In order to guide connections to a host, there are generally three levels of identification contained within an IP address: network, subnetwork, and host. These identifications can be determined through an examination of the first few bits of the IP address and specific knowledge of the structure of a particular network. 
     The first identification is the network number which is either 7 bits, 16 bits, or 21 bits of the 32-bit IP address depending upon the value of the high order bits being 0, 10, or 110 respectively. This provides for flexibility in assigning addresses to networks and allows for the large number of small to intermediate sized networks the ability to modify the address field to specify a small number of networks with a large number of hosts, a moderate number of networks with a moderate number of hosts, or a large number of networks with a small number of hosts. 
     
       
         
           
               
               
               
             
               
                 TABLE 1 
               
               
                   
               
               
                 High Order of Bits 
                 Format 
                 Class 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
               
            
               
                 0 
                 7 bits of net, 24 bits of host 
                 A 
               
               
                 10 
                 14 bits of net, 16 bits of host 
                 B 
               
               
                 110 
                 21 bits of net, 8 bits of host 
                 C 
               
               
                   
               
            
           
         
       
     
     The host number can be further subdivided in subnet and host through the application of a subnet mask. However, the specific knowledge concerning the value or specification of subnet mask is usually contained locally and not generally available to a wider network audience. Therefore, the host number must be assumed to fully identify the final destination by the host of origin. 
     IP traffic generally flows between hosts over a dynamically connected path. While it is often the case that traffic patterns are repeatable, the nature of routing allows for a dynamic alteration and configuration of transmission pathways to occur. It is possible for an IP datagram to be passed from point to point and reach as many as 255 gateways between the source and the destination. While these are theoretical limits, the number of network segments used in practice can be surprisingly large. 
     This flow of traffic is both observable and measurable, from not only either end, but also by gateway observers positioned along the path. Since most connections are bi-directional, the data for collection and observation may include the size, frequency, and timing of transmissions. An intended flow of communication can be identified and distinguished from disjointed background traffic through the correlations between the size and frequency of the traffic flow. Therefore, a stream of data that represents a significant volume or size of data that is frequently transmitted is clearly a pattern of mono- or bi-directional communication between hosts. What is needed is a system and method for scattering network traffic across a number of disparate hosts. 
     What is provided is a system and method for scattering network traffic across a number of disparate hosts. The disclosed system and method may allow the true network structure, such as the real origin host and real destination host, to be disguised or obfuscated. The present disclosures provide a system and method which may be used to create the appearance that network traffic, such as but not limited to IP network traffic, is originating in a disparate number of locations within the network. This disparate scattered activity is designed to fall outside of correlatable standard behavior in ways that both obscures its occurrence and does not draw attention by its intentionally scattered behavior. This system and method allows network traffic to flow in a manner that masks its true behavior and creates the illusion that no network flow is intentionally occurring, such as between a true origin host and a true destination host. 
     In order to avoid observation, it would be preferable not to engage any higher-level protocols that require the integrity of the source address to be maintained. In other words, it would be preferable to not use flow control protocols like TCP. Furthermore, a system and method to disperse the appearance of traffic so that network correlations fail to observe activity would preferably be implemented. 
     By applying correlation coefficients against collected network data, a system and method may be provided by which there is no observation that would indicate a coherent communication path. In this way, it is possible to establish a system and method that allows communication to occur between hosts while not appearing as natural traffic. 
     Each gateway located along the real transmission pathway may be identified. The number of networks along the real transmission pathway may be determined. A list of observed hosts may be built. Illusionary hosts may be added. Traffic data may be collected to determine aggregate, frequency, and volume metrics. The mean and standard deviation of the traffic may be determined. If no host is available that has an aggregate value for its traffic which falls outside of the mean for the entire system by more than the standard deviation, then additional illusionary hosts may be added. If a host is available that has an aggregate value for its traffic which falls outside the mean by at least the standard deviation for the entire system, then the host with the aggregate value furthest from the mean value for the entire system may be selected. The source address of a datagram may be modified with the network address of the selected host. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
       Novel features and advantages of the present invention, in addition to those mentioned above, will become apparent to those skilled in the art from a reading of the following detailed description in conjunction with the accompanying drawings wherein identical reference characters refer to identical parts and in which: 
         FIG.  1    is a simplified diagram illustrating an exemplary real network pathway; 
         FIG.  2    is a simplified diagram illustrating the real network pathway of  FIG.  1    with exemplary illusion network pathways; and 
         FIG.  3    is a flow chart with exemplary logic for creating the illusion network pathways. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Various embodiments of the present invention will now be described in detail with reference to the accompanying drawings. In the following description, specific details such as detailed configuration and components are merely provided to assist the overall understanding of these embodiments of the present invention. Therefore, it should be apparent to those skilled in the art that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present invention. In addition, descriptions of well-known functions and constructions are omitted for clarity and conciseness. 
     Embodiments of the invention are described herein with reference to illustrations of idealized embodiments (and intermediate structures) of the invention. As such, variations from the shapes of the illustrations as a result, for example, of manufacturing techniques and/or tolerances, are to be expected. Thus, embodiments of the invention should not be construed as limited to the particular shapes of regions illustrated herein but are to include deviations in shapes that result, for example, from manufacturing. 
       FIG.  1    illustrates an exemplary real network pathway  11 ,  FIG.  2    illustrates the real network pathway of  FIG.  1    with exemplary illusion network pathways  100 , and  FIG.  3    is a flow chart with exemplary logic for creating the illusion network pathways  100 . The disclosed system and method is intended to, for example without limitation, aid in the masking of network behavior. The real path  11  of network traffic flows from a real point of origin  12  to a real point of destination  14 . The network may be an IP network, though any type of network operating under any set of protocols is contemplated. Individual datagrams may flow through multiple gateways  16  and over multiple networks  18 ,  20 ,  22 ,  24  to reach the real point of destination  14 . In order to create the illusion of disparate sources of origins for such network traffic, the real path  11  may be carefully examined such that the imaginary paths may be established which conform, at least in some ways, with the real pathway  11  in order to appear plausible. 
     Each gateway  16  located along the real transmission pathway  11  may be identified. A comprehensive list of gateways  16  to be, or actually, used by the real transmission pathway  11  may be generated. In exemplary embodiments, the gateways  16  may be identified by way of an ICMP request where the Time to Live (TTL) field of the IP header is manipulated. When one of the gateways  16  receives a datagram whose TTL file is zero, an error may be generated indicating that the datagram is being discarded. By requesting an echo response with the TTL set to zero, for example without limitation, the first gateway  16  may be configured to respond with an error message which is returned to the sender, such as the rear origin host  12 . Repeating the operation with a TTL set to one greater than the previous datagram, the next gateway  16  may be identified. By repeating such steps, a list of all gateway  16  in the real path  11  may be generated. Though ICMP protocols and TTL fields are discussed, other protocols and methods for obtaining the identity of the gateways  16  is contemplated. Such error messages may be returned to a host other than the real origin host  12 . 
     The network address of each gateway  16 , as may be reported in the error messages received at the real origin host  12 , may be broken into network and subnetwork numbers. This may allow the identification of the networks  18 ,  20 ,  22 ,  24  through which the network traffic is passing. As those of skill in the art will recognize, the gateways  16  involved are connected to some kind of network  18 ,  20 ,  22 ,  24 , and by examining the network address of the gateways  16  it is possible to identify the networks  18 ,  20 ,  22 ,  24 . Such analysis may be performed at the real origin host  12 , though such is not required. 
     Once the networks  18 ,  20 ,  22 ,  24  and gateways  16  have been identified, a collection of network addresses may be generated for hosts  1 - 10 . Such analysis may be performed at the real origin host  12 , though such is not required. The collection of network addresses may contain at least two types of host machines  1 - 10  per identified network  18 ,  20 ,  22 ,  24 . The first type of host  1 - 10  may be an observed machine  3 ,  6  operating within the network  18 ,  20 ,  22 ,  24 . These hosts  3 ,  6  may be observed through its interaction with the real origin host  12 . Each observed host  3 ,  6  may be in electronic communication with one of the gateways  16 . Each of the observed hosts  3 ,  6  may be configured to monitor network traffic passing through the respective gateway  16 . The second type of host may be an imaginary host  1 - 2 ,  4 - 5 ,  7 - 10  that may be selected only for its plausible existence within the identified networks  18 ,  20 ,  22 ,  24 . These imaginary hosts  1 - 2 ,  4 - 5 ,  7 - 10  may be selected at random or through some other technique that assures their network address falls within the identified real path  11 . The size of the collection may be extendable by subsequent events, and its starting size may be at least two imaginary hosts  1 - 2 ,  4 - 5 ,  7 - 10  per network  18 ,  20 ,  22 ,  24 , though such is not required. 
     The illusion pathway  100  presented in  FIG.  2    reflects the real pathway  11  from  FIG.  1    as an example, without limitation. In the illustration in  FIG.  2   , there are two gateways  16 , four networks  18 ,  20 ,  22 ,  24 ,  22 , and ten network addresses  1 - 10  developed into the starting setup list. 
     In order for network behavior to be observed, there must be a strong correlation between the frequency and the amount of traffic between two identifiable points. The Pearson Correlation Coefficient, provided in Formula 1 below is an exemplary statistical method which may be used to measure these values. 
     
       
         
           
             
               
                 
                   r 
                   = 
                   
                     
                       SP 
                       xy 
                     
                     
                       
                         
                           SS 
                           x 
                         
                         ⁢ 
                         
                           SS 
                           y 
                         
                       
                     
                   
                 
               
               
                 
                   Formula 
                   ⁢ 
                       
                   1 
                 
               
             
           
         
       
     
     The size of the sum of products, provided in Formula 2 below, may be closely related to the strength of the correlation coefficient. 
     
       
         
           
             
               
                 
                   
                     SP 
                     xy 
                   
                   = 
                   
                     
                       ∑ 
                       
                         
                           ( 
                           
                             x 
                             - 
                             
                               x 
                               _ 
                             
                           
                           ) 
                         
                         ⁢ 
                         
                           ( 
                           
                             y 
                             - 
                             
                               y 
                               _ 
                             
                           
                           ) 
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         xy 
                       
                       - 
                       
                         
                           
                             ( 
                             
                               ∑ 
                               x 
                             
                             ) 
                           
                           ⁢ 
                           
                             ( 
                             
                               ∑ 
                               y 
                             
                             ) 
                           
                         
                         n 
                       
                     
                   
                 
               
               
                 
                   Formula 
                   ⁢ 
                       
                   2 
                 
               
             
           
         
       
     
     The larger the value, either negative or positive, the larger the statistical identification. For an event to be less obvious, it is preferable for its observed value to fall farther away from the average observation. In other words, it is preferable for network activity to deviate from the mean as much as possible. When network traffic is scattered to a wide range of hosts  1 - 10 , these hosts  1 - 10  may maintain a level of activity that significantly deviates from the observed network activity for the entire network. This may obfuscate the true structure of the network, such as but not limited to, the identify of the true source host  12  and the true destination host  14 . 
     The list of network addresses generated may be examined to determine the frequency and volume of activity of the entire network as well as each host  1 - 10 . Three descriptive statistical values may be collected, periodically or continuously, to generate at least the following values: the aggregate, mean, and standard deviation from the mean, which may be provided through use of Formula 3 and Formula 4, both of which are provided below. 
     
       
         
           
             
               
                 
                   
                     SS 
                     x 
                   
                   = 
                   
                     
                       ∑ 
                       
                         
                           ( 
                           
                             x 
                             - 
                             
                               x 
                               _ 
                             
                           
                           ) 
                         
                         2 
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           x 
                           2 
                         
                       
                       - 
                       
                         
                           
                             ( 
                             
                               ∑ 
                               x 
                             
                             ) 
                           
                           ⁢ 
                           2 
                         
                         n 
                       
                     
                   
                 
               
               
                 
                   Formula 
                   ⁢ 
                       
                   3 
                 
               
             
             
               
                 
                   s 
                   = 
                   
                     
                       
                         SS 
                         x 
                       
                       
                         n 
                         - 
                         1 
                       
                     
                   
                 
               
               
                 
                   Formula 
                   ⁢ 
                       
                   4 
                 
               
             
           
         
       
     
     An origin address may be selected from the generated list of hosts  1 - 10  on the network. Traffic data may be collected to determine aggregate, frequency, and volume metrics. The mean and standard deviation of the traffic for the entire system may be determined. If no host  1 - 10  is available that has an aggregate value for its traffic which falls outside of the mean for the entire system by more than the standard deviation, then additional illusionary hosts  1 - 2 ,  4 - 5 ,  7 - 10  may be added. The illusionary hosts  1 - 2 ,  4 - 5 ,  7 - 10  may be actual host machines, or may be simply configured to appear as plausible host machines. If a host  1 - 10  is available that has an aggregate value for its traffic which falls outside the mean by at least the standard deviation for the entire system, then the host  1 - 10  with the aggregate value furthest from the mean value for the entire system may be selected. After a network address of one of the hosts  1 - 10  has been selected, the source network address of an outgoing network datagram may be changed to the selected network address value. This may cause any observers of network traffic to believe that the datagram originated at an illusionary host  1 - 2 ,  4 - 5 ,  7 - 10 . Since the datagram may not contain sensitive information, the use of an incorrect source address may not cause issues for the transmission. However, any observing collection mechanism may not correlate the network activity with the true origin host  12 . 
     After transmission, the statistical values may be updated. The statistical values may be updated after each transmission, or after various size batches of transmissions. Regardless, by adding the values of such recent transmissions and updating the aggregate, mean, and standard deviation values, it may be possible to determine if additional transmissions should continue to use, or avoid using, the currently selected network address. This cyclical process of monitoring, selecting, and adjusting header information may maintain the appearance of scattered background traffic. 
     While certain embodiments are described with respect to an IP network and/or TCP/IP protocols, any type of network and protocol is contemplated. 
     Any embodiment of the present invention may include any of the features of the other embodiments of the present invention. The exemplary embodiments herein disclosed are not intended to be exhaustive or to unnecessarily limit the scope of the invention. The exemplary embodiments were chosen and described in order to explain the principles of the present invention so that others skilled in the art may practice the invention. Having shown and described exemplary embodiments of the present invention, those skilled in the art will realize that many variations and modifications may be made to the described invention. Many of those variations and modifications will provide the same result and fall within the spirit of the claimed invention. It is the intention, therefore, to limit the invention only as indicated by the scope of the claims. 
     Certain operations described herein may be performed by one or more electronic devices. Each electronic device may comprise one or more processors, electronic storage devices, executable software instructions, and the like configured to perform the operations described herein. The electronic devices may be general purpose computers or specialized computing device. The electronic devices may be personal computers, smartphone, tablets, databases, servers, or the like. The electronic connections described herein may be accomplished by wired or wireless means.