msModeling安全声明¶
系统安全加固¶
- msModeling为开发、仿真和性能评估工具,不应作为线上生产业务服务使用。
- 为确保安全性,建议整包使用msModeling工具。如果需要二次开发,请自行关注并处理可能引入的安全风险。
- msModeling默认以命令行或本地Web UI方式使用。Web UI默认绑定
127.0.0.1,建议在本地启动使用,不建议暴露到公网或不可信网络。 - 如需通过
0.0.0.0、远程地址、Gradio share或反向代理等方式打开访问入口,请注意远程通信带来的安全风险,并自行配置访问控制、认证、网络隔离和传输加密。 - 本工具属于开发态工具,不限制安装属主与权限,不限制工具处理文件对象的属主与权限,需用户基于使用场景分配合适的属主、权限,并确保工具处理的文件内容安全可信。
- 建议用户在系统中配置开启ASLR(级别2),又称全随机地址空间布局随机化,可参考以下方式进行配置:
运行用户建议¶
出于安全性及权限最小化角度考虑,msModeling不应使用root等高权限账户安装或运行,建议使用普通用户权限执行。若工具使用依赖CANN(如性能数据库采集工具中的NPU replay与HCCL通信benchmark),为保证安全,应使用同一低权限用户默认安装的CANN包,执行source命令后不要随意修改set_env.sh中涉及的环境变量。
文件权限控制¶
在Linux或Unix环境下,安装或使用msModeling前请确认当前用户的umask设置,推荐设置为0027或更严格,以确保安装后的文件对其他用户和同组用户不可写,避免潜在的安全风险。
用户向工具提供输入文件作为命令输入时,建议提供的文件属主与工具进程属主一致,且文件权限他人不可修改(包括group、others)。工具落盘文件权限默认他人不可写,用户可根据需要自行对生成后的相关文件进行权限控制。
文件权限参考
| 类型 | 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------) |
漏洞安全声明¶
- 华为公司对产品漏洞管理的规定以“漏洞处理流程”为准,详细内容请参见漏洞处理流程。
- 如企业客户须获取漏洞信息,请查看安全通知。
- 安装依赖时,请注意使用满足条件的较新版本软件包,关注并修补存在的漏洞,尤其是已公开的CVSS打分大于7分的高危漏洞。
数据安全声明¶
msModeling使用过程中需要加载和保存模型配置、仿真结果、性能数据、日志文件等数据。用户在导入模型配置、YAML配置、性能trace或自定义脚本前,请自行确保数据来源可信及环境安全。
使用Hugging Face或ModelScope模型ID拉取配置时,可能触发transformers的trust_remote_code=True并执行远端Python代码;msModeling不对远端模型代码提供安全保证,建议使用经审查的本地绝对路径(安全本地模式)。若模型、配置或仿真数据需要保密,请在使用完毕后及时删除相关交付件,防止造成不必要的信息泄露。
构建安全声明¶
本项目通过uv或pip安装Python依赖,构建或安装过程中可能从GitCode、PyPI、PyTorch官方源、Hugging Face、ModelScope等地址下载源码、依赖包或模型配置。用户可根据需要配置可信镜像源或内网源,并自行对源代码目录和构建结果进行权限管控,降低安全风险。
运行安全声明¶
msModeling在运行异常时会退出进程并打印报错信息,建议根据报错提示定位具体错误原因,错误信息可能覆盖文件权限、模型解析、配置读取、数据落盘、性能采集、依赖环境等方面。
工具加载模型配置或大规模仿真数据时,如内存占用超出系统容量限制,可能引发错误并导致进程意外退出;生成结果超过磁盘剩余空间大小时,可能会导致异常退出。
若运行环境依赖CANN或NPU相关动态库,用户在使用前需要确保LD_LIBRARY_PATH等环境变量内容安全可信,指向路径不涉及软链接,且权限及属主符合安全预期,无法被第三方篡改,否则存在任意代码注入风险。
公开接口声明¶
msModeling项目采用Python开发,对外提供CLI命令行入口及Python API,公开接口均已在用户指南与快速入门资料中说明。Python等脚本语言以源码形式发布,建议直接使用资料说明的公开接口,不建议直接调用未明确公开的内部模块或接口。
安全函数使用说明¶
不强制禁用不安全函数,但推荐使用缓冲区长度作为参数明确传入的_s安全版本,如memset_s、memcpy_s等。
通信安全加固¶
- msModeling Web UI默认绑定
127.0.0.1,浏览器与服务在同一台机器上使用时属于localhost内通信。 - 若用户将Web UI绑定到非本地地址,或通过代理、端口转发、共享链接等方式远程访问,属于非默认安全使用模式,请自行关注远程通信带来的安全风险。
- 为了消减安全风险,建议通过防火墙、iptables、访问控制列表、VPN、nginx等反向代理工具及HTTPS加固通信安全,并限制可访问客户端范围。
- 性能数据库采集工具在采集通信算子性能数据场景下会使用
torchrun建立TCP通信,请仅在可信网络环境中使用,并在使用脚本进行通信脚本采集之前进行安全加固,参考昇腾pytorch仓通信安全加固。另外请确保MASTER_ADDR、MASTER_PORT等环境变量配置符合预期。
通信矩阵¶
通信矩阵信息
| 序号 | 源设备 | 源IP | 源端口 | 目的设备 | 目的IP | 目的端口(侦听) | 协议 | 端口说明 | 侦听端口是否可更改 | 认证方式 | 加密方式 | 所属平面 | 版本 | 特殊场景 | 备注 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 安装msModeling的PC | 127.0.0.1 | 系统分配随机端口 | 本机 | 127.0.0.1 | 默认2345 | HTTP | msModeling Web UI默认绑定本地回环地址,用于可视化配置与结果查看。 | 可更改,可通过--port或环境变量GRADIO_SERVER_PORT配置 |
不涉及 | 不涉及 | 管理面 | master | Web UI本地访问 | 默认不对外网暴露 |
| 2 | 安装msModeling的PC | 用户本机客户端IP地址 | 系统分配随机端口 | GitCode、PyPI、PyTorch、Hugging Face、ModelScope等公网服务器 | 对应公网服务器IP地址 | 443 | HTTPS | 安装依赖、克隆源码、下载模型配置或查阅在线资料时可能访问公网地址。 | 不涉及 | 不涉及 | SSL/TLS | 管理面 | master | 安装、构建、模型配置获取、在线文档查阅 | 可根据安全策略配置镜像源或内网源 |
| 3 | 安装msModeling的PC | 127.0.0.1或用户指定MASTER_ADDR |
系统分配随机端口 | 本机或多节点通信对端 | 127.0.0.1或用户指定MASTER_ADDR |
默认29500起或29700起,范围1024-65535 | TCP | 性能数据库采集工具通过torchrun进行HCCL通信benchmark或分布式算子replay时使用。 |
可更改,可通过MASTER_ADDR、MASTER_PORT配置 |
不涉及 | 不涉及 | 业务面 | master | 性能数据库采集场景 | 需NPU/CANN环境;多节点场景请确保网络可信 |
| 4 | vllm客户端 | vllm客户端通信ip地址 | 系统分配随机端口 | 自动寻优工具拉起的VLLM服务端 | vllm服务端绑定的IP地址 | 根据现网客户实际要求配置的固定端口,对应起服务时的--port字段,默认配置为8000 |
HTTP | 工具将通过命令行拉起客户环境中的推理服务,若客户未进行配置,则默认端口8000,否则使用客户配置指定端口拉起vllm服务 | 可更改,可通过起服务时的--port字段配置 |
不涉及 | 不涉及 | 数据面 | 所有版本 | 无 | 无 |