无论是早期的互联网时代,还是当今移动互联或万物互联时代,软件服务的安全性都至关重要,这也就迫使我们重视安全性测试。安全性测试一般围绕被保护的资产,通过代码和程序的分析来确定威胁或漏洞的严重程度,以及被利用的可能性和影响,来评估特定威胁或漏洞对企业造成负面影响的风险。除了综合的安全性风险评估之外,安全性测试一般有以下几种类型:

  • 漏洞扫描:由工具自动对代码进行静态分析,以识别软件组件中是否存在已知的漏洞。

  • 渗透测试:是在安全条件下模拟黑客对应用程序、软件、系统或网络进行网络攻击的过程。渗透测试可以发现未知的漏洞,如 zero-day威胁和商业逻辑漏洞,目前人们应用越来越多的渗透测试工具来完成测试任务。

  • 应用程序的安全测试:针对web、Android/iOS移动App等特地的应用进行测试,包括收集这类应用程序的相关信息,发现系统漏洞或缺陷。

  • API安全测试:识别API和网络服务中的漏洞(如API注入、XML注入等)。API特别容易受到中间人(man in the middle,MiTM)攻击等威胁,如窃听API通信并窃取数据或凭证。

  • 配置扫描,一般根据研究机构或合规标准指定的最佳实践列表来检查系统,识别软件、网络和其他计算系统的错误配置的过程。

  • 安全审计,根据定义的法规和合规标准、安全要求来审查代码或架构,分析安全漏洞,评估硬件配置、操作系统和组织实践的安全状况。

虽然安全性测试工具有不同的分类,但一般可以简单分为以下四类:

  1. 动态应用安全测试(Dynamic Application Security Testing,DAST),一般指在测试或运行阶段,使用黑盒方法以发现漏洞的过程,如模拟黑客行为对应用程序进行动态攻击,分析应用程序的反应或动态运行状态,从而确定该应用是否易受攻击,如检测诸如内存损坏、不安全的服务器配置、跨站脚本攻击、用户权限问题、恶意SQL注入和其他关键漏洞等缺陷,如开源的Zed Attack Proxy (ZAP)。其优势:可进行逻辑漏洞检测;不分语言和框架,漏洞好复现;而其劣势:漏洞检出率和第三方框架检测效果较差,漏洞详细度较低;使用时入侵性较高,风险程度高

  2. 静态应用安全测试(Static Application Security Testing ,SAST)主要是通过分析应用的源代码或其编译版本(二进制文件)的语法、结构、过程、接口等来发现程序代码存在的安全漏洞,如之前介绍的 Klocwork、Helix QAC、HCL AppScan等,以及国内的腾讯xcheck、Wukong(悟空)等。其优势为:漏洞检出率和覆盖度高;使用时侵入性小,风险程度低;而其劣势有:漏洞检测误报高,耗时久。

  3. 交互式应用安全测试(Interactive Application Security Testing,IAST)是通过代理、VPN或者在服务端部署Agent程序,收集、监控应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数,如CodeDx、Checkmarx  CxIAST等。IAST相当于是DAST和SAST结合的一种互相关联运行时安全检测技术。其优势:漏洞检测误报率低,检测速度快,漏洞详细度高;而其劣势为:漏洞检测覆盖度较难以保证,支持的语言和框架被严格限制。

  4. 软件成分分析(Software Composition Analysis,SCA)是通过分析软件(特别是开源软件包)包含的一些信息和特征来实现对该软件的识别、管理、追踪的安全检测技术,如Synopsys Black Duck、RedRocket-SCA等。SCA理论上看是一种通用的分析方法,可对任何编程语言对象(源代码或编译的二进制文件)进行分析,对关注的对象是从文件内容,以及文件与文件之间的关联关系以及彼此组合成目标的过程细节,从而获得应用程序的画像—–组件名称+版本号,进而关联出存在的已知漏洞清单。

对SAST工具还可以进一步分为三代:

  1. 第1代  SAST工具,其特点是:快,但一般只能做风格类检测,缺陷检测误漏报太多(路径敏感检测无法进行),其典型的工具有:SonarQube、PMD、CheckStyle等开源工具。

  2. 第2代 SAST工具,既能做风格又能检测缺陷,但精度和效率有折衷,无法做到无误报无漏报,其典型工具有:RedRocket SAST, Coverity, Klocwork, Polyspace等;

  3. 第3代 SAST工具,动静结合的分析技术,无误报或低漏报,其典型工具有:NG SAST。

