kirancodes.me
To Proof Maintenance & Beyond!

MemLock: memory usage guided fuzzing

Cheng Wen, Haijun Wang, Yuekang Li, Shengchao Qin, Yang Liu, Zhiwu Xu, Hongxu Chen, Xiaofei Xie, Geguang Pu, Ting Liu

Abstract

Uncontrolled memory consumption is a kind of critical software security weaknesses. It can also become a security-critical vulnerability when attackers can take control of the input to consume a large amount of memory and launch a Denial-of-Service attack. However, detecting such vulnerability is challenging, as the state-of-the-art fuzzing techniques focus on the code coverage but not memory consumption. To this end, we propose a memory usage guided fuzzing technique, named MemLock, to generate the excessive memory consumption inputs and trigger uncontrolled memory consumption bugs. The fuzzing process is guided with memory consumption information so that our approach is general and does not require any domain knowledge. We perform a thorough evaluation for MemLock on 14 widely-used real-world programs. Our experiment results show that MemLock substantially outperforms the state-of-the-art fuzzing techniques, including AFL, AFLfast, PerfFuzz, FairFuzz, Angora and QSYM, in discovering memory consumption bugs. During the experiments, we discovered many previously unknown memory consumption bugs and received 15 new CVEs.

BibTeX
@inproceedings{Wen-al:ICSE20,
  author    = {Cheng Wen and
               Haijun Wang and
               Yuekang Li and
               Shengchao Qin and
               Yang Liu and
               Zhiwu Xu and
               Hongxu Chen and
               Xiaofei Xie and
               Geguang Pu and
               Ting Liu},
  title     = {{MemLock:} memory usage guided fuzzing},
  booktitle = {ICSE},
  pages     = {765--777},
  publisher = {{ACM}},
  year      = {2020},
}

Related papers