Skip to main content

Modular protections against non-control data attacks

Author(s): Schlesinger, Cole; Pattabiraman, Karthik; Swamy, Nikhil; Walker, David; Zorn, Benjamin

Download
To refer to this page use: http://arks.princeton.edu/ark:/88435/pr1r840
Full metadata record
DC FieldValueLanguage
dc.contributor.authorSchlesinger, Cole-
dc.contributor.authorPattabiraman, Karthik-
dc.contributor.authorSwamy, Nikhil-
dc.contributor.authorWalker, David-
dc.contributor.authorZorn, Benjamin-
dc.date.accessioned2021-10-08T19:48:25Z-
dc.date.available2021-10-08T19:48:25Z-
dc.date.issued2014en_US
dc.identifier.citationSchlesinger, Cole, Karthik Pattabiraman, Nikhil Swamy, David Walker, and Benjamin Zorn. "Modular protections against non-control data attacks." Journal of Computer Security 22, no. 5 (2014): 699-742. doi:10.3233/JCS-140502en_US
dc.identifier.issn0926-227X-
dc.identifier.urihttps://www.cs.princeton.edu/~dpw/papers/yarra-jcs.pdf-
dc.identifier.urihttp://arks.princeton.edu/ark:/88435/pr1r840-
dc.description.abstractThis paper introduces YARRA, a conservative extension to C to protect applications from non-control data attacks. YARRA programmers specify their data integrity requirements by declaring critical data types and ascribing these critical types to important data structures. YARRA guarantees that such critical data is only written through pointers with the given static type. Any attempt to write to critical data through a pointer with an invalid type (perhaps because of a buffer overrun) is detected dynamically. We formalize YARRA’s semantics and prove the soundness of a program logic designed for use with the language. A key contribution is to show that YARRA's semantics are strong enough to support sound local reasoning and the use of a frame rule, even across calls to unknown, unverified code. We evaluate a prototype implementation of a compiler and runtime system for YARRA by using it to harden four common server applications against known non-control data vulnerabilities. We show that YARRA successfully defends the applications against these attacks. In our initial experiments, we find that the performance impact of YARRA is small, provided the amount of critical data is small and the application is not compute intensive.en_US
dc.format.extent699 - 742en_US
dc.language.isoen_USen_US
dc.relation.ispartofJournal of Computer Securityen_US
dc.rightsAuthor's manuscripten_US
dc.titleModular protections against non-control data attacksen_US
dc.typeJournal Articleen_US
dc.identifier.doi10.3233/JCS-140502-
pu.type.symplectichttp://www.symplectic.co.uk/publications/atom-terms/1.0/journal-articleen_US

Files in This Item:
File Description SizeFormat 
ModularProtectionNonControlDataAttacks.pdf544.45 kBAdobe PDFView/Download


Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.