静态应用程序安全测试
维基百科,自由的 encyclopedia
静态应用程序安全测试(Static application security testing)简称SAST,是透过审查程式源代码来识别漏洞,提升软件安全性的作法。早在电脑问世时,就已有静态程式分析的作法。自从1998年起,SQL注入的攻击方式开始出现在公众的讨论中,而网络应用程序整合了JavaScript及Adobe Flash Player,因此从90年代末开始,用静态程式分析进行安全测试的作法也开始普及。
静态应用程序安全测试的作法和动态应用程序安全测试(DAST)的黑盒测试工具不同,DAST是针对应用程序的功能,而SAST是白盒测试,着重在应用程序的程式码本身。 SAST工具会扫描应用程序以及其元件的程式码,确认其软件及架构中是否有安全漏洞。 静态分析工具约可侦测到50%程式的安全漏洞[1]。
在软件开发过程中,静态应用程序安全测试可以在开发过程的早期,在程式码阶段进行,也可以在所有的程式码及软件元件放在一致的测试环境时再测试。此一技术也用在软件品质保证上[2],不过会产生许多的假警报,因此也让软件开发者不愿导入此一测试[3]
SAST工具可以整合到开发流程中,帮助开发团队,让他们主要专注在开发及交付对应需求规格的软件[4]。SAST工具像其他的安全工具一様,着重在减少应用程序无法正常运作的风险,也避免应用程序中储存的隐私资料不会被破坏或是泄漏。