错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Satellite: Effective and Efficient Stack Memory Protection Scheme for Unsafe Programming Languages

  • Hongjoo Jin,
  • Sumin Yang,
  • Moon Chan Park,
  • Haehyun Cho,
  • Dong Hoon Lee

摘要

Memory unsafe languages are still widely used in a lot of critical software such as operating system kernels and browsers, and thus, memory corruption attacks remain a significant threat. To mitigate the threat, various defense approaches have been proposed such as the Address Space Layout Randomization (ASLR) and Stack Canary. However, adversaries have demonstrated the capability to bypass them, which results in upgraded defense systems. To complement the ASLR, the stack isolation technique that conceals sensitive objects stored in stack memory by relocating them to a “safe region” was introduced. Nonetheless, advanced information disclosure attacks, such as Allocation Oracle, have been employed to discover the location of the safe region. In this work, we introduce Satellite as an effective and efficient approach for safeguarding the stack memory against memory vulnerabilities and information disclosure attacks. The proposed technique guarantees the safety of the return address stored in the safe region, protecting it from vulnerabilities like buffer overflows and information disclosure attacks. To easily support general C/C++ programs, we implemented Satellite in the LLVM compiler framework. To demonstrate the efficiency of Satellite, we applied Satellite to SPEC CPU2006, SPEC CPU2017, and the Nginx web server to assess the effectiveness of the proposed technique. The assessment findings indicate that Satellite incurs an average performance overhead of 0.29%