Improving the Security, Privacy, and Anonymity of a Client-Server Network through the Application of a Moving Target Defense

The amount of data that is shared on the Internet is growing at an alarming rate. Current estimates state that approximately 2.5 exabytes of data were generated every day in 2012. This rate is only growing as people continue to increase their on-line presence. As the amount of data grows, so too do the number of people who are attempting to gain access to the data. Attackers try many methods to gain access to information, including a number of attacks that occur at the network layer. A network-based moving target defense is a technique that obfuscates the location of a machine on the Internet by arbitrarily changing its IP address periodically. MT6D is one of these techniques that leverages the size of the IPv6 address space to make it statistically impossible for an attacker to find a specific target machine. MT6D was designed with a number of limitations that include manually generated static configurations and support for only peer to peer networks. This work presents extensions to MT6D that provide dynamically generated configurations, a secure and dynamic means of exchanging configurations, and with these new features, an ability to function as a server supporting a large number of clients. This work makes three primary contributions to the field of network-based moving target defense systems. First, it provides a means to exchange arbitrary information in a way that provides network anonymity, authentication, and security. Second, it demonstrates a technique that gives MT6D the capability to exchange configuration information by only sharing public keys. Finally, it introduces a session establishment protocol that clients can use to establish concurrent connections with an MT6D server. THIS PAGE INTENTIONALLY LEFT BLANK. Improving the Security, Privacy, and Anonymity of a Client-Server Network through the Application of a Moving Target Defense Christopher F. Morrell GENERAL AUDIENCE ABSTRACT Ensuring the security of computers on the Internet continues to grow in importance as more of our lives exist on-line. Traditionally, security experts add layers of defense to a computer or network in order to prevent malicious users from gaining access to the data held within that computer or network. No defense mechanism is perfect, and malicious users will continue to attempt to bypass any defenses until they are successful. Computers on the Internet maintain an address at which other computers can send messages. Since the advent of the Internet, these addresses have been 32 bits long, which provides approximately 4 billion addresses. As more and more computers have been added to the Internet, the number of available addresses has decreased, resulting in a recent push to move from the 32-bit addressing scheme to a 128-bit addressing scheme, referred to as Internet Protocol version 6 (IPv6). Utilizing 128 bits to represent an address results in more addresses available than there have been nanoseconds since the Big Bang. Previous research has demonstrated a technique that involves changing the addresses of two computers every few seconds, while continuing to maintain active conversations between the computers. Imagine being able to change your mailing address several times a day while still maintaining the ability to send and receive mail. This method, called Moving Target IPv6 Defense (MT6D), relies on the massive number of addresses available in IPv6 to make it practically impossible for some adversary to locate a specific computer that they wish to attack. The work presented in this dissertation provides an extension to MT6D in order to support client/server networks. Each time a user requests a webpage or watches a video, a conversation is created between the user’s client computer and some other computer acting as a server. In a client/server network, there are generally a large number of clients that are all supported by a single server or small group of servers. In the described scenario, the user’s computer is referred to as the client, while the machine providing the webpage or video is referred to as the server. MT6D was originally designed to support conversations that only occurred between two user’s computers, not between a large number of clients and a server. Additionally, MT6D originally required a great deal of pre-coordination and configuration to be conducted by users before they could establish a connection between their computers. This pre-coordination and configuration is a factor that greatly limits the number of users that could communicate concurrently due to the logistics required to distribute and apply configuration data. In support of extending MT6D, this research also presents a scheme that uses a form of anonymous escrow through which a server can securely share configuration information with any clients that may wish to establish a connection. By using this escrow service, client computers are able to establish a secure MT6D connection to a server with minimal pre-coordination and no manual configuration. This work provides an increased level of privacy, security, and anonymity for computers that connect via the client/server model. These benefits come with a slight impact to a computer’s performance on the network, although the negative impacts would not be notable to users except in extreme circumstances. The techniques presented here are intended to augment rather than replace the current security methods applied to a computer.