持续应用安全(CAS)研讨之:IAST

攻防
1年前

20221110203946.png

编者按
  持续应用安全(CAS)是数世咨询在软件供应链安全研讨会上首次提出的解决我国软件供应链安全问题的新思路。CAS专注于保障数字化应用的,源代码阶段-构建部署阶段-上线运行阶段,全流程的安全状态。CAS可以通过安全能力高度融合和安全数据关联分析的方式,经由统一调度管理形成体系化的解决方案,以达到帮助用户减少资源投入、整合安全能力和提升安全效率的目的。
持续应用安全(CAS)研讨系列文章的主要目的是,通过CAS核心能力提供者对CAS的研究,从不同的角度解读CAS,共同推进CAS的落地进程。
CAS已经得到比瓴科技、酷德啄木鸟、思客云、孝道科技、四维创智、边界无限、云智信安等核心能力提供者的认同,目前已推出一篇文章——持续应用安全(CAS)研讨之:ASOC。后续还会推出SAST、SCA、DAST、FUZZING、RASP和移动应用安全检测方向的内容。

  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正是目前能够保障数字化应用的构建、上线和运营全流程的安全状态的最佳模式,是应用真正需要的持续安全。

  从软件供应链到数字业务,再到整个数字应用,安全应该是可以伴随应用开发、运营、监管全周期并且以反馈信息反哺开发的,不仅仅是保障效益。我们更希望能从中获得更多可以用于未来安全走势研究的有效信息,因为,没有绝对的安全,持续安全便是最良的安全原则。

中国数字安全能力图谱-应用场景.jpg


参考阅读
软件供应链安全研讨会全纪实
持续应用安全(CAS)研讨之:ASOC