持续应用安全(CAS)研讨之:IAST
CAS(持续应用安全),原意是通过离散式制造、统一式交付、集中式管理 、智能式应用的方式使安全能力可持续发展。
拆解CAS
离散式制造:意味着自由度、灵活度、专业程度更高的技术产品研发风格,研发活动以及“安全力”的培养分散但不分裂。
统一式交付:CAS也似一条供应链,各个节点的技术产品的输入口、输出口的对接点需要内部“开源”,各个技术可实现排列组合式对接,为持续集成挖好“萝卜坑”。
集中式管理:将安全活动的主动权集中交付到用户手中,不仅能够管理技术产品的供应商,还能做到技术应用规划。
智能式应用:这绝不仅仅是简单的产品堆叠、组合,而是高度自动化协同的工具链,且这根链条完全可以根据用户的实际需求进行技术调整与置换。
所有的一切,均是为了安全的可持续发展。
对于CAS的实践价值,我们认为在于可复用、可重组、可再生。
可复用:从安全效益角度来看,CAS即端点安全力的集束与分道,实现安全力的复用。
可重组:面对不同场景,可自动化编排CAS工具链。要知道,每改变一组工具搭配,获得的有效数据便会携带完全不同的价值。
可再生:CAS拥有天然的学习力,所有的状态数据都将成为正反馈以实现安全力的持续创新和增强。
CAS之IAST
IAST凭借能够良好的适应敏捷开发和 DevOps,无缝融入到软件项目的开发和测试流程的先天性优势,已然具备成为持续性架构中心的特质。所以我们认为,IAST有能力作为CAS的圆心引动CAS持续性循环。
Gartner在2012年提出IAST,并在 2014年安全与风险管理峰会上,把交互式应用程序安全测试IAST列为信息安全性的十大技术之一。IAST问世的初衷,除了作为一种新的应用安全检测技术,也弥补了原有应用测试技术的局限性,还要满足不断发展的新技术,实现安全左移。
智能动态污点跟踪方法为IAST提供主要源动力,通俗来说是在应用和API中自动化识别和诊断软件漏洞。IAST区别于SAST和DAST的关键点在于,IAST不是扫描器,而是使用插桩来收集安全信息,直接从运行中的代码发现问题。
IAST通过程序运行时的程序内部视角(通过程序插桩实现对程序运行时的上下文进行监控)和外部视角(通过篡改原始数据报文重放报文进行探测)进行综合安全分析,不破坏DevOps的协作性和敏捷性的同时,将部分安全测试工作提前到功能测试阶段,实现安全测试的“左移”。
对应用来说,IAST通过运行时“静默监听”模式,对应用代码层、应用层、开源组件进行漏洞检测和开源组件许可分析,同时包括全量API发现以及敏感信息泄露风险检测分析。IAST以在测试过程中不产生脏数据、且能无缝集成DevSecOps、实现安全测试左移等断层领先的特质,成为应用安全测试的首选工具。
从技术实现看,IAST通过在服务端部署的Agent 程序,收集、监控 Web 应用程序运行时请求数据、函数执行,并与扫描器端进行实时交互,高效、准确地识别安全漏洞,定位到漏洞所在的代码文件、行数、函数及参数,可识别漏洞的形成过程。通过IAST可获取详尽的漏洞报告,包括漏洞代码行、应用程序内部漏洞形成过程、调用栈和代码级的漏洞修复示例等,且误报率极低。能够帮助研发人员更早期的发现安全漏洞,以更低成本的解决安全漏洞,减少因安全问题导致的返工,提高整体项目研发效率。
经历了十年的发展,IAST技术本身其实已然成熟。从市场发展来看,需求已经从金融行业扩展到互联网、政府、医疗等行业。如今,当涉及到应用安全检测或者进行软件安全开发体系建设时,已经绕不开IAST相关产品,甚至会以此为起点去进行整个体系的建设。IAST作为安全开发体系建设中的一环,未来的发展方向会更加注重与整体流程的融入,并且会不断地与其他安全产品进行结合,升级整体的安全能力,形成真正的安全能力闭环。
CAS高度强调自动化编排、迭代数据流,这是CAS实现最佳应用的关键性价值,而IAST能够直接直接对应这点。即只需部署一个IAST探针,同时唤醒并串联三组能力。这意味着用户在应用IAST时,就可以同时有能力去针对漏洞的可达性、可利用性进行测试,将SCA和IAST有机地结合起来。另外,借助IAST与应用深度融合的优势,在测试过程中遗留下来的包括应用程序的输入输出、执行指纹等数据,可以保留到应用的运行阶段,为RASP提供更为精准的防御算法。
特别值得一提的是,在利用IAST所提供的数据进一步提高防护精度的同时,还能实现补强IAST。针对这一点,RASP是在执行点进行风险函数的插桩,当发现攻击行为所利用的是前期IAST没有覆盖到的漏洞,相关数据就会并入到IAST中,从而补强IAST的污点分析能力,令平台对用户的安全能力实现有针对性地提升,从而更能充分发挥出IAST在CAS中的优势。
CAS相当于在SCA、SAST、IAST、FUZZING、DAST、RASP、移动业务风险与合规检测中间穿了一根线,而我们认为,作为其中关键节点的安全工具-IAST,便是左“牵”SCA、右“擎”RASP的“狂放少年郎”,也正是实现CAS持续特性的关键。IAST本身就携带“持续”基因,以持续弥合持续,未尝不是对CAS的理念的优化级响应或者说端点实践。
结语
我们始终认为,无论是应用安全还是其他数字领域的安全,最终都会走向持续、集中的模式。针对当前应用安全的实际痛点,CAS正是目前能够保障数字化应用的构建、上线和运营全流程的安全状态的最佳模式,是应用真正需要的持续安全。
从软件供应链到数字业务,再到整个数字应用,安全应该是可以伴随应用开发、运营、监管全周期并且以反馈信息反哺开发的,不仅仅是保障效益。我们更希望能从中获得更多可以用于未来安全走势研究的有效信息,因为,没有绝对的安全,持续安全便是最良的安全原则。
参考阅读
软件供应链安全研讨会全纪实
持续应用安全(CAS)研讨之:ASOC