一句话:提出 Ambitr:用歧义翻译器仅在正确密钥下生成关键组件,使分析无法识别隐藏信息。
软件系统中受专利保护的逻辑或敏感数据等关键组件一旦被逆向工程,可能造成经济损失或运行故障。现有保护方法容易被各类程序分析逆向,且攻击者获得合法外观的组件后可确认其真实性。本文提出 Ambitr,其核心是 Ambiguous Translator:它接受任意输入并生成多个外观合法的输出,只有输入正确密钥时才生成真正的关键组件,因此难以判断某输入是否为正确密钥;处理正确密钥与其他输入时的执行过程亦不可区分,使分析结果不确定。评估表明,静态、动态与符号分析均无法识别 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.
@inproceedings{JungKC0ZL022,
title = {Hiding critical program components via ambiguous translation},
author = {Chijung Jung and Doowon Kim and An Chen and Weihang Wang and Yunhui Zheng and Kyu Hyung Lee and Yonghwi Kwon},
booktitle = {ICSE},
year = {2022},
doi = {10.1145/3510003.3510139}
}