塞讯验证
- 关注
近日,ModelDB和MLflow分别爆出安全漏洞,如果成功利用漏洞,攻击者可以从系统中窃取机器学习模型等机密数据,甚至控制整个机器学习系统。
机器学习(ML)的应用在过去几年中呈指数级增长,被用于分析和解释数据的模式及结构,以实现无需人工交互即可完成学习、推理和决策等行为的目的。已经为人工智能诸多领域提供了支持,包括情感分析、图像分类、面部检测、威胁情报等。
随着越来越多的机器学习模型被开发,针对机器学习模型的网络攻击也层出不穷,更多涉及机器学习训练、部署、管理的组件被黑客关注,并爆出各种各样的漏洞和风险。
威胁的增加促使 OWASP 发布了机器学习Top10漏洞列表。其中ML05-2023 模型窃取排在了第五位。
ModelDB 安全漏洞(CVE-2023-6023)
▌漏洞描述
ModelDB是一个用于机器学习模型版本控制、元数据和实验管理的开源系统,可以对机器学习模型进行版本转换,包括它们的组成代码、数据、配置和环境,并在模型生命周期中跟踪ML元数据。
ModelDB 存在CVE-2023-6023安全漏洞,该漏洞源于artifact_path URL参数存在远程文件包含(LFI)漏洞。攻击者可利用该漏洞读取ModelDB服务器文件系统上的任何文件。
▌漏洞复现
靶场环境搭建:
- 直接使用docker启动,docker-compose -f docker-compose-all.yaml up
漏洞POC:
▌漏洞成因
对artifact_path参数未进行进行校验。
▌影响范围
<= modeldb 2.0.4
▌塞讯验证规则
12月12日,针对该漏洞的攻击模拟已经加入到塞讯安全度量验证平台中,您可以在塞讯安全度量验证平台中搜索关键词“ModelDB”或“CVE-2023-6023”获取相关攻击模拟验证动作,从而验证您的安全防御体系是否能够有效应对该漏洞,平台以业界独有方式确保您的验证过程安全无害。
MLflow 安全漏洞(CVE-2023-6015)
▌漏洞描述
MLflow是一个能够覆盖机器学习全流程生命周期(从数据准备到模型训练到最终部署)的开源机器学习平台,它提供了一组工具,可以帮助数据科学家和工程师跟踪实验、重现结果、部署模型并共享代码。MLflow 是由 Databricks 公司开发并开源的,目前已经成为机器学习领域中最受欢迎的平台之一。
MLflow 存在CVE-2023-6015安全漏洞,该漏洞源于允许攻击者通过路径遍历访问操作系统中的任意文件。
▌渗透(绕过)思路
如果不清楚在 Windows 上以 C: 开头的路径,一般情况下 Windows 上路径以 C: 开头,可以删除开头删除驱动器号和冒号。
例如,将路径 C:../.ssh/id_rsa 将转换为 ../.ssh/id_rsa。这样我们就可以突破根目录直至第一层。
到达根 mlflow 目录的一个最好的办法是 /api/2.0/mlflow-artifacts/artifacts 路径。
- 我们假设目录根是 C://Users/User/mlflowui,那么查询路径 /api/2.0/mlflow-artifacts/artifacts 允许我们到达根 C://Users/User/mlflowui 目录并从 C://Users/User 获取文件,其中可以包含 SSH 密钥。
▌攻击流程
攻击生成的文件会存储在 C://Users/test/.ssh/id_rsa
Add secret text into C://Users/test/.ssh/id_rsa
创建mlfloui文件夹,从.\当前目录下运行mlflow
运行 mlflow uiin C://Users/test/mlflowui
写入 内容 curl命令
curl -X PUT --data-binary test "http://127.0.0.1:5000/api/2.0/mlflow-artifacts/artifacts/C:../.ssh/id_rsa"
读取内容curl命令
curl -vv "http://127.0.0.1:5000/api/2.0/mlflow-artifacts/artifacts/C:../.ssh/id_rsa"
▌漏洞修复
升级版本至 mlflow - 2.8.1
▌漏洞PoC
使用PUT进行发包,成功写入文件docker文件中成功创建文件id_rsa
配合读取漏洞,正确读取到PUT写入的文件。
▌塞讯验证规则
12月12日,针对该漏洞的攻击模拟已经加入到塞讯安全度量验证平台中,您可以在塞讯安全度量验证平台中搜索关键词“MLflow”或“CVE-2023-6015”获取相关攻击模拟验证动作,从而验证您的安全防御体系是否能够有效应对该漏洞,平台以业界独有方式确保您的验证过程安全无害。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)