This paper discusses the Address Resolution Protocol (ARP) and the problem of ARP cache poisoning. ARP cache poisoning is the malicious act, by a host in a LAN, of introducing a spurious IP address to MAC (Ethernet) address mapping in another host's ARP cache. We discuss design constraints for a solution: the solution needs to be implemented in middleware, without access or change to any operating system source code, be backward-compatible to the existing protocol, and be asynchronous. We present our solution and implementation aspects of it in a Streams based networking subsystem. Our solution comprisestwoparts: a"bumpinthestack"Streamsmodule, and a separate Stream with a driver and user-level application. We also present the algorithm that is executed in the module and applicationto prevent ARP cache poisoning where possible, and detect and raise alarms otherwise. We then discuss some limitations with our approach and present some preliminary performance numbers for o...
Mahesh V. Tripunitara, Partha Dutta