Networks and networking are commonly used terms in the field of computing. This term often refers to a connection of various computers and devices through use of communication channels. Networks are important because the increase efficiency by allowing users to share resources. For example, in an office it is common to see a single printer used to serve many computers or work stations. This is made possible via a network that relies on wired or wireless technology to provide the services of printing to the various computers at the same time. In the absence of this network each computer would have to be attached to a separate printer thus increasing operating costs.
The advent of the internet saw a vast increase in use of the internet. The internet is a global network of computer networks that brings together governments, learning institutions, commercial and other agencies together, thus allowing a large pool of easily accessible resources to millions of people all over the world. As more and more people began to use the internet to meet various daily needs the computer industry was under a lot of pressure to improve the quality of networks. The gradual process of improvement led to the type of networks that this paper will focus on, namely, wireless networks or Wi-Fi.
As earlier stated, a computer network provides a communication backbone through which various computers and peripheral devices can be shared. As the name suggests a wireless network provides users with the advantage that connections from one point to the next, do not require cables. The wireless network is thus much easier to set up and the lack of wires reduces maintenance costs. These networks make use of remote information transmission through electromagnetic waves such as radio waves. In recent years the telecommunication industry has also grown and a new and popular type of wireless networks exists in the domain of cellular networks which are able to transmit voice and data over improved channels. These wireless networks have become very popular across the developed world and it is not uncommon to find these "hotspots" in coffee bars, airports, colleges, train and bus stations, etc. They offer people great flexibility but may be capable of putting the unsuspecting would be users in harms way. It is primarily for this reason that entrepreneurs interested in using this technology for their business need to be aware of the security risks that such networks imply. For example, within an unobstructed space a wireless network can travel as far as 500 meters, including up heating or elevator shafts (Williams, 2006). It is difficult to ensure that the signals will not travel further than the business space they are meant to cover. Initially the networks relied upon the Wired Equivalent Privacy (WEP) standard to provide security to the data that was being transmitted to deter interception. WEP in its basic form made use 40 bit static keys and RC4 encryption to provide the security equivalent to that provided on a wired network. The fact that wireless networks do not need an access point to access data made this approach slightly inefficient. An improved approach was then developed, namely, Wi-Fi Protected Access (WPA), that utilizes an 8 bit MIC that ensures no tampering with data being transmitted (Williams, 2006).
In this paper we will discuss an emerging technique that compromises the wireless network through the use of Graphics Processing Units (GPU). These new Visual Graphics Adapters have in place several general purpose processors as opposed to special purpose hardware units that characterized their predecessors (Mariziale, Richard III & Roussev, 2007). It is in light of such threats to the wireless networks that this paper seeks to demonstrate the possible risks underlying the use of wireless networks for commercial purposes.
Wireless Weaknesses in WEP
The Wired Equivalent Privacy standard or WEP is utilized in the IEEE 802.11 protocol and is known to possess serious security flaws that thus make the network vulnerable to malicious attacks and intrusion. This poses cause for concern given that wireless devices are proliferating rapidly and it is expected that they will soon surpass the volume of traditional wired clients. The main driver behind the proliferation lies in the need for businesses to cut costs and improve delivery of service. Currently wireless networks bring together devices ranging from embedded micro devices to larger general purpose PC's. The price of networking has reduced and the speeds available have increased; people are increasingly dependent on these networks to perform works and other routine tasks e.g. bill payments, making reservations, etc (Kocak & Jagetia, 2008).
However, the security of the data and privacy of Wi-Fi networks remains questionable. This seeks to bring to light that almost any unauthorized user with know how can access, modify or use the data being transmitted over a Wi-Fi network. It is therefore no surprise that as these networks grow and people begin to store and share more important information, hackers have begun to prey on the unsuspecting users. Such instances have led to an increase in research into the security of these wireless networks in recent times. It is important to note that WEP is harder to implement on the micro devices which possess low processing power and memory capacity (Kocak & Jagetia, 2008).
As earlier mentioned WEP operates in compliance with the IEEE 802.11 standard for wireless networks. This standard forms the basic over the air interface that is used between a wireless client and a base station or even two or more wireless clients. The standard became operational to unify protocols of operation and promote interoperability between devices manufactured by different companies. The standard is characterized by a high data rate and simple encryption technique which made it very popular. One of its major shortcomings is it mainly addresses the physical layer which is mainly concerned with easing the process of transmission between devices. The security of the data and access controls are poorly handled thus leaving a major loop hole for would be attackers. The WEP protocol has been found to have serious flaws owing to the easily broken cryptography techniques utilized in the process of data transmission (Kocak & Jagetia, 2008).
Since WEP is intended to provide the same security as that available on a wired network it utilizes a shared key authentication technique to identify a stations and clients. In a wired network this key is never transmitted in the open but in the wireless network there is no "entry point" and the key is virtually in the open. To facilitate shared key authentication, the network will convey both the challenge and the encrypted challenge over the media (airwaves). With both these in hand it is possible to make attempts and find the pseudo random number that is used to create the key/IV pair. In WEP the same key will be used in encoding and decoding a message and therefore once the key/IV pair that was used for the exchange has been computed the message is no longer secure from prying eyes. This fact is best illustrated through the use of software which can be used to passively monitor the encryption key and make attempts at deciphering this key once enough packets of data have been gathered. Some available product versions of such software accomplish the deciphering of the RC4 algorithm in as little as 15 minutes depending on the volume of data on the network. On networks with higher volume the task is accomplished faster; it requires 1GB to data to decipher the algorithm (Computer Security & Fraud, 2001).
Attacks against WEP: Types Used (Theoretical and Technical Description)
From the details provided in the section above it is clear to see that WEP can be easily compromised and hence more stringent security is required to secure a wireless network. The attacks that can be made to a WEP network can be classified as either direct or passive. In the case of direct attacks the attacker modifies the contents of the data being transmitted over the network. This happens because any data packet traveling along these networks contains a short 24 bit key used for identification. With a key this small, repetition is bound to occur within fairly short intervals thus creating an opportunity to "grab" a key and use it to intercept data. In the case of passive attacks the attacker violates the integrity of the network by "sniffing". Sniffing is a process that involves analyzing the keys being used to identify the repeated keys and begin the process of redirecting the information to the attacker. Another passive approach involves the use of tables to decrypt all the data being transmitted on a network. Both these modes of attack rely on the amount of traffic on the network. Therefore, the heavier the traffic the quicker these attacks are accomplished. The WEP security has been found to be very vulnerable and will most likely not accomplish its goals if the attacker is well informed on its weaknesses. This fact has been proven by the numerous tools that have been developed to crack into such networks (Kocak & Jagetia, 2008).
The Migration to WPA and WPA2 Encryption
The failures of WEP have not gone unnoticed and the result has been two additional security alternatives namely WPA and WPA2. Wi-Fi Protected Access or WPA was developed as a short term solution to the problems that arose for the use of WEP. WPA was designed specifically for compatibility with hardware that was capable of supporting WEP. Unlike WEP which was developed in compliance with IEEE 802.11 standards, WPA does not fall under any ratified IEEE standard. The WPA protocol provides an improved key management scheme known as the Temporal Key Integrity Protocol (TKIP). This protocol was a great improvement from WEP although the implementation required some upgrading of the access points. This ceased to be an issue after 2003 when most client and access point hardware incorporated the technology into their products. The algorithm used in encryption of data is similar to WEP but the length of the key has been increased to 48 bits (Rowan, 2010). The large size of this number makes it difficult to cause collision of data packets. In addition, the protocol has a second data layer that provides protection against packet replay. This removes the introducing packets and trigger key collision as is commonly practiced by hackers in WEP. In WPA if the algorithm in use detects packets with similar key within sixty seconds of each other it shuts down the network for sixty seconds. WPA in practice supports operations either in Pre Shared Key mode or Extensible Authentication Protocol. In Pre Shared Key Mode both sides communicating need to know the key which can be sixty four hexadecimal units or a password within the range of eight to sixty three characters. If a weak Pre Shared Key is chosen WPA is prone to brute force attacks using lookup tables and increased processing power to speed up the cracking process. The Extensible Authentication Protocol improves identification of clients but is out of reach for most users who do not want to spend significant sums of money buying the required equipment (Rowan, 2010). These flaws resulted in improvements and brought about WPA2 which fully complies with the IEEE 802.11i standard. Under WPA2 the solution to TKIP that appeared to be fully secure but most manufacturers are yet to incorporate the required software upgrades (Rowan, 2010). It may be argued that WPA2 should be enforced even if it requires compromising compatibility of devices because it offers the best security.
Attacks against WPA using brute force with VGA GPU Power
As is the case with all new developments, in the course of time, vulnerabilities are discovered and a secure environment becomes unsecure owing to this knowledge. In the case of WPA which was once considered the answer to security issues in Wi-Fi networks, the vulnerable point is in the encryption which can be broken through the use of powerful Graphics Processing Units (GPUs). Prior to this era in computing the GPUs only processed graphics content. However, due to the large increase in capability of these devices manufacturers considered means to use the power for other non graphic applications (Mariziale, Richard III & Roussev, 2007). Take the case of NVIDIA 8800 GTX which theoretically is able to perform 350 GFLOPS and costs a buyer $570 in 2007. ON the other hand, an Intel 3.0 GHZ dual core processor could only handle 40GFLOPS and yet it cost $266. This translates to approx. $1/GFLOP for the 8800 GTX and approx. $7/GFLOP for the duo core processor, making the GPU much cheaper when cost is compared with performance (Mariziale, Richard III & Roussev, 2007). Another advantage of the GPU lies in the large memory bandwidth which far exceeds that of the regular processor, 86Gbs to 6Gbs. This in itself is more than enough reason to want to maximize the potential of the GPU.
To enable one to harness the power of such a GPU the software has to be developed using one of the few API that are capable of interacting with the hardware. In the case of graphics programs it may be worth considering utilizing OpenGL or Direct3D (Mariziale, Richard III & Roussev, 2007). However, for tasks such as breaking WPA the software includes general purpose languages such a C for Graphics or Cg. These are high level languages based on C and also contain features that make them suitable for GPU programming. In the experiment for this case the CUDA (Compute Unified Device Architecture) SDK was used to program the 8800 GTX GPU. The 8800 GTX operate on a principle of Single Instruction Multiple Data, which is possible using the set of stream processors that are built into the hardware. Once an instruction is issued in the kernel each processor runs a set of threads on its stream processors. The end result is there are n processors available to complete a task; where n = the no. of multi processors X the no. of stream processors within a multiprocessor. Taking the case of the 8800GTX it has 16 multiprocessors and each multiprocessor has 8 stream processors, thus bringing a total of 128 processors (Mariziale, Richard III & Roussev, 2007). It is this huge increase in processing capability that is referred to when brute force is used to break the WPA keys.
Having discussed briefly the power of the GPU, some information on CUDA SDK should be useful in understanding the procedure of code breaking in WPA. CUDA programs are prepared in C or C++, with specific extensions and are compiled using a unique (nvcc) compiler in Windows or Linux (Mariziale, Richard III & Roussev, 2007). The CUDA program executes in two separate components namely, host and GPU. The Host component issues instruction on what operations to perform, while the GPU component creates the threads and rapidly completes the instruction. In addition to this, CUDA provides functions for memory management, controlling the GPU, support for OpenGL and Direct3D and texture handling. The CUDA program alongside the GPU provides a single cost effective boost to the processing power of the computer system.
The approach also has its limitations which include maximizing use of shared memory, limiting access to global memory, and preventing serialization of threads running on the GPU. Depending on the application running these are limitations that are bearable when weighed against the results obtained and time saved. With such increases in power one may wonder why the GPU's have not yet come of age and replaced the regular processors for general purpose computing. There are several reasons that lie behind this; for instance floating point numbers are generally non IEEE compliant and until fairly recently that standard offered no support for integer arithmetic (Mariziale, Richard III & Roussev, 2007). The huge increased power results requires use of floating point numbers making their implementation in general purpose computing using integer arithmetic difficult. Another problem lies in the fact that GPUs are largely parallel by nature and at each branching operation the GPU incurs additional cost on resources. As the threads diverge the GPU begin execution in a serial manner which defeats their intended purpose (Mariziale, Richard III & Roussev, 2007). It suggests algorithms need to be developed to ensure a more parallel mode of operation. This should not be taken to mean the GPUs are inefficient but rather, the GPU is best used to handle processor intensive tasks such as code breaking leaving the processor free to handle other tasks. If the GPU were to operate as the main processor as the threading increases eventually the tasks of lower priority would end up locked out until the executing process terminates. Another short coming lies in the fact that the APIs used for programming for GPUs are still not yet very suitable for general purpose programming. This is owing to the fact that they were specifically designed to handle coding for graphic applications and are ill suited for other purposes (Mariziale, Richard III & Roussev, 2007). The GPU technology in various graphic cards proves that the power of these devices can be enhanced to improve the computer system performance. This case of their use in breaking the keys used in wireless internet bears witness to that and provide future developers with useful insight on the way forward for network security.
In this paper the discussion presented has revolved around Wi-Fi technology and the issues surrounding security of such networks. The internet which is in practice a global network has greatly added value to the lives of millions of people all over the world and continues to grow. For example, an individual interested in education today will have access to institutions all over the world and will able to tap into the knowledge he or she desired even without travelling. Through the use of social networking sites such as Face book and Twitter people all over the world can interact and share ideas and experiences. An individual interested in buying and selling stocks on Wall Street can be just as successful today whether they are in a remote village in Sudan or living in Manhattan. Its contributions to humanity as yet can not quite be gauged but as with any new innovation, it has raised new issues as well.
The security issues highlighted within the paper are proof of the vulnerability the users of this great breakthrough are exposed to regularly. It is for this reason that fast and conclusive action should be taken to lock down the loop holes that exist within the networks that are so useful and serve so many purposes. It goes without saying that anyone with knowledge on the vulnerabilities within such a system must make effort to guard against the possibility of any hazard that may emanate from using the network for any purpose. It is also encouraging to note that the hardware manufacturers involved in production are constantly improving the devices they offer to improve performance and reduce operation costs. Despite the fact that our systems are vulnerable such action reflects the great and bright future ahead.