Sapo-boi: Bypassing Linux Kernel Network Stack in the Implementation of an XDP-based NIDS

Read full text
Authors: Raphael Kaviak Machnicki, João Ribeiro Andreotii, Ulisses Penteado, Jorge Pires Correia, Vinícius Fülber-Garcia, Andre Ricardo Abed Gregio
Cited by: 0
References: 23

Abstract

Network intrusion detection systems (NIDS) must inspect multiple parts of a packet to detect patterns of known attacks. With the advent of XDP, it has become feasible to implement such a system within the kernel's own network stack for the evaluation of ingress traffic. In this work, we propose Sapo-boi, an NIDS solution consisting of two modules: (i) the Suspicion Module, an XDP program capable of processing packets in parallel, discarding packets considered safe, and redirecting suspicious packets for verdict in user space through XDP sockets (Af_XDP); and (ii) the Evaluation Module, a user-level process capable of finding the rule to which the suspicious packet should be analyzed in constant time and triggering notifications if the suspicion is confirmed. The system demonstrated superior results in terms of packet analysis rates and CPU usage compared to traditional NIDS alternatives (Snort and Suricata).

Fields of Study & Subjects

Network Packet Processing and Optimization Network Security and Intrusion Detection Security and Verification in Computing

Publication details

Journal / source
Journal of the Brazilian Computer Society
Volume
32
Issue
1
Publication date
2 March 2026
Language
EN