Towards wireless bare machines-a study of three aspects of 802.11 wireless networks: performance, network device driver, and CCM mode algorithm

Author/Creator ORCID

Date

2016-11-07

Department

Towson University. Department of Computer and Information Sciences

Program

Citation of Original Publication

Rights

Subjects

Abstract

Bare machines applications run without the support of any operating system (OS) or other intermediary software. Since only the application code runs on the bare machine, exploits that target an underlying OS or kernel cannot compromise such applications. Bare machine applications are also more efficient than applications that require a conventional OS or kernel due to elimination of the associated overhead. Existing bare machine applications include Web servers, split servers, mail servers, SIP servers and VoIP clients. A bare machine connects to a network via an Ethernet connection. This research lays the groundwork for enabling bare machines to connect to 802.11 wireless networks in the future . We first obtain baseline performance measurements for mobile devices that connect to an 802.11n network. Specifically, we conduct experiments to measure the throughput and delay of mobile devices in a 2.4 GHz 802.11n LAN under different levels of congestion in the wireline network, where the path from the mobile devices to a Web server traverses several routers. The results indicate that there is high variability in the performance of mobile devices even in an interference-controlled environment with no congestion in the wireline network; and that higher performance loss does not always correspond to a higher level of congestion. Packet analysis reveals that the performance variability and performance reduction are primarily due to the use of RTS-CTS and the cost of retransmitting packets on the wireless link. This suggests that mobile devices in an 802.11 network should be conservative in their use of RTS-CTS when congestion in the wireline network is likely or detected . Next, we study a Broadcom Linux 802.11n wireless device driver. Our analysis provides a deeper insight into driver functions and their OS dependencies. We analyze the driver module by examining its interaction with other modules, providing details of its key elements and code sizes, and comparing code sizes with its counterpart Windows driver. We also identify some design issues that will be useful for developing device drivers that are independent of any operating system, kernel, or embedded system. The study shows that transforming existing OS drivers to run on a bare machine requires knowledge of the inner workings of the Linux kernel and its interactions with the device driver . Finally, we study CCM mode, which is the basis for the 802.11i security standard CCMP. We first study popular Linux and Windows CCM mode implementations `to understand their OS dependencies. We then implement CCM mode with no OS dependencies so that it runs on a bare machine. The bare machine CCM mode implementation derives from the original specification of CCM mode, and is not a transformation of either the Linux or the Windows versions. We compare the performance of the bare machine and Linux CCM implementations by sending UDP messages and measuring internal timings for the authenticated encryption/decryption operations. We also measure network delays. The results show that the bare machine implementation performs better than the Linux implementation in some cases, but not in others.