# 03 - 应用程序
# 3.1 安全开发
# 3.1.1 漏洞缓解措施
编译C/C++应用时应开启各种漏洞缓解措施,如基址随机加载,堆栈不可执行,栈保护等。
安全选项 | 要求 |
---|---|
ASLR(地址空间布局随机化) | 必须开启 |
PIE(位置无关可执行程序) | 必须开启 |
NX(堆栈不可执行) | 必须开启 |
CANARY(栈Cookie防溢出) | 必须开启 |
# 3.1.2 调试功能和日志
编译制作正式发行版的应用时,应去除非必要的调试功能,并进行鉴权。应用日志应不包含敏感信息。
# 3.1.3 权限最小化原则
应用需要根据功能需求来申请权限,满足为用户提供执行其工作职责所需的最小权限等级。
# 3.1.4 对外接口
应用非必要不对外提供接口。必须对外提供的接口,应增加权限校验,拒绝未授权者调用接口。
# 3.1.5 防网络抓包
编译制作正式发行版的应用时,应对重要功能进行网络抓包防护。
# 3.1.6 网络端口
- 网络端口服务上线前必须通过安全评估;
- 监听端口的服务进程不能以系统权限启动;
- 不能接受远程输入命令执行;
# 3.1.7 混淆和加固
- 对外发布的应用应开启代码混淆;
- 重要应用应使用加固保护。
# 3.2 安全管理
# 3.2.1 安全准出
应用发版前需要通过安全部的应用安全和隐私合规扫描,高危漏洞全部修复后才能上线。
# 3.2.2 三方SDK和APP引入
外部引入的三方SDK和APP,需通过应用安全、隐私合规、病毒黄反扫描,无高危风险后才能引入。
← 02 - 系统OS 04 - 网络与通信 →