Securing Embedded Devices through Obfuscation with Predictable Size and Execution Overhead
Paper in proceeding, 2023
Embedded devices compute and store data locally. Thus, contained sensitive data or code requires extra layers of security. In addition to hardware protection, software obfuscation allows for added code and data protection. Available obfuscation techniques, however, are complex, and their resource costs are difficult to predict, rendering them hard to deploy to resource-constrained devices. This holds especially when multiple techniques are combined. This work introduces obfuscation with predictable size and runtime overhead and tailors software obfuscation to the inherent resource limitations of embedded devices. Accurate predictions of size and execution overhead allow dynamic obfuscation utilizing all of the sparse resources. The implemented framework combines several predictable obfuscation techniques with granular control over their parameters, thus allowing precise control over the resulting resource cost. Our evaluations compare our techniques to state-of-the-art approaches, attesting to the precise prediction of our framework. However, the current implementation is best used on small programs or selected parts, showing at least twice the overhead.