Static ARP entries The simplest form of certification is the use of static, read-only entries for critical services in the
ARP cache of a host. Hosts don't need to transmit ARP requests where such entries exist. While static entries provide some security against spoofing, they increase maintenance effort as address mappings for all systems in the network must be generated and distributed. Securing ARP in this manner for all participants does not scale on a large network since the mapping has to be set for each pair of machines resulting in
n2-
n ARP entries that have to be configured when
n machines are present; On each machine there must be an ARP entry for every other machine on the network;
n-1 ARP entries on each of the
n machines.
Detection and prevention software Software that detects ARP spoofing generally relies on some form of certification or cross-checking of ARP responses. Uncertified ARP responses are then blocked. These techniques may be integrated with the
DHCP server so that both
dynamic and
static IP addresses are certified. This capability may be implemented in individual hosts or may be integrated into
Ethernet switches or other network equipment. The existence of multiple IP addresses associated with a single MAC address may indicate an ARP spoof attack, although there are legitimate uses of such a configuration. In a more passive approach, a device listens for ARP replies on a network and sends a notification via
email when an ARP entry changes. AntiARP also provides Windows-based spoofing prevention at the kernel level. ArpStar is a Linux module for kernel 2.6 and Linksys routers that drops invalid packets that violate mapping, and contains an option to repoison or heal. Some virtualized environments, such as
KVM, also provide security mechanisms to prevent MAC spoofing between guests running on the same host. Additionally, some Ethernet adapters provide MAC and VLAN anti-spoofing features.
OpenBSD watches passively for hosts impersonating the local host and notifies in case of any attempt to overwrite a permanent entry.
OS security Operating systems react differently. Linux ignores unsolicited replies, but, on the other hand, uses responses to requests from other machines to update its cache. Solaris accepts updates on entries only after a timeout. In Microsoft Windows, the behavior of the ARP cache can be configured through several registry entries under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, ArpCacheLife, ArpCacheMinReferenceLife, ArpUseEtherSNAP, ArpTRSingleRoute, ArpAlwaysSourceRoute, ArpRetryCount. ==Legitimate usage==