id: Simula.ND.411
ERROR IN ENCODING
title: Program obfuscation by strong cryptography
publication_year: 2010
abstract: Program obfuscation is often employed by malware in order to avoid detection by anti-virus software, but it has many other legitimate uses, such as copy protection, software licensing or private computing in the cloud. In this paper, we present a program obfuscation method that is based on the combination of strong encryption of code and data and a CPU simulator (CSPIM) that implements theMIPS I instruction set. Our method is different from existing methods in that only a single word (32- bits) of the protected code or data is present as plain-text in main memory. Furthermore, our method allows the possibility of externally supplying the decryption key to the simulator. We have extensively tested the simulator, and it is able to successfully execute C programs compiled by the gcc cross-compiler. Even though purely software-based method cannot provide perfect protection, we argue that this approach significantly raises the bar for reverse-engineers, especially wen combined with existing program obfucation techniques.
publication_url: 
pdf_url: 
booktitle: Proceedings of the International Conference on Availability, Reliability and  +Security (ARES), Krakow, Poland, February 2010
editor: N/A
volume: 
number: 
chapter: 
pages: 242-247
publisher: N/A
organization: 
address: 
edition: 
series: 
isbn: 978-1-4244-5879-0
keywords: ()
publication_month: 
note: 
annote: 
additional: []
location: 
publication_state: Published
simula_ou: [<Department at /simula/department/media>, <Department at /simula/research/mpg>]
publisher_url: 
category: Conference
from_date: 2010/02/15 00:00:00 GMT+1
to_date: 2010/02/18 00:00:00 GMT+1

