Capturing Malware Propagations with Code Injections and Code-Reuse Attacks

被引:26
|
作者
Korczynski, David [1 ,2 ]
Yin, Heng [2 ]
机构
[1] Univ Oxford, Oxford, England
[2] Univ Calif Riverside, Riverside, CA 92521 USA
基金
美国国家科学基金会;
关键词
Malware; Taint Analysis; Security; Code Injection;
D O I
10.1145/3133956.3134099
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Defending against malware involves analysing large amounts of suspicious samples. To deal with such quantities we rely heavily on automatic approaches to determine whether a sample is malicious or not. Unfortunately, complete and precise automatic analysis of malware is far from an easy task. This is because malware is often designed to contain several techniques and countermeasures specifically to hinder analysis. One of these techniques is for the malware to propagate through the operating system so as to execute in the context of benign processes. The malware does this by writing memory to a given process and then proceeds to have this memory execute. In some cases these propagations are trivial to capture because they rely on well-known techniques. However, in the cases where malware deploys novel code injection techniques, rely on code-reuse attacks and potentially deploy dynamically generated code, the problem of capturing a complete and precise view of the malware execution is non-trivial. In this paper we present a unified approach to tracing malware propagations inside the host in the context of code injections and code-reuse attacks. We also present, to the knowledge of the authors, the first approach to identifying dynamically generated code based on information-flow analysis. We implement our techniques in a system called Tartarus and match Tartarus with both synthetic applications and real-world malware. We compare Tartarus to previous works and show that our techniques substantially improve the precision for collecting malware execution traces, and that our approach can capture intrinsic characteristics of novel code injection techniques.
引用
收藏
页码:1691 / 1708
页数:18
相关论文
共 50 条
  • [21] Survey of Methods for Automated Code-Reuse Exploit Generation
    Vishnyakov, A. V.
    Nurmukhametov, A. R.
    PROGRAMMING AND COMPUTER SOFTWARE, 2021, 47 (04) : 271 - 297
  • [22] On Detecting Code Reuse Attacks
    Kosolapov, Y. V.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2020, 54 (07) : 573 - 583
  • [23] On Detecting Code Reuse Attacks
    Y. V. Kosolapov
    Automatic Control and Computer Sciences, 2020, 54 : 573 - 583
  • [24] Code-Reuse Attacks for the Web: Breaking Cross-Site Scripting Mitigations via Script Gadgets
    Lekies, Sebastian
    Kotowicz, Krzysztof
    Gross, Samuel
    Nava, Eduardo A. Vela
    Johns, Martin
    CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 1709 - 1723
  • [25] Efficient and Robust Detection of Code-Reuse Attacks Through Probabilistic Packet Inspection in Industrial IoT Devices
    Ho, Jun-Won
    IEEE ACCESS, 2018, 6 : 54343 - 54354
  • [26] An instruction verification based hardware/software co-design approach for mitigating code-reuse attacks
    Lü Y.-S.
    Tien Tzu Hsueh Pao/Acta Electronica Sinica, 2016, 44 (10): : 2403 - 2409
  • [27] A code-reuse scheme in the downlink of TD-SCDMA system
    Liao, Yan-Yan
    Peng, Zhen-Yu
    Yang, Da-Cheng
    Dianzi Yu Xinxi Xuebao/Journal of Electronics and Information Technology, 2007, 29 (12): : 2926 - 2929
  • [28] Marlin: Mitigating Code Reuse Attacks Using Code Randomization
    Gupta, Aditi
    Habibi, Javid
    Kirkpatrick, Michael S.
    Bertino, Elisa
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2015, 12 (03) : 326 - 337
  • [29] Defensing Code Reuse Attacks Using Live Code Randomization
    Zhang G.-M.
    Li Q.-B.
    Zeng G.-Y.
    Zhao Y.-T.
    Ruan Jian Xue Bao/Journal of Software, 2019, 30 (09): : 2772 - 2790
  • [30] Size Does Matter Why Using Gadget-Chain Length to Prevent Code-Reuse Attacks is Hard
    Goktas, Enes
    Athanasopoulos, Elias
    Polychronakis, Michalis
    Bos, Herbert
    Portokalidis, Georgios
    PROCEEDINGS OF THE 23RD USENIX SECURITY SYMPOSIUM, 2014, : 417 - 432