{'fraction_non_alphanumeric': 0.02378854625550661, 'fraction_numerical': 0.0, 'mean_word_length': 5.418079096045198, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Efficient DFA grouping for traffic identification

Traffic Identification is a key function performed by Internet Service Providers' (ISP) administrators to evaluate and improve network services. However, traffic identification needs to be done in real-time and at wire speed to be useful for network tuning. Deep Packet Inspection (DPI) is widely used for identifying normal applications and attacks in the network by looking for well-known patterns within the packets. Such patterns are mostly expressed by Regular Expressions (RE), which are then evaluated by abstract machines known as Deterministic Finite Automata (DFA). Some previous studies grouped DFAs together to evaluate multiple patterns on a single DFA match's run. Efficient grouping algorithms would combine several DFAs without exceeding the available machine's memory. This work proposes and evaluates a new method to combine several DFAs into a single one. Additionally we compared this algorithm to state-of-the-art approaches using a compressed DFA model. Experimental results show that our algorithm generates less groups and transitions than existent algorithms.