MAC spoofing on a wireless network creates an interesting problem - you want to locate the imposter, but how do you tell the different between it and the legitimate device from the network's perspective?
Like Ethernet, 802.11 makes use of a device's MAC address to uniquely identify it on the network. However, it's trivial to change the MAC address of a wireless interface under most operating systems. While MAC spoofing can be detected it can be difficult to locate the offending device once you know it's occurring.
Other stories on this topic:
Device triangulation (or more correctly trilateration as it uses distances, not angles) relies on tracking the received signal strength indication (RSSI) of frames received from a particular device.
These values can then be converted to a distance from the receiving device using well-known radio propagation models. However these values can be inconsistent and vary widely even if the transmitting and receiving devices haven't changed locations. Therefore the RSSI value is somewhat unreliable when dealing with single samples. This is usually compensated for by averaging together the RSSI values for a MAC address.
Unfortunately this is a one way operation, so it becomes impossible to tell whatever discernable differences there may be between a device and an impersonator once this has been done. Still it is possible to locate a device via something akin to a signal strength meter (it doesn't need to average values), but this can be time consuming. This necessitates other methods for uniquely identifying a wireless device.
One method that goes beyond MAC addresses is to use the duration field in 802.11 frames, which is currently the research project (PDF document) of Jon Ellch. The duration field is used by 802.11's virtual carrier sense system to reserve the wireless medium for a specified amount of time.
For instance a device will transmit a data frame with the duration set to the inter-frame space (the time required between each frame transmitted) plus enough time for the receiver to send the resulting ACK frame. The method of identification basically relies on each driver/chipset combination using a somewhat unique duration value. However, if the legitimate device and the imposter are using the same driver and chipset then it will still be nearly impossible to tell them apart.
Another method proposed by Hall, Barbeau, and Kranakis seeks to achieve truly unique identification by looking past the MAC layer and actually fingerprinting devices based on characteristics of their radio transmissions, the PHY layer. The theory behind this is that even devices that share the same chipset/driver will have small variations in their transceiver circuitry that fall within manufacturing tolerances, so no two devices will have the same fingerprint. With this information it would be possible to track RSSI averages via fingerprint rather than MAC address (read their paper).
802.11 device fingerprinting is a truly interesting area of research where a lot of cutting edge work is being done. Expect to see more refinements and techniques in the future.
Andrew Lockhart is lead security analyst at Network Chemistry, author of O'Reilly Media's Network Security Hacks, and Snort-Wireless, an open source project adding wireless intrusion detection to Snort. He is also an editorial board member of the WVE. This article appeared in Network World.