TY - GEN
T1 - Assessing the Impact of Efficiently Protecting Ten Million Stack Objects from Memory Errors Comprehensively
AU - Huang, Kaiming
AU - Sampson, Jack
AU - Jaeger, Trent
N1 - Publisher Copyright:
© 2023 IEEE.
PY - 2023
Y1 - 2023
N2 - Despite extensive research on defenses, exploitations on stack memory errors remain a major concern. Previous work has focused primarily on protecting code pointers (e.g., return addresses), but stack data may be compromised due to spatial, type, and temporal memory errors. Recent work on the DATAGUARD system proposes an efficient defense for protecting a significant fraction of stack data from memory errors comprehensively. In this paper, we present an evaluation of DATAGUARD that encompasses several key aspects. Firstly, We assess its applicability and scalability by deploying it on 1,245 packages in Ubuntu 20.04. Secondly, we examine DATAGUARD's effectiveness in identifying and protecting stack data on the evaluation dataset-results show that DATAGUARD is able to protect 12.5 million stack objects, which is around 86% of the total stack objects in these packages. Thirdly, we examined the security enhancements offered by DATAGUARD by evaluating the fraction of protected control data, system calls, and function parameters, as well as the mitigation of real-world CVE exploits. Lastly, we compared the protection of DATAGUARD to CCured and Safe Stack, which shows that DATAGUARD greatly increased the number and fraction of safe stack objects on the analyzed Linux packages. The overall evaluation of DATAGUARD demonstrates the capability of achieving more comprehensive protection with low cost from enforcing lightweight isolation, thus enabling practical adoption to protect software against exploitations on stack memory errors in production environments.
AB - Despite extensive research on defenses, exploitations on stack memory errors remain a major concern. Previous work has focused primarily on protecting code pointers (e.g., return addresses), but stack data may be compromised due to spatial, type, and temporal memory errors. Recent work on the DATAGUARD system proposes an efficient defense for protecting a significant fraction of stack data from memory errors comprehensively. In this paper, we present an evaluation of DATAGUARD that encompasses several key aspects. Firstly, We assess its applicability and scalability by deploying it on 1,245 packages in Ubuntu 20.04. Secondly, we examine DATAGUARD's effectiveness in identifying and protecting stack data on the evaluation dataset-results show that DATAGUARD is able to protect 12.5 million stack objects, which is around 86% of the total stack objects in these packages. Thirdly, we examined the security enhancements offered by DATAGUARD by evaluating the fraction of protected control data, system calls, and function parameters, as well as the mitigation of real-world CVE exploits. Lastly, we compared the protection of DATAGUARD to CCured and Safe Stack, which shows that DATAGUARD greatly increased the number and fraction of safe stack objects on the analyzed Linux packages. The overall evaluation of DATAGUARD demonstrates the capability of achieving more comprehensive protection with low cost from enforcing lightweight isolation, thus enabling practical adoption to protect software against exploitations on stack memory errors in production environments.
UR - http://www.scopus.com/inward/record.url?scp=85175000825&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85175000825&partnerID=8YFLogxK
U2 - 10.1109/SecDev56634.2023.00021
DO - 10.1109/SecDev56634.2023.00021
M3 - Conference contribution
AN - SCOPUS:85175000825
T3 - Proceedings - 2023 IEEE Secure Development Conference, SecDev 2023
SP - 67
EP - 74
BT - Proceedings - 2023 IEEE Secure Development Conference, SecDev 2023
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2023 IEEE Secure Development Conference, SecDev 2023
Y2 - 18 October 2023 through 20 October 2023
ER -