首页 > 最新文献

PPREW'14最新文献

英文 中文
Recovering C++ Objects From Binaries Using Inter-Procedural Data-Flow Analysis 使用过程间数据流分析从二进制文件中恢复c++对象
Pub Date : 2014-01-22 DOI: 10.1145/2556464.2556465
Wesley Jin, Cory F. Cohen, Jeffrey Gennari, C. Hines, S. Chaki, A. Gurfinkel, Jeffrey Havrilla, P. Narasimhan
Object-oriented programming complicates the already difficult task of reverse engineering software, and is being used increasingly by malware authors. Unlike traditional procedural-style code, reverse engineers must understand the complex interactions between object-oriented methods and the shared data structures with which they operate on, a tedious manual process. In this paper, we present a static approach that uses symbolic execution and inter-procedural data flow analysis to discover object instances, data members, and methods of a common class. The key idea behind our work is to track the propagation and usage of a unique object instance reference, called a this pointer. Our goal is to help malware reverse engineers to understand how classes are laid out and to identify their methods. We have implemented our approach in a tool called ObJDIGGER, which produced encouraging results when validated on real-world malware samples.
面向对象编程使逆向工程软件本已困难的任务变得更加复杂,并且越来越多地被恶意软件作者所使用。与传统的过程式代码不同,逆向工程师必须理解面向对象方法和他们所操作的共享数据结构之间的复杂交互,这是一个乏味的手工过程。在本文中,我们提出了一种静态方法,该方法使用符号执行和过程间数据流分析来发现一个公共类的对象实例、数据成员和方法。我们工作背后的关键思想是跟踪唯一对象实例引用(称为this指针)的传播和使用。我们的目标是帮助恶意软件逆向工程师了解类是如何布局的,并识别它们的方法。我们已经在一个名为ObJDIGGER的工具中实现了我们的方法,当在真实的恶意软件样本上验证时,它产生了令人鼓舞的结果。
{"title":"Recovering C++ Objects From Binaries Using Inter-Procedural Data-Flow Analysis","authors":"Wesley Jin, Cory F. Cohen, Jeffrey Gennari, C. Hines, S. Chaki, A. Gurfinkel, Jeffrey Havrilla, P. Narasimhan","doi":"10.1145/2556464.2556465","DOIUrl":"https://doi.org/10.1145/2556464.2556465","url":null,"abstract":"Object-oriented programming complicates the already difficult task of reverse engineering software, and is being used increasingly by malware authors. Unlike traditional procedural-style code, reverse engineers must understand the complex interactions between object-oriented methods and the shared data structures with which they operate on, a tedious manual process.\u0000 In this paper, we present a static approach that uses symbolic execution and inter-procedural data flow analysis to discover object instances, data members, and methods of a common class. The key idea behind our work is to track the propagation and usage of a unique object instance reference, called a this pointer. Our goal is to help malware reverse engineers to understand how classes are laid out and to identify their methods. We have implemented our approach in a tool called ObJDIGGER, which produced encouraging results when validated on real-world malware samples.","PeriodicalId":326045,"journal":{"name":"PPREW'14","volume":"47 9","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-01-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114037993","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 37
DroidLegacy: Automated Familial Classification of Android Malware DroidLegacy: Android恶意软件的自动家族分类
Pub Date : 2014-01-22 DOI: 10.1145/2556464.2556467
Luke Deshotels, Vivek Notani, Arun Lakhotia
We present an automated method for extracting familial signatures for Android malware, i.e., signatures that identify malware produced by piggybacking potentially different benign applications with the same (or similar) malicious code. The APK classes that constitute malware code in a repackaged application are separated from the benign code and the Android API calls used by the malicious modules are extracted to create a signature. A piggybacked malicious app can be detected by first decomposing it into loosely coupled modules and then matching the Android API calls called by each of the modules against the signatures of the known malware families. Since the signatures are based on Android API calls, they are related to the core malware behavior, and thus are more resilient to obfuscations. In triage, AV companies need to automatically classify large number of samples so as to optimize assignment of human analysts. They need a system that gives low false negatives even if it is at the cost of higher false positives. Keeping this goal in mind, we fine tuned our system and used standard 10 fold cross validation over a dataset of 1,052 malicious APKs and 48 benign APKs to verify our algorithm. Results show that we have 94% accuracy, 97% precision, and 93% recall when separating benign from malware. We successfully classified our entire malware dataset into 11 families with 98% accuracy, 87% precision, and 94% recall.
我们提出了一种自动提取Android恶意软件家族签名的方法,即识别恶意软件的签名,这些恶意软件是由搭载具有相同(或类似)恶意代码的潜在不同良性应用程序产生的。在重新打包的应用程序中,构成恶意代码的APK类与良性代码分离,恶意模块使用的Android API调用被提取以创建签名。可以通过首先将其分解为松散耦合的模块,然后将每个模块调用的Android API调用与已知恶意软件家族的签名进行匹配来检测搭载的恶意应用程序。由于签名基于Android API调用,因此它们与核心恶意软件行为相关,因此对混淆更具弹性。在分诊中,AV公司需要对大量样本进行自动分类,以优化人工分析人员的分配。他们需要一个低假阴性的系统,即使这是以更高的假阳性为代价。牢记这一目标,我们对系统进行了微调,并对1,052个恶意apk和48个良性apk的数据集使用了标准的10倍交叉验证来验证我们的算法。结果表明,我们在区分良性和恶意软件时准确率为94%,精密度为97%,召回率为93%。我们成功地将整个恶意软件数据集分为11个家族,准确率为98%,准确率为87%,召回率为94%。
{"title":"DroidLegacy: Automated Familial Classification of Android Malware","authors":"Luke Deshotels, Vivek Notani, Arun Lakhotia","doi":"10.1145/2556464.2556467","DOIUrl":"https://doi.org/10.1145/2556464.2556467","url":null,"abstract":"We present an automated method for extracting familial signatures for Android malware, i.e., signatures that identify malware produced by piggybacking potentially different benign applications with the same (or similar) malicious code. The APK classes that constitute malware code in a repackaged application are separated from the benign code and the Android API calls used by the malicious modules are extracted to create a signature. A piggybacked malicious app can be detected by first decomposing it into loosely coupled modules and then matching the Android API calls called by each of the modules against the signatures of the known malware families. Since the signatures are based on Android API calls, they are related to the core malware behavior, and thus are more resilient to obfuscations.\u0000 In triage, AV companies need to automatically classify large number of samples so as to optimize assignment of human analysts. They need a system that gives low false negatives even if it is at the cost of higher false positives. Keeping this goal in mind, we fine tuned our system and used standard 10 fold cross validation over a dataset of 1,052 malicious APKs and 48 benign APKs to verify our algorithm. Results show that we have 94% accuracy, 97% precision, and 93% recall when separating benign from malware. We successfully classified our entire malware dataset into 11 families with 98% accuracy, 87% precision, and 94% recall.","PeriodicalId":326045,"journal":{"name":"PPREW'14","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-01-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130930602","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 141
The GDSL toolkit: Generating Frontends for the Analysis of Machine Code GDSL工具箱:为机器代码分析生成前端
Pub Date : 2014-01-22 DOI: 10.1145/2556464.2559596
A. Simon, J. Kranz
Any inspection, analysis or reverse engineering of binaries requires a translation of the program text into an intermediate representation (IR) that conveys the semantics of the program. To this end, we propose a domain specific language called GDSL (Generic Decoder Specification Language) that facilitates the translation from byte streams to instructions and from there to other intermediate representations. We present the GDSL toolkit, containing a compiler from GDSL to C, instruction decoders (currently for Intel x86 and Atmel AVR), translations to semantics, and optimizations of the semantics. Other processors, semantics and optimizations can be added, thereby providing a common platform for building frontends for the analysis of binaries. The emitted C code is human-readable and outperforms hand-written code such as the XED decoder shipped with the Intel Pin toolkit.
对二进制文件的任何检查、分析或逆向工程都需要将程序文本翻译成传递程序语义的中间表示形式(IR)。为此,我们提出了一种称为GDSL(通用解码器规范语言)的领域特定语言,它有助于从字节流转换到指令,并从指令转换到其他中间表示。我们介绍了GDSL工具包,包含从GDSL到C的编译器,指令解码器(目前用于Intel x86和Atmel AVR),语义转换和语义优化。可以添加其他处理器、语义和优化,从而为构建用于分析二进制文件的前端提供一个公共平台。发出的C代码是人类可读的,并且优于手写代码,例如随Intel Pin工具包附带的XED解码器。
{"title":"The GDSL toolkit: Generating Frontends for the Analysis of Machine Code","authors":"A. Simon, J. Kranz","doi":"10.1145/2556464.2559596","DOIUrl":"https://doi.org/10.1145/2556464.2559596","url":null,"abstract":"Any inspection, analysis or reverse engineering of binaries requires a translation of the program text into an intermediate representation (IR) that conveys the semantics of the program. To this end, we propose a domain specific language called GDSL (Generic Decoder Specification Language) that facilitates the translation from byte streams to instructions and from there to other intermediate representations. We present the GDSL toolkit, containing a compiler from GDSL to C, instruction decoders (currently for Intel x86 and Atmel AVR), translations to semantics, and optimizations of the semantics. Other processors, semantics and optimizations can be added, thereby providing a common platform for building frontends for the analysis of binaries. The emitted C code is human-readable and outperforms hand-written code such as the XED decoder shipped with the Intel Pin toolkit.","PeriodicalId":326045,"journal":{"name":"PPREW'14","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-01-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114915389","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Analyzing program dependencies for malware detection 分析恶意软件检测的程序依赖关系
Pub Date : 2014-01-22 DOI: 10.1145/2556464.2556470
M. Preda, Isabella Mastroeni, R. Giacobazzi
Metamorphic malware continuously modify their code, while preserving their functionality, in order to foil misuse detection. The key for defeating metamorphism relies in a semantic characterization of the embedding of the malware into the target program. Indeed, a behavioral model of program infection that does not relay on syntactic program features should be able to defeat metamorphism. Moreover, a general model of infection should be able to express dependences and interactions between the malicious code and the target program. ANI is a general theory for the analysis of dependences of data in a program. We propose an high order theory for ANI, later called HOANI, that allows to study program dependencies. Our idea is then to formalize and study the malware detection problem in terms of HOANI.
变形恶意软件不断修改其代码,同时保留其功能,以挫败误用检测。战胜变形的关键在于将恶意软件嵌入目标程序的语义特征。事实上,不依赖于语法程序特征的程序感染行为模型应该能够战胜变形。此外,一般的感染模型应该能够表达恶意代码和目标程序之间的依赖关系和相互作用。ANI是分析程序中数据依赖关系的一般理论。我们为ANI提出了一个高阶理论,后来被称为HOANI,它允许研究程序依赖关系。我们的想法是在HOANI的基础上形式化和研究恶意软件检测问题。
{"title":"Analyzing program dependencies for malware detection","authors":"M. Preda, Isabella Mastroeni, R. Giacobazzi","doi":"10.1145/2556464.2556470","DOIUrl":"https://doi.org/10.1145/2556464.2556470","url":null,"abstract":"Metamorphic malware continuously modify their code, while preserving their functionality, in order to foil misuse detection. The key for defeating metamorphism relies in a semantic characterization of the embedding of the malware into the target program. Indeed, a behavioral model of program infection that does not relay on syntactic program features should be able to defeat metamorphism. Moreover, a general model of infection should be able to express dependences and interactions between the malicious code and the target program. ANI is a general theory for the analysis of dependences of data in a program. We propose an high order theory for ANI, later called HOANI, that allows to study program dependencies. Our idea is then to formalize and study the malware detection problem in terms of HOANI.","PeriodicalId":326045,"journal":{"name":"PPREW'14","volume":"98 43","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-01-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131879137","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Hardware-enforced Protection against Software Reverse-Engineering based on an Instruction Set Encoding 基于指令集编码的防软件逆向工程的硬件保护
Pub Date : 2014-01-22 DOI: 10.1145/2556464.2556469
J. Danger, S. Guilley, Florian Praden
Software programs are prone to reverse-engineering. Protection usually consists either in obfuscation or Randomized Instruction Set Emulation (RISE). In this article, we explore a mixed software/hardware RISE suitable for embedded systems. This solution is very easy to implement on any open CPU core (LEON, openRISC, LatticeMicro32, etc.), as it implies only localized changes at the latest stage of the code execution hardware, which makes Dallas and DMA attacks unsuccessful. Similarly, alternations in the software development flow are minor and straightforward. All in one, our study shows that an easy protection can be attained at virtually no overhead cost if both the hardware and the software are customized.
软件程序容易进行逆向工程。保护通常包括混淆或随机指令集仿真(RISE)。在本文中,我们将探索一种适用于嵌入式系统的混合软件/硬件RISE。这种解决方案非常容易在任何开放CPU核心(LEON, openRISC, LatticeMicro32等)上实现,因为它只意味着在代码执行硬件的最新阶段进行局部更改,这使得达拉斯和DMA攻击不成功。类似地,软件开发流程中的变更是次要和直接的。总之,我们的研究表明,如果硬件和软件都是定制的,则可以在几乎没有开销的情况下获得简单的保护。
{"title":"Hardware-enforced Protection against Software Reverse-Engineering based on an Instruction Set Encoding","authors":"J. Danger, S. Guilley, Florian Praden","doi":"10.1145/2556464.2556469","DOIUrl":"https://doi.org/10.1145/2556464.2556469","url":null,"abstract":"Software programs are prone to reverse-engineering. Protection usually consists either in obfuscation or Randomized Instruction Set Emulation (RISE). In this article, we explore a mixed software/hardware RISE suitable for embedded systems. This solution is very easy to implement on any open CPU core (LEON, openRISC, LatticeMicro32, etc.), as it implies only localized changes at the latest stage of the code execution hardware, which makes Dallas and DMA attacks unsuccessful. Similarly, alternations in the software development flow are minor and straightforward. All in one, our study shows that an easy protection can be attained at virtually no overhead cost if both the hardware and the software are customized.","PeriodicalId":326045,"journal":{"name":"PPREW'14","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-01-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134398933","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
TDVMP: Improved Virtual Machine-Based Software Protection with Time Diversity TDVMP:改进的基于虚拟机的软件时间分集保护
Pub Date : 2014-01-22 DOI: 10.1145/2556464.2556468
Huaijun Wang, Dingyi Fang, Guanghui Li, Na An, Xiaojiang Chen, Y. Gu
The VM (Virtual effective solution to protect software, making it extremely a Machine)-based software protection technique provides difficulty to analyze and crack. In this paper, we improve it from two aspects. Firstly, the time diversity is to fight against cumulative attack by making software executing along variant paths in different running time. Secondly, transform instructions in an execution path with reducing performance penalty through controlling deformation strategy. At last, we design and develop a VM-based protection with time diversity system, named TDVMP, and carry out some experiments with it. The results show that the improvements are effective.
基于虚拟机(Virtual - effective solution to protect software, Virtual - effective solution to protect software,使之成为一台机器)的软件保护技术为分析和破解提供了难度。本文从两个方面对其进行改进。首先,时间分集是通过使软件在不同的运行时间内沿不同的路径运行来对抗累积攻击。其次,通过控制变形策略,实现指令在执行路径上的转换,降低性能损失。最后,设计并开发了一种基于虚拟机的带时分集保护系统TDVMP,并进行了实验。结果表明,改进是有效的。
{"title":"TDVMP: Improved Virtual Machine-Based Software Protection with Time Diversity","authors":"Huaijun Wang, Dingyi Fang, Guanghui Li, Na An, Xiaojiang Chen, Y. Gu","doi":"10.1145/2556464.2556468","DOIUrl":"https://doi.org/10.1145/2556464.2556468","url":null,"abstract":"The VM (Virtual effective solution to protect software, making it extremely a Machine)-based software protection technique provides difficulty to analyze and crack. In this paper, we improve it from two aspects. Firstly, the time diversity is to fight against cumulative attack by making software executing along variant paths in different running time. Secondly, transform instructions in an execution path with reducing performance penalty through controlling deformation strategy. At last, we design and develop a VM-based protection with time diversity system, named TDVMP, and carry out some experiments with it. The results show that the improvements are effective.","PeriodicalId":326045,"journal":{"name":"PPREW'14","volume":"111 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-01-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124064251","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
期刊
PPREW'14
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1