Understanding Linux Malware
Paper Summary: Understanding Linux Malware. Cozzi, Graziano, Fratantonio, Balzarotti. IEEE S&P 2018.
Through this paper, the authors attempt to address the lack of systematic research conducted on understanding malware targeting Linux systems. They emphasize the importance of such a study with the increasing use of embedded and IoT devices. These devices are mostly built upon Linux like systems, whereas traditional security research has focussed on studying Linux malware. They present the first large-scale study of Linux malware, analyzing over 10,000 ELF binaries across a wide range of CPU architectures, including x86-64, MIPS, ARM, PowerPC, and others. The authors aim to analyze the behaviour, techniques, and challenges posed by Linux malware to security analysts.
After discussing the various challenges in analyzing Linux programs such as target diversity, static linking, analysis environment and the lack of previous studies; the authors perform their study and develop a thorough analysis pipeline to handle Linux binaries. The pipeline includes components such as a custom ELF parser to cope with malformed headers and static analysis tools to extract code complexity and packing indicators. They also include dynamic sandboxes for five architectures to observe runtime behavior. Notably, the infrastructure also supports differential privilege analysis. This means that it can run each sample as both a user and root to detect behavior that depends on privilege levels. Among the key findings, the authors show that over a quarter of the samples exhibited different behavior when run as root, including privileged file deletions, persistence techniques, and sandbox evasion. Other findings include the use of UPX-based packing (both standard and modified versions), various forms of persistence via system init scripts and cron jobs, process name spoofing, and anti-debugging or sandbox detection strategies.
Despite its strengths, the study has some limitations that future work could address. The authors’ dynamic analysis is limited to a five-minute runtime, which can be insufficient to observe behaviors from malware that uses stalling or time-delayed execution. Additionally, their sandboxing environment, while comprehensive, does not capture GUI-based malware or advanced kernel-level rootkits. Future directions could include augmenting the pipeline with longer execution windows and real-time memory inspection. Machine learning may be integrated with the pipeline for anomaly detection, so that the analysis can be scaled over to larger and more diverse datasets.