Code Obfuscation: Why is This Still a Thing?

CODASPY(2018)

引用 24|浏览29
暂无评分
摘要
Early developments in code obfuscation were chiefly motivated by the needs of Digital Rights Management (DRM). Other suggested applications included intellectual property protection of software and code diversification to combat the monoculture problem of operating systems. Code obfuscation is typically employed in security scenarios where an adversary is in complete control over a device and the software it contains and can tamper with it at will. We call such situations the Man-At-The-End (MATE) scenario. MATE scenarios are the best of all worlds for attackers and, consequently, the worst of all worlds for defenders: Not only do attackers have physical access to a device and can reverse engineer and tamper with it at their leisure, they often have unbounded resources (time, computational power, etc.) to do so. Defenders, on the other hand, are often severely constrained in the types of protective techniques available to them and the amount of overhead they can tolerate. In other words, there is an asymmetry between the constraints of attackers and defenders. Moreover, DRM is becoming less prevalent (songs for sale on the Apple iTunes Store are no longer protected by DRM, for example);there are new cryptographically-based obfuscation techniques that promise provably secure obfuscation;secure enclaves are making it into commodity hardware, providing a safe haven for security sensitive code; and recent advances in program analysis and generic de-obfuscation provide algorithms that render current code obfuscation techniques impotent. Thus, one may reasonably ask the question: "Is Code Obfuscation Still a Thing?" DRM is becoming less prevalent (songs for sale on the Apple iTunes Store are no longer protected by DRM, for example);there are new cryptographically-based obfuscation techniques that promise provably secure obfuscation;secure enclaves are making it into commodity hardware, providing a safe haven for security sensitive code; and recent advances in program analysis and generic de-obfuscation provide algorithms that render current code obfuscation techniques impotent. Somewhat surprisingly, it appears that the answer is yes. In a recent report, Gartner lists 19 companies active in this space (8 of which were founded since 2010) and there are still (in 2017) many papers published on code obfuscation, code de-obfuscation, anti-tamper protection, reverse engineering, and related technologies. One of the reasons for this resurgence of code obfuscation as a protective technology is that, more and more, we are faced with applications where security-sensitive code needs to run on unsecured endpoints. In this talk we will show MATE attacks that appear in many novel and unlikely scenarios, including smart cars, smart meters, mobile applications such as Snapchat and smartphone games, Internet of Things applications, and ad blockers in web browsers. We will furthermore show novel code obfuscation techniques that increase the workload of attackers and which, at least for a time, purport to restore the symmetry between attackers and defenders.
更多
查看译文
关键词
Software protection, code obfuscation, reverse engineering, Man-At-The-End, diversification, digital rights management, software watermarking, anti-tamper
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要