作者 | 陈峻
审校 | 重楼
今年初,随着DeepSeek惊艳全球,各个企业和组织都敏锐地察觉到了人工智能(AI)技术为其赋能的机遇。虽然居多IT专业人员都认为各项数字化服务都值得用AI进行提速提效,但是相对于All in AI的狂热,信息安全技术人员有必要在保持冷静的同时,积极筹备,尽快制定出针对那些涉及AI应用的安全性管控措施。
下面,我将以自己在企业中的项目经验,依次从网络、系统、应用、模型、数据、以及合规,六个层面和你讨论一些具体、可落地的安全检查要点。当然,为了达到不仅只针对AI应用的效果,我也与时俱进地借助了AI的帮助,让这些要点更具代表性和普遍性。
网络层面
跨域隔离与通信限制
- 限制模型的监听范围:仅允许其开放最少端口(如:11434)给本地(或内网)应用的访问与调用,并且需要持续验证端口的运行状态。
- 在AI系统的环境中部署Web应用防火墙WAF(如:ModSecurity),配置严格的防火墙规则,包括:对那些开放给公网的接口实施双向端口过滤,并且阻断内部端口的出入站流量。
- 将AI应用、API服务以及数据库等逻辑上相对独立的组件,尽量部署在不同的网段,以限制数据流的横向(东西向)移动。
- 在内网资源充分的情况下,进一步将AI训练、推理、及数据存储分别部署在独立的子网络区域,通过虚拟私有云(VPC)、防火墙实现逻辑隔离,以限制非授权的组件接入。
- 使用专网或专线连接的方式,访问跨区域或云端公共AI的API资源。
- 部署API网关(如:Kong或Amazon API Gateway)并启用IP白名单,以零信任架构(如:BeyondCorp)和安全组的方式,仅授权可信的组件、以及特定IP的设备访问API网关。
- 设置并启用流量清洗规则(如:使用Cloudflare或AWS Shield高级版),防御网络层面的分布式拒绝服务(DDoS)攻击。
- 避免Http的传统危险操作(如:Push/Delete/Pull等),以及WebSocket请求头,通过验证、鉴权、加密、流控、监控、以及记录的方式予以安全加固。
- 启用沙箱机制。例如:在带有AI互动式问答的页面上,若使用了<iframe>,则应启用sandbox属性,限制脚本执行、表单提交、弹出窗口等权限(例如:<iframe sandbox="allow-scripts allow-same-origin" src="..."></iframe>)。
- 启用内容安全策略(CSP),即:在HTTP头中配置Content-Security-Policy,仅允许可信域名加载资源(如:Content-Security-Policy: script-src 'self' https://trusted-ai-domain.com,或Content-Security-Policy: frame-ancestors 'self';)、以及同域名页面的嵌入,阻止恶意脚本的注入、以及恶意内容的加载。
- 防止跨站请求伪造(CSRF):为AI应用的API接口添加CSRF令牌验证,以及使用SameSite属性限制Cookie的跨站传递。
请求合法性验证
- Token鉴权:为JS SDK或iframe URL动态生成一次性访问令牌(Token),以验证请求来源合法性。
- Referer校验:服务端校验请求的Referer头,仅允许指定域名调用AI服务。
防篡改与劫持防护
- HTTPS强制加密:所有资源的加载和服务通信都必须使用HTTPS,以防止中间人攻击。
- 子资源完整性(SRI):为JS文件添加integrity哈希值,以确保第三方的脚本未被篡改。
- 代码混淆与压缩:对JS代码进行混淆和压缩,以增加逆向工程的难度。
系统层面
- 独立容器/虚拟机:将AI应用服务部署在独立的容器中,或使用容器技术(如Docker)来隔离AI应用的运行环境,实现与主业务系统的隔离,进而避免单点故障的扩散。
- 资源配额限制:对AI服务分配CPU、内存、请求速率/调用频率等配额,以防止遭遇资源耗尽攻击。
- 操作系统及容器镜像需遵循互联网安全中心(CIS)基准予以加固,禁用非必要的服务端口。
- 定期更新与补丁管理:及时更新系统、依赖库和AI应用框架,并修复新发现的漏洞。
- 用户需使用多因素认证(MFA)或SSO登录AI应用,以增强身份验证的安全性。
- 最小权限原则:AI应用及其相关服务对应的账号需运行在最小权限下,避免使用root或管理员权限,以减少攻击面。同时,应限制其对不同系统资源(如:文件系统、网络端口)的访问。
- 定期备份AI应用的配置和数据,以确保在发生故障时能够快速恢复。
应用层面
- 确保只有授权用户才能访问AI应用,实施严格的API认证和授权机制(如:OAuth 2.0或OpenID Connect等多因素认证)。
- 根据基于角色的访问控制(RBAC)或基于属性的访问控制(ABAC)原则,对AI服务接口按角色分配权限(如:仅客服管理员可访问完整日志等)。
- 为API添加签名机制(如:HMAC),以防止篡改。
- 限制API调用频率和范围,并通过定期更换API密钥,以实现密钥管理。
- 建立输入验证机制(如:使用正则表达式或白名单机制限制输入内容,对特殊字符进行转义或过滤),防止恶意提示词注入攻击,以及防止跨站脚本攻击(XSS)、SQL注入等攻击。
- 建立输出过滤机制,对输出数据进行编码(如:HTML编码、URL编码),以避免恶意脚本的执行。
- 使用安全的会话管理机制(如:JWT)。为了防止会话被劫持,使用强随机数生成会话ID,并在用户登出或超时后失效;同时设置会话超时机制,并定期更新会话ID,以及启用HttpOnly和Secure标志的Cookie,来防止XSS和中间人攻击。
- 监控AI服务的响应时间、错误率、输入内容特征,分析异常访问行为(如:Darktrace),即时对异常触发熔断机制并告警。
- 集中记录所有交互日志,以便对攻击事件开展追踪。
- 定期开展AI应用安全评估与测试(如:Garak),从基线检查、漏洞扫描、渗透测试、代码审计等及时发现并修复安全漏洞。
- 避免在错误提示信息中泄露敏感信息(如:堆栈跟踪信息),使用统一的错误处理机制。
- 定期使用静态代码分析工具(如:SonarQube)进行代码级别的审计。
模型层面
建立多层次保护机制(Depends in Depth)
- 在训练阶段,实施严格的数据清洗与验证流程,加密传输分布式训练数据(如:使用TensorFlow Federated),以防范污染或泄露。
- 在部署阶段,建立模型的完整性校验机制,防范未经授权的修改(如:对模型文件进行加密,使用数字签名验证模型),以确保二进制文件完整性。
- 在运行阶段,使用SIEM工具(如:Splunk、ELK)通过流量镜像等方式,实时予以推理监控和异常检测,及时发现模型异常行为与性能指标(如:Prometheus、Grafana)。
定期开展模型安全评估
- 建立攻击模拟测试集(如:用CleverHans模拟FGSM、PGD),开展对抗样本测试(如:Adversarial Robustness Toolbox)。
- 通过模型水印(如:IBM AI Fairness 360)检测模型对于篡改的鲁棒性。
- 检查模型的公平性(如:AI Fairness 360偏见分析工具包)与解释性(如:LIME/SHAP模型可解释性输出)。
数据层面
- 依据相关法律,对AI应用的训练、使用、以及产生的数据予以分级(至少包括:公开、内部、机密)。l
- 最小化数据采集:仅收集AI应用服务必需的数据(如:用户问题文本),避免存储无关信息(如:IP、设备指纹等)。
- 匿名化处理:对在对话信息中出现的姓名、身份证号等用户身份信息,予以替换或动态遮蔽(如:使用Oracle DVE)、以及脱敏操作(如:Python Faker库),确保数据不可被回溯到个人。
- 端到端加密:A.对训练数据的流转过程启用同态加密(如:Microsoft SEAL);B.对推理结果返回的敏感数据(如:人事/财务)使用TLS 1.2/1.3(即HTTPS)进行传输加密,并配置证书管理系统(如:Let's Encrypt和Certbot);C.客户端与服务端应采用强加密算法(如:AES-256)配合密钥轮换(如AWS KMS),对数据库或文件系统予以存储加密。
合规层面
- 用户提示词过滤:设置用户问题违规提示、拦截、以及标准答复话术。
- 用户知情同意:在用户首次使用AI应用时,应以通知的形式提示并告知行为规范,以避免输入个人与业务敏感信息。
- 隐私保护:对照GDPR、CCPA、HIPAA、PIPL等隐私相关的法规,建立检查清单,采用横向联邦学习(如:FATE框架),以确保用户数据处理的透明性和合法性。
- 制定AI伦理准则,对照《生成式AI服务管理暂行办法》建立合规检查清单,重点落实算法备案、内容标识等义务,确保AI应用的透明性和可解释性。
- 建立AI合规的审查机制,确保数据存储和处理被限制在特定区域内,审查是否存在数据跨境传输。
- 确保第三方服务提供商符合相关法规(如:ISO 27001、SOC 2),按需签订数据保护协议(DPA),以明确责任。
- 持续治理AI应用安全(如:参照《LLM安全与治理检查清单》),完善事件响应流程(如:参照NIST SP 800-53)。
- 审计与报告:定期进行安全审计,生成合规报告,以确保符合相关法规和标准。
小结
上述六个层面便是我在企业中,对与AI相关的应用项目,实施安全审查与管控的参考依据。总的来说,它们能够协助我们构建出涵盖技术、管理和合规的多层次防御体系。当然,目前对于AI安全的管控,仍处于初期的阶段,甚至谈不上对AI系统进行网络安全实施等级保护。因此上述实践也难免挂一漏万。相信你在自己的工作实践中,能够据此迭代出更加完备和成熟的管控要点。
作者介绍
陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。