28、应用安全路线图与成效衡量指南

应用安全路线图与成效衡量指南

在当今数字化时代,应用程序安全至关重要。构建有效的应用安全路线图以及衡量安全项目的成效,是保障组织软件安全的关键环节。下面将详细介绍应用安全路线图的构建以及如何衡量安全项目的成效。

1. 工程与安全路线图的对齐

与工程组织的协作和路线图对齐看似抽象,但实际上极为重要。应用安全团队的职责是确保工程团队具备开发安全软件所需的信息和工具,因此创建支持这一努力的生态系统至关重要。应用安全团队需要构建一个路线图来实现这种对齐,具体分为以下四个阶段:
1. 阶段一:收集组织内的产品路线图
- 收集组织内现有的产品路线图,这有助于应用安全团队了解组织技术或产品即将发生的变化。
- 了解工程组织的优先级,因为产品和工程虽然优先级可能一致,但实现方式的视角不同。工程侧重于执行,而产品侧重于销售。
2. 阶段二:收集应用安全文档并建立着陆页
- 收集与阶段一中路线图项目相关的应用安全文档。
- 建立一个应用安全着陆页,为工程团队提供获取信息的清晰指导。着陆页常见的内容如下表所示:
| 示例页面 | 描述 |
| — | — |
| 参考架构 | 组织应使用的明确标准安全架构,作为所有通用架构的起点,例如认证流程。 |
| 流程文档 | 与应用安全中的安全流程相关的文档,例如生成安全对称加密密钥的流程。 |
| 提供的服务 | 应用安全团队为组织提供的服务列表,例如安全代码审查。 |
| 联系方法 | 联系应用安全团队的方式,可以通过Slack、电子邮件或其他沟通渠道。 |
3. 阶段三:构建文档并确定服务需求
- 根据阶段二的差距构建文档。
- 确定工程组织所需的服务列表。
- 为每个服务创建需求列表。
4. 阶段四:开发服务
- 根据阶段三的需求开发服务。

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A([阶段一]):::startend --> B(收集组织内的产品路线图):::process
    A --> C(了解工程组织的优先级):::process
    D([阶段二]):::startend --> E(收集应用安全文档):::process
    D --> F(建立应用安全着陆页):::process
    G([阶段三]):::startend --> H(构建文档):::process
    G --> I(确定服务列表):::process
    G --> J(创建服务需求列表):::process
    K([阶段四]):::startend --> L(开发服务):::process

此外,当工程团队考虑更换源代码管理(SCM)工具时,应用安全团队需要审查新平台,确保其符合组织的安全目标和要求,并提供相应的建议,这些建议应记录下来供工程团队参考。

2. 面向未来的规划

在Scrum和敏捷开发的时代,很难提前规划6个月甚至几年后的事情。但在应用安全中,制定路线图时需要考虑以下几点:
1. 差距分析 :通过差距分析指导战略思考和目标设定。例如,安全工具覆盖可能存在漏洞,或者组织有现代化认证的指令,又或者采用了多云策略,新开发将利用多个云服务提供商(CSP)的服务。
2. 与组织目标对齐 :应用安全团队的工作需要与组织的其他安全职能(如信息安全、网络安全和安全运营中心)以及业务目标对齐。大多数组织需要进行年度审计和渗透测试,这需要应用安全团队的支持。
3. 制定多年路线图 :路线图应具有较高的层次,以项目为导向,而不是具体细节。可以使用差距分析或更正式的成熟度模型(如BSIMM或SAMM)来制定路线图,并且每年的能力应在前一年的基础上有所提升。

以Superior Products为例,Dashing Danielle为未来3年制定路线图。她首先收集当前的安全态势和组织的安全目标,并进行差距分析,确定了以下几个关键目标:
1. 工具覆盖 :在3年内实现工具100%覆盖,目前SAST覆盖率为45%,DAST为70%,SCA为30%,目标是3年后均达到100%。
2. 安全培训 :确保所有现有和新工程师完成应用安全培训课程,目前安全培训参与率为25%,目标是达到100%。
3. 数据分类 :完成组织内数据的分类,以满足安全组织的加密要求,目前已分类数据占比为20%,目标是100%。
4. 安全代码审查 :开发并实施代码审查平台和流程,目前每次发布的安全代码审查数量占比为10%,目标是75%。
5. 合规与监管 :将合规和监管要求集成到编码中,以便于审计。
6. 安全测试 :将安全测试集成到测试过程中,减少生产环境中发布的漏洞,目前代码安全测试覆盖率为30%,目标是75%。

此外,还有一些由业务和安全组织指导的其他项目:
1. 确保所有个人身份信息(PII)和关键数据在静态时加密。
2. 与安全运营团队和信息安全集成,提供漏洞管理的统一视图。
3. 为多云环境提供安全开发管道。
4. 增加内部渗透测试的覆盖范围。

Dashing Danielle还为每个项目制定了基本的项目计划,以确定目标、里程碑和风险。例如,代码审查平台的项目计划如下:
| 季度 | 目标 | 里程碑 | 风险 |
| — | — | — | — |
| Q1 | 开发代码审查平台的需求,评估可与组织SCM集成的代码审查工具,对两个产品进行POC,收集许可证需求并创建3年的总体拥有成本。 | 完成需求开发、工具评估、POC和成本估算。 | 没有工具能够与SCM配合工作;与SCM集成需要大量工作;代码审查平台成本过高;关键工作干扰当前时间表。 |
| Q2 | - | - | - |
| Q3 | - | - | - |
| Q4 | - | - | - |

创建、跟踪和实施这些路线图并非易事,需要领导的支持和项目经理的协调。定期报告进度和风险,确保领导了解进展情况和可能需要解决的障碍。

3. 衡量应用安全项目的成效

开发了涵盖开发管道不同阶段安全的项目,并制定了应用安全团队的中长期目标路线图后,如何判断项目是否有效,以及团队的努力是否得到回报呢?收集指标对于任何项目或计划都至关重要,它不仅能确保项目达到预期目的,还能判断项目是否按计划进行并取得预期成果。对于安全项目而言,指标同样用于确定流程是否有效、组织的安全态势是否改善以及所使用的工具是否有效。

3.1 衡量工具的有效性

通过分析工具的输出,挖掘定量和定性指标来衡量工具的有效性。
- 定量指标 :基于实际数字,例如一级支持团队响应客户问题的平均时间(以分钟为单位)。
- 定性指标 :通过访谈、讨论或问卷调查收集,更多基于受访者的主观感受。例如,向与应用安全团队合作的工程团队发送调查,了解他们对合作的满意度。

需要衡量的应用安全工具包括:
- 静态应用安全测试(SAST)
- 动态应用安全测试(DAST)
- 交互式应用安全测试(IAST)
- 软件成分分析(SCA)
- 运行时应用安全保护(RASP)
- 网络应用防火墙(WAF)

衡量这些工具的有效性时,重点关注以下两个定量指标:
- 每个工具发现的漏洞数量。
- 发现的漏洞中真阳性与假阳性的比例。

有了这些信息,应用安全团队就可以对产生假阳性的工具进行调整。

3.2 根据反馈调整工具

以Superior Products组织为例,SAST工具集成到开发管道后,大部分规则和配置采用了供应商的默认设置。应用安全团队通过抽样审计评估发现结果,以确定是否为假阳性以及是否需要调整工具以减少假阳性。

例如,SAST工具对旗舰产品Stuff - For - You标记了多个竞态条件问题,但实际执行代码并非多线程,因此这些发现可标记为不适用。应用安全团队可以将该项目设置为忽略SAST工具的此类发现,避免未来输出此类结果。

然而,了解工具的假阳性情况固然重要,但工具发现真阳性的实际效果同样关键。如果组织在开发管道中使用了多个扫描工具(如SAST、DAST和SCA),如何确定这些工具发现的漏洞就是影响应用的全部漏洞呢?实际上,无论在管道中使用多少工具,都无法发现应用的所有漏洞,这些未被发现的漏洞称为假阴性。

可以通过其他工具和流程为扫描工具提供反馈。例如,根据外部渗透测试的结果,审查DAST或IAST工具的配置,以确定为何未发现某些问题。在Superior Products的年度外部渗透测试中,Stuff - For - You产品发现了XSS漏洞,但开发管道中使用的SAST和DAST工具却未检测到。经调查发现,受测试的特定模型未被SAST和DAST工具扫描,这是由于代码替换过程中的配置错误导致的。

对于运行时环境中使用的保护工具(如WAF或RASP),调整的重点是确保:
- 合法流量不被阻止。
- 非法流量不被放行。

大多数应用安全团队采用分阶段的方法集成保护工具。例如,Superior Products的应用安全团队与Stuff - For - You团队合作,先在预生产环境集成WAF,测试流量是否正常。集成过程中发现了流量下降和数字证书重用的问题,团队通过采购唯一证书解决了证书重用问题,经过进一步排查,发现是由于最大客户之一的转发代理上的DNS更改导致流量下降,最终通过联系客户解决了该问题。

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(扫描工具发现问题):::process --> B(问题进入跟踪平台):::process
    B --> C(应用安全团队分类并确认是否为真阳性):::process
    C --> D{是否为真阳性}:::process
    D -->|是| E(应用安全团队配置扫描工具减少未来假阳性):::process
    D -->|否| F(忽略该发现):::process

综上所述,构建应用安全路线图需要与工程组织紧密协作,制定符合组织目标的长期计划,并通过有效的指标衡量安全项目的成效,及时调整工具和流程,以保障组织应用程序的安全。

相关推荐

24、应用安全即服务:构建安全的软件开发生态系统

本文探讨了如何通过‘应用安全即服务’构建安全的软件开发生态系统。文章详细介绍了三种主要的服务模式:安全测试API服务、通过票务请求的服务以及环境式应用安全,每种模式都提供了具体的实践案例和操作流程。此外,文章还涉及了如何制定应用安全路线图、衡量安全有效性以及应对高级安全挑战的策略。目标是帮助组织创建一个全面、自动化的安全体系,使安全成为开发流程中不可或缺的一部分,从而有效降低软件开发和运行中的安全风险。

docker8compose的博客 61

28、云架构与安全策略解析

本文深入探讨了现代云架构与相关安全策略的设计与实施,涵盖云原生架构、混合云架构、零信任模型以及新兴的群体智能技术。通过分析不同架构的适用场景与安全优势,结合临时实现、特权管理和秘密管理等策略,为企业在云环境中的安全决策提供了全面指导。文章还总结了云架构未来的发展趋势,帮助企业构建安全、高效、灵活的云生态系统。

s8t9u0v1w的博客 91

23、智能建筑项目路线图:全面指南

本文详细介绍了智能建筑项目的完整路线图,涵盖从现有系统评估、愿景制定到系统优化与运营的各个阶段。同时分析了潜在障碍及其应对策略,为智能建筑的设计、实施与长期发展提供了全面的指导和建议。

emacs5lisp的博客 83

构建软件安全成熟度:OpenSAMM与BSIMM指南

本文探讨了OpenSAMM和BSIMM这两个重要的AppSec成熟度模型,重点介绍了它们如何帮助组织评估和提升软件安全实践。OpenSAMM提供了针对不同组织类型的路线图模板,以定制和迭代改进安全保障计划。BSIMM则基于实际数据构建,提供了衡量组织软件安全成熟度的框架,并且强调了安全教育和指导的重要性。通过对比两个模型,本文为读者提供了选择合适工具的见解,并讨论了如何在敏捷和DevOps环境中应用这些工具。

weixin_33610780的博客 569

信息安全治理:度量与监控的实践指南

本博客文章详细探讨了信息安全治理中的行动计划、监控、度量标准,以及如何确保这些措施与组织的业务目标和风险管理紧密对齐。文章强调了制定明确的安全目标、实施有效的监控和度量策略、以及通过安全指标来衡量和提升安全性的必要性。

weixin_29138345的博客 338

告别混乱!在Unity中为Best MQTT v3设计清晰的服务层:配置、连接、订阅发布模块拆分指南

