Skip Links

Network World

  • Social Web 
  • Email 
  • Close

Protecting against vulnerabilities in wireless drivers

Wireless Security By Mike Kershaw , NetworkWorld.com , 07/24/2006

One of the talks announced for the Black Hat conference this summer in Las Vegas is about 802.11 driver vulnerabilities, which can affect users even if they aren't connected to a network.

All modern operating systems, such as Linux, BSD, Windows, and Mac OSX, have a similar fundamental security measure: the separation of kernel and user code. The kernel is the core of the operating system and controls processes, disk access, and hardware access. While programs are typically prevented from accessing the memory of other programs or directly controlling the hardware, the kernel has no such restrictions.

Vulnerabilities at the kernel layer are especially dangerous. Operating in the kernel, malicious code has complete control of the system. So-called "root kits" can alter the kernel to hide files from anti-virus scanners, hide running programs from the user, and capture input from the mouse or keyboard. Root kits have become an increasing risk with malicious software.

Device drivers function at the kernel level. Network device drivers are especially at risk as they handle remote data, which cannot be trusted. Any bugs in the code that handle remote packets can lead to system crashes, or worse, code execution at the kernel layer.

Remote driver bugs have typically been rare and can be quickly fixed once the vendor is notified. Kernel-layer bugs are very difficult to defend against without a vendor update. Antiviral software typically operates outside of the kernel, and firewall software can prevent connections on TCP/IP ports but not vulnerabilities at the wireless layer. 802.11 management packets contain no IP traffic data and are not passed to the wireless layer, but a flaw in the driver's handling of the management contents could lead to an exploitable vulnerability.

Many methods can be used to find vulnerabilities. The method du jour is "fuzzing." A fuzzer is a smart brute-force algorithm that provides enough structure to generate a packet that appears valid, but the contents of the fields are filled with iteratively randomized data. Fuzzing is not limited to wireless protocols; it has been a valuable technique for testing software responses to different types of invalid data for in-house developers and security researchers.

Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to moderator approval. Register here for member benefits.
Have a NetworkWorld account? Log in here. Register now for a free account.

Videos

rssRss Feed
Save The Date!
What They Are Saying

hey buddy, you save my life :D thanx alot- Hamid

Join the Discussion