Skip to main content

Concepts for Autonomous Control Flow Checking for Embedded CPUs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5060))

Abstract

In this paper, we introduce new concepts and methods for checking the correctness of control flow instructions during the execution of programs in embedded CPUs. Detecting and avoiding the execution of faulty control flow instructions is a problem of growing importance w.r.t. reliability and security. On the other hand, hardware cost overheads and an easy integration into the design flow are of utmost important for cost sensitive embedded systems. Our proposed methodology is able to monitor all direct jumps and branches as well as calls and returns form subroutines autonomously during program execution. Furthermore, we propose and evaluate an implementation of an autonomous checker unit which is closely coupled to the processor and can detect and even avoid the execution of a faulty control flow instruction. Upon detection of a faulty instruction, we propose a method to refetch and reexecute the incorrect jump or branch instruction. Other benefits of this novel approach are that the application code must not be changed or augmented by signatures or additional instructions, and that there is no measurable performance impact in terms of execution latency. From the user point of view, our approach is completely transparent to a program developer.

This work has been supported by BMBF project 01 M 3083 “Autonome Integrierte Systeme.”

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ziegler, B.B.P.: Fliegendes Rechnernetz. In: CT, Heise Verlag (2005)

    Google Scholar 

  2. Lee, K., Shrivastava, A., Issenin, I., Dutt, N., Venkatasubramanian, N.: Mitigating soft error failures for multimedia applications by selective data protection. In: CASES 2006: Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pp. 411–420. ACM, New York (2006)

    Chapter  Google Scholar 

  3. US-CERT: Vulnerability notes database CERT Coordination Center, http://www.kb.cert.org/vuls/

  4. Gaisler Research: LEON3 SPARC V8 Processor core, http://www.gaisler.com

  5. Mueller, M., et al.: RAS strategy for IBM S/390 G5 and G6. IBM J. RES. DEVELOP 43(5/6) (1999)

    Google Scholar 

  6. Lu, D.J.: Watchdog processors and structural integrity checking. IEEE Trans. Computers 31(7), 681–685 (1982)

    Article  Google Scholar 

  7. Schuette, M.A., Shen, J.P.: Processor control flow monitoring using signatured instruction streams. IEEE Trans. Comput. 36(3), 264–277 (1987)

    Article  Google Scholar 

  8. Majzik, I., Pataricza, A., Cin, M.D., Hohl, W., Honig, J., Sieh, V.: Hierarchical checking of multiprocessors using watchdog processors. In: European Dependable Computing Conference, pp. 386–403 (1994)

    Google Scholar 

  9. Michel, T., Leveugle, R., Saucier, G.: A new approach to control flow checking without program modification. In: FTCS, pp. 334–343 (1991)

    Google Scholar 

  10. Arora, D., Ravi, S., Raghunathan, A., Jha, N.K.: Hardware-assisted run-time monitoring for secure program execution on embedded processors. In: IEEE Transactions on VLSI Systems, Washington, DC, USA. IEEE Computer Society, Los Alamitos (2006)

    Google Scholar 

  11. Goloubeva, O., Rebaudengo, M., Reorda, M.S., Violante, M.: Soft-error detection using control flow assertions. In: DFT 2003: Proceedings of the 18th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, Washington, DC, USA, p. 581. IEEE Computer Society, Los Alamitos (2003)

    Google Scholar 

  12. Abadi, M., Budiu, M., Erlingsson, Ú., Ligatti, J.: Control-flow integrity. In: CCS 2005: Proceedings of the 12th ACM Conference on Computer and Communications Security, pp. 340–353. ACM Press, New York (2005)

    Chapter  Google Scholar 

  13. Austin, T.M.: DIVA: A reliable substrate for deep submicron microarchitecture design. In: International Symposium on Microarchitecture, pp. 196–207 (1999)

    Google Scholar 

  14. Standard Performance Evaluation Corporation (SPEC): SPEC CPU, V1.3. (2000), http://www.spec.org

  15. SPARC: The SPARC Architecture Manual V8, http://www.sparc.com/standards/V8.pdf

Download references

Author information

Authors and Affiliations

Authors

Editor information

Chunming Rong Martin Gilje Jaatun Frode Eika Sandnes Laurence T. Yang Jianhua Ma

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ziener, D., Teich, J. (2008). Concepts for Autonomous Control Flow Checking for Embedded CPUs . In: Rong, C., Jaatun, M.G., Sandnes, F.E., Yang, L.T., Ma, J. (eds) Autonomic and Trusted Computing. ATC 2008. Lecture Notes in Computer Science, vol 5060. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69295-9_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69295-9_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69294-2

  • Online ISBN: 978-3-540-69295-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics