开发者须知的七种免费安全工具

【51CTO.com快译】不知您是否已注意到:如今的程序员们,已经改变了过去在开发过程中完全无视安全性的状况。得益于SAST(Static Application Security Testing,静态应用安全测试)、DAST(Dynamic Application Security Testing,动态应用安全测试)、SCA(Service Component Analysis,软件组成分析)等脆弱性管理工具,他们在研发的过程中,不断地将安全性进行“左移(shift-left)”。在为用户创建各种软件的同时,他们已能够自觉地将应用程序的安全性融入到了日常的编程环节之中。

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了麦盖提免费建站欢迎大家使用!

近年来,随着DevOps及其相关技术在各个领域,特别是软件行业的落地与实践,安全相关任务在程序开发中的占比逐步增强。许多开发人员都能够在软件开发生命周期(SDL)的更早阶段,自行发现和修复产品原型中的各类漏洞。最近,业界甚至有种观点认为:由于了解手头代码的内部复杂性和具体内容,许多开发人员实际上比那些安全专业人员更适合处理应用程序中潜在的安全相关问题,而安全专业人员往往只能从经验和外部功能上予以分析。

在敏捷和DevOps理念中,“安全左移”是指:在软件开发的整个生命周期中,将安全性尽可能地推向、并嵌入到左侧的开始环节,而不是到了进程的最后,再去考虑安全性问题。因此,这就要求每一位开发人员通过使用恰当的工具,来关注和保证代码的安全态势。

鉴于上述特点,我在此为大家收集并罗列了七种免费的安全工具,以便开发人员能够将它们收纳在自己的工具箱之中。

1. Burp Suite

参考链接:https://portswigger.net/burp/communitydownload

Burp Suite是一种基于Java的Web渗透测试框架。该框架自带的各种工具能够通过无缝的协作方式,来支持整个测试过程。Burp Suite能够在应用程序的攻击面上进行各种初始化的映射与分析,进而发现那些可能被利用的安全漏洞。

同时,该工具能够通过拦截HTTP/S的各种请求,来充当用户和网站之间的中间人角色。其付费版本提供了一套更为灵活的自动化测试工具,能够与Jenkins等其他框架相集成。

2. ZED Attack Proxy(ZAP)

参考链接:https://www.zaproxy.org/

由OWASP(Open Web Application Security Project,开放式Web应用程序安全项目)开发的ZAP(或称Zed Attack Proxy),是一款多平台的Web应用安全测试类工具。在开发的过程中,ZAP可以被运用到针对Web应用的各种安全漏洞及测试阶段中。由于具有直观的GUI(Graphical User Interface,图形用户界面),新用户很容易上手并使用ZAP。同时,该安全测试工具也支持高级用户使用命令行的方式进行访问。除了作为漏洞扫描器被使用之外,ZAP还可以作为拦截代理,被用于手动测试网页的场景中。

3. ModSecurity

参考链接:https://www.modsecurity.org/download.html

ModSecurity是一款开源的、基于Web的应用级防火墙(或称WAF)。它能够支持诸如Apache、Nginx和IIS等不同的Web服务器。它能够对Web应用提供一系列针对各类攻击的保护,并允许用户进行HTTP流量监控、日志记录和实时分析。

ModSecurity通常是与开源Web服务器--Apache一起被安装的。它能够防御多种基于Web的攻击,包括代码注入和暴力攻击等。同时,ModSecurity可以通过灵活的规则引擎,来执行各种简繁不等的安全操作。另外,它还自带有一个包含了:跨站脚本、恶意用户代理、SQL注入、木马、会话劫持、以及其他类型漏洞的核心规则集(Core Rule Set,CRS)。

4. WhiteSource Bolt

参考链接:https://bolt.whitesourcesoftware.com/

用户可以从GitHub和微软Azure的DevOps/TFS处获取WhiteSource Bolt。如果开发人员能够在编写代码的早期阶段使用该工具的话,他们就能够更早地获取重要的安全警报,以开发出更加安全的开源组件。

根据那些在GitHub中自动生成的安全警报,用户可以查看诸如CVE(Common Vulnerabilities & Exposures,公共漏洞和暴露)的参考、CVSS(Common Vulnerability Scoring System,通用漏洞评估方法)的评级、以及相关的修复建议和重要细节。同时,该工具可以为用户提供在规划补救方案时所需的其他相关信息,甚至还支持以“里程碑”的方式将发现的漏洞分配给其他团队的成员。

5. LGTM

参考链接:https://github.com/apps/lgtm-com

LGTM是一个能够通过自动检查用户代码,以获得确有CVE相关漏洞的变种分析平台。通过将深层次的语义代码搜索、与数据科学的洞悉相结合,LGTM能够以查询结果相关度排名的方式,仅显示出那些重要的警报信息。另外,LGTM还可以提供各种来自大型社区的、那些顶级安全研究人员的经验分析。这些都有助于开发人员交付出安全的程序代码。

6. Find Security Bugs

参考链接:https://find-sec-bugs.github.io/

FSB是FunBugs静态代码分析工具的一个免费插件。其特长是能够通过检索Bug的特征模型,来查找代码中的安全问题。它可以被用来扫描Java Web应用、Android应用、以及Scala与Groovy等应用程序。由于它是从字节码级别进行分析的,因此它并不对源代码进行强制性的分析。FSB可以被集成到诸如IntelliJ、Eclipse和Android Studio等大多数Java IDE(Integrated Development Environment,集成开发环境)之中,并能够提供诸如Jenkins或SonarQube之类的连续性集成。

7. Skipfish

参考链接:https://tools.kali.org/web-applications/skipfish

作为一款Web应用的安全工具,Skipfish能够通过“爬取”用户的网站,以检索出每个页面上潜在的各类安全威胁,进而提供最终的安全报告。同时,它能够最优化HTTP的处理,并最小化CPU的占有。

通过执行递归式的爬取和基于字典式的探测,Skipfish能够为用户提供针对目标网站的交互式站点地图。这些地图都带有主动式安全检查的结果标注。因此,由该工具所生成的最终报告,可以作为专业评估Web应用安全性的基础性依据。

安全性最佳实践的重要性

随着各类企业对于软件产品安全性的持续关注,我们的研发团队应当在整个SDLC中,将恰当的管控工具与各种优秀的实践相结合,通过不断的迭代与改进,进而保障各类Web应用的安全态势。

原文标题:7 Free Security Tools That All Developers Will Want in Their Toolbox,作者:Zev Brodsky


文章题目:开发者须知的七种免费安全工具
地址分享:http://myzitong.com/article/dpiep.html