Litcius/Paper detail

SLIME: program-sensitive energy allocation for fuzzing

Chenyang Lyu, Hong Liang, Shouling Ji, Xuhong Zhang, Binbin Zhao, Meng Han, Yun Li, Zhe Wang, Wenhai Wang, Raheem Beyah

202227 citationsDOI

Abstract

The energy allocation strategy is one of the most popular techniques in fuzzing to improve code coverage and vulnerability discovery. The core intuition is that fuzzers should allocate more computational energy to the seed files that have high efficiency to trigger unique paths and crashes after mutation. Existing solutions usually define several properties, e.g., the execution speed, the file size, and the number of the triggered edges in the control flow graph, to serve as the key measurements in their allocation logics to estimate the potential of a seed. The efficiency of a property is usually assumed to be the same across different programs. However, we find that this assumption is not always valid. As a result, the state-of-the-art energy allocation solutions with static energy allocation logics are hard to achieve desirable performance on different programs.

Topics & Concepts

Fuzz testingComputer scienceControl flowIntuitionKey (lock)Efficient energy useDistributed computingTheoretical computer scienceProgramming languageComputer securitySoftwareElectrical engineeringEngineeringPhilosophyEpistemologySoftware Testing and Debugging TechniquesAdvanced Malware Detection TechniquesRadiation Effects in Electronics
SLIME: program-sensitive energy allocation for fuzzing | Litcius