A recent development in Linux kernel security has led to the creation of a Rust-based kernel module designed to detect rootkits, a type of malware that can hide itself and other malicious activities from system administrators.
This project, part of an internship at Thalium, focuses on enhancing malware detection capabilities within Linux systems, which are widely used in various environments, including IoT devices and security-critical servers.
Background and Motivation
The need for robust malware detection tools is underscored by the prevalence of Linux systems as targets for attackers.
Rootkits, in particular, pose a significant threat due to their ability to maintain persistent access to compromised systems.
Existing open-source tools for rootkit detection are often outdated and less effective, prompting the development of more modern solutions.
The use of Rust for developing this kernel module is strategic, as it offers better memory safety guarantees compared to traditional C, reducing the risk of catastrophic errors like those seen in the CrowdStrike incident.
Detection Techniques
According to the Report, the new module leverages several detection techniques to identify kernel rootkits.
It monitors the loading of kernel modules through the init_module
syscall, which is the primary method for loading code into the kernel.
By probing the do_init_module
function, the module can detect and analyze loaded modules, including potential rootkits.
However, since rootkits can easily modify their hashes to evade detection, additional checks are necessary.
The module verifies the consistency of registration structures used by kernel modules, such as mod_list
, mod_tree
, and mkobj
, to identify inconsistencies that might indicate a rootkit’s presence.
Furthermore, the module employs tracing APIs, specifically the fprobe
API, to monitor kernel functions and detect suspicious behavior.

It also checks for indirect calls to kernel symbols, which rootkits might use to hide their activities.
By analyzing stack traces and identifying calls originating from kernel modules, the module can detect rootkits even when they attempt to bypass traditional detection methods.
While this Rust-based module represents a significant step forward in rootkit detection, challenges remain.
Kernel-level rootkits can potentially bypass detection if they are aware of the monitoring tool.
Future developments may involve integrating detection capabilities at the hypervisor level or exploring other innovative approaches to stay ahead of evolving malware threats.
The use of Rust for kernel module development is expected to continue, offering a safer and more reliable framework for building critical security tools.
Are you from SOC and DFIR Teams? Analyse Malware Incidents & get live Access with ANY.RUN -> Get 14 Days Free Access