A Taxonomy and Comparative Analysis of IPv4 Identifier Selection Correctness, Security, and Performance
Joshua J. Daymude, Antonio M. Espinoza, Holly Bergen, Benjamin Mixon-Baca, Jeffrey Knockel, Jedidiah R. Crandall
TL;DR
This paper investigates IPv4 IPID selection across a $16$-bit identifier, surveying a $25$-year history of IPID-based exploits and cataloging seven selection methods. It presents a unifying mathematical model to evaluate correctness, security, and performance, revealing that globally incrementing IPIDs can be the most robust choice under high traffic, contrary to common wisdom. The authors advocate a configurable, multi-method approach enabling users or administrators to tune IPID generation to their workload, mitigating attacks while maintaining performance. The findings have practical implications for DNS, NAT, and TCP/IP stack robustness, and call for configurable IPID strategies to balance competing security and efficiency needs in real-world networks.
Abstract
The battle for a more secure Internet is waged on many fronts, including the most basic of networking protocols. Our focus is the IPv4 Identifier (IPID), an IPv4 header field as old as the Internet with an equally long history as an exploited side channel for scanning network properties, inferring off-path connections, and poisoning DNS caches. This article taxonomizes the 25-year history of IPID-based exploits and the corresponding changes to IPID selection methods. By mathematically analyzing these methods' correctness and security and empirically evaluating their performance, we reveal recommendations for best practice as well as shortcomings of current operating system implementations, emphasizing the value of systematic evaluations in network security.
