Rec SDK 安全声明
安全加固
Rec SDK组件安全加固请参考以下表格:
| 组件名称 | FAQ | 安全加固 |
|---|---|---|
| tf_rec_v1 | FAQ | 安全加固 |
| tf_rec_v2 | FAQ | 安全加固 |
| torch_rec_v1 | / | 安全加固 |
| torch_rec_v2 | / | 安全加固 |
运行用户建议
出于安全性及权限最小化角度考虑,不建议使用root等管理员类型账户使用Rec SDK组件。
文件权限控制
在使用Rec SDK时,您可能会进行profiling、调试等操作,建议您对相关目录及文件做好权限控制,以保证文件安全。
- 建议您在使用Rec SDK组件时,将umask调整为0027及以上,保障新增文件夹默认最高权限为750,文件默认最高权限为640。
- 建议您对个人数据、商业资产、源文件、训练过程中保存的各类文件等敏感内容做好权限管控,可参考下表设置安全权限。
文件权限参考
| 类型 | Linux权限参考最大值 |
|---|---|
| 用户主目录 | 750(rwxr-x---) |
| 程序文件(含脚本文件、库文件等) | 550(r-xr-x---) |
| 程序文件目录 | 550(r-xr-x---) |
| 配置文件 | 640(rw-r-----) |
| 配置文件目录 | 750(rwxr-x---) |
| 日志文件(记录完毕或者已经归档) | 440(r--r-----) |
| 日志文件(正在记录) | 640(rw-r-----) |
| 日志文件目录 | 750(rwxr-x---) |
| Debug文件 | 640(rw-r-----) |
| Debug文件目录 | 750(rwxr-x---) |
| 临时文件目录 | 750(rwxr-x---) |
| 维护升级文件目录 | 770(rwxrwx---) |
| 业务数据文件 | 640(rw-r-----) |
| 业务数据文件目录 | 750(rwxr-x---) |
| 密钥组件、私钥、证书、密文文件目录 | 700(rwx------) |
| 密钥组件、私钥、证书、加密密文 | 600(rw-------) |
| 加解密接口、加解密脚本 | 500(r-x------) |
构建安全声明
Rec SDK组件支持源码编译安装,在编译时会下载依赖第三方库并执行构建shell脚本,在编译过程中会产生临时程序文件和编译目录。用户可根据需要自行对源代码目录内的文件进行权限管控降低安全风险。
运行安全声明
- 建议用户结合运行环境资源状况编写对应训练脚本。若训练脚本与资源状况不匹配,如数据集加载内存大小超出内存容量限制、训练脚本在本地生成数据超过磁盘空间大小等情况,可能引发错误并导致进程意外退出。
- Rec SDK在运行异常时会退出进程并打印报错信息。建议用户根据报错提示定位具体错误原因,包括设定算子同步执行、查看CANN日志、解析生成的Core Dump文件等方式。
公网地址声明
Rec SDK的公网地址详见:公网地址
公开接口声明
参考API清单,Rec SDK提供了对外的自定义接口。如果一个函数在文档中有展示,则该接口是公开接口。否则,使用该功能前可以在社区询问该功能是否确实是公开的或意外暴露的接口,因为这些未暴露接口将来可能会被修改或者删除。
通信安全加固
Rec SDK提供分布式训练能力,支持在单机和多机场景下进行训练,需要进行网络通信。不同组件使用不同的分布式通信框架,通信开启的端口默认为全0侦听,为了降低安全风险,建议用户针对各组件的通信场景进行安全加固,如使用iptables配置防火墙,在运行分布式训练开始前限制外部对分布式训练使用端口的访问,在运行分布式训练结束后清理防火墙规则。
通用加固原则
- 网络隔离:建议将分布式训练集群部署在独立的内网环境中,避免直接暴露在公网
- 绑定内网IP:配置分布式训练框架时,将通信地址绑定到内网IP(如MASTER_ADDR绑定到内网IP),而非0.0.0.0
- 防火墙规则:使用iptables等防火墙工具限制端口访问,仅允许训练节点间通信
- 端口清理:分布式训练结束后及时清理防火墙规则和释放端口
torch_rec_v1/torch_rec_v2组件通信安全加固
torch_rec_v1/torch_rec_v2组件使用torch.distributed进行分布式通信,主要使用TCP协议,通过环境变量MASTER_PORT配置主节点侦听端口。组件通信安全加固参考PyTorch的通信安全加固。
tf_rec_v2组件通信安全加固
tf_rec_v2组件使用Horovod+MPI进行分布式通信,MPI使用动态端口范围进行通信。组件通信安全加固参考通信安全加固。
通信矩阵
Rec SDK提供分布式训练能力,支持在单机和多机场景下进行训练,需要进行网络通信。通信端口见通信矩阵信息。用户需要注意并保障节点间通信网络安全,可以使用iptables等方式消减安全风险,可参考通信安全加固进行网络安全加固。
漏洞机制说明
参考昇腾社区漏洞机制说明。
附录
安全公告(SA)
目前在维护版本,无安全漏洞
安全说明(SN)
涉及第三方的开源组件部分漏洞说明:无