AI应用的安全工程:从威胁建模到防护

AI应用的安全工程:从威胁建模到防护

前言

我们的产品上线后,遇到了各种安全问题:Prompt 注入、数据泄露、API 滥用...

今天,分享我们是如何建立安全工程体系的。

一、威胁建模

1.1 威胁识别

python 复制代码
class ThreatModeling:
    def identify(self) -> list:
        """识别威胁"""
        return [
            {"type": "prompt_injection", "severity": "high"},
            {"type": "data_leakage", "severity": "high"},
            {"type": "api_abuse", "severity": "medium"},
            {"type": "model_manipulation", "severity": "medium"}
        ]

1.2 风险评估

python 复制代码
class RiskAssessment:
    def assess(self, threats: list) -> dict:
        """评估风险"""
        prioritized = sorted(threats, key=lambda x: x["severity"], reverse=True)
        
        return {
            "critical": [t for t in prioritized if t["severity"] == "high"],
            "medium": [t for t in prioritized if t["severity"] == "medium"]
        }

二、安全防护

2.1 输入验证

python 复制代码
class InputValidation:
    def validate(self, input_data: str) -> dict:
        """验证输入"""
        checks = [
            {"name": "length", "passed": len(input_data) < 5000},
            {"name": "patterns", "passed": not self._contains_suspicious(input_data)},
            {"name": "sanitization", "passed": True}
        ]
        
        return {"valid": all(c["passed"] for c in checks), "checks": checks}

2.2 输出过滤

python 复制代码
class OutputFiltering:
    def filter(self, output: str) -> str:
        """过滤输出"""
        # 移除敏感信息
        output = self._remove_personal_info(output)
        
        # 检查内容安全性
        if self._contains_harmful(output):
            return "抱歉,无法生成相关内容"
        
        return output

三、API 安全

3.1 认证授权

python 复制代码
class Authentication:
    def authenticate(self, token: str) -> dict:
        """认证用户"""
        return {
            "user_id": "123",
            "role": "user",
            "valid": True
        }
    
    def authorize(self, user_id: str, resource: str) -> bool:
        """授权检查"""
        permissions = {"user": ["read"], "admin": ["read", "write"]}
        return resource in permissions.get(self._get_role(user_id), [])

3.2 限流保护

python 复制代码
class RateLimiting:
    def __init__(self):
        self.limits = {"free": 100, "pro": 1000}
    
    def check(self, user_id: str, plan: str) -> bool:
        """检查限流"""
        current = self._get_request_count(user_id)
        return current < self.limits.get(plan, 100)

四、数据安全

4.1 数据加密

python 复制代码
class DataEncryption:
    def encrypt(self, data: str) -> str:
        """加密数据"""
        from cryptography.fernet import Fernet
        key = Fernet.generate_key()
        f = Fernet(key)
        return f.encrypt(data.encode()).decode()
    
    def decrypt(self, encrypted: str) -> str:
        """解密数据"""
        from cryptography.fernet import Fernet
        key = self._get_key()
        f = Fernet(key)
        return f.decrypt(encrypted.encode()).decode()

4.2 访问控制

python 复制代码
class AccessControl:
    def check(self, user_id: str, resource: str) -> bool:
        """检查访问权限"""
        return resource == "own_data" or self._is_admin(user_id)

五、安全监控

5.1 异常检测

python 复制代码
class AnomalyDetection:
    def detect(self, activity: dict) -> dict:
        """检测异常"""
        anomalies = []
        
        if activity["requests_per_minute"] > 100:
            anomalies.append("请求频率异常")
        if activity["unusual_pattern"]:
            anomalies.append("行为模式异常")
        
        return {"anomalies": anomalies, "risk_level": "high" if anomalies else "low"}

5.2 告警机制

python 复制代码
class Alerting:
    def trigger(self, alert: dict):
        """触发告警"""
        return {
            "type": alert["type"],
            "severity": alert["severity"],
            "message": alert["message"],
            "actions": ["通知安全团队", "临时限流"]
        }

六、最佳实践

6.1 安全原则

  • ✅ 纵深防御:多层安全防护
  • ✅ 最小权限:只给必要权限
  • ✅ 默认安全:安全配置默认开启
  • ✅ 持续监控:实时监控安全事件

6.2 常见误区

  • ❌ 安全事后:等出事再做安全
  • ❌ 单点依赖:依赖单一安全措施
  • ❌ 忽视测试:不做安全测试
  • ❌ 过度防护:影响用户体验

七、总结

安全工程是 AI 应用的基石。关键在于:

  1. 威胁建模:提前识别风险
  2. 多层防护:建立纵深防御
  3. 持续监控:及时发现问题
  4. 持续改进:根据反馈优化

记住:安全不是一次性工作,是持续的过程。

相关推荐
老纪的技术唠嗑局1 小时前
Tibo 谈 Codex:harness 总比模型快一步
数据库·人工智能
程序员于老七1 小时前
漫话大模型:7 家中国公司被点名「蒸馏」,他们到底偷走了什么?
人工智能
YOLO数据集集合1 小时前
风机叶片表面损伤检测数据集 | 风机叶片 表面损伤 污渍检测 无人机巡检 风电运维9119期
运维·人工智能·计算机视觉·目标跟踪·无人机·智慧城市·电力巡检
程序员于老七1 小时前
漫话大模型:反 LLM 新物种:0.1 秒出结果、零幻觉的 Jev 是什么
人工智能
tellmewhoisi1 小时前
机器学习:集成学习4(XGBoost前置知识泰勒展开式4)
人工智能·机器学习·集成学习
运维开发王义杰1 小时前
大模型 API 配额防透支:Redis Lua 原子预扣与多租户治理实战
ai
youdexiang1 小时前
会议录音APP实时转文字有哪些关键技术
人工智能
hqyjzsb1 小时前
法律 Prompt 干货:搭建合同审查提示词要包含哪些要素
开发语言·人工智能·python·职场和发展·数据分析·prompt·业界资讯
skywalk81631 小时前
lightplugin项目已经复刻完成了很多插件,还有需要复刻的插件吗? 再复刻12个,另外解决复刻的插件的宽度和广度!
人工智能·调试
搞科研的小刘选手2 小时前
【IOS 出版 | EI、Scopus检索 | 成都举办】第六届大数据、人工智能与风险管理国际学术会议(ICBAR 2026)
大数据·人工智能·学术会议·成都·会议推荐