Show simple item record

dc.contributor.authorEvans, Isaac
dc.contributor.authorLong, Fan
dc.contributor.authorOtgonbaatar, Ulziibayar
dc.contributor.authorShrobe, Howard E
dc.contributor.authorRinard, Martin C
dc.contributor.authorOkhravi, Hamed
dc.contributor.authorSidiroglou-Douskos, Stelios
dc.date.accessioned2018-02-22T21:23:24Z
dc.date.available2018-02-22T21:23:24Z
dc.date.issued2015-10
dc.identifier.isbn978-1-4503-3832-5
dc.identifier.urihttp://hdl.handle.net/1721.1/113878
dc.description.abstractControl flow integrity (CFI) has been proposed as an approach to defend against control-hijacking memory corruption attacks. CFI works by assigning tags to indirect branch targets statically and checking them at runtime. Coarse-grained enforcements of CFI that use a small number of tags to improve the performance overhead have been shown to be ineffective. As a result, a number of recent efforts have focused on fine-grained enforcement of CFI as it was originally proposed. In this work, we show that even a fine-grained form of CFI with unlimited number of tags and a shadow stack (to check calls and returns) is ineffective in protecting against malicious attacks. We show that many popular code bases such as Apache and Nginx use coding practices that create flexibility in their intended control flow graph (CFG) even when a strong static analyzer is used to construct the CFG. These flexibilities allow an attacker to gain control of the execution while strictly adhering to a fine-grained CFI. We then construct two proof-of-concept exploits that attack an unlimited tag CFI system with a shadow stack. We also evaluate the difficulties of generating a precise CFG using scalable static analysis for real-world applications. Finally, we perform an analysis on a number of popular applications that highlights the availability of such attacks.en_US
dc.description.sponsorshipUnited States. Defense Advanced Research Projects Agency (Grant FA8650-11-C-7192)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2810103.2813646en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceMIT Web Domainen_US
dc.titleControl Jujutsuen_US
dc.typeArticleen_US
dc.identifier.citationEvans, Isaac, et al. "Control Jujutsu: On the Weaknesses of Fine-Grained Control Flow Integrity." Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, 12-16 October, 2015, Denver, Colorado, ACM Press, 2015, pp. 901–13.en_US
dc.contributor.departmentLincoln Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorEvans, Isaac
dc.contributor.mitauthorLong, Fan
dc.contributor.mitauthorOtgonbaatar, Ulziibayar
dc.contributor.mitauthorShrobe, Howard E
dc.contributor.mitauthorRinard, Martin C
dc.contributor.mitauthorOkhravi, Hamed
dc.contributor.mitauthorSidiroglou-Douskos, Stelios
dc.relation.journalProceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security - CCS '15en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsEvans, Isaac; Long, Fan; Otgonbaatar, Ulziibayar; Shrobe, Howard; Rinard, Martin; Okhravi, Hamed; Sidiroglou-Douskos, Steliosen_US
dspace.embargo.termsNen_US
dc.identifier.orcidhttps://orcid.org/0000-0003-3322-656X
dc.identifier.orcidhttps://orcid.org/0000-0002-6232-3118
dc.identifier.orcidhttps://orcid.org/0000-0002-9993-9135
dc.identifier.orcidhttps://orcid.org/0000-0001-8095-8523
mit.licenseOPEN_ACCESS_POLICYen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record