Computer Sciences Dept.

Cristian Estan

Thumbnail portrait
XFA: Faster signature matching with extended automata
Randy Smith, Cristian Estan, Somesh Jha
IEEE Symposium on Security and Privacy (Oakland), May 2008

Automata-based representations and related algorithms have been applied to address several problems in information security, and often the automata had to be augmented with additional information. For example, extended finite-state automata (EFSA) augment finite-state automata (FSA) with variables to track dependencies between arguments of system calls. In this paper, we introduce extended finite automata (XFAs) which augment FSAs with finite scratch memory. We also present algorithms to manipulate XFAs. Our primary motivation for introducing XFAs is signature matching in NIDS. Representing NIDS signatures as deterministic finite-state automata (DFAs) results in very fast signature matching but for several classes of signatures DFAs can blowup in space. Using nondeterministic finite-state automata (NFA) to represent NIDS signatures results in a succinct representation but at the expense of higher time complexity for signature matching. In other words, DFAs are time efficient but space inefficient, and NFAs are space efficient but time inefficient. In our experiments we have noticed that for a large class of NIDS signatures XFAs have time complexity similar to DFAs and space complexity similar to NFAs. For our test set, XFAs use 10 times less memory than a DFA-based solution, yet achieve 20 times higher matching speeds.

Paper in PDF.

Computer Sciences | UW Home