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

admin 2022年11月29日10:09:10评论79 views字数 5276阅读17分35秒阅读模式

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

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

什么是DAST?

DAST(Dynamic Application Security Testing)是应用程序处于生产阶段时发现程序安全漏洞的过程,是一种典型的黑盒测试,也是目前应用最广泛、使用最简单的一种Web应用安全测试。

实现原理

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

  1. 通过爬虫发现Web应用结构,包括:目录、页面、页面中有哪些参数等;

  2. 根据爬虫的分析结果,对发现的页面和参数发送修改的HTTP Request 进行攻击尝试(扫描规则库);

  3. 通过对于response的分析验证是否存在安全漏洞。

传统DAST面临的问题

DAST的发展历史已有20余年,2001年绿盟极光扫描器V1.54上线,彼时整个行业还处于萌芽期,经历过行业的导入期、高速成长期,极光扫描器和启明星辰的天镜扫描器为行业做出了卓越的贡献,在这里向前辈致敬

当下,几乎所有的甲方单位都购买并部署了漏洞扫描产品,然而与之对应的一个现象却是依旧存在大量的漏洞必须通过人工才能挖掘,进而导致整个行业安全服务费用占比不断上升。这里需要从扫描器发展历史来看这个问题。

萌芽 - 版本匹配

在黑盒漏扫刚诞生初期,通过识别应用版本去匹配漏洞是性价比非常高的功能(具有低成本,高下限的好处)。简单来讲,就是通过通用指纹识别,获取目标服务的具体版本号,和CVE或CNVD漏洞库中记录的信息进行比对,命中则提示有漏洞。这种方式大约十年前效果不错,但放在当下,随着大家对漏洞扫描领域有了新的理解,我们更愿意称这类扫描结果为 “合规风险”,通过 “合规风险” 这类概念的引入,我们可以以此区分哪些漏洞风险是可以直接造成被入侵的后果的,哪些是无法造成直接损失的;同时修复这类 “漏洞” 也很简单,一般来说,升级到安全的应用版本即可,但是因为版本号具有一定欺骗性,所以实际修复手段可能令人存疑。

成长 - 规则Fuzz

只是匹配版本就告诉客户有漏洞,自然说服力不强,同步发展的一个技术就是规则Fuzz,原理也很简单,开发者将OWASP定义的漏洞类型进行规则化描述,根据特定数据包结构自主组装payload发出,探测返回包是否存在异常,如命中则提示有漏洞。这类扫描方式虽然有误报,但是同时也给出了可能产生异常的请求包和返回包,自然说服力大增,开发者也比较认同。但是很遗憾的是,国内在这块能做好的厂商也有(如几大上市公司的前辈们),但不多。

创新 - 原理扫描

2015年12月,乌云发布了唐朝安全扫描器-TangScan,其借助社区的力量收集大量的Poc脚本对目标进行精准探测,个人认为TangScan为这个行业留下了浓墨重彩的一笔,但我们也要正确认识时代的局限性。让我们回到2014年,彼时,传统互联网发展进入成熟期,移动互联网正在快速发展,iPhone6刚上市。乌云上大量的漏洞报告都集中在通用CMS系统上,大家耳熟能详指哪打哪的Struts2的S2-016刚爆出没多久,dedecms、discuz等CMS还是香饽饽。针对这些建站系统和通用框架,不论是版本匹配还是规则Fuzz,已经无法完成漏洞覆盖,而tangscan则创新性的将指纹和精准POC结合,极少的发包量就可以发现极高危的漏洞。7年后,这种扫描思路依旧是各大厂商的必须覆盖的技术路线,甚至,连甲方和投资人都会认为poc数量决定了DAST能力上限,当然,这是不对的,或者说,这是局限的。

迭代 - 修修补补

自16年开始,整个行业似乎黔驴技穷了,市场格局已定,极光和天镜近乎垄断中国商业扫描器市场,但同时一线从业者在大量的使用破解版的BurpSuite、AWVS、Nessus,似乎国外的技术总是比国内流行,毕竟普遍买不起商业版。但是反观底层技术的发展,几年来并没有什么创新,无非是修修补补,将精力集中于如何提升启发式爬虫的覆盖度和效率、更全量的poc等。从几个技术的延伸就可以看出端倪,如2015年知道创宇开源的Pocsuite3,直接将tangscan类的核心能力开放给了每一个从业者,再比如2017年开源的巡风扫描器,更是将资产和poc进行融合,可以说是指导了后进入者的产品开发思路。2019年,四维创智在BCS大会上首次提出《基于知识图谱的自动化渗透设计与实现》,虽然并没有引起行业太多关注,但是回头来看,这应该是DAST技术发展的星星之火,以至于3年后,在BAS、ASM概念兴起时成为每个厂家都宣传采用的技术。

革命 - 人工智能

漏洞扫描器的发展,与软件开发技术的迭代息息相关。时间来到了2020年代,几乎所有的开发者都知道要遵从开发规范,SQL注入漏洞近乎绝迹。伴随着云原生、微服务、低代码技术的发展,CMS二开时代已经过去,取而代之的是前端VUE/React,后台Spring API,甚至连上传漏洞都要绝迹了,因为大量的开发者开始采用OSS存储上传文件。在这种背景下,我们发现一个怪现象,驻场安服学的是php和sql注入,到甲方碰到的系统变成了java api,能力滞后于时代发展。与之对应的是DAST类厂商似乎迎来了黄金时期,自动化渗透、BAS、攻击面管理等主动安全市场的兴起,大量的资本挟裹着厂商涌入,一个新时代来临了。那么,面向未来的DAST能力应该是什么样的?还记得19年,四维创智刚发布基于知识图谱的自动化渗透设计与实现,我们想解决的问题,就是如何将人的专家经验数字化成机器可理解的执行语言,从底层设计一个新的决策引擎,覆盖新时代下的开发范式,彻底释放人力,让人专注于高价值的研究工作。具体来讲,使用AI中的知识图谱技术构建决策引擎,使用深度学习等成熟的AI技术解决单点安全问题,在叠加YakLang开发语言的原子化安全能力,自低而上为DAST带来一次新的革命。

CAS理念下的智能式应用

智能式应用:绝不仅仅是简单的产品堆叠、组合,而是高度的自动化协同工具链,且这根链条完全可以根据用户的实际需求进行技术调整与置换。

四维创智—智能渗透测试机器人(以下称小智)是国内率先实现“AI+网络安全检测”的智能渗透测试系统。它可以将渗透测试工程师的经典案例导入,通过持续的学习补充自身渗透知识,转化为机器可存储、可识别、可处理的固有经验,实现对测试目标的自主探测、关联分析、合理决策,以贴近人工渗透测试的行为和方式。同时,借助安全算法还可以不断将小智的“智商”进行升级优化,循环往复,实现自我驱动成长。

三层结构,精准模拟“大脑”对渗透测试全过程进行分析:

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

小智在传统渗透测试的基础上进行了全方位的革新。以算法重构渗透测试产品能力,模拟“大脑”的认知与决策能力,根据实际应用场景和前沿技术智能更新,及时发现网络和系统中的风险与薄弱点。同时依托于知识图谱的知识推理技术,联合其他智能体,实现高阶谓词逻辑的智能化决策技术。

在具体渗透测试过程当中,小智以“ATT&CK”为框架,为实现各类攻击动作进行统一管理和调度,以信息驱动原理作为知识推理的核心,基于多阶谓词逻辑推理,将知识图谱中包含的抽象攻击事件释放为具体攻击事件,以保证在流程调度上的结果正确性,并能够显示所有具备逻辑可能性的攻击路径。为客户提供高效全面的业务风险识别与管理能力,降低业务安全风险。

小智在过往的实践中,已被广泛运用于各行业,包括运营商/能源/税务/金融等单位,在实际场景中为企业保驾护航。典型应用场景有:

  1. 新系统上线前检测

  2. 日常安全检测

  3. 重大活动保障

  4. 执法检测

  5. 突发漏洞检测

目前,小智支持对操作系统、网络设备、WEB应用、数据库、云平台和大数据平台、视频设备、办公设备等多种目标的渗透评估,它完整适用于客户的监管检查、客户内部自检自查、实战化攻防演练等业务场景,已成功应用于军工、电力、科研院所、运营商等多个行业。

DAST在CAS中的价值

持续应用安全(CAS)一个非常重要的理念,是将不同的安全能力进行融合,集成在一个平台上,帮助企业级用户实现安全能力良性发展。

DAST一个巨大的优势,便是手动与自动的结合

手动 DAST:当涉及到保护应用程序的安全时,软件漏洞扫描工具和渗透测试工具可以在很大程度上发挥作用,但它们也会存在疏漏。这就是手动DAST施展拳脚的地方,他们可以利用自己的经验和相关知识来发现自动扫描工具可能会忽略的漏洞。手动测试包括安全专业团队测试应用程序的漏洞,这些漏洞通常被自动漏洞扫描工具所遗漏。

自动 DAST:自动化动态测试包括使用软件测试应用程序并为其提供所需数据。这种类型的测试包括使用爬虫、Fuzzer和Regex等方法来寻找和替换重要的关键词,模拟一次真正的攻击从而导致不同类型的漏洞,如SQL注入、跨站脚本攻击和服务器端请求伪造等。

一个优秀的,可被集成的渗透测试工具,应该完整包含自动化、手动化一体,其中包含:优秀的MITM 交互式劫持技术;难以复制的 MITM 被动扫描 GUI;可视化的Web模糊测试工具:Web Fuzzer等等。

原生集成的众多安全领域相关的库:包括但不限于SYN 端口扫描,传输层协议端口扫描,应用指纹识别技术,主机批量探活,基础协议爆破技术,HTTPS MITM 中间人劫持技术,针对网络安全优化的爬虫技术,子域名扫描技术,网络空间搜索引擎集成,模糊测试与批量发包支持等。

对业务程序来说,DAST是构建一个安全的应用程序的关键。从书写第一行代码开始,DAST就应贯穿整个程序开发生命周期的全过程。DAST的主要关注点是尽早识别出漏洞,从而使开发团队能够在问题变得更严重之前解决它们。

从技术实现看,DAST 通过接入CI/CD中 “测试” 流程,以爬虫、被动扫描、模拟用户使用浏览器访问等形式收集测试的目标以及需要测试应用的流量,把这些内容以安全评估能力模块可以识别的格式输入到 DAST能力系统中(一般由市面能力优秀的扫描器类产品和 BAS 能力产品承担该角色)进行扫描与安全评估。

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

通过上述方式,DAST的接入提供了 “黑盒” 视角下的安全评估流程,实现了黑客和白帽安全测试人员视角下的安全评估技术;以DAST黑盒视角发现的安全漏洞通常是具有 “已被可攻击验证” 的技术性漏洞,同时DAST输出的合规问题也都是可能直接暴露给用户的安全风险,在应用上线之前发现黑盒安全问题具有重大意义。除此之外,DAST技术通常是应用和代码上线生产环境前的最后几项必要的安全检查之一,对业务研发流程侵入性不强,实施成本相对低,且效果明显,基本是SDLC必备的有效安全评估方式。

CAS高度强调安全能力的融合,这是CAS的关键性价值,也是整个安全行业的未来趋势。从底层安全能力模块,到实现安全能力的的组合编排,再到规模化生产网络安全产品,所有的流程应是自主可控,尽量打破现有的不健康的“技术产品垄断”形势。CAS更是SCA、SAST、IAST、FUZZING、DAST、RASP、移动业务风险与合规检测的桥梁,将所有的安全能力贯穿融合在一起。四维创智认为,黑盒测试作为其中关键节点的安全工具,是助力CAS实现安全能力融合的关键。

结语

持续应用安全(CAS)就是要保证数字化应用的构建、上线和运行全流程的安全状态。一项业务是由不同的应用相互协作而实现的,如图所示,我们把带颜色的圆圈看作一个个不同的应用,每一个应用都要经过持续应用安全全流程的防护,包括软件成分分析、静态安全测试、交互安全测试、模糊测试、动态安全测试、运行时防护以及移动业务风险与合规检测,这些安全能力通过一体化平台的自动化编排能力嵌入到DEVOPS的CI/CD流程中,并且将各种安全能力产生的安全数据进行统一的关联分析从而产生更加精确和优化的持续应用安全CAS数据。 

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

当不同的应用组合到一起形成一项业务的时候,不同的CAS 数据就可以形成CAS迭代数据流,而这样的CAS迭代数据流就可以作为业务安全的威胁情报来支撑业务的风险管理,真正实现安全能力可持续发展。

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


参考阅读
持续应用安全(CAS)研讨之:ASOC
持续应用安全(CAS)研讨之:IAST
持续应用安全(CAS)研讨之:SCA
持续应用安全(CAS)研讨之:SAST

原文始发于微信公众号(数世咨询):持续应用安全(CAS)研讨之:DAST

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月29日10:09:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   持续应用安全(CAS)研讨之:DASThttps://cn-sec.com/archives/1431527.html

发表评论

匿名网友 填写信息