(Gartner对安全性测试工具厂商的能力对比分析)

在安全性测试工具,有一家公司的产品比较齐全,它就是QECon大会共创伙伴:Synopsys(新思),上述图中也显示Synopsys处在这个领域第一位,其主要工具有:

  • Coverity® (SAST):在编码开发过程中解决编码安全和质量缺陷

  • Black Duck® (SCA):在应用和容器中保护并管理开源风险

  • Polaris Code Sight™ IDE 插件:将应用安全性分析无缝集成到 IntelliJ、Eclipse 或 Visual Studio IDE 中

  • Seeker® (IAST):在 DevOps 流水线中自动执行 Web 安全测试

  • Tinfoil: 将 DAST 和 API 安全测试集成到开发和 DevOps 工作流中

  • Defensics® 模糊测试:识别服务和协议中的缺陷和零日漏洞

  • Red teaming:确保网络、物理和社交攻击面安全

  • 渗透测试:抢在黑客攻击之前找出应用和服务中的漏洞

  • AppSec 计划制定:在专家的帮助下构建并加速应用安全计划

  • 威胁和风险评估:了解 AppSec 计划需要解决的内外部安全风险

其官方网站:

https://www.synopsys.com/zh-cn/software-integrity.html

本篇文章介绍十大SAST工具和十大DAST工具

SAST:

  1. CxSAST

  2. Codacy

  3. Coverity

  4. INSIDER CLI

  5. Kiuwan

  6. LGTM.COM

  7. Reshift

  8. RedRocket-SAST

  9. SonarQube

  10. Veracode

DAST:

  1. Acunetix

  2. Burp Suite

  3. Intruder

  4. Kali Linux

  5. MetaSploit

  6. Netsparker

  7. Nmap

  8. SQLmap

  9. W3af

  10. ZAP

 ........... SAST  ...........

1. Checkmarx CxSAST

Checkmarx能提供较完整的软件安全测试及其解决方案,将应用安全与DevOps文化结合起来,使得开发人员能够更快地交付安全应用。其中CxSAST是高度准确和灵活的源代码分析产品,能够让组织自动扫描未经编译/构建的代码,识别最流行的编码语言中的数百个安全漏洞。

官网地址:https://checkmarx.com/

2. Codacy

Codacy是一款企业级安全保障工具,能够完成静态分析(安全和性能检查)、代码重复率、代码复杂性和测试覆盖率等分析,支持多种语言(Scala、Java、Java、Python、Ruby、PHP)、上千条规则和灵活定制,能够分析不同分支、忽视不相关的问题保持分析结果简洁、管理用户角色和权限等。

官网:https://www.codacy.com/

GitHub:https://github.com/codacy

3. Coverity

Coverity是一款快速、准确且高度可扩展的静态分析 (SAST) 工具,提供全面广泛的安全漏洞和质量缺陷检查规则,涵盖22种编程语言,超过70余种应用框架及常用的架构即代码(infrastructure-as-code)平台和文件格式,并支持云部署,并通过 CI、SCM、问题跟踪集成和 REST API,将 SAST 嵌入 DevOps 流水线。

官网

https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html

4. INSIDER CLI

Insider 源代码分析工具是一款社区驱动型方案,通过在源代码层级扫描漏洞以支持敏捷且高效的软件开发方法,适用于.NET 框架、JavaScript(Node.js)、Java(Android 与 Maven)、Swift 以及 C# 等。

官网:https://github.com/insidersec/insider

5. Kiuwan

Kiuwan是目前市场上技术覆盖和集成度最高的SAST和SCA平台。通过DevSecOps的方法,Kiuwan获得了出色的基准分数(如Owasp、NIST、CWE等),并提供了丰富的功能,超越了静态分析的范畴,能够满足SDLC中每一个利益相关者的需求。

官网:https://www.kiuwan.com/

6. LGTM.COM

LGTM是一款开源且高效的代码审查工具,可通过变体分析检查代码中的常见漏洞与披露(CVE),同时支持几乎所有主要编程语言,包括 C/C++、Go、Java、JavaScript/TypeScript、C# 以及 Python 等。LGTM 首先使用 CodeQL 技术识别问题、解决问题,并扫描类似的代码模式以避免出现进一步威胁。

官网:https://lgtm.com/

7. Reshift

Reshift 的核心目标是在不影响开发速度的前提下发现安全问题,这也使其成为推广 DevSecOps 的重要选项之一。Reshift 与集成开发环境(IDE)相融合,允许用户在代码审查、编译时以及持续集成的过程中识别漏洞并实时加以修复,所以它是较完美的轻量化 DevOps 安全测试解决方案。

官网:https://www.reshiftsecurity.com/

8. RedRocket-SAST

鸿渐SAST工具运用静态单赋值分析、控制依赖分析、域敏感分析、跨函数指针分析、值依赖分析等多种先进技术,并结合深度学习模式挖掘技术,极大保证分析的效率、精度和广度。支持片段代码检测和逻辑漏洞检测、全面支持国内编码标准,支持跨语言分析及典型框架并完全适配国产环境。

官网:http://www.redrocket.cn/

9. SonarQube

SonarQube 是最著名的静态代码分析工具之一,旨在清理并保护 DevOps 工作流及代码。通过对代码质量的持续分析,SonarQube 会定期检查以检测出 bug 及安全问题。SonarQube支持 27 种编程语言,包括 Java、Python、C#、C/C++、Swift、PHP、COBOL 以及 JavaScript 等,并能在 GitHub、Azure DevOps  等 repo 中直接分析代码,在代码审查期间提供即时反馈。

官网:https://www.sonarqube.org/

10. Veracode

Veracode静态分析工具能为为IDE和CI/CD管道中的开发人员提供快速、自动的反馈,在部署前执行完整的策略扫描,并就如何快速查找、确定优先级和修复问题提供明确的指导,而且误报率低。

官网:http://www.veracode.com

............ DAST ...........

1. Acunetix

Acunetix是有史以来第一个自动Web应用程序安全扫描仪,能够对任何网站或应用程序进行全面检查,足以识别一个框架中超过4500个单独的弱点或逃脱条款,包括各种SQL注入和XML注入等。该工具计划配备一个DeepScan爬虫,用于过滤HTML5网站和AJAX重量级的客户侧SPA。该工具与Linux和Windows操作系统兼容,同时也可以在网络上运行。

官网:https://www.acunetix.com/?ab=v1

2. Burp Suite

Burp Suite 是一个Web应用安全测试工具,其中Burp Proxy允许人工分析人员捕捉程序和目标应用程序之间的所有请求和反应,不仅具有一些基本的功能,如中间人、扫描器和介入者,也有一些高级功能,如爬虫、中继器、解码器、比较器、排序器、扩展器API等。Burp Suite Pro很可能是最神奇、最先进的网络应用程序的渗透测试工具,可以帮助测试人员修复和寻找弱点,并找到被测对象不明显的脆弱面。它是一个由不同的进步设备组成的 "套件",并且,最适合用于渗透测试。

官网:https://portswigger.net/burp

3. Intruder

Intruder是一个具有人工智能的渗透测试设备,它提供行业领先的安全检查、持续的观察能力,设置简单,可以在IT环境中找到各种安全缺陷,包括错误的配置、缺失的补丁、加密的弱点和未经认证区域的应用程序漏洞。此外,这种渗透测试工具的活动路线清晰,接收按上下文优先排序的可操作结果,更容易发现可能面临危险的缺陷,并得到解决这些缺陷的最成熟方法的建议。

官网:https://www.intruder.io/

4. Kali Linux

Kali Linux是一个开源的安全测试平台,包含了超过600种渗透测试工具,这些工具都是针对不同的数据安全工作而配备的,例如渗透测试、安全研究、计算机取证和逆向工程。

官网:https://www.kali.org/tools/

5. MetaSploit

Metasploit是一个开源的、先进且广泛使用的渗透测试框架,具有许多渗透方案的模拟功能,用于离散任务的元模块,如网络分段测试,能够发现超过1500种漏洞。

官网:https://www.metasploit.com/

6. Netsparker

Netsparker是一个最为准确的、简单易用的网络应用程序渗透测试工具,能够扫描任何网络相关的应用程序,覆盖超过1000种漏洞。它突突显其基于证明的扫描技术,它不仅仅是为了识别和区分弱点,而且还提供了一个概念证明,以确保它们不是虚假的报告。Netsparker能够发现网络应用程序中可能存在的SQL注入、XSS和不同的弱点,包括应用程序所提供的服务条件。它还能生成合规性相关的规则,告诉研发人员在当前环境下编写更安全的代码的最佳方法来防止安全缺陷。

官网:https://www.netsparker.com/

7. Nmap

NMap是Network Mapper的缩写。它是一个免费和开源的安全检查工具,用于网络调查和安全评估,如检查开放的端口、监督管理检修时间表、观察主机或管理的正常运行时间。它支持Linux、Windows、Mac OS、AmigaOS等,可用于弄清组织上有哪些主机可以使用、正在运行什么工作框架和版本、正在使用什么样的捆绑通道/防火墙等。

官网:https://nmap.org/

8. SQLmap

SQLmap是一个开源的、流行的且强大的渗透测试工具,用于识别那些影响各种数据集的SQL滥用和SQL注入漏洞。它具有一个强大的漏洞扫描引擎,支持大量的数据库服务,包括MySQL、Oracle、PostgreSQL、MS SQL Server等。此外,该测试工具支持六种类型的SQL注入方法。

官网:https://sqlmap.org/

9. W3af

W3af是一个Python开发的、流行且高效的Web应用渗透测试平台。可以用来检测网络应用程序中的200多种安全问题,包括SQL注入、跨站脚本、缓冲区溢出漏洞、CSRF漏洞、可猜测凭证、未处理的应用错误和不安全的DAV配置等等。它有一个图形和控制中心的用户界面,适用于Windows、Linux和Mac OS。

官网:http://w3af.org/

10. ZAP

ZAP(Zed Attack Proxy)是一个由OWASP开发的、毫无保留的开源网络应用程序安全扫描工具。ZAP支持Windows、Unix/Linux和Mac OS,能够发现网络应用中的各种安全漏洞,支持Web Socket、基于REST的API和动态SSL证书、强制浏览、拦截代理它安装和使用都简单,那些刚接触应用安全的人和专业的渗透分析员都能使用。

官网:https://www.zaproxy.org/

安全性测试工具还可以参考:

  • https://www.imedita.com/blog/top-security-testing-tools/

  • https://www.guru99.com/top-5-penetration-testing-tools.html

  • https://www.testbytes.net/blog/open-source-security-testing-tools/

  • https://www.cigniti.com/blog/security-testing-tools-need-know/

  • https://owasp.org/www-community/Source_Code_Analysis_Tools

  • https://bbs.huaweicloud.com/blogs/detail/293795

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢软件测试的小伙伴们,可以加入我们的测试技术交流扣扣群:310357728里面有各种软件测试资源和技术讨论)

2021年软件测试工具总结——安全性测试工具【附官网地址】相关推荐

  1. 2021年宁夏省高考成绩查询入口,2021年宁夏高考成绩查询通知【附官网查询入口】...

    宁夏高考成绩查询时间:6月23日 据现代语文网高考志愿填报参考系统显示:2011-宁夏高考各批次录取分数线为: 宁夏历年高考分数线 2016宁夏高考分数线预测(一本二本三本)历年高考分数线 宁夏高考分 ...

  2. 2021年软件测试工具总结——模糊测试工具

    ~ 什么是模糊测试?~ 模糊测试(Fuzz Testing)是一种自动化的软件测试技术,最初是由威斯康辛大学的巴顿·米勒于1989年开发的,通常用于识别程序中的潜在漏洞.模糊测试的核心是自动或半自动的 ...

  3. 做软件测试却不知道这些测试工具?利用好可以涨薪50%

    都说"工欲善其事,必先利其器".做软件测试行业,怎么能缺少好用的软件测试工具呢?对于很多小伙伴,尤其是新手来说,刚入行时,由于接触的工具比较少,会的工具可能也就那么几个,如果工作中 ...

  4. [原创]下一代Web 应用程序安全性测试工具HP WebInspect简介

    [原创]下一代Web 应用程序安全性测试工具HP WebInspect简介 主要功能介绍: 利用创新的评估技术检查 Web 服务及 Web 应用程序的安全 自动执行 Web 应用程序安全测试和评估 在 ...

  5. 软件测试资料哪个好用,做软件测试却不知道这些测试工具?利用好可以涨薪50%...

    都说"工欲善其事,必先利其器".做软件测试行业,怎么能缺少好用的软件测试工具呢?对于很多小伙伴,尤其是新手来说,刚入行时,由于接触的工具比较少,会的工具可能也就那么几个,如果工作中 ...

  6. 软件测试复现工具,鼎恒资讯:做软件测试却不知道这些测试工具?利用好可以涨薪50%...

    原标题:鼎恒资讯:做软件测试却不知道这些测试工具?利用好可以涨薪50% 都说"工欲善其事,必先利其器".做软件测试行业,怎么能缺少好用的软件测试工具呢?对于很多小伙伴,尤其是新手来 ...

  7. iSQE测试工具系列研讨会-测试工具赋能软件产品质量

    活动主题 本期研讨会,我们沿用第十一届iSQE峰会工具场主题"测试工具赋能软件产品质量",围绕产品质量得三个方面,共同探讨如何通过技术手段分析,使用合适得测试工具来赋能软件产品质量 ...

  8. 海康直连工具 海康测试工具,工程宝测试软件等

    海康直连工具 海康测试工具,工程宝测试软件等,监控工程调试软件,海康/大华,摄像头IP批量修改,摄像头密码重置,恢复出厂等各种工程测试软件,所有软件为app格式, 都是原厂最新版软件,别再问可不可以装 ...

  9. 游综宅2021最新天下布魔下载渠道 Tenkafu MA下载官网地址

    游综宅为你带来2021最新天下布魔下载渠道 Tenkafu MA下载官网地址,我们将持续为您更新天下布魔最新版本的游戏包包体,您在游综宅手游网将可以下载最新.最安全的天下布魔游戏包体. 温馨提示: 1 ...

  10. 计算机专业英语一国家线,考研分数线2021国家线英语一_中国考研招生信息网官网...

    考研分数线2021国家线英语一_中国考研招生信息网官网由广东研究生考试网考试快讯栏目由提供,更多关于考研分数线2021国家线英语一,中国考研招生信息网官网,广东研究生考试快讯的内容,请关注广东研究生考 ...

最新文章

  1. 中点和中值滤波的区别_滤波器基础知识简介
  2. 97. Interleaving String 交错字符串
  3. Flume 1.6 遇Emoji表情发生截断丢失数据问题分析
  4. JavaScript中的的面向对象中的一些知识
  5. Win10系统电脑查看无线密码的方法
  6. qt程序中使用 环境变量_目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU...
  7. (45)css面试题集锦二
  8. python 截取字符串6位,python按照指定字符或者长度 截取字符串
  9. linux iphone文件,在linux下生成iphone所需要的视频和音频文件的方法总结
  10. android+6.0中兴v5s,中兴v5s
  11. c语言数据结构课程设计算术表达式求值,《数据结构 课程设计》表达式求值 实验报告...
  12. 概率论基础3----分布
  13. 代码比较工具——DiffMerge的安装教程
  14. 部署 - 前端部署https服务,并配置安全证书
  15. java自动洗扑克牌算法_扑克牌 洗牌算法 的java实现
  16. 鹅厂流出两份Android Framework技术宝典火了,完整版 PDF 限时开放下载
  17. 打造前端 Deepin Linux 工作环境——安装最新版本的火狐firefox浏览器
  18. driller fuzz arm问题解决记录
  19. 关于公网摄像机直播公网视频直播的基本思考方法
  20. 【数据结构】八大经典排序(两万字大总结)

热门文章

  1. 新经济 DTC 转型,一个简单而强大的数据平台至关重要
  2. Php ui 3dmax,3dMAX 7-2020 3264位 SP1 sp2更新补丁合集及修复说明
  3. ansys19.2安装教程
  4. SecureCRT下载和破解
  5. PHP和mysql开发谷歌地图
  6. Java网络编程socket实现(demo)
  7. 【资料】《数字电子技术基础》阎石第五版
  8. android游戏开发方向初探
  9. 如何在EdrawMax中同时画有箭头和没箭头的直线
  10. 前端地图之色斑图渲染(直接canvas叠加渲染)(三)——以leaflet为例