<style type="text/css"> .wpb_animate_when_almost_visible { opacity: 1; }</style>

敏捷开发和代码安全

敏捷开发和代码安全

应用安全自动化需求
在软件开发的任何阶段忽略不安全代码的风险都是不负责任的,不安全的代码编写是首当其冲的安全风险。随着软件逐渐占领这个世界,软件的安全性变得越来越重要。几乎每个研究都表明,很多Web应用程序和移动APP都有严重的漏洞。
但问题的规模实在太过庞大,导致人为难以控制,这时就需要自动化上场了。我们需要能够帮助新手开发者可靠地构建和操作安全应用程序和API的工具。我们必须将纸质的安全政策和指导转变为“安全代码”,而不破坏现代化的高速软件开发。
不幸的是,安全的应用程序开发通常不能以所需的速度和规模操作。现在的产品迭代速度十分快,敏捷开发是开发者的必备技能。传统的安全方法可能会很完备,但破坏了软件生命周期,这些程序往往很依赖某些专家,工具仅供专家使用。
敏捷开发的今天,如何保证应用程序安全?
 
软件安全越来越难以确保
让我们来看看难以确保现代软件安全的一些因素:
首先,自从依赖管理工具(如Maven)诞生以来,框架和库开始爆炸式增长,这导致应用程序有几百个库,而不仅仅是几个。这种大规模的增长使得更难找到漏洞。因此,必须知道这些库的作用及其如何通过自定义应用程序代码实现。
此外,还存在使用API(REST,SOAP,RPC等)来创建Web 应用和移动应用的趋势。这些API很难评估和保证,因为它们的通信结构难以理解。除非有好的工具可以理解,否则不会产生很好的效果。
最后,高速软件开发实践(如敏捷开发和DevOps)已经破坏了传统的安全方法。以前的公司一般是等到部署之前,一次性做一个深入的安全审查,可能需要几个星期才能完成。然而,当项目按每周,每天或每小时部署时,就完全没时间进行深入安全审查了。我们需要一种不同的方法和工具。
 
在现代软件项目中自动化应用程序安全的最佳实践
现代软件开发需要持续的安全性以及持续集成、交付、部署。简而言之,挑战就是在现在的开发流程中保证软件的安全可靠。
  1、选择应用程序安全工具,以提高速度,易用性,准确性和可扩展性。实时反馈和易用性至关重要。Appsec工具可在开发和操作中使用,而无需有安全经验。
  2、将安全直接集成到管道中。为了缩短反馈周期,寻找能够将结果直接提供到已使用的工具中的,例如Slack,HipChat,JIRA,Maven,Jenkins,SIEM和PagerDuty,使安全问题看起来就好像是开发或操作中遇到的普通问题。
  3、检测漏洞。现代软件开发过程需要对漏洞快速反馈,传统静态(SAST)和动态(DAST)扫描仪难以自动化反馈并容易生成假警报。可以使用较新的交互式(IAST)工具,使用最新的技术从内部评估应用程序。
  4、避免被攻击。应用程序防攻击保护不仅仅是针对已知攻击的防御,它提供了一种快速和灵活的方式来阻止未知攻击。传统的Web应用程序防火墙(WAF)创建网络架构的方式既复杂又不准。幸运的是,运行时应用程序自我保护(RASP)得到了广泛采用,其灵活部署和准确性令人印象深刻。
  5、使用威胁情报和安全研究来改善安全架构。使用通用工具搜索出较差的编码是一个好的开始。但是当程序逐渐成熟,你可能希望你的工具自动执行预先选择的安全模式。这是一种“积极”的安全方法。最终,你希望能够自动验证所有应用程序是否具有正确的安全防御措施,所有防御措施是否正确,以及这些防御措施是否已在适当的位置使用。
因此,敏捷开发和代码安全要求一个可以配置的,完全的,自动化的,简单的,贯穿开发全过程的应用程序安全工具,可以即时反馈漏洞和攻击,可以创建一个软件开发流水线,可靠地保护代码和应用程序操作过程的每个阶段。

CheckMarx应用安全测试是此方案的首选产品。
 
Date

2019年 03月 05日

Custom Field

Enter some text here