首页 > 最新文献

2015 IEEE/ACM 1st International Workshop on Software Protection最新文献

英文 中文
Using Virtual Machine Protections to Enhance Whitebox Cryptography 使用虚拟机保护增强白盒加密
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.12
Joseph Gan, R. Kok, P. Kohli, Yun Ding, Benjamin Mah
Since attackers can gain full control of the mobile execution environment, they are able to examine the inputs, outputs, and, with the help of a disassembler/debugger the result of every intermediate computation a cryptographic algorithm carries out. Essentially, attackers have total visibility into the cryptographic operation. Whitebox cryptography aims at protecting keys from disclosed in software implementation. With theoretically unbounded resources a determined attacker is able to recover any confidential keys and data. A strong whitebox cipher implementation as the cornerstone of security is essential for the overall security in mobile environments. Our goal is to provide an increased degree of protection given the constraints of a software solution and the resource constrained, hostile-host environments. We seek neither perfect protection nor long-term guarantees, but rather a practical level of protection to balance cost, security and usability. Regular software updates can be applied such that the protection will need to withstand a limited period of time. V-OS operates as a virtual machine (VM) within the native mobile operating system to provide a secure software environment within which to perform critical processes and computations for a mobile app.
由于攻击者可以完全控制移动执行环境,因此他们能够检查输入、输出,并在反汇编器/调试器的帮助下检查加密算法执行的每个中间计算的结果。从本质上讲,攻击者可以完全了解加密操作。白盒加密旨在保护密钥在软件实现中不被泄露。利用理论上无限的资源,一个有决心的攻击者能够恢复任何机密密钥和数据。一个强大的白盒密码实现作为安全的基石,对于移动环境中的整体安全至关重要。我们的目标是在软件解决方案和资源受限、敌对主机环境的约束下提供更高程度的保护。我们既不寻求完美的保护,也不寻求长期的保证,而是寻求一种实用的保护水平,以平衡成本、安全性和可用性。定期的软件更新可以应用,这样的保护将需要承受一段有限的时间。V-OS作为本机移动操作系统中的虚拟机(VM)运行,为移动应用程序执行关键进程和计算提供安全的软件环境。
{"title":"Using Virtual Machine Protections to Enhance Whitebox Cryptography","authors":"Joseph Gan, R. Kok, P. Kohli, Yun Ding, Benjamin Mah","doi":"10.1109/SPRO.2015.12","DOIUrl":"https://doi.org/10.1109/SPRO.2015.12","url":null,"abstract":"Since attackers can gain full control of the mobile execution environment, they are able to examine the inputs, outputs, and, with the help of a disassembler/debugger the result of every intermediate computation a cryptographic algorithm carries out. Essentially, attackers have total visibility into the cryptographic operation. Whitebox cryptography aims at protecting keys from disclosed in software implementation. With theoretically unbounded resources a determined attacker is able to recover any confidential keys and data. A strong whitebox cipher implementation as the cornerstone of security is essential for the overall security in mobile environments. Our goal is to provide an increased degree of protection given the constraints of a software solution and the resource constrained, hostile-host environments. We seek neither perfect protection nor long-term guarantees, but rather a practical level of protection to balance cost, security and usability. Regular software updates can be applied such that the protection will need to withstand a limited period of time. V-OS operates as a virtual machine (VM) within the native mobile operating system to provide a secure software environment within which to perform critical processes and computations for a mobile app.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121266165","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}
引用次数: 4
Assessment of Data Obfuscation with Residue Number Coding 残数编码对数据混淆的评估
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.15
Biniam Fisseha Demissie, M. Ceccato, Roberto Tiella
Software obfuscation was proposed as a technique to mitigate the problem of malicious code tampering, by making code more difficult to understand and consequently more difficult to alter. In particular, "residue number coding" encodes program variables to hide their actual values, while supporting operations in the encoded domain. Some computations on encoded variables can proceed without the need to decode them back in the clear. Despite the obvious benefits of this approach, to the best of our knowledge, no implementation is available. In this paper, we describe our implementation of data obfuscation based on residue number coding. Moreover, we present an assessment of this obfuscation scheme in terms of performance overhead, when more and more program variables are subject to obfuscation.
软件混淆被提出作为一种减轻恶意代码篡改问题的技术,通过使代码更难以理解,从而更难以更改。特别地,“剩余数编码”对程序变量进行编码以隐藏其实际值,同时支持编码域中的操作。一些对编码变量的计算可以继续进行,而不需要将它们解码回来。尽管这种方法有明显的好处,但据我们所知,还没有可用的实现。本文描述了基于残数编码的数据混淆实现。此外,当越来越多的程序变量受到混淆时,我们从性能开销方面对这种混淆方案进行了评估。
{"title":"Assessment of Data Obfuscation with Residue Number Coding","authors":"Biniam Fisseha Demissie, M. Ceccato, Roberto Tiella","doi":"10.1109/SPRO.2015.15","DOIUrl":"https://doi.org/10.1109/SPRO.2015.15","url":null,"abstract":"Software obfuscation was proposed as a technique to mitigate the problem of malicious code tampering, by making code more difficult to understand and consequently more difficult to alter. In particular, \"residue number coding\" encodes program variables to hide their actual values, while supporting operations in the encoded domain. Some computations on encoded variables can proceed without the need to decode them back in the clear. Despite the obvious benefits of this approach, to the best of our knowledge, no implementation is available. In this paper, we describe our implementation of data obfuscation based on residue number coding. Moreover, we present an assessment of this obfuscation scheme in terms of performance overhead, when more and more program variables are subject to obfuscation.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126316974","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}
引用次数: 4
Matryoshka: Strengthening Software Protection via Nested Virtual Machines 通过嵌套虚拟机加强软件保护
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.11
S. Ghosh, Jason Hiser, J. Davidson
The use of virtual machine technology has become a popular approach for defending software applications from attacks by adversaries that wish to compromise the integrity and confidentiality of an application. In addition to providing some inherent obfuscation of the execution of the software application, the use of virtual machine technology can make both static and dynamic analysis more difficult for the adversary. However, a major point of concern is the protection of the virtual machine itself. The major weakness is that the virtual machine presents a inviting target for the adversary. If an adversary can render the virtual machine ineffective, they can focus their energy and attention on the software application. One possible approach is to protect the virtual machine by composing or nesting virtualization layers to impart virtual machine protection techniques to the inner virtual machines "closest" to the software application. This paper explores the concept and feasibility of nested virtualization for software protection using a high-performance software dynamic translation system. Using two metrics for measuring the strength of protection, the preliminary results show that nesting virtual machines can strengthen protection of the software application. While the nesting of virtual machines does increase run-time overhead, initial results indicate that with careful application of the technique, run-time overhead could be reduced to reasonable levels.
使用虚拟机技术已经成为保护软件应用程序免受攻击的一种流行方法,这些攻击者希望破坏应用程序的完整性和机密性。除了为软件应用程序的执行提供一些固有的混淆之外,虚拟机技术的使用可以使攻击者更加难以进行静态和动态分析。然而,一个主要的关注点是对虚拟机本身的保护。主要的缺点是虚拟机为攻击者提供了一个诱人的目标。如果攻击者能够使虚拟机失效,他们就可以将精力和注意力集中在软件应用程序上。一种可能的方法是通过组合或嵌套虚拟化层来保护虚拟机,从而将虚拟机保护技术传授给“最接近”软件应用程序的内部虚拟机。本文利用一个高性能的软件动态转换系统,探讨了软件保护的嵌套虚拟化的概念和可行性。利用两个指标来衡量保护强度,初步结果表明嵌套虚拟机可以加强对软件应用程序的保护。虽然虚拟机的嵌套确实增加了运行时开销,但初步结果表明,通过仔细应用该技术,可以将运行时开销降低到合理的水平。
{"title":"Matryoshka: Strengthening Software Protection via Nested Virtual Machines","authors":"S. Ghosh, Jason Hiser, J. Davidson","doi":"10.1109/SPRO.2015.11","DOIUrl":"https://doi.org/10.1109/SPRO.2015.11","url":null,"abstract":"The use of virtual machine technology has become a popular approach for defending software applications from attacks by adversaries that wish to compromise the integrity and confidentiality of an application. In addition to providing some inherent obfuscation of the execution of the software application, the use of virtual machine technology can make both static and dynamic analysis more difficult for the adversary. However, a major point of concern is the protection of the virtual machine itself. The major weakness is that the virtual machine presents a inviting target for the adversary. If an adversary can render the virtual machine ineffective, they can focus their energy and attention on the software application. One possible approach is to protect the virtual machine by composing or nesting virtualization layers to impart virtual machine protection techniques to the inner virtual machines \"closest\" to the software application. This paper explores the concept and feasibility of nested virtualization for software protection using a high-performance software dynamic translation system. Using two metrics for measuring the strength of protection, the preliminary results show that nesting virtual machines can strengthen protection of the software application. While the nesting of virtual machines does increase run-time overhead, initial results indicate that with careful application of the technique, run-time overhead could be reduced to reasonable levels.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125383485","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}
引用次数: 4
Automatic Discovery of Software Attacks via Backward Reasoning 基于逆向推理的软件攻击自动发现
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.17
C. Basile, D. Canavese, Jérôme d'Annoville, B. D. Sutter, Fulvio Valenza
Security risk management and mitigation are two of the most important items on several companies' agendas. In this scenario, software attacks pose a major threat to the reliable execution of services, thus bringing negative effects on businesses. This paper presents a formal model that allows the identification of all the attacks against the assets embedded in a software application. Our approach can be used to perform the identification of the threats that loom over the assets and help to determine the potential countermeasures, that is the protections to deploy for mitigating the risks. The proposed model uses a Knowledge Base to represent the software assets, the steps that can be executed to mount an attack and their relationships. Inference rules permit the automatic discovery of attack step combinations towards the compromised assets that are discovered using a backward programming methodology. This approach is very usable as the attack discovery is fully automatic, once the Knowledge Base is populated with the information regarding the application to protect. In addition, it has been proven highly efficient and exhaustive.
安全风险管理和缓解是许多公司议程上最重要的两个项目。在这种情况下,软件攻击对服务的可靠执行构成重大威胁,从而给业务带来负面影响。本文提出了一个正式的模型,该模型允许识别针对软件应用程序中嵌入的资产的所有攻击。我们的方法可用于识别笼罩资产的威胁,并帮助确定潜在的对策,即为减轻风险而部署的保护措施。建议的模型使用知识库来表示软件资产、可以执行的发起攻击的步骤以及它们之间的关系。推理规则允许自动发现针对使用反向编程方法发现的受损资产的攻击步骤组合。这种方法非常有用,因为一旦知识库中填充了与要保护的应用程序有关的信息,攻击发现就会完全自动化。此外,它已被证明是高效和详尽的。
{"title":"Automatic Discovery of Software Attacks via Backward Reasoning","authors":"C. Basile, D. Canavese, Jérôme d'Annoville, B. D. Sutter, Fulvio Valenza","doi":"10.1109/SPRO.2015.17","DOIUrl":"https://doi.org/10.1109/SPRO.2015.17","url":null,"abstract":"Security risk management and mitigation are two of the most important items on several companies' agendas. In this scenario, software attacks pose a major threat to the reliable execution of services, thus bringing negative effects on businesses. This paper presents a formal model that allows the identification of all the attacks against the assets embedded in a software application. Our approach can be used to perform the identification of the threats that loom over the assets and help to determine the potential countermeasures, that is the protections to deploy for mitigating the risks. The proposed model uses a Knowledge Base to represent the software assets, the steps that can be executed to mount an attack and their relationships. Inference rules permit the automatic discovery of attack step combinations towards the compromised assets that are discovered using a backward programming methodology. This approach is very usable as the attack discovery is fully automatic, once the Knowledge Base is populated with the information regarding the application to protect. In addition, it has been proven highly efficient and exhaustive.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114305442","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}
引用次数: 9
Software Security: Squaring the Circle? 软件安全:解决问题?
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.8
B. Preneel
This paper considers the pure software solution to security. It compares the advantages and disadvantages of this approach to a range of solutions supported by hardware extensions to processors.
本文考虑了纯软件的安全解决方案。它比较了这种方法与处理器硬件扩展支持的一系列解决方案的优缺点。
{"title":"Software Security: Squaring the Circle?","authors":"B. Preneel","doi":"10.1109/SPRO.2015.8","DOIUrl":"https://doi.org/10.1109/SPRO.2015.8","url":null,"abstract":"This paper considers the pure software solution to security. It compares the advantages and disadvantages of this approach to a range of solutions supported by hardware extensions to processors.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133972027","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}
引用次数: 0
Obfuscator-LLVM -- Software Protection for the Masses obfusator - llvm——大众软件保护
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.10
P. Junod, Julien Rinaldini, J. Wehrli, Julie Michielin
Software security with respect to reverse-engineering is a challenging discipline that has been researched for several years and which is still active. At the same time, this field is inherently practical, and thus of industrial relevance: indeed, protecting a piece of software against tampering, malicious modifications or reverse-engineering is a very difficult task. In this paper, we present and discuss a software obfuscation prototype tool based on the LLVM compilation suite. Our tool is built as different passes, where some of them have been open-sourced and are freely available, that work on the LLVM Intermediate Representation (IR) code. This approach brings several advantages, including the fact that it is language-agnostic and mostly independent of the target architecture. Our current prototype supports basic instruction substitutions, insertion of bogus control-flow constructs mixed with opaque predicates, control-flow flattening, procedures merging as well as a code tamper-proofing algorithm embedding code and data checksums directly in the control-flow flattening mechanism.
与逆向工程相关的软件安全是一门具有挑战性的学科,已经研究了好几年,并且仍然很活跃。同时,这个领域本质上是实用的,因此与工业相关:事实上,保护一个软件免受篡改、恶意修改或逆向工程是一项非常困难的任务。在本文中,我们提出并讨论了一个基于LLVM编译套件的软件混淆原型工具。我们的工具是作为不同的通道构建的,其中一些已经开源并且可以免费获得,它们在LLVM中间表示(IR)代码上工作。这种方法有几个优点,包括它与语言无关,并且基本上独立于目标体系结构。我们目前的原型支持基本的指令替换、混入不透明谓词的伪造控制流构造的插入、控制流平坦化、过程合并,以及在控制流平坦化机制中直接嵌入代码和数据校验和的代码防篡改算法。
{"title":"Obfuscator-LLVM -- Software Protection for the Masses","authors":"P. Junod, Julien Rinaldini, J. Wehrli, Julie Michielin","doi":"10.1109/SPRO.2015.10","DOIUrl":"https://doi.org/10.1109/SPRO.2015.10","url":null,"abstract":"Software security with respect to reverse-engineering is a challenging discipline that has been researched for several years and which is still active. At the same time, this field is inherently practical, and thus of industrial relevance: indeed, protecting a piece of software against tampering, malicious modifications or reverse-engineering is a very difficult task. In this paper, we present and discuss a software obfuscation prototype tool based on the LLVM compilation suite. Our tool is built as different passes, where some of them have been open-sourced and are freely available, that work on the LLVM Intermediate Representation (IR) code. This approach brings several advantages, including the fact that it is language-agnostic and mostly independent of the target architecture. Our current prototype supports basic instruction substitutions, insertion of bogus control-flow constructs mixed with opaque predicates, control-flow flattening, procedures merging as well as a code tamper-proofing algorithm embedding code and data checksums directly in the control-flow flattening mechanism.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131291244","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}
引用次数: 230
Making Advanced Software Protection Tools Usable for Non-experts 让非专家也能使用高级软件保护工具
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.9
B. D. Sutter
We present the EU FP7 ASPIRE project, with a focus on its design of a decision support system that will enable non-expert users to configure a complex software protection tool chain to protect the assets in their software.
我们介绍了EU FP7 ASPIRE项目,重点介绍了其决策支持系统的设计,该系统将使非专业用户能够配置复杂的软件保护工具链来保护其软件中的资产。
{"title":"Making Advanced Software Protection Tools Usable for Non-experts","authors":"B. D. Sutter","doi":"10.1109/SPRO.2015.9","DOIUrl":"https://doi.org/10.1109/SPRO.2015.9","url":null,"abstract":"We present the EU FP7 ASPIRE project, with a focus on its design of a decision support system that will enable non-expert users to configure a complex software protection tool chain to protect the assets in their software.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129515660","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}
引用次数: 0
Code Artificiality: A Metric for the Code Stealth Based on an N-Gram Model 代码人为性:基于N-Gram模型的代码隐蔽性度量
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.14
Yuichiro Kanzaki, Akito Monden, C. Collberg
This paper proposes a method for evaluating the artificiality of protected code by means of an N-gram model. The proposed artificiality metric helps us measure the stealth of the protected code, that is, the degree to which protected code can be distinguished from unprotected code. In a case study, we use the proposed method to evaluate the artificiality of programs that are transformed by well-known obfuscation techniques. The results show that static obfuscating transformations (e.g., Control flow flattening) have little effect on artificiality. However, dynamic obfuscating transformations (e.g., Code encryption), or a technique that inserts junk code fragments into the program, tend to increase the artificiality, which may have a significant impact on the stealth of the code.
本文提出了一种利用N-gram模型评价受保护代码的人为性的方法。提出的人工度量帮助我们度量受保护代码的隐蔽性,也就是说,受保护的代码可以与未受保护的代码区分的程度。在一个案例研究中,我们使用提出的方法来评估由众所周知的混淆技术转换的程序的人为性。结果表明,静态模糊转换(例如,控制流平坦化)对人为性的影响很小。然而,动态混淆转换(例如,代码加密),或者在程序中插入垃圾代码片段的技术,倾向于增加人为性,这可能对代码的隐蔽性产生重大影响。
{"title":"Code Artificiality: A Metric for the Code Stealth Based on an N-Gram Model","authors":"Yuichiro Kanzaki, Akito Monden, C. Collberg","doi":"10.1109/SPRO.2015.14","DOIUrl":"https://doi.org/10.1109/SPRO.2015.14","url":null,"abstract":"This paper proposes a method for evaluating the artificiality of protected code by means of an N-gram model. The proposed artificiality metric helps us measure the stealth of the protected code, that is, the degree to which protected code can be distinguished from unprotected code. In a case study, we use the proposed method to evaluate the artificiality of programs that are transformed by well-known obfuscation techniques. The results show that static obfuscating transformations (e.g., Control flow flattening) have little effect on artificiality. However, dynamic obfuscating transformations (e.g., Code encryption), or a technique that inserts junk code fragments into the program, tend to increase the artificiality, which may have a significant impact on the stealth of the code.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134562567","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}
引用次数: 14
A Framework for Measuring Software Obfuscation Resilience against Automated Attacks 测量软件混淆抗自动攻击弹性的框架
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.16
Sebastian Banescu, Martín Ochoa, A. Pretschner
Software obfuscation of programs, with the goal of protecting against attackers having physical access to the machine executing them, is a common practice motivated by the necessity of keeping intellectual property (such as business critical algorithms) and critical data (such as cryptographic keys) secret. However, as of today, it is unclear how secure popular obfuscation operators are relative to each other or to other protection techniques. In this paper we propose a formal framework to characterize attacker models and guarantees, inspired by similar notions from cryptography. We then map prior work in the area of deobfuscation to our formal model to the possible extent. We also perform a case-study about using symbolic execution for deobfuscation, concretely mapped onto our formal model.
软件混淆程序的目的是防止攻击者对执行程序的机器进行物理访问,这是一种常见的做法,其动机是需要保持知识产权(如业务关键算法)和关键数据(如加密密钥)的机密性。然而,到目前为止,还不清楚流行的混淆操作相对于彼此或其他保护技术的安全性如何。在本文中,我们提出了一个形式化框架来描述攻击者模型和保证,灵感来自密码学的类似概念。然后,我们将消除混淆领域的先前工作映射到我们的正式模型中,以达到可能的程度。我们还执行了一个关于使用符号执行去混淆的案例研究,具体映射到我们的形式模型上。
{"title":"A Framework for Measuring Software Obfuscation Resilience against Automated Attacks","authors":"Sebastian Banescu, Martín Ochoa, A. Pretschner","doi":"10.1109/SPRO.2015.16","DOIUrl":"https://doi.org/10.1109/SPRO.2015.16","url":null,"abstract":"Software obfuscation of programs, with the goal of protecting against attackers having physical access to the machine executing them, is a common practice motivated by the necessity of keeping intellectual property (such as business critical algorithms) and critical data (such as cryptographic keys) secret. However, as of today, it is unclear how secure popular obfuscation operators are relative to each other or to other protection techniques. In this paper we propose a formal framework to characterize attacker models and guarantees, inspired by similar notions from cryptography. We then map prior work in the area of deobfuscation to our formal model to the possible extent. We also perform a case-study about using symbolic execution for deobfuscation, concretely mapped onto our formal model.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"135 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132714812","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}
引用次数: 26
Infections as Abstract Symbolic Finite Automata: Formal Model and Applications 作为抽象符号有限自动机的感染:形式模型与应用
Pub Date : 2015-05-16 DOI: 10.1109/SPRO.2015.18
M. Preda, Isabella Mastroeni
In this paper, we propose a methodology, based on machine learning, for building a symbolic finite state automata-based model of infected systems, that expresses the interaction between the malware and the environment by combining in the same model the code and the semantics of a system and allowing to tune both the system and the malware code observation. Moreover, we show that this methodology may have several applications in the context of malware detection.
在本文中,我们提出了一种基于机器学习的方法,用于构建基于符号有限状态自动机的受感染系统模型,该模型通过将系统的代码和语义组合在同一模型中并允许调整系统和恶意软件代码观察来表达恶意软件与环境之间的交互。此外,我们表明这种方法可能在恶意软件检测的背景下有几个应用。
{"title":"Infections as Abstract Symbolic Finite Automata: Formal Model and Applications","authors":"M. Preda, Isabella Mastroeni","doi":"10.1109/SPRO.2015.18","DOIUrl":"https://doi.org/10.1109/SPRO.2015.18","url":null,"abstract":"In this paper, we propose a methodology, based on machine learning, for building a symbolic finite state automata-based model of infected systems, that expresses the interaction between the malware and the environment by combining in the same model the code and the semantics of a system and allowing to tune both the system and the malware code observation. Moreover, we show that this methodology may have several applications in the context of malware detection.","PeriodicalId":338591,"journal":{"name":"2015 IEEE/ACM 1st International Workshop on Software Protection","volume":"144 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116076900","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}
引用次数: 1
期刊
2015 IEEE/ACM 1st International Workshop on Software Protection
全部 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