Data Hiding in Compiled Program Binaries for Enhancing Computer System Performance
Information hiding has been studied in many security applications such as authentication, copyright management and digital forensics. In this work, we introduce a new application where successful information hiding in compiled program binaries could bring system-wide performance improvements. Our goal is to enhance computer system performance by providing additional information to the processor, without changing the instruction set architecture. We first analyze the statistics of typical programs to demonstrate the feasibility of hiding data in them. We then propose several techniques to hide a large amount of data in the operand fields with very low computation and storage requirements during the extraction process. The data embedding is made reversible to recover the original instructions and to ensure the correct execution of the computer program. Our experiments on the SPEC CPU2000 benchmark programs show that up to 110K bits of information can be embedded in large programs with as little as 3K bits of additional run-time memory in the form of a simple look-up table.
Unable to display preview. Download preview PDF.
- 2.Radin, G.: The 801 minicomputer. In: Symposium on Architectural Support for Programming Languages and Operating Systems 1st ASPLOS 1982, Computer Architecture News, Palo Alto, CA, pp. 39–47 (1982)Google Scholar
- 3.Gabbay, F., Mendelson, A.: Can program profiling support value prediction? In: Proceedings of the 30th Annual International Symposium on Microarchitecture, IEEE Computer Society TC-MICRO and ACM SIGMICRO, pp. 270–280 (1997)Google Scholar
- 4.Gharachorloo, K., Lenoski, D., Laudon, L., Gibbons, P., Gupta, A., Hennessy, H.: Memory consistency and event ordering in scalable shared-memory multiprocessors. In: Proceedings of the 17th Annual International Symposium on Computer Architecture, published in ACM SIGARCH, May 1990, vol. 18, pp. 15–26 (1990)Google Scholar
- 5.Fridrich, J., Goljan, M., Du, R.: Lossless data embedding - new paradigm in digital watermarking. EURASIP Journal on Applied Signal Processing 2002(2), 195–196 (2002)Google Scholar
- 6.Celik, M.U., Sharma, G., Tekalp, A.M., Saber, E.: Reversible data hiding. In: Proc. of IEEE Intl. Conference on Image Processing, vol. 2, pp. 157–160 (2002)Google Scholar
- 8.IBM Corporation Book I: PowerPC User Instruction Set Architecture, Version 2.01 (2003)Google Scholar
- 9.Standard Performance Evaluation Corporation (SPEC), http://www.spec.org
- 10.Pechanek, G.G., Lorin, S., Conte, T.: Any-size Instruction Abbreviation Technique for Embedded DSPs. In: 15th IEEE Intl. ASIC/SOC Conf., pp. 8–12 (2002)Google Scholar
- 11.Lee, J., Choi, K., Dutt, N.: Efficient Instruction Encoding for Automatic Instruction Set Design of Configurable ASIPs. In: Proceedings of the IEEE/ACM international conference on Computer-aided design, pp. 649–654 (2002)Google Scholar
- 12.Liu, J., Kong, T., Chow, F.C.: Effective compilation support for variable instruction set architecture. In: IEEE International Conference on Parallel Architectures and Compilation Techniques, pp. 56–67 (2002)Google Scholar
- 13.Davidson, R.L., Myhrvold, N.: Method and system for generating and auditing a signature for a computer program. US Patent 5,559,884 (1996)Google Scholar
- 17.Honsineger, C.W., Jones, P.W., Rabbani, M., Stoffel, J.C.: Lossless recovery of an original image containing embedded data. In: US Patent 6,278,791 (2001)Google Scholar