应用缺陷深度检测分析能力是 IAST 技术的首要基础要求。为了满足用户对各类编程语言的检测需求,IAST 交互式应用程序安全测试平台应全面支持 Java、Node.Js、PHP、C#、Python、Go 等主流编程语言。然而,目前国内市场上除 Contrast、悬镜安全和 Synopsys 的 IAST 平台已覆盖全部主流语言外,多数 IAST 平台仅支持一两款语言,检测深度和应用范围也严重受限。此外,运行时插桩精准检测模式配合流量检测模式、日志检测模式和爬虫检测模式进行深度应用安全审查是实现全场景支持的重要手段。

目前国内 IAST 技术发展仍处于成长期,但企业在落地研发运营安全建设时,IAST 平台已成为优先级较高的配套自动化工具产品。行业用户的快速增长,使 IAST 平台正在向规范化和规模化应用发展,IAST 平台对业务全场景支持已成为继应用编程语言覆盖率之后,评判 IAST 平台成熟度的又一主要标准。

悬镜安全作为国内 DevSecOps 体系先行者,结合多年创新经验沉淀,从技术落地实践视角延伸了 IAST 的概念:创造性提出交互式应用安全测试不仅可以从应用内部进行实时分析,只要是“交互”产生的“流量”,均应在 IAST 技术的覆盖范围内。即从广义技术来讲,一套完整的 IAST 方案应当至少覆盖以下检测场景:

插桩检测模式

·       动态污点追踪(被动式插桩)

·       交互式缺陷定位(主动式插桩)

流量检测模式

·       终端流量代理

·       主机流量嗅探

·       旁路流量镜像

日志检测模式

·       Web 日志分析

爬虫检测模式

·       纵深嗅探扫描

插桩检测模式

1.     动态污点追踪

动态污点追踪是 IAST 技术的主要检测方式。所谓污点追踪,是将数据流抽象为<sources、sanitizers、sinks>三元组的一种污点分析技术。

·       sources 代表污点输入源,通常认为,任何从外部输入的数据都是不受信任的污点数据,都有可能对系统造成危害。例如来自用户输入、从文件中读取的数据等。

·       sinks 代表污点汇聚点,通常是指将会产生安全问题的敏感操作。例如执行 SQL 语句、执行操作系统命令等。

·       sanitizers 是指对污点数据的无害处理。例如清洗、校验、过滤等。

简单来说,污点追踪就是去跟踪那些输入到系统中的污点数据(sources),在代码中流转、传播的过程中没有经过足够的清洗、校验、过滤等无害化操作(sanitizers),就直接进行会产生安全风险的敏感操作(sinks)的数据流。

如上图所示,插桩探针会追踪每一条污点数据流,并找出其中没有经过无害化操作的数据流(变量1 → 变量3)。

根据污点追踪分析过程中是否需要运行应用程序,可以将污点追踪技术分为“静态分析”和“动态分析”两种。和静态污点追踪技术相比,动态污点追踪技术是在应用程序运行过程中进行分析,因此可以获得更多的应用程序上下文信息,并且这些数据流都由交互产生,所以可以在最大程度上保证检测结果的有效性,大大降低误报的产生,也就降低了人工审计结果的成本。

由于动态污点追踪不会重放测试流量,因此在 IAST 技术中也被称为被动式插桩。

2.     交互式缺陷定位

由于动态污点追踪技术需要跟踪每一条污点数据流,这样会占用一定的业务服务器资源。为了进一步降低应用插桩带来的性能损耗,交互式缺陷定位是在动态污点追踪技术基础上衍生出的新型 IAST 手段。通过减少动态污点追踪中的触发点(hook 函数),即只对应用执行的关键函数点进行敏感操作判断,并通过一些精心构造重放流量的 Payload 来主动发现潜藏在业务应用里的安全漏洞,同时可以精准定位其所在代码行。由于主动 IAST 的特殊技术优势,当开发者修复完漏洞后,还可以对指定漏洞进行全面回归测试及漏洞修复验证,协助用户快速提高漏洞收敛效率。

如上图所示,插桩探针仅收集关键数据,不会追踪整个污点数据流。服务器收到从插桩探针返回的数据后,会向应用服务器发送构造好的重放流量来验证风险是否存在。

通过交互式缺陷定位的检测模式,不仅解决了传统 DAST 无法精确定位漏洞位置的问题,还有着比传统 SAST 技术低得多的误报率。此外,在脏数据处理上也有着不错的表现,并且可以针对应用测试结果进行全方位复现和验证测试,相比动态污点追踪有着更低的系统开销,对业务系统稳定性的影响也更小。在非复杂数据包加密、内部测试流量管控等特殊场景下,它更加符合敏捷开发和 DevOps 模式下软件产品快速迭代、快速交付的要求。

由于交互式缺陷定位会主动发送 Payload 来验证漏洞,因此在 IAST 技术中也被称为主动插桩。

流量检测模式

  1. 1.     终端流量代理

终端流量代理检测是流量检测模式中检测成本最低的一种方式,只需要在测试人员的主机配置代理/VPN,将测试流量转发至检测引擎,检测引擎在将正常流量转发至业务服务器的同时,也会将重构的流量同时发送到业务服务器进行安全检测。

如上图所示,测试人员在客户端配置代理(操作系统、浏览器、移动设备等),将流量转发到 IAST 检测引擎。检测引擎接收到流量后,会直接将原始流量转发到目标应用服务器,然后在这个流量进行修改后重新发送到目标服务器,根据重构流量的响应来判断是否存在相关漏洞(如上图中红色部分)。

终端流量代理对于业务的入侵性极低,不依赖业务系统的语言环境,无需对现有业务系统进行修改即可实现高效的检出。

  1. 2.     主机流量嗅探

主机流量嗅探监测业务服务器的流量网卡,通过嗅探节点将经过主机网卡的所有流量复制到检测引擎端,由引擎端对流量进行重构,重新发送到业务服务器进行检测。

  1. 3.     旁路流量镜像

旁路流量镜像是基于交换机的镜像功能,将经过交换机下的所有流量通过镜像口导出,在网络出口旁路部署流量镜像,再将测试流量复制到检测引擎端,由引擎端对流量进行重构,重新发送到业务服务器进行检测。

日志检测模式

  1. 1.     Web 日志分析

Web 日志分析是将 Nginx、Apache 等 Web 服务的日志,通过转发器转发至 Kafka 等消息队列中,再由 IAST 引擎进行消费,引擎端分析日志数据并生成重构流量,发送到业务服务器进行检测。

通过对 Web 日志的分析,可以快速从反向代理服务器中梳理出应用程序资产,并对它们进行安全检测。

爬虫检测模式

  1. 1.     纵深嗅探扫描

纵深嗅探扫描采用主动 PoC 漏洞验证技术,即通过 Web 爬虫获取网站 Sitemap 后向目标系统发送真实的“攻击”载荷,分析目标系统变化和返回内容,判断是否存在漏洞。使用纵深嗅探扫描需要的成本极低,只需提供 URL 即可自动进行分析。

IAST全场景支持的必要性

与传统开发模式将安全作为补充相比,DevOps 动态环境下的开发安全要求将安全融合于软件开发的全流程,DevSecOps 理念将安全融入软件开发的规划、设计、编码、测试、上线运行等各个环节,强调安全无处不在。IAST 作为 DevSecOps 建设落地的关键平台,通过主被动插桩、流量、日志分析多种检测模式的结合,为动态持续的软件开发环境提供最佳安全测试服务。由此可见,好的 IAST 平台一定能适应各类业务场景。

目前,悬镜灵脉 IAST 灰盒安全测试平台,已兼具主被动插桩、流量、爬虫、日志分析等检测模式,率先实现了全场景支持,可以达到低门槛、低侵入、低消耗的基本要求,柔和无感知地接入业务发布流程。

无论是已有上千个应用资产的企业内部业务系统,还是企业自建的 DevOps 研发运维一体化业务开发模式,亦或是企业采购的第三方开发应用系统,通过灵脉 IAST 全场景支持的检测模式,能够发现新开发业务系统中存在的通用 Web 漏洞、业务逻辑缺陷、系统服务漏洞,以及第三方开源组件成分分析及关联漏洞检查,将安全漏洞的发现和修复时间前置到开发测试环节,大大提升修复效率。

IAST 技术进阶系列(二):全场景多核驱动相关推荐

  1. IAST技术进阶系列(五):共生进化,自适应云原生

    伴随着云计算带来的基础设施变革以及应用技术架构的转变,云原生和云原生应用已经成为耳熟能详的词汇.Gartner预测,到2025年,云原生平台将成为95%以上新数字化计划的基础.伴随云原生场景的普及,云 ...

  2. IAST技术进阶系列(三):高并发高可用场景支持

    DevOps敏捷开发模式已被业界普遍认可并被广泛应用,同时伴随云原生技术的兴起,青睐采用容器编排解决方案来构建和管理应用的企业不胜枚举.但是,应用程序安全测试依赖运行时探针,采用容器编排方案同时也意味 ...

  3. 多款新品亮相!一文看懂nova 11系列及全场景新品发布会

    4月17日,nova 11系列及全场景新品发布会在上海如期举行."敢拍敢出色"的华为nova 11系列新机正式发布,更有包括华为畅享60X.华为手环8.HUAWEI MateBoo ...

  4. RASP技术进阶系列(三):重大漏洞自动化热修复

    在上篇文章<RASP技术进阶系列(二):东西向Web流量智能检测防御>中提到,在企业日常安全运营以及HW场景下,应用漏洞攻击应急响应和恶意流量溯源分析是安全团队的重点工作.在恶意流量溯源方 ...

  5. Wireshark入门与进阶系列(二)

    摘自http://blog.csdn.net/howeverpf/article/details/40743705 Wireshark入门与进阶系列(二) "君子生非异也,善假于物也&quo ...

  6. matlab 积分进阶教程,最适合小白的matlab教程系列_进阶系列二之微积分

    微积分篇 更多文章参考 符号变量 极限问题 求导数 求导数----偏导数 积分--符号解 积分数值解 多重积分 级数求和 泰勒级数展开 常微分方程 更多文章参考 最适合小白的matlab教程系列_基础 ...

  7. 最适合小白的matlab教程系列_进阶系列二之微积分

    微积分篇 更多文章参考 符号变量 极限问题 求导数 求导数----偏导数 积分--符号解 积分数值解 多重积分 级数求和 泰勒级数展开 常微分方程 更多文章参考 最适合小白的matlab教程系列_基础 ...

  8. RASP技术进阶系列(一):与WAF的“相爱相杀”

    用什么来保护Web应用的安全?猜想大部分安全从业者都会回答:"WAF(Web Application Firewall, 应用程序防火墙)."不过RASP(Runtime Appl ...

  9. 最适合小白的matlab教程系列_进阶系列二之多项式

    多项式 一维插值 二维插值 计算多项式 *计算多项式* 计算多项式乘除法 多项式求导 多项式求积分 多项式曲线拟合 一维插值 命名格式vq=interp1(x,v,xq) x:原始数据(自变量)n维向 ...

  10. “全场景”新战事:荣耀何以成双11大赢家?

    "巨惠特卖"."全年最低"."限时抢购"."爆款秒杀",没有一个消费者和品牌会选择忽视一年一度的双十一大促. 也正因如此 ...

最新文章

  1. 使用logminer进行审计 Audit by using logminer
  2. python各个解释器的用途-【Python面试】 说说Python解释器种类以及特点?
  3. java 初级编程题_java基础经典编程题
  4. 《C++ Primer》14.3节练习
  5. 各大浏览器保存密码的文件
  6. 性能测试诊断分析与优化培训资料打包下载
  7. hdu 1261 字串数
  8. windows Anaconda lightgbm 安装
  9. 苹果核 - iOS端Mock GPS定位 —— 测试、开发、玩游戏、发朋友圈等等,你都用得上...
  10. 2020年“华为杯”中国研究生数学建模竞赛题目及简单分析
  11. 对称正定矩阵的Cholesky分解
  12. zoj 3939 The Lucky Week(打表找循环节)
  13. php禁用session和cookies,session与cookie的区别是什么?如果客户端禁用了cookie功能,将会对session有什么影响?...
  14. 云控系统-移动互联网时代发展的一次飞跃
  15. asp.net 将中文翻译成拼音(VS2008)
  16. SQL语句——基础篇
  17. Oracle EBS GL日记账批“选定以过账”状态数据修复
  18. Strategy模式的具体实现
  19. 现代RnB流行音源 – StudioLinkedVST Pure Modern RnB Kontakt
  20. Keil μVision4和Keil μVision5的比较

热门文章

  1. 一句口诀记住 OSI七层协议模型
  2. PHP实现图片转字符画
  3. 傲梅分区助手克隆Linux硬盘,傲梅分区助手如何复制磁盘?分区助手克隆磁盘的具体教程...
  4. 16/4/4二代支付硬盘故障处理
  5. 微信小程序云开发实现微信小程序订阅消息服务通知教程
  6. 微信小程序开发前后端交互快速入门
  7. 中兴e9000服务器,ZXCTN 9000-E设备系列_ZXCTN 9000-E系列中兴传输设备_中兴设备 - 诺深达华为光端机...
  8. s3c2416运行JAVA_实时时钟RTC - 基于S3C2440的Linux-3.6.6移植_Linux编程_Linux公社-Linux系统门户网站...
  9. cad.net 筛选、选择集
  10. 从致远OA-ajax.do未授权文件上传漏洞复现