Hiding Critical Program Components via Ambiguous Translation

Hiding Critical Program Components via Ambiguous Translation
复制标题

DOI:
10.1145/3510003.3510139
复制
发表时间:
2022-05
期刊:
2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Chi-Gon Jung;Doowon Kim;An Chen;Weihang Wang;Yunhui Zheng;K. H. Lee;Yonghwi Kwon
Chi-Gon Jung;Doowon Kim;An Chen;Weihang Wang;Yunhui Zheng;K. H. Lee;Yonghwi Kwon
中科院分区:
其他
文献类型:
--
作者:
Chi-Gon Jung;Doowon Kim;An Chen;Weihang Wang;Yunhui Zheng;K. H. Lee;Yonghwi Kwon

文献摘要

相似文献

软件系统可能包含关键的程序组件,例如获得专利的程序逻辑或敏感数据。当这些组件由对手反向工程时,可能会造成重大损害(例如,财务损失或运营失败)。尽管在软件系统中保护关键程序组件(例如代码或数据)至关重要,但不幸的是,现有方法具有两个主要弱点:(1)可以通过各种程序分析技术对其进行反向工程,并且(2)对手获得了合法的关键程序组成部分,他或她可以确定它是真实的。在本文中,我们提出了Ambitr,这是一种隐藏关键程序组件的新技术。 Ambitr的核心是模棱两可的翻译器,当输入是正确的秘密密钥时,可以生成关键程序组件。翻译器是模棱两可的,因为它可以接受任何输入并产生许多合法的输出,因此很难知道输入是否是正确的秘密密钥。翻译器处理正确的秘密密钥和其他输入时的执行也是无法区分的,这使得分析尚无定论。我们的评估结果表明,静态,动态和符号分析技术无法识别Ambitr中的隐藏信息。我们还证明了对Ambitr的手动分析极具挑战性。
Software systems may contain critical program components such as patented program logic or sensitive data. When those components are reverse-engineered by adversaries, it can cause significantly damage (e.g., financial loss or operational failures). While protecting critical program components (e.g., code or data) in software systems is of utmost importance, existing approaches, unfortunately, have two major weaknesses: (1) they can be reverse-engineered via various program analysis techniques and (2) when an adversary obtains a legitimate-looking critical program component, he or she can be sure that it is genuine. In this paper, we propose Ambitr, a novel technique that hides critical program components. The core of Ambitr is Ambiguous Translator that can generate the critical program components when the input is a correct secret key. The translator is ambiguous as it can accept any inputs and produces a number of legitimate-looking outputs, making it difficult to know whether an input is correct secret key or not. The executions of the translator when it processes the correct secret key and other inputs are also indistinguishable, making the analysis inconclusive. Our evaluation results show that static, dynamic and symbolic analysis techniques fail to identify the hidden information in Ambitr. We also demonstrate that manual analysis of Ambitr is extremely challenging.