Skip to main content

Heap Management for Trusted Operating Environments

  • Chapter
  • First Online:
Trusted Computing for Embedded Systems

Abstract

Dynamic memory managers are responsible for organizing the dynamically allocated data in memory and also servicing the application’s memory requests (allocation/deallocation) at run-time. In today’s trusted embedded systems, dynamic memory management is a mechanism implemented in order to interact with modern applications. However, the majority of these applications are not self secured. The combination of scripting languages, fast development and user centralized environments ends up with applications full of security flaws. In this chapter, we will present the Dynamic Memory Management (DMM) design space and all the orthogonal decision trees including heap protection actions. Also, we will present methods for securing memory allocators for modern embedded systems.

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

Access this chapter

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 EPUB and 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
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Institutional subscriptions

References

  1. Andersen, S., Abella, V.: Data execution prevention. Changes to functionality in microsoft windows xp service pack 2, part 3: memory protection technologies (2004). http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2mempr.mspx

  2. Atienza, D., Mendias, J.M., Mamagkakis, S., Soudris, D., Catthoor, F.: Systematic dynamic memory management design methodology for reduced memory footprint. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 11(2), 465–489 (2006)

    Google Scholar 

  3. Berger, E.D., Zorn, B.G.: Diehard: probabilistic memory safety for unsafe languages. In: ACM SIGPLAN Notices, vol. 41, pp. 158–168. ACM, New York, NY, USA (2006)

    Google Scholar 

  4. Chen, S., Xu, J., Sezer, E.C., Gauriar, P., Iyer, R.K.: Non-control-data attacks are realistic threats. In: Usenix Security, Baltimore, vol. 5 (2005)

    Google Scholar 

  5. Conover, M.: w00w00 on heap overflows (1999). http://www.w00w00.org/files/articles/heaptut.txt

  6. Cowan, C., Beattie, S., Johansen, J., Wagle, P.: Pointguard tm: protecting pointers from buffer overflow vulnerabilities. In: Proceedings of the 12th Conference on USENIX Security Symposium, Washington, DC, vol. 12, pp. 91–104 (2003)

    Google Scholar 

  7. Dobrovitski, I.: Exploit for cvs double free() for linux pserver (2003). http://seclists.org/lists/bugtraq/2003/Feb/0042.html/

  8. eTutorials: Avl trees. http://en.wikipedia.org/wiki/AVL_tree

  9. Gonchigar, S.: Ani vulnerability: history repeats, SANS Institute (2007)

    Google Scholar 

  10. Kiriansky, V., Bruening, D., Amarasinghe, S.P.: Secure execution via program shepherding. In: USENIX Security Symposium, San Francisco, vol. 92 (2002)

    Google Scholar 

  11. Novark, G., Berger, E.D.: Dieharder: securing the heap. In: Proceedings of the 17th ACM Conference on Computer and Communications Security, Chicago, pp. 573–584. ACM (2010)

    Google Scholar 

  12. Robertson, W.K., Kruegel, C., Mutz, D., Valeur, F.: Run-time detection of heap-based overflows. In: LISA, San Diego, vol. 3, pp. 51–60 (2003)

    Google Scholar 

  13. Single list. https://en.wikipedia.org/wiki/Linked_list#Singly_linked_list

  14. Sotirov, A.: Heap feng shui in javascript. In: Black Hat Europe, Amsterdam (2007)

    Google Scholar 

  15. Team, P.: Pax address space layout randomization (aslr) (2003). http://pax.grsecurity.net/docs/aslr.txt

  16. Tuck, N., Calder, B., Varghese, G.: Hardware and binary modification support for code pointer protection from buffer overflow. In: 37th International Symposium on Microarchitecture, 2004 (MICRO-37 2004), Portland, pp. 209–220. IEEE (2004)

    Google Scholar 

  17. Xu, J., Kalbarczyk, Z., Iyer, R.K.: Transparent runtime randomization for security. In: Proceedings of the 22nd International Symposium on Reliable Distributed Systems, 2003, Florence, pp. 260–269. IEEE (2003)

    Google Scholar 

  18. Younan, Y., Tenebras, V., Younan, D.Y., Vermeir, D.: An overview of common programming security vulnerabilities and possible solutions, Katholieke Universiteit, Leuven (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iraklis Anagnostopoulos .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Anagnostopoulos, I., Koutras, I., Andrikos, C., Soudris, D. (2015). Heap Management for Trusted Operating Environments. In: Candaele, B., Soudris, D., Anagnostopoulos, I. (eds) Trusted Computing for Embedded Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-09420-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09420-5_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09419-9

  • Online ISBN: 978-3-319-09420-5

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics