应用安全方法论和最佳实践已有十多年的历史,其中“安全开发成熟度模型”(BSIMM)已被企业采用多年来跟踪安全发展成熟度进展的重要模型。上周,Synopsys发布了一份基于BSIMM11模型的报告,分析了金融服务、软件、云计算和医疗等9个垂直行业的130家公司的软件安全实践,揭示了以下四大应用安全趋势:面向软件安全的努力正在成??功推动DevOps价值流以追求弹性;软件定义的安全治理不再只是一个愿望;安全性正在成为质量实践的一部分,质量实践被视为可靠性的一部分,而这一切都与弹性有关;“左移”正变得“无处不在”。BSIMM11模型将121种不同的软件安全指标总结为四个主要领域:治理、智能、安全软件开发生命周期(SSDL)接触点和部署,允许组织通过模型的专有标准衡量软件安全实践。上述每个领域都可以进一步细分为三个实践类别,其中包含范围广泛的活动,从简单到非常复杂。与之前的报告类似,BSIMM11分析表明,大多数组织都满足基本要求,包括在整个开发过程中执行外部渗透测试和进行基本软件安全培训等活动。以下是BSIMM11报告(上)中企业安全发展实践中最常见的十二项活动,可作为企业保持行业安全同步的最低参考:治理:政策和指标活动:实施生命周期治理最常见在组织中,其中一项基本活动是实施生命周期治理,其中包括入口、检查点、围栏和里程碑等发布条件。根据BSIMM11,90%的组织实施了生命周期治理。许多组织也在进一步实施治理策略。例如,47%的组织还通过测量和跟踪异常来验证发布条件。治理:合规与政策活动:识别PII(个人身份信息)义务大约86%的组织可以通过阐明其在个人身份信息(PII)方面的义务来满足监管要求。这是最常见的合规活动,72%的组织在所有监管标准中调整他们的观点和做法。BSIMM11表明,随着时间的推移,组织也将通过履行义务逐步提高合规能力。在过去两年中,积极在其应用程序组合中构建受保护的PII存储库的企业数量增加了10个百分点,达到42%。同样,在同一时间段内实施和跟踪合规控制的组织比例从36%上升到47%。治理:培训活动:进行安全意识培训某种形式的组织范围的安全意识培训已经成为企业应用程序开发组织的行业规范,但即便如此,仍有许多企业未能遵守。根据BSIMM11,只有约64%的组织至少在一门介绍性安全意识课程中对软件相关人员进行了培训,即使这些课程是为特定受众量身定制的。同时,针对特定角色的安全意识培训已经很普遍但尚未成为主流,只有29%的组织参与其中。情报:攻击建模活动:创建数据分类方案和清单如今,大多数软件组织在威胁建模、利用滥用案例和攻击者思维方面还不够成熟。根据BSIMM11报告,超过63%的组织能够通过创建数据分类方案和清单,根据存储的数据及其对攻击者的吸引力,对应用程序的重要性或风险级别进行优先排序。与此同时,只有8%的组织建立了与潜在攻击者相关的攻击模式和滥用案例,这一比例在过去几年中一直保持稳定。情报:安全功能和设计活动:集成和提供安全功能为了满足安全可重复的要求,许多组织已经采用了提供主动指导和代码的做法,以交付预先批准的安全功能,包括提供身份验证、角色管理和加密。这样,开发人员不必在每次将这些标准功能添加到他们的项目时都重新发明轮子。根据BSIMM11,大约78%的组织参与了此应用程序安全活动。在安全功能和设计方面仍有很大的发展空间。例如,虽然许多组织向开发团队提供这些功能资源,但只有11%的组织强制使用规定列表或存储库中批准的安全功能和框架。情报:标准和要求活动:将合规性约束转化为要求认识到开发人员不是合规性专家(他们也不是他们所做的),如今许多安全组织正在承担将PCIDSS标准等解释为软件负担的任务要求。根据BSIMM11,目前约有72%的组织正在这样做。将近72%的组织已经制定了安全标准来解释从基于身份的身份验证到如何配置开发人员基础设施的所有方面遵守企业政策所需的方法。SSDL接触点:架构分析活动:执行安全功能审查根据BSIMM11,现在大约88%的组织对其开发的软件执行某种安全功能审查。通常,这仍然是大多数组织分析其软件架构安全性的唯一方式,但业界正在以此为基础。在过去两年中,对高风险应用程序进行设计审查的组织比例增加了5个百分点,达到32%。SSDL接触点:代码审查活动:使用自动化工具和手动审查DevSecOps运动和安全倡导者多年的倡导增加了行业对自动化代码审查过程的重视。根据BSIMM11,近77%的组织现在将静态分析纳入代码审查流程以提高效率和一致性。自动化的使用更加多样化,一些组织将自动审查构建到代码管理或交付管道工作流中。但是,这些代码审查工具并没有始终如一地得到执行。只有38%的组织要求对所有项目进行代码审查。SSDL接触点:安全测试活动:确保QA支持边缘/边界值条件测试代码审查只是对已部署软件安全性进行可靠审查的第一步。其他安全测试,如黑盒测试,检测软件构建过程中的漏洞。根据BSIMM11,至少80%的组织拥有超越功能测试的QA团队,以执行基本的对抗性测试并探测简单的边缘案例和边界条件。但在许多其他领域仍有很大的发展空间。例如,只有32%的组织将黑盒安全工具集成到QA流程中。部署:渗透测试活动:使用外部渗透测试人员查找问题使用外部渗透测试人员是大多数进行渗透测试的软件团队所必需的。根据BSIMM11,近88%的组织使用外部渗透测试人员来提供代码和配置中可利用漏洞的证据。此外,77%的组织在其漏洞管理和缓解系统中使用这些测试的结果,68%的组织使用红队测试和其他内部主导的渗透测试来支持外部渗透测试结果。部署:软件环境活动:确保主机和基本网络安全措施到位BSIMM11发现主机和网络安全基本安全措施是所有组织中最常见的软件安全措施。大约93%的组织表示保护运行软件的数据中心和网络资产是第一要务,正如报告所述:“在主机和网络安全之前谈论应用程序安全就像先穿鞋一样。穿袜子。”部署:配置管理和漏洞管理活动:创建事件响应或与之交互虽然许多组织都在努力跟踪和修复软件错误,但至少83%的企业已经在开发人员和安全事件响应者之间建立了联系。它们之间建立了某种形式的接口。此外,78%的受访者还表示,他们通过运营监控发现了软件缺陷,并反馈给了开发者。但更高级的活动,例如使用操作中识别的错误信息运行软件事件响应模拟以改进安全软件开发生命周期,仍然难以实现,只有8%的人参与了这项活动。【本文为专栏作者“安安牛”原创文章,转载请通过安安牛(微信公众号id:gooann-sectv)获得授权】点此查看作者更多好文
