Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3342559.3365336acmotherconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Protecting the stack with PACed canaries

Published: 27 October 2019 Publication History

Abstract

Stack canaries remain a widely deployed defense against memory corruption attacks. Despite their practical usefulness, canaries are vulnerable to memory disclosure and brute-forcing attacks. We propose PCan, a new approach based on ARMv8.3-A pointer authentication (PA), that uses dynamically-generated canaries to mitigate these weaknesses and show that it provides more fine-grained protection with minimal performance overhead.

References

[1]
ARM Ltd. 2017. ARMv8 Architecture Reference Manual, for ARMv8-A architecture profile (ARM DDI 0487C.a). https://static.docs.arm.com/ddi0487/ca/DDI0487C_a_armv8_arm.pdf.
[2]
Crispin Cowan et al. 1998. StackGuard: Automatic adaptive detection and prevention of buffer-overflow attacks. In Proc. USENIX Security'98. 63--78.
[3]
Crispin Cowan et al. 1999. Protecting systems from stack smashing attacks with StackGuard. Linux Expo (1999).
[4]
Hiroaki Etoh and Kunikazu Yoda. 2000. Protecting from stack-smashing attacks. Technical Report. IBM Research Division, Tokyo Research Laboratory.
[5]
William H Hawkins et al. 2016. Dynamic canary randomization for improved software security. In Proc. ACM CISR '16. 9:1--9:7.
[6]
Hong Hu et al. 2016. Data-Oriented Programming: On the Expressiveness of Non-control Data Attacks. In Proc. IEEE S&P '16. 969--986.
[7]
Hans Liljestrand et al. 2019. Authenticated Call Stack. In Proc. ACM/EDAC/IEEE DAC'19. Article 223.
[8]
Hans Liljestrand et al. 2019. PAC it up: towards pointer integrity using ARM pointer authentication. In Proc. USENIX Security '19. 177--194.
[9]
David Litchfield. 2003. Defeating the stack based buffer overflow preventation mechanism of Microsoft Windows 2003 Server. In Black Hat Asia '03.
[10]
Hector Marco-Gisbert and Ismael Ripoll. 2013. Preventing brute force attacks against stack canary protection on networking servers. In Proc. IEEE NCA '13. 243--250.
[11]
Nick Nikiforakis et al. 2013. HeapSentry: kernel-assisted protection against heap overflows. In Proc. DIMVA 13'. 177--196.
[12]
Elias Levy (Aleph One). 1996. Smashing the stack for fun and profit. Phrack 7, 19 (1996). http://phrack.org/issues/49/14.html
[13]
Theofilos Petsios et al. 2015. Dynaguard: Armoring canary-based protections against brute-force attacks. In Proc. ACM ACSAC '15. 351--360.
[14]
Qualcomm. 2017. Pointer Authentication on ARMv8.3. https://www.qualcomm.com/media/documents/files/whitepaper-pointer-authentication-on-armv8-3.pdf.
[15]
William K Robertson et al. 2003. Run-time detection of heap-based overflows. In Proc. USENIX LISA '03. 51--60.
[16]
Hovav Shacham. 2007. The geometry of innocent flesh on the bone: Return-into-libc without function calls (on the x86). In Proc. ACM CCS '07. 552--561.
[17]
Solar Designer. 1997. lpr LIBC RETURN exploit. http://insecure.org/sploits/linux.libc.return.lpr.sploit.html
[18]
Raoul Strackx et al. 2009. Breaking the memory secrecy assumption. In Proc. ACM EuroSec '09. 1--8.
[19]
László Szekeres et al. 2013. SoK: Eternal war in memory. In Proc. IEEE S&P '13. 48--62.
[20]
Zhilong Wang et al. 2018. To detect stack buffer overflow with polymorphic canaries. In Proc. IEEE/IFIP DSN '18. IEEE, 243--254.

Cited By

View all
  • (2024)DMTI: Accelerating Memory Error Detection in Precompiled C/C++ Binaries with ARM Memory Tagging ExtensionProceedings of the 19th ACM Asia Conference on Computer and Communications Security10.1145/3634737.3637655(1173-1185)Online publication date: 1-Jul-2024
  • (2024)kCPA: Towards Sensitive Pointer Full Life Cycle Authentication for OS KernelsIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2023.333426821:4(3768-3784)Online publication date: Jul-2024
  • (2024)WindowGuardian: Return Address Integrity for ESP32 Microcontrollers with Xtensa Processors using AES and Register Windows2024 13th Mediterranean Conference on Embedded Computing (MECO)10.1109/MECO62516.2024.10577840(1-8)Online publication date: 11-Jun-2024
  • Show More Cited By

Index Terms

  1. Protecting the stack with PACed canaries

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    SysTEX '19: Proceedings of the 4th Workshop on System Software for Trusted Execution
    October 2019
    42 pages
    ISBN:9781450368889
    DOI:10.1145/3342559
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 October 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    SOSP '19

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)20
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 10 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)DMTI: Accelerating Memory Error Detection in Precompiled C/C++ Binaries with ARM Memory Tagging ExtensionProceedings of the 19th ACM Asia Conference on Computer and Communications Security10.1145/3634737.3637655(1173-1185)Online publication date: 1-Jul-2024
    • (2024)kCPA: Towards Sensitive Pointer Full Life Cycle Authentication for OS KernelsIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2023.333426821:4(3768-3784)Online publication date: Jul-2024
    • (2024)WindowGuardian: Return Address Integrity for ESP32 Microcontrollers with Xtensa Processors using AES and Register Windows2024 13th Mediterranean Conference on Embedded Computing (MECO)10.1109/MECO62516.2024.10577840(1-8)Online publication date: 11-Jun-2024
    • (2024)S2malloc: Statistically Secure Allocator for Use-After-Free Protection and MoreDetection of Intrusions and Malware, and Vulnerability Assessment10.1007/978-3-031-64171-8_2(23-43)Online publication date: 17-Jul-2024
    • (2023)Parity Shadow Stack: Dynamic Instrumentation based Control Flow Security for IoT Devices2023 IEEE International Performance, Computing, and Communications Conference (IPCCC)10.1109/IPCCC59175.2023.10253861(357-364)Online publication date: 17-Nov-2023
    • (2022)SaVioR: Thwarting Stack-Based Memory Safety Violations by Randomizing Stack LayoutIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2021.306384319:4(2559-2575)Online publication date: 1-Jul-2022
    • (2022)Toward Register Spilling Security Using LLVM and ARM Pointer AuthenticationIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.319751141:11(3757-3766)Online publication date: Nov-2022
    • (2022)Always-Sustainable Software Security2022 IEEE 8th International Conference on Network Softwarization (NetSoft)10.1109/NetSoft54395.2022.9844077(480-485)Online publication date: 27-Jun-2022
    • (2021)A Taxonomy of Defenses against Memory Corruption Attacks2021 44th International Convention on Information, Communication and Electronic Technology (MIPRO)10.23919/MIPRO52101.2021.9596951(1196-1201)Online publication date: 27-Sep-2021
    • (2021)A Security Enhanced Key Management Service for ARM Pointer AuthenticationApplied Cryptography in Computer and Communications10.1007/978-3-030-80851-8_4(41-55)Online publication date: 5-Jul-2021

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media