<p>美国国家标准与技术局(NIST)、国家漏洞数据库(NVD)数据显示,90%以上的网络安全问题是由软件自身的安全漏洞被利用导致。不用说,在软件开发阶段消除这些缺陷可以减少当今许多组织面临的网络安全风险。要做到这一点,有许多技术可以帮助开发人员在软件上线前发现这些问题,这些工具或技术包括SAST、DAST、IAST和RASP。</p><h3><font color="#c24f4a">SAST 与 DAST</font></h3><p>SAST(<a href="https://www.woocoom.com/b030.html" target="_blank"><font color="#c24f4a">静态应用程序安全测试</font></a>)也被称为“白盒测试”,已经存在了十多年。它允许开发人员在软件开发生命周期的早期发现应用程序源代码中的安全漏洞。在不实际执行底层代码的情况下检测是否符合编码指南和标准,直接面向所有源码,并且可以定位缺陷所在的代码行数。OWASP TOP 10 安全漏洞中60-70%的安全漏洞类型可通过源代码静态分析技术检测出来。</p><p>DAST,或动态应用安全测试,也称为“黑盒”测试,可以发现运行中的应用程序的安全漏洞和弱点,通常是web应用程序。通过在应用程序上使用故障注入技术(例如向软件提供恶意数据)来识别常见的安全漏洞,例如SQL 注入和跨站点脚本。DAST 可以聚焦静态分析无法识别的运行时问题,例如身份验证和服务器配置问题,以及仅在已知用户登录时可见的缺陷。</p><h3><font color="#c24f4a">SAST 和 DAST</font></h3><p>SAST和DAST经常同时使用,因为SAST不会发现运行时错误,而DAST不会标记编码错误,至少不会标记到代码行。SAST 可以集成在项目开发流程当中,而DAST 可以理解参数和函数调用,可以确定调用是否正常运行。</p><h3><font color="#c24f4a">交互式应用程序安全测试 (IAST)</font></h3><p>IAST旨在通过结合SAST 和 DAST 两种方法来解决SAST和DAST各自的缺点。IAST在应用程序中放置一个探针,并在开发过程 IDE、持续集成环境、QA 甚至生产中的任何位置实时在应用程序中执行所有分析。</p><p>因为IAST探针在应用程序内部工作,它可以将其分析应用于整个应用程序所有代码。其运行控制和数据流信息、它的配置信息、HTTP请求和响应、库及框架和其他组件、以及后端连接信息。</p><h3><font color="#c24f4a">运行时应用程序安全保护 (RASP)</font></h3><p>与IAST一样,RASP或运行时应用程序安全保护在应用程序内部工作,但它不是一个测试工具,而是一个安全工具。它被插入到应用程序或其运行时环境中,可以控制应用程序的执行。RASP 保护应用程序,即使网络的外围防御被破坏并且应用程序包含开发团队错过的安全漏洞。RASP允许应用程序对自身进行持续的安全检查,并通过终止攻击者的会话并向防御者发出攻击警报来响应实时攻击。</p><p><!--StartFragment--> <!--EndFragment--></p><p>无论在 SAST、DAST、IAST 和 RASP 等技术中遇到什么挑战,使用它们都可以构建更安全的软件,并且比在开发结束时期进行所有的安全测试更高效,更节省成本。</p><p><br></p>