MASWE-0116: 未使用编译器提供的安全功能
占位符漏洞
此弱点尚未创建,它是一个**占位符**。但您可以查看其状态或自行开始处理。如果问题尚未分配,您可以请求将其分配给您,并按照我们的指南提交包含该弱点新内容的 PR。
初始描述或提示¶
应用程序在编译时未启用内存保护机制,如栈保护(stack canaries)、地址空间布局随机化(ASLR)、不可执行内存或位置无关可执行文件(PIE),从而降低了对内存破坏攻击(CWE-693)的抵抗力。
注意:在较新版本的 Android 中,PIC 无法关闭,NDK 不再链接此类库。来源。替代标题可以是“内存反利用机制未实现”。
相关主题¶
- PIC
- 栈保护
参考资料¶
- https://cs.android.com/android/platform/superproject/main/+/main:bionic/linker/linker_main.cpp;l=397?q=linker_main&ss=android%2Fplatform%2Fsuperproject%2Fmain
- https://partners.trellix.com/enterprise/en-us/assets/white-papers/wp-secure-coding-android-applications.pdf
- https://mas.owasp.ac.cn/MASTG/0x05i-Testing-Code-Quality-and-Build-Settings/#binary-protection-mechanisms
- https://mas.owasp.ac.cn/MASTG/0x06i-Testing-Code-Quality-and-Build-Settings/#binary-protection-mechanisms
- https://sensepost.com/blog/2021/on-ios-binary-protections/
- https://www.sans.org/blog/stack-canaries-gingerly-sidestepping-the-cage/
MASTG v1 覆盖范围¶
MASTG v1 中没有与此弱点相关的测试。
测试¶
MASTG-TEST-0223: 栈保护未启用 MASTG-TEST-0222: 位置无关代码 (PIC) 未启用 MASTG-TEST-0230: 自动引用计数 (ARC) 未启用 MASTG-TEST-0229: 栈保护未启用 MASTG-TEST-0228: 位置无关代码 (PIC) 未启用