01 · 基线框架与合规映射
1.1 事实前提:无Serverless专属强制标准
截至本课题撰写时,国内外均无专门针对函数计算安全的强制性国家标准或行业标准——函数平台作为云计算服务形态之一,其安全要求通过既有体系映射落地:云上系统按等保2.0云计算安全扩展要求(GB/T 22239-2019)定级测评;云服务商侧经《云计算服务安全评估办法》(2019年施行)评估;国际标准对照ISO/IEC 27017(云服务控制措施)与27018(公有云个人信息保护);风险条目对标OWASP Serverless Top 10;配置核查对标CIS Benchmark(各云平台基线含函数相关核查项)。这一"映射式合规"现状本身就是研究结论之一。
1.2 OWASP Serverless Top 10 → 控制项映射
| OWASP风险(2019) | 核心控制 | 核查方法 |
|---|---|---|
| SAS-01 注入 | 事件入口Schema校验;参数化与白名单;禁止危险拼接 | 代码评审+注入测试 |
| SAS-02 失效认证 | 全部入口认证;JWT强校验;密钥轮换 | 端点认证扫描 |
| SAS-03 不安全部署配置 | 公开面清零;资源策略白名单;超时内存最小化 | CSPM/Config规则持续审计 |
| SAS-04 权限过宽 | 一函数一角色;无通配符;权限边界 | IAM Access Analyzer |
| SAS-05 监控日志不足 | 日志全覆盖;Invoke数据事件开启;集中留存≥6个月 | 日志覆盖率报表 |
| SAS-06 第三方依赖 | lockfile+私有源+扫描门禁+SBOM | 流水线门禁记录 |
| SAS-07 密钥存储不当 | 托管密钥服务;环境变量无明文高价值密钥 | 密钥分布审计 |
| SAS-08 资源耗尽 | 预留并发+节流+预算告警+SCP | 护栏配置核查 |
| SAS-09 执行流程操纵 | 事件源鉴权;验签防重放;幂等设计 | 链路审计 |
| SAS-10 不当错误处理 | 生产错误脱敏;无凭证回显;统一错误格式 | 错误响应抽检 |
1.3 合规映射要点
- 等保2.0云扩展要求:函数平台作为IaaS/PaaS组件由云服务商侧满足其相应扩展要求;上层应用系统定级时,函数侧应能提供身份鉴别、访问控制、安全审计(含日志留存)、数据保护等测评证据——本页核查清单即按证据口径编写。
- 日志合规:《网络安全法》第21条要求"留存相关的网络日志不少于六个月"——函数日志默认保留期不满足,必须显式配置集中日志库保留期。
- 个人信息保护:函数事件与日志常含手机号、邮箱等个人信息;须遵循《个人信息保护法》最小必要原则,事件Schema中敏感字段应脱敏或加密后再入日志。
02 · 度量指标体系
以下指标为课题建议基线(非行业标准),用于量化函数安全水位并支撑持续改进:
| 指标 | 定义 | 建议目标 |
|---|---|---|
| 公网匿名函数数 | 资源策略Principal:*或函数URL AuthType NONE的函数计数 | 0(或100%经评审) |
| 通配符权限角色数 | 含*:*或service:*策略的角色计数 | 0 |
| 日志覆盖率 | 开启日志且集中留存≥6个月的函数占比 | 100% |
| Invoke数据事件开启率 | 开启CloudTrail数据事件的函数占比 | 100%(敏感函数) |
| 密钥托管率 | 高价值密钥托管于Secrets Manager类服务的占比 | 100% |
| 弃用运行时占比 | 运行于官方弃用运行时版本的函数占比 | 0 |
| 代码签名覆盖率 | 经AWS Signer等签名验证部署的函数占比 | 100%(生产) |
| IaC覆盖率 | 经IaC部署且事件源映射纳管的函数占比 | 100% |
| 出站基线覆盖率 | 已建立出站目的地基线的函数占比 | 100%(敏感函数) |
| MTTD/MTTR | 检测场景库(第7页S1—S10)的平均发现与遏制时间 | MTTD<24h,遏制<10分钟 |
03 · 成熟度模型(五级)
| 等级 | 特征 | 关键实践与证据 |
|---|---|---|
| L1 初始 | 控制台手工创建函数;密钥在环境变量;无统一日志 | 无IaC、无台账——无法回答"有多少函数" |
| L2 可重复 | 资产台账建立;日志全覆盖;公开面完成首轮收敛 | 函数清单、日志留存配置记录 |
| L3 已定义 | IaC强制;双闸口基线(角色最小化+调用授权);供应链门禁上线 | checkov门禁记录、IAM分析报告、签名验证配置 |
| L4 已管理 | 度量看板运行;检测场景S1—S10告警化;自动修复(Config Rules) | MTTD/MTTR报表、演练记录、自动修复工单 |
| L5 持续优化 | 护栏自适应;出站基线自学习;演练常态化纳入季度节奏 | 年度成熟度复评、跨多云基线对齐报告 |
04 · 实施路线图(365天)
05 · 基线核查清单(30项)
| 编号 | 核查项 | 所属域 |
|---|---|---|
| C01 | 全部函数归属台账,无影子函数 | 治理 |
| C02 | 资源策略无Principal:*匿名调用 | 访问 |
| C03 | 函数URL默认IAM型,NONE型经评审 | 访问 |
| C04 | API网关全部方法配置授权器 | 访问 |
| C05 | 网关配置节流与Usage Plan | 访问 |
| C06 | CORS精确Origin白名单 | 访问 |
| C07 | 一函数一角色,无共享执行角色 | 身份 |
| C08 | 角色策略无通配符权限 | 身份 |
| C09 | 权限边界与未使用权限定期回收 | 身份 |
| C10 | 跨账户信任强制ExternalId条件 | 身份 |
| C11 | CI/CD使用OIDC短期凭证,无长期AK | 身份 |
| C12 | 高价值密钥托管于Secrets Manager类服务 | 密钥 |
| C13 | 密钥轮换机制与读取审计开启 | 密钥 |
| C14 | Webhook验签与防重放落实 | 密钥 |
| C15 | 事件入口Schema校验全覆盖 | 输入 |
| C16 | 异步函数配置DLQ或Destinations | 输入 |
| C17 | 消费函数幂等性经评审 | 输入 |
| C18 | 事件源侧策略最小化(SQS/SNS/S3) | 输入 |
| C19 | 存储桶默认私有,触发限定前缀 | 输入 |
| C20 | 函数日志集中留存≥6个月且脱敏 | 日志 |
| C21 | Invoke数据事件开启 | 日志 |
| C22 | GuardDuty全区域开启并路由Security Hub | 检测 |
| C23 | 预留并发护栏覆盖敏感函数 | 检测 |
| C24 | 预算与账单异常告警直达值班 | 检测 |
| C25 | 运行时使用受支持版本(无弃用版本) | 运行时 |
| C26 | 超时与内存按最小需求配置 | 运行时 |
| C27 | lockfile提交与依赖扫描门禁 | 供应链 |
| C28 | Layer仅可信来源,第三方Layer经审查 | 供应链 |
| C29 | 生产函数代码签名验证部署 | 供应链 |
| C30 | 事件源映射纳入IaC与漂移检测 | 供应链 |
06 · 交付物汇总
| 页码 | 交付物 | 核心内容 |
|---|---|---|
| P1 | 研究总览与背景定位 | 三重转变、三个KQ、生态时间线、术语与误区 |
| P2 | 架构模式与攻击面解析 | 六层架构、攻击面六域、D1—D8高危默认、七阶段攻击路径 |
| P3 | 认证授权与函数身份治理 | 双闸口模型、A1—A5反模式、OIDC联邦、F1—F7失效模式 |
| P4 | 函数代码与运行时安全 | 注入谱系、隔离选型矩阵、SnapStart唯一性、出站基线检测、Denonia剖析 |
| P5 | 事件源、API网关与网络隔离 | 七类事件源基线、重试与幂等、网关六维、出站治理、编排安全 |
| P6 | 供应链与依赖安全 | 六环节控制点、制品安全、IaC管道、代码签名与SBOM、Log4Shell实证 |
| P7 | 多租户隔离、检测响应与滥用治理 | 三层隔离、S1—S10检测场景、10分钟遏制流程、四类滥用治理、四科目演练 |
| P8 | 基线核查、合规与实施路线 | OWASP映射、度量指标、五级成熟度、365天路线图、30项核查清单 |
07 · 跨云平台函数安全基线对照
为支撑多云环境(子课题05)的策略等价性核查,下表将六大平台的函数安全关键能力按统一维度对照。表中"—"表示该平台无直接等价内置能力,需以流水线或治理流程补偿;平台行为以其官方文档为准。
| 安全维度 | AWS Lambda | Azure Functions | GCP Cloud Functions / Cloud Run | 阿里云函数计算 | 腾讯云SCF |
|---|---|---|---|---|---|
| 调用鉴权基线 | 资源策略白名单;函数URL默认IAM型 | Function Keys默认,官方推荐迁移Entra ID | IAM绑定invoker角色,默认拒绝未授权调用 | HTTP触发器鉴权+RAM策略 | 触发器鉴权+CAM策略 |
| 执行身份 | Execution Role(一函数一角色) | Managed Identity(系统/用户分配) | Service Account(一服务一账号) | 服务角色(RAM Role) | 运行角色(CAM角色) |
| 密钥托管 | Secrets Manager / Parameter Store | Key Vault引用 | Secret Manager | KMS / 凭据管家类服务 | Secrets Manager(KMS加密) |
| 调用审计 | CloudTrail Invoke数据事件(需显式开启) | Activity Log + Diagnostic settings | Cloud Audit Logs(Admin Activity默认开启) | ActionTrail | CloudAudit操作审计 |
| 并发/护栏 | 预留并发(可作熔断置0);预置并发 | —(依赖计划层级与平台节流治理) | Max instances上限;Cloud Run并发数可配 | 单实例并发与实例伸缩上限可配 | 并发配额管理 |
| 代码签名/准入 | AWS Signer平台侧验签 | —(依赖CI/CD门禁与发布审批) | Binary Authorization(Cloud Run场景) | —(依赖流水线管控) | —(依赖流水线管控) |
| 典型默认公开风险 | 资源策略Principal:* / 函数URL NONE | Keys硬编码分发未轮换 | Invoker误设为allUsers | HTTP触发器公网开放且未启用鉴权 | API网关暴露未配置密钥/鉴权 |
使用说明:本表是第3—6页各控制项的跨云"翻译器"——在某一云上通过基线核查的函数迁移至另一云时,应按本表逐维度重新映射,不得默认"能力等价"。多云一致防护的完整方法见子课题05。
本节参考来源(第8页)
以下均为真实可查的权威来源,用于支撑本页事实性表述。
OWASP Serverless Top 10(2019年):owasp.org/www-project-serverless-top-ten。
CIS Benchmarks(各云平台基线,含函数相关核查项):cisecurity.org/cis-benchmarks。
AWS Well-Architected Framework — Serverless Lens(官方持续更新):Serverless Applications Lens。
Microsoft cloud security benchmark:Microsoft Learn安全基准。
GB/T 22239-2019(等保2.0,云计算安全扩展要求):国家标准全文公开系统。
《云计算服务安全评估办法》(2019年发布施行)与《网络安全法》(第21条日志留存要求):中国网信网。
ISO/IEC 27017:2015(云服务安全控制措施实施指南):ISO官网。
AWS Config托管规则(lambda-function-public-access-prohibited等):AWS Config managed rules。