SPiKE: engineering malware analysis tools using unobtrusive binary-instrumentation

Amit Vasudevan, R. Yerraballi
{"title":"SPiKE: engineering malware analysis tools using unobtrusive binary-instrumentation","authors":"Amit Vasudevan, R. Yerraballi","doi":"10.1145/1151699.1151734","DOIUrl":null,"url":null,"abstract":"Malware -- a generic term that encompasses viruses, trojans, spywares and other intrusive code -- is widespread today. Malware analysis is a multi-step process providing insight into malware structure and functionality, facilitating the development of an antidote. Behavior monitoring, an important step in the analysis process, is used to observe malware interaction with respect to the system and is achieved by employing dynamic coarse-grained binary-instrumentation on the target system. However, current research involving dynamic binary-instrumentation, categorized into probe-based and just-in-time compilation (JIT), fail in the context of malware. Probe-based schemes are not transparent. Most if not all malware are sensitive to code modification incorporating methods to prevent their analysis and even instrument the system themselves for their functionality and stealthness. Current JIT schemes, though transparent, do not support multithreading, self-modifying and/or self-checking (SM-SC) code and are unable to capture code running in kernel-mode. Also, they are an overkill in terms of latency for coarse-grained instrumentation.To address this problem, we have developed a new dynamic coarse-grained binary-instrumentation framework codenamed SPiKE, that aids in the construction of powerful malware analysis tools to combat malware that are becoming increasingly hard to analyze. Our goal is to provide a binary-instrumentation framework that is unobtrusive, portable, efficient, easy-to-use and reusable, supporting multithreading and SM-SC code, both in user- and kernel-mode. In this paper, we discuss the concept of unobtrusive binary-instrumentation and present the design, implementation and evaluation of SPiKE. We also illustrate the framework utility by describing our experience with a tool employing SPiKE to analyze a real world malware.","PeriodicalId":136130,"journal":{"name":"Australasian Computer Science Conference","volume":"75 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"56","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Australasian Computer Science Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1151699.1151734","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 56

Abstract

Malware -- a generic term that encompasses viruses, trojans, spywares and other intrusive code -- is widespread today. Malware analysis is a multi-step process providing insight into malware structure and functionality, facilitating the development of an antidote. Behavior monitoring, an important step in the analysis process, is used to observe malware interaction with respect to the system and is achieved by employing dynamic coarse-grained binary-instrumentation on the target system. However, current research involving dynamic binary-instrumentation, categorized into probe-based and just-in-time compilation (JIT), fail in the context of malware. Probe-based schemes are not transparent. Most if not all malware are sensitive to code modification incorporating methods to prevent their analysis and even instrument the system themselves for their functionality and stealthness. Current JIT schemes, though transparent, do not support multithreading, self-modifying and/or self-checking (SM-SC) code and are unable to capture code running in kernel-mode. Also, they are an overkill in terms of latency for coarse-grained instrumentation.To address this problem, we have developed a new dynamic coarse-grained binary-instrumentation framework codenamed SPiKE, that aids in the construction of powerful malware analysis tools to combat malware that are becoming increasingly hard to analyze. Our goal is to provide a binary-instrumentation framework that is unobtrusive, portable, efficient, easy-to-use and reusable, supporting multithreading and SM-SC code, both in user- and kernel-mode. In this paper, we discuss the concept of unobtrusive binary-instrumentation and present the design, implementation and evaluation of SPiKE. We also illustrate the framework utility by describing our experience with a tool employing SPiKE to analyze a real world malware.
SPiKE:使用不显眼的二进制工具的工程恶意软件分析工具
恶意软件——一个包括病毒、木马、间谍软件和其他侵入性代码的通用术语——如今非常普遍。恶意软件分析是一个多步骤的过程,可以洞察恶意软件的结构和功能,促进解毒剂的开发。行为监控是分析过程中的一个重要步骤,用于观察恶意软件与系统的交互,并通过在目标系统上采用动态粗粒度二进制检测来实现。然而,目前涉及动态二进制检测的研究,分为基于探测的和即时编译(JIT),在恶意软件的背景下失败了。基于探测的方案不透明。大多数(如果不是全部的话)恶意软件对代码修改都很敏感,这些代码修改包含了阻止它们被分析的方法,甚至对系统本身的功能和隐蔽性进行检测。当前的JIT方案虽然透明,但不支持多线程、自修改和/或自检(SM-SC)代码,并且无法捕获在内核模式下运行的代码。而且,对于粗粒度的检测来说,它们的延迟也太大了。为了解决这个问题,我们开发了一个新的动态粗粒度二进制工具框架,代号为SPiKE,它有助于构建强大的恶意软件分析工具,以对抗越来越难以分析的恶意软件。我们的目标是提供一个不引人注目、可移植、高效、易于使用和可重用的二进制工具框架,支持多线程和SM-SC代码,无论是在用户模式还是内核模式下。在本文中,我们讨论了不引人注目的二进制仪器的概念,并介绍了SPiKE的设计,实现和评估。我们还通过描述使用SPiKE分析真实世界恶意软件的工具的经验来说明框架实用程序。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信