arXiv · 1909.12635
LTL Model Checking of Self Modifying Code
Abstract
Self modifying code is code that can modify its own instructions during the execution of the program. It is extensively used by malware writers to obfuscate their malicious code. Thus, analysing self modifying code is nowadays a big challenge. In this paper, we consider the LTL model-checking problem of self modifying code. We model such programs using self-modifying pushdown systems (SM-PDS), an extension of pushdown systems that can modify its own set of transitions during execution. We reduce the LTL model-checking problem to the emptiness problem of self-modifying B\"uchi pushdown systems (SM-BPDS). We implemented our techniques in a tool that we successfully applied for the detection of several self-modifying malware. Our tool was also able to detect several malwares that well-known antiviruses such as BitDefender, Kinsoft, Avira, eScan, Kaspersky, Qihoo-360, Baidu, Avast, and Symantec failed to detect.
Explore related subjects
Keep this discovery
Tayssir Touili, Xin Ye. 2019-09-27. LTL Model Checking of Self Modifying Code. https://arxiv.org/abs/1909.12635
Cite the original work for its findings. Save a collection to share your selection of sources.