Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Patterson, D.A., Hennessy, J.L.: Computer Architecture A Quantitative Approach. Morgan Kaufmann Publishers, Inc., San Francisco (1996)
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)
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)
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)
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)
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)
Cover, T.M., Thomas, J.A.: Elements of Information Theory. John Wiley & Sons, Chichester (1991)
IBM Corporation Book I: PowerPC User Instruction Set Architecture, Version 2.01 (2003)
Standard Performance Evaluation Corporation (SPEC), http://www.spec.org
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)
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)
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)
Davidson, R.L., Myhrvold, N.: Method and system for generating and auditing a signature for a computer program. US Patent 5,559,884 (1996)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Swaminathan, A., Mao, Y., Wu, M., Kailas, K. (2005). Data Hiding in Compiled Program Binaries for Enhancing Computer System Performance. In: Barni, M., Herrera-JoancomartÃ, J., Katzenbeisser, S., Pérez-González, F. (eds) Information Hiding. IH 2005. Lecture Notes in Computer Science, vol 3727. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11558859_26
Download citation
DOI: https://doi.org/10.1007/11558859_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29039-1
Online ISBN: 978-3-540-31481-3
eBook Packages: Computer ScienceComputer Science (R0)