本文详细介绍了如何在Unity中使用Best MQTT v3插件构建清晰的服务层架构,包括配置管理、连接服务、订阅管理和发布服务的模块化拆分。通过解耦设计、事件驱动和接口抽象,提升代码可维护性和可测试性,适用于物联网和实时通信开发场景。

weixin_30576827的博客 358

告别虚拟机!用ZYNQ7000和PYNQ 2.6.0打造一个能实时识别人脸的“智能摄像头”

本文详细介绍了如何利用Xilinx ZYNQ7000开发板和PYNQ 2.6.0框架构建实时人脸识别系统。通过硬件加速和嵌入式开发技术,该系统实现了低延迟、低功耗的独立运行能力,适用于边缘计算和物联网应用。文章包含从环境搭建到核心功能实现的完整指南,并提供了性能优化和问题排查的实用技巧。

weixin_42543046的博客 391

【MM小贴士】关于SAP系统中关税的处理方式

的运费,这部分来讲,我们关税的计价基础,就应该是货物价值+包邮到中国港口的运费,完后进行报关操作,缴纳关税,后半段从中国港口拉回到企业里面的运输费,就会做到费用里面去,而不是计入到存货成本。1、我们自己的企业和国外厂家A购买一项物资,厂家A的报价会分成几个组成部分货物本身的价值或者货物本身的价值+到国外港口的运费或者货物本身的价值+到中国港口的运费或者货物本身的价值+包邮到你们自己企业的整体运费。所以我的关税就是不确定的。重点是运费是哪一段的运费,如何结算,结算的货币,何时能够确定运费。.........

竹大的博客 9028

Flutter项目在M1/M2 Mac上跑iOS模拟器报错?手把手教你搞定‘arm64架构不兼容’问题

本文详细解析了Flutter项目在M1/M2 Mac上运行iOS模拟器时遇到的‘arm64架构不兼容’问题,提供了多种解决方案,包括排除模拟器的arm64架构、强制使用x86_64架构以及修改插件Podspec文件。帮助开发者快速解决架构兼容性问题,提升开发效率。

weixin_33713707的博客 336

Autosar诊断实战系列05-Dcm之0x27加解密服务配置开发详解

UDS 0x27服务实战开发介绍,对解锁尝试次数及delay时间进一步解释。

initiallizer的博客 1993

ThingsBoard-阿里云短信规则节点

由于Thingsboard平台国内只支持短信服务,那我们运维人员去及时接收邮箱肯定是没有短信来的方便的,在这基础上,需要自己从规则链入手,自定义一个支持阿里云短信服务的规则节点。

weixin_67440240的博客 2094

RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣本专栏已更新260多种不同的改进方法,所使用并改进的每一个模块均包含详细的模块分析、原理讲解、个人总结、多种改进方式以及完整的修改流程,所有改进100%可直接运行。2️⃣所有改进点均为近三年顶会,顶刊提出的先进算法,将其融入到中,紧跟学术热点,适应不同的任务场景。3️⃣团队内发表数篇SCI论文,熟悉完整的发表流程,订阅专栏即可进群享受模型训练、模型改进、论文写作、投稿选刊,从入门到论文的各种答疑内容。4️⃣专栏内容会持续更新,最近更新时间:2024-12-4。项目介绍在大家购买专栏后,加入学习

Limiiiing的博客 2万+

uniapp - HBuilder提示adb: failed to install X Failure [INSTALL_ARSE_FAILED_NOT_APK:X(安装HBuilder调试基座失败)

安装HBuilderX调试基座失败,uniapp APP运行到手机adb: failed to install,Uniapp提示adb,uniapp ios 真机调试报错 uniapp安卓调试,Uniapp安装不了基座,手动安装基座,正在安装手机端HBuilder调试基座,点击运行到手机报错信息:基座无法正常安装,Uniapp-安装HBuilder调试基座失败解决方案,解决 HBuilderX 安卓基座安装失败的问题,显示adb报错,UniApp苹果真机运行调试(自定义基座,版本更新后/没有基座打开失败)如

🏆 前端领域优质创作者 8061

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 9、软件定义网络:原理、应用与管理
下一篇: 29、应用安全成效的衡量与优化
docker8compose
博客等级 码龄1天 0粉丝 1102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值