上班还是事情多一些,下班也会事情各种,所以,没能有大段时间,就有些惰性,尽量每周一篇吧。

说起SDL或者DevSecOps,应该都会提及AST, 之前在一本书里看到过IAST,简单知道一些,因为昨天TT提到,所以今天做了一下功课,发现在近年安全咨询里,IAST其实被多次提及,那么就强化学习一下吧。安全的路上,真的是学无止境啊。

引子:

应用漏洞是黑客的主要目标。但是,现代应用开发的复杂性和快节奏使得安全问题的有效检测和修复变得越来越困难。我们希望通过一种工具或者服务,来解决在应用生命周期的每个阶段,解决软件中专有和第三方代码中的安全弱点和漏洞。

开发人员是抵御安全缺陷 (CWE) 和漏洞 (CVE) 的第一道防线。 开发流程实现了自动化,安全测试也应该如此。通过 DevOps 集成,将安全测试与现有的 CI、存储库和工作流工具集成并实现自动化。从而实现左移应用安全和自动化的SDLC安全。

Web应用安全测试:

主要分为3大类别。

1、DAST动态应用程序安全测试(Dynamic Application Security Testing)技术在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击,分析应用程序的反应,从而确定该Web应用是否易受攻击。DAST是一种黑盒测试技术,是目前应用最广泛、使用最简单的一种Web应用安全测试方法。它们不能访问代码或实现细节。DAST只检查系统对潜在漏洞测试的请求和响应。换言之,DAST是外部的漏洞扫描程序。

2、SAST静态应用程序安全测试(Static Application Security Testing)技术通常在编码阶段分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码存在的安全漏洞。SAST是一种在开发阶段对源代码进行安全测试发现安全漏洞的测试方案。SAST是对应用程序源代码执行直接的白盒分析。分析是在代码的静态视图上运行的,这意味着代码在审查时没有运行。

下面这个概念IAST,要多读几遍哈。

3、IAST交互式应用程序安全测试(Interactive Application Security Testing)是2012年Gartner公司提出的一种新的应用程序安全测试方案,通过代理、VPN或者在服务端部署Agent程序,收集、监控Web应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。IAST相当于是DAST和SAST结合的一种互相关联运行时安全检测技术。IAST可以像SAST一样看到源代码,也可以像DAST一样看到应用程序运行时的执行流。 IAST不仅拥有安全测试上的能力优势,也更容易与DevOps紧密结合,帮助机构在不降低发布效率的前提下完成安全测试。

IAST的实现模式较多,常见的有代理模式 、VPN、流量镜像、插桩模式

  • 代理模式,在PC端浏览器或者移动端APP设置代理(并不需要在服务器端安装东西),通过代理拿到功能测试的流量,利用功能测试流量模拟多种漏洞检测方式对被测服务器进行安全测试。
  • 插桩模式,插桩模式是在保证目标程序原有逻辑完整的情况下,在特定的位置插入探针,在应用程序运行时,通过探针获取请求、代码数据流、代码控制流等,基于请求、代码、数据流、控制流综合分析判断漏洞。

应用场景对比:

[CI/CD  这里扫个盲,在DevOps中用到很多。CI 持续集成(Continuous Integration),可以帮助开发人员更加频繁地(有时甚至每天)将代码更改合并到共享分支或“主干”中。如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以更加轻松地快速修复这些错误。CD 持续交付(Continuous Delivery),完成 CI 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。CD 持续部署(Continuous Deployment),对于一个成熟的 CI/CD 管道来说,最后的阶段是持续部署。]

最后补充一个概念RASP ,一般不和上面三个XAST混在一起比较,但是又有一定关联.so 了解一下。

RASP(Runtime application self-protection)运行时应用自我保护。这个概念也多次提到,顺带一起看看。RSAP将自身注入到应用程序中,与应用程序融为一体(可以获取到应用运行时的上下文,根据运行时上下文或者敏感操作,对攻击进行精准的识别或拦截。),实时监测、阻断攻击,使程序自身拥有自保护的能力。并且应用程序无需在编码时进行任何的修改,只需进行简单的配置即可。

RASP不但能够对应用进行基础安全防护,由于一些攻击造成的应用程序调用栈调用栈具有相似性,还能够对0day进行一定的防护。除此之外,利用RASP也能够对应用打虚拟补丁,修复官方未修复的漏洞。或者对应用的运行状态进行监控,进行日志采集。RASP运行在应用之中,只要检测点选取合理,获取到的payload已经是解码过的真实payload,可以减少由于WAF规则的不完善导致的漏报。缺陷:性能消耗,RASP带来的性能消耗在5%~10%之间。

写在最后:

AST(Application Security Test,应用安全测试)是应用程序软件安全实践的支柱之一。随着近年来安全越来越得到重视,AST们也发生着快速的迭代和变化,成为信息安全领域的当红炸子鸡。我们认为所有的软件技术和项目管理相关人员都应该对AST工具有基本的认知,并在一定程度上应用它们。怎么用,可以交给专业的安全公司。

参考文献:

一文洞悉DAST、SAST、IAST ——Web应用安全测试技术对比浅谈

Rasp技术介绍与实现(一)

应用安全测试

浅谈IAST,DAST,SAST之区别相关推荐

  1. 浅谈 unix, linux, ios, android 区别和联系

    浅谈 unix, linux, ios, android 区别和联系 网上的答案并不是很好,便从网上整理的相对专业的问答. 1.UNIX 和 Linux UNIX 操作系统(尤尼斯), 是一个强大的多 ...

  2. 建造者模式浅谈 与工厂模式的区别

    感谢您的阅读.如果感觉文章对您有用,麻烦您动动手指点个赞,以资鼓励.谢谢! 转载请注明出处哈 建造者模式浅谈 与工厂模式的区别_茄子_土豆的博客-CSDN博客_建造者模式和工厂模式的区别 创建对象时构 ...

  3. c语言宽字符与wchar,浅谈c++ 字符类型总结区别wchar_t,char,WCHAR

    1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数. UNICODE:wchar ...

  4. 浅谈JDBC与ODBC的区别与应用

    谈到JDBC与ODBC的区别,JDBC和ODBC其实都是用来连接数据库的启动程序.ODBC中文名字叫做开放数据库互联,是微软技术人员开发的开放服务结构中有关数据库的一个组成部分,它建立一组相关的规范, ...

  5. 浅谈Android各版本sdk区别

    转载地址:http://blog.csdn.net/itluochen/article/details/52688935 目录(?)[-] SDK目录 add-ons docs extras plat ...

  6. 浅谈Vue与React的区别

    经过你自己的学习,相信你们你对vue与react已经有了一些了解,也觉得这两大框架有一些相同之处.那咱们就来谈一下你觉得这两大框架有什么地方是不太一样的? 我觉得最大的相同点就是虚拟DOM节点,rea ...

  7. 浅谈 -- ♡ ‧₊˚ JS 与JQ的区别 ‧₊˚ ♡

    jQuery是一个Javascript库,是对于ECMAScript.dom.bom的一个浅封装,让用户更方便操作. 让我们简单谈谈JS与JQ的区别吧! ♡ ‧₊˚  定义  ‧₊˚ ♡ js是网页的 ...

  8. 浅谈框架与架构的区别

    背景 设计模式的学习贯彻我们整个学习过程中,当然一遍是不可能完全深入理解的,需要我们通过不断的接触才会对设计模式有更深层次的理解.设计模式就是告诉我们针对特定问题如何组织类,对象和接口之间的关系,是前 ...

  9. 浅谈unsigned与signed的区别

    在我们写c语言的程序中,总是能看见unsigned的关键字,unsigned的作用是声明无符号的整形类型,与signed对应.这个关键字是挺常见的. unsigned:用来声明无符号的整形变量 sig ...

  10. ip转换软件在五八上能用吗?_交换机能当路由器用吗?浅谈交换器和路由器的区别...

    交换机(又名交换式集线器)作用可以简单的理解为将一些机器连接起来组成一个局域网.而路由器与交换机有明显区别,它的作用在于连接不同的网段并且找到网络中数据传输最合适的路径 ,可以说一般情况下个人用户需求 ...

最新文章

  1. 干货|利用卷积自编码器对图片进行降噪
  2. 基于堆栈的虚拟机实现
  3. linux:Too Many Open Files(打开的文件过多)
  4. matlab feval 函数说明,Matlab feval函数
  5. 镜像上传到linux失败,Docker push镜像失败解决方法
  6. usb连接不上 艾德克斯电源_艾德克斯HT3150联机和IT6720校准联机记
  7. RESTful架构与RPC架构
  8. c16语言延时函数delay,《linux设备驱动开发详解》笔记——10中断与时钟
  9. 03-26 网络流量分析
  10. python实现api server,初学python,准备学习做个restful api server,现在有些困惑
  11. opencv threshold_OpenCV致幻
  12. Big Sur系统更新后,运行变慢?使macOS Big Sur更快运行的12个技巧
  13. 根据关键词获取多平台的商品列表接口解析
  14. java生成word带多级标题,word自动生成多级标题的方法
  15. Android UI控件和布局
  16. 运维(1) Jenkinsfile+Dockerfile+Nginx实现前端Vue自动化部署
  17. 工业智能网关BL110应用之九十六: 实现西门子S7-1500 PLC接入华为云平台
  18. 1588时钟同步算法仿真matlab,基于卡尔曼滤波与PID控制的IEEE1588从时钟同步研究
  19. Redis集群节点的变更
  20. 三星Note2 SCH-N719刷机教程

热门文章

  1. Android S中各类dex文件
  2. Spring Boot 接入支付宝,实战来了!
  3. VS2019安装和使用教程(超详细)
  4. 高斯课堂数电讲义笔记_《高数上》讲义笔记【高斯课堂】 (1).pdf
  5. 惠普打印机服务器状态未知,惠普打印机状态显示需要注意
  6. 后缀树后缀数组LCP
  7. python绘制中国地图散点图_使用Python实现画一个中国地图
  8. java计算机毕业设计高校多媒体设备报修管理系统源码+mysql数据库+系统+lw文档+部署
  9. 微信小程序中服务器主动向小程序多个客户端发送通知消息(模板消息)的解决方法
  10. 数据科学分布——泊松分布