Remote Software-Based Attestation for Wireless Sensors

  • Mark Shaneck
  • Karthikeyan Mahadevan
  • Vishal Kher
  • Yongdae Kim
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3813)


Wireless sensor networks are envisioned to be deployed in mission-critical applications. Detecting a compromised sensor, whose memory contents have been tampered, is crucial in these settings, as the attacker can reprogram the sensor to act on his behalf. In the case of sensors, the task of verifying the integrity of memory contents is difficult as physical access to the sensors is often infeasible. In this paper, we propose a software-based approach to verify the integrity of the memory contents of the sensors over the network without requiring physical contact with the sensor. We describe the building blocks that can be used to build a program for attestation purposes, and build our attestation program based on these primitives. The success of our approach is not dependent on accurate measurements of the execution time of the attestation program. Further, we do not require any additional hardware support for performing remote attestation. Our attestation procedure is designed to detect even small memory changes and is designed to be resistant against modifications by the attacker.


Wireless Sensor Network Read Instruction Memory Content Timeout Period USENIX Security Symposium 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Atmel AVR 8-bit RISC processor,
  2. 2.
  3. 3.
  4. 4.
    Aucsmith, D.: Tamper resistant software. In: Proceedings of the First Information Hiding Workshop (1996)Google Scholar
  5. 5.
    Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sahai, A., Vadhan, S.P., Yang, K.: On the (im)possibility of obfuscating programs. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 1–18. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Chang, H., Atallah, M.J.: Protecting software code by guards. In: Sander, T. (ed.) DRM 2001. LNCS, vol. 2320, pp. 160–175. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  7. 7.
    Cohen, F.: Operating system protection through program evolution. Computers and Security (1993)Google Scholar
  8. 8.
    Collberg, C., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical report, Technical Report 148, Department of Computer Science, University of Auckland (July 1997)Google Scholar
  9. 9.
    Collberg, C., Thomborson, C., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: Principles of Programming Languages 1998, POPL 1998, San Diego, CA (January 1998)Google Scholar
  10. 10.
    Collberg, C.S., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation - tools for software protection. IEEE Transactions on Software Engineering 28, 735–746 (2002)CrossRefGoogle Scholar
  11. 11.
    Wurster, A.S.G., van Oorschot, P.C.: A generic attack on checksumming-based software tamper resistance. In: Proceedings of the IEEE Symposium on Security and Privacy (May 2005)Google Scholar
  12. 12.
    Gassend, B., Clarke, D., van Dijk, M., Devadas, S.: Controlled Physical Random Functions. In: Proceedings of the 18th Annual Computer Security Conference (December 2002)Google Scholar
  13. 13.
    Gassend, B.L.P.: Physical random functions. Master’s thesis, Massachusetts Institute of Technology (February 2003)Google Scholar
  14. 14.
    Hada, S.: Zero-knowledge and code obfuscation. In: Okamoto, T. (ed.) ASIACRYPT 2000. LNCS, vol. 1976, pp. 443–457. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D., Pister, K.: System architecture directions for network sensors. In: ASPLOS-IX: Proceedings of the ninth international conference on Architectural support for programming languages and operating systems, Cambridge (November 2000)Google Scholar
  16. 16.
    Horne, B., Matheson, L.R., Sheehan, C., Tarjan, R.E.: Dynamic self-checking techniques for improved tamper resistance. In: Sander, T. (ed.) DRM 2001. LNCS, vol. 2320, pp. 141–159. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Horwitz, S.: Precise flow-insensitive may-alias analysis is np-hard. ACM Trans. Program. Lang. Syst. 19(1), 1–6 (1997), doi:10.1145/239912.239913CrossRefGoogle Scholar
  18. 18.
    Jeong, J., Culler, D.: Incremental network programming for wireless sensors. In: The First IEEE International Conference on Sensor and Ad hoc Communications and Networks (October 2004)Google Scholar
  19. 19.
    Jr., N.L.P., Fraser, T., Molina, J., Arbaugh, W.A.: Copilot - a coprocessor-based kernel runtime integrity monitor. In: USENIX Security Symposium, pp. 179–194 (2004)Google Scholar
  20. 20.
    Kennell, R., Jamieson, L.H.: Establishing the genuinity of remote computer systems. In: 12th USENIX Security Symposium, August 2003, pp. 295–310. USENIX Association (2003)Google Scholar
  21. 21.
    Kennell, R., Jamieson, L.H.: An analysis of proposed attacks against genuinity tests. Technical report, Purdue University, 09, CERIAS TR 2004-27 (2004)Google Scholar
  22. 22.
    Kruegel, C., Robertson, W., Valeur, F., Vigna, G.: Static disassembly of obfuscated binaries. In: Proceedings of USENIX Security 2004, San Diego, CA, August 2004, pp. 255–270 (2004)Google Scholar
  23. 23.
    Kuennen, T.: Small science will bring big changes to roads,
  24. 24.
    Landi, W., Ryder, B.G.: Pointer-induced aliasing: a problem taxonomy. In: POPL 1991: Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, Orlando, Florida, United States, pp. 93–103. ACM Press, New York (1991)CrossRefGoogle Scholar
  25. 25.
    Lie, D., Thekkath, C., Mitchell, M., Lincoln, P., Boneh, D., Mitchell, J., Horowitz, M.: Architectural support for copy and tamper resistant software. In: ASPLOS-IX: Proceedings of the ninth international conference on Architectural support for programming languages and operating systems, pp. 168–177. ACM Press, New York (2000)Google Scholar
  26. 26.
    Linn, C., Debray, S.: Obfuscation of executable code to improve resistance to static disassembly. In: CCS 2003: Proceedings of the 10th ACM conference on Computer and communications security, pp. 290–299. ACM Press, New York (2003)CrossRefGoogle Scholar
  27. 27.
    Lynn, B.Y.S., Prabhakaran, M., Sahai, A.: Positive results and techniques for obfuscation. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 20–39. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  28. 28.
    Ogiso, T., Sakabe, Y., Soshi, M., Miyaji, A.: Software tamper resistance based on the difficulty of interprocedural analysis (August 2002)Google Scholar
  29. 29.
    Ogiso, T., Sakabe, Y., Soshi, M., Miyaji, A.: Software obfuscation on a theoretical basis and its implementation. In: IEICE Transactions on Fundamentals, January 2003, vol. E86-A, pp. 176–186 (2003)Google Scholar
  30. 30.
    Ramalingam, G.: The undecidability of aliasing. ACM Trans. Program. Lang. Syst. 16(5), 1467–1471 (1994), doi:10.1145/186025.186041CrossRefGoogle Scholar
  31. 31.
    Sailer, R., Jaeger, T., Zhang, X., van Doorn, L.: Attestation-based policy enforcement for remote access. In: CCS 2004: Proceedings of the 11th ACM conference on Computer and communications security, pp. 308–317. ACM Press, New York (2004)CrossRefGoogle Scholar
  32. 32.
    Seshadri, A., Perrig, A., van Doorn, L., Khosla, P.: SWATT: Software-based Attestation for Embedded Devicesi. In: Proceedings of the IEEE Symposium on Security and Privacy (May 2004)Google Scholar
  33. 33.
    Shankar, U., Chew, M., Tygar, J.: Side effects are not sufficient to authenticate software. In: 13th USENIX Security Symposium, August 2004, USENIX Association (2004)Google Scholar
  34. 34.
    Shi, E., Perrig, A., Doorn, L.V.: Bind: A time-of-use attestation service for secure distributed systems. In: Proceedings of the IEEE Symposium on Security and Privacy (May 2005)Google Scholar
  35. 35.
    Suh, G.E., Clarke, D., Gassend, B., van Dijk, M., Devadas, S.: AEGIS: architecture for tamper-evident and tamper-resistant processing. In: ICS 2003: Proceedings of the 17th annual international conference on Supercomputing, pp. 160–171. ACM Press, New York (2003)CrossRefGoogle Scholar
  36. 36.
    Varnovsky, N.P., Zakharov, V.A.: On the possibility of provably secure obfuscating programs. In: Ershov Memorial Conference, pp. 91–102 (2003)Google Scholar
  37. 37.
    Wang, C., Hill, J., Knight, J., Davidson, J.: Software tamper resistance: Obstructing static analysis of programs. Technical report, University of Virginia, Charlottesville, VA, USA (2000)Google Scholar
  38. 38.
    Wroblewski, G.: General Method of Program Code Obfuscation. PhD thesis, Wroclaw University of Technology, Institute of Engineering Cybernetics (2002)Google Scholar
  39. 39.
    Yang, J., Zhang, Y., Gao, L.: Fast secure processor for inhibiting software piracy and tampering. In: MICRO 36: Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture, Washington, DC, USA, p. 351. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  40. 40.
    Zhuang, X., Zhang, T., Pande, S.: HIDE: an infrastructure for efficiently protecting information leakage on the address bus. In: ASPLOS-XI: Proceedings of the 11th international conference on Architectural support for programming languages and operating systems, Boston, MA, USA, pp. 72–84. ACM Press, New York (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Mark Shaneck
    • 1
  • Karthikeyan Mahadevan
    • 1
  • Vishal Kher
    • 1
  • Yongdae Kim
    • 1
  1. 1.Computer Science and EngineeringUniversity of MinnesotaTwin Cities

Personalised recommendations