# 02 - 系统OS
# 2.1 安全开发
# 2.1.1 去除敏感调试信息
系统组件日志应不含敏感信息。
# 2.1.2 接口权限认证
系统组件对外提供的接口,应增加权限校验,禁止无权限的应用直接调用。
# 2.2 安全配置
# 2.2.1 服务和端口最小化
系统应关闭SSH、Telnet、FTP等高危服务及其端口,列表可参考百度《高危服务和端口列表》。如的确有调试需求如ADB调试,应通过服务端下发调试证书的方式,在本地安装后进行安全调试。
# 2.2.2 特权功能接口
系统应关闭可直接进入设备系统的特权能力或接口,如工厂模式、未公开功能接口、调试后门等。如的确有业务需要,应加入鉴权机制。对于设备公共使用场景如酒店智能音箱应隐藏开发者选项入口,关闭未知来源安装,禁止通过浏览器安装应用。
# 2.2.3 强制访问控制
系统应开启SELinux,缓解漏洞利用。
# 2.2.4 文件系统权限
系统关键分区(system,vendor,boot等)需设置文件访问权限,限制非系统组件外的应用对关键分区进行读写,防止恶意应用读取修改关键数据。
# 2.2.5 启动验证
系统应开启启动验证(Verify Boot),在启动阶段验证Boot分区和其他分区(system,vendor等)的合法性,且涉及到的所有密钥均不能使用默认密钥。
# 2.2.6 Bootloader锁
系统Bootloader锁需处于锁定状态,并禁止用户解锁。
# 2.2.7 漏洞缓解措施
系统应开启各种漏洞缓解措施,以缓解漏洞对系统造成的危害。
安全选项 | 要求 |
---|---|
KASLR(内核地址随机化) | 必须开启 |
Canary(栈溢出检测) | 必须开启 |
PAN(禁止内核访问用户态数据) | 必须开启 |
PXN(禁止内核执行用户态代码) | 必须开启 |
UAO(用户访问覆盖) | 必须开启 |
KCFI(内核控制流完整性) | 必须开启 |
dmesg_restrict(限制普通用户查看dmesg信息) | 必须开启 |
kptr_restrict(限制Root和普通用户查看内核符号地址) | 必须开启 |
# 2.3 系统更新
# 2.3.1 系统OTA
系统应具备OTA机制,能远程对系统进行升级,及时修复安全问题。
# 2.3.2 OTA包加密
系统OTA升级包需加密,防止攻击者逆向破解。
# 2.4 安全管理
# 2.4.1 系统版本
Android系统版本应选用当年可用的最新版本。
# 2.4.2 安全评估
系统需通过安全准出评估,所有高危漏洞修复后才能上线发布。
# 2.4.3 安全补丁
系统应及时修复高危安全漏洞,已通告的高危安全漏洞不应存在6个月以上。
# 2.4.4 安全助手
系统应集成小度系统安全助手,能对安装的应用进行黄反、病毒检测,且对设备进行异常安全状态检测。
# 2.5 可信执行环境
# 2.5.1 TEEOS
系统应集成TEEOS。
# 2.5.2 安全存储
系统应提供安全存储服务。
# 2.5.3 设备认证
系统应提供基于TEE的设备认证服务。