Data Hiding in Compiled Program Binaries for Enhancing Computer System Performance

  • Ashwin Swaminathan
  • Yinian Mao
  • Min Wu
  • Krishnan Kailas
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3727)


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.

Unable to display preview. Download preview PDF.


  1. 1.
    Patterson, D.A., Hennessy, J.L.: Computer Architecture A Quantitative Approach. Morgan Kaufmann Publishers, Inc., San Francisco (1996)MATHGoogle Scholar
  2. 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. 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. 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. 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. 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
  7. 7.
    Cover, T.M., Thomas, J.A.: Elements of Information Theory. John Wiley & Sons, Chichester (1991)MATHCrossRefGoogle Scholar
  8. 8.
    IBM Corporation Book I: PowerPC User Instruction Set Architecture, Version 2.01 (2003)Google Scholar
  9. 9.
    Standard Performance Evaluation Corporation (SPEC),
  10. 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. 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. 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. 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
  14. 14.
    Venkatesan, R., Vazirani, V., Sinha, S.: A graph theoretic approach to software watermarking. In: Moskowitz, I.S. (ed.) IH 2001. LNCS, vol. 2137, pp. 157–168. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Collberg, C., Carter, E., Debray, S., Huntwork, H., Kececioglu, J., Linn, C., Stepp, M.: Dynamic path-based software watermarking. ACM SIGPLAN Notices 39, 107–118 (2004)CrossRefGoogle Scholar
  16. 16.
    Yuan, L., Pari, P.R., Qu, G.: Soft IP protection: Watermarking HDL codes. In: Fridrich, J. (ed.) IH 2004. LNCS, vol. 3200, pp. 224–238. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 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
  18. 18.
    El-Khalil, R., Keromytis, A.: Hydan: Hiding information in program binaries. In: López, J., Qing, S., Okamoto, E. (eds.) ICICS 2004. LNCS, vol. 3269, pp. 187–199. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Ashwin Swaminathan
    • 1
  • Yinian Mao
    • 1
  • Min Wu
    • 1
  • Krishnan Kailas
    • 2
  1. 1.Department of ECEUniversity of MarylandCollege ParkUSA
  2. 2.IBM T.J. Watson Research CenterYorktown HeightsUSA

Personalised recommendations