• 文档 >
  • ⚠️ 注意:有限维护
快捷方式

⚠️ 注意:有限维护

本项目不再积极维护。虽然现有版本仍然可用,但没有计划的更新、错误修复、新功能或安全补丁。用户应注意,漏洞可能无法得到解决。

安全策略

支持的版本

版本 支持
0.11.1 :white_check_mark:

我们如何保障安全

TorchServe 尽可能地依赖自动化工具进行安全扫描。特别是,我们支持

  1. 依赖分析:使用 Dependabot

  2. Docker 扫描:使用 Snyk

  3. 代码分析:使用 CodeQL

重要安全指南

  1. TorchServe 监听以下端口

    1. HTTP - 8080, 8081, 8082

    2. gRPC - 7070, 7071

    这些端口默认情况下可供 localhost 访问。可以按照 HTTPgRPC 的指南配置地址。TorchServe 不会阻止用户将地址配置为任何值,包括通配符地址 0.0.0.0。请注意将地址配置为 0.0.0.0 的安全风险,这将允许主机上的所有地址(包括公开可访问的地址,如果存在)访问监听上述端口的 TorchServe 端点。

  2. 默认情况下,TorchServe 的 Docker 镜像配置为将端口 8080, 8081, 8082, 7070, 7071 暴露给主机。启动容器时,请将容器暴露的端口映射到 localhost 端口或特定 IP 地址,如本安全指南所示。

  3. 请务必验证与 TorchServe 一起使用的 .mar 文件的真实性。

    1. 从不可信来源从互联网下载的 .mar 文件可能包含恶意代码,从而损害应用程序的完整性。

    2. TorchServe 执行打包在 mar 文件中的任意 python 代码。请确保您已审核过您使用的代码是安全的和/或来自您信任的来源。

    3. TorchServe 支持自定义插件处理器。可以使用它们扩展 TorchServe 功能,以便使用以下工具执行运行时安全扫描,例如

      • Clamd: https://pypi.ac.cn/project/clamd/

      • VirusTotal: https://virustotal.github.io/vt-py/

      • Fickling: https://github.com/trailofbits/fickling

    4. 在容器环境中运行 TorchServe 并加载不可信的 .mar 文件并不能从安全角度保证隔离。

  4. 默认情况下,TorchServe 允许您注册来自所有 URL 的模型。请务必在 config.properties 中设置 allowed_urls 参数来限制此行为。您可以在配置指南中找到更多详细信息。

    • 在 config.properties 中需要 use_env_allowed_urls=true 才能从环境变量中读取 allowed_urls

  5. 启用 SSL

    TorchServe 支持两种配置 SSL 的方式

    1. 使用密钥库

    2. 使用私钥/证书文件

    您可以在配置指南中找到更多详细信息。

  6. 保护您的模型免受不良输入和提示注入。一些建议

    1. 预分析:检查模型在默认情况下暴露于提示注入(例如使用模糊测试进行提示注入)时的表现。

    2. 输入净化:在向模型馈送数据之前,严格净化输入。这包括以下技术

      • 验证:强制执行允许的字符和数据类型的严格规则。

      • 过滤:移除潜在的恶意脚本或代码片段。

      • 编码:将特殊字符转换为安全的表示形式。

      • 验证:运行工具来识别潜在的脚本注入(例如,检测提示注入尝试的模型)。

  7. 如果您打算使用共享内存并行运行多个模型,您有责任确保模型之间不会相互交互或访问彼此的数据。主要的关注领域包括租户隔离、资源分配、模型共享和硬件攻击。

  8. TorchServe 默认强制执行令牌授权:查看文档了解更多信息。

  9. 默认情况下,TorchServe 阻止您在启动后注册和删除模型。查看模型 API 控制文档了解更多信息。

报告漏洞

如果您发现漏洞,请将其报告至 https://#/whitehat 和 aws-security@amazon.com


© 版权所有 2020,PyTorch Serve 贡献者。

使用 Sphinx 构建,主题由 Read the Docs 提供。

文档

访问 PyTorch 全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源