Hardware/software mechanisms for protecting an IDS against algorithmic complexity attacks
Document typeConference report
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Rights accessRestricted access - publisher's policy
Intrusion Detection Systems (IDS) have emerged as one of the most promising ways to secure systems in the network. An IDS like the popular Snort detects attacks on the network using a database of previous attacks. So in order to detect these attack strings in the packet, Snort uses the Aho-Corasick algorithm. This algorithm first constructs a Finite State Machine (FSM) from the attack strings, and subsequently traverses the FSM using bytes from the packet. We observe that there are input bytes that result in a traversal of a series of FSM states (also viewed as pointers). This chain of pointer traversal significantly degrades (22X) the processing time of an input byte. Such a wide variance in the processing time of an input byte can be exploited by an adversary to throttle the IDS. If the IDS is unable to keep pace with the network traffic, the IDS gets disabled. So in the process the network becomes vulnerable. Attacks done in this manner are referred to as algorithmic complexity attacks, and arise due to weaknesses in IDS processing. In this work, we explore defense mechanisms to the above outlined algorithmic complexity attack. Our proposed mechanisms provide over 3X improvement in the worst-case performance.
CitationSreekar Shenoy, G.; Tubella, J.; González, A. Hardware/software mechanisms for protecting an IDS against algorithmic complexity attacks. A: IEEE International Parallel and Distributed Processing Symposium. "Proceedings of the 2012 IEEE 26th International Parallel and Distributed Processing Symposium: workshops: 21-25 May 2012, Shanghai, China". Shanghai: Institute of Electrical and Electronics Engineers (IEEE), 2012, p. 1190-1196.