恶意软件分析、渗透测试、计算机取证——GitHub 托管着一系列引人注目的安全工具、足以应对各类规模下计算环境的实际需求。
作为开源开发领域的基石,“所有漏洞皆属浅表”已经成为一条著名的原则甚至是信条。作为广为人知的 Linus 定律,当讨论开源模式在安全方面的优势时,开放代码能够提高项目漏洞检测效率的理论也被 IT 专业人士们所普遍接受。
现在,随着 GitHub 等高人气代码共享站点的相继涌现,整个开源行业开始越来越多地帮助其它企业保护自己的代码与系统,并为其提供多种多样的安全工具与框架,旨在完成恶意软件分析、渗透测试、计算机取证以及其它同类任务。
以下十一个基本安全项目全部立足于 GitHub。任何一位对安全代码及系统抱有兴趣的管理员都有必要对它们加以关注。
1、Metasploit 框架
作为由开源社区及安全企业 Rapid7 一手推动的项目,Metasploit 框架是一套专门用于渗透测试的漏洞开发与交付系统。它的作用类似于一套漏洞库,能够帮助管理人员通过定位弱点实现应用程序的安全性评估,并在攻击者发现这 些弱点之前采取补救措施。它能够被用于对 Windows、Linux、Mac、Android、iOS 以及其它多种系统平台进行测试。
“Metasploit 为安全研究人员提供了一种途径,能够以相对普遍的格式对安全漏洞加以表达,”Rapid7 公司工程技术经理 Tod Beardsley 指出。“我们针对全部设备类型打造出数千种模块——包括普通计算机、手机、路由器、交换机、工业控制系统以及嵌入式设备。我几乎想不出有哪种软件或者固件 无法发挥 Metasploit 的出色实用性。” 项目链接:https://github.com/rapid7/metasploit-framework
2、Brakeman
Brakeman 是一款专门面向 Ruby on Rails 应用程序的漏洞扫描工具,同时也针对程序中一部分数值向另一部分传递的流程执行数据流分析。用户无需安装整套应用程序堆栈即可使用该软 件,Brakeman 缔造者兼维护者 Justin Collins 解释道。
尽管速度表现还称不上无与伦比,但 Brakeman 在大型应用程序扫描方面只需数分钟、这样的成绩已经超越了“黑盒”扫描工具。虽然最近已经有针对性地作出了修复,但用户在使用 Brakeman 时仍然需要留意误报状况。Brakeman 应该被用于充当网站安全扫描工具。Collins 目前还没有将其拓展至其它平台的计划,不过他鼓励其他开发人员对项目代码作出改进。项目链接:https://github.com/presidentbeef/brakeman
3、Cuckoo Sandbox
Cuckoo Sandbox 是一款自动化动态恶意软件分析系统,专门用于检查孤立环境当中的可疑文件。
“这套解决方案的主要目的是在启动于 Windows 虚拟机环境下之后,自动执行并监控任何给定恶意软件的异常活动。当执行流程结束之后,Cuckoo 会进一步分析收集到的数据并生成一份综合性报告,用于解释恶意软件的具体破坏能力,”项目创始人 Claudio Guarnieri 表示。
Cuckoo 所造成的数据包括本地功能与 Windows API 调用追踪、被创建及被删除的文件副本以及分析机内存转储数据。用户可以对该项目的处理与报告机制进行定制,从而将报告内容生成为不同格式,包括 JSON 与 HTML。Cuckoo Sandbox 已经于 2010 年开始成为谷歌代码之夏中的项目之一。项目链接:https://github.com/cuckoobox/cuckoo
4、Moloch
Moloch 是一套可扩展式 IPv4 数据包捕捉、索引与数据库系统,能够作为简单的 Web 界面实现浏览、搜索与导出功能。它借助 HTTPS 与 HTTP 机制实现密码支持或者前端 Apahce 能力,而且无需取代原有 IDS 引擎。
该软件能够存储并检索标准 PCAP 格式下的所有网络流量,并能够被部署到多种系统之上、每秒流量处理能力也可扩展至数 GB 水平。项目组件包括捕捉、执行单线程C语言应用程序、用户也可以在每台设备上运行多个捕捉进程;一套查看器,这实际是款 Node.js 应用程序、针对 Web 接口以及 PCAP 文件传输;而 Elasticsearch 数据库技术则负责搜索类任务。项目链接:https://github.com/aol/moloch
5、MozDef:Mozilla 防御平台
这款 Mozilla 防御平台,也就是 MozDef,旨在以自动化方式处理安全事件流程,从而为防御者带来与攻击者相对等的能力:一套实时集成化平台,能够实现监控、反应、协作并改进相关保护功能,该项目缔造者 Jeff Bryner 解释称。
MozDef 对传统 SEIM(即安全信息与事件管理)功能作出扩展,使其具备了协同事件响应、可视化以及易于集成至其它企业级系统的能力,Bryner 指出。它采用 Elasticsearch、Meteor 以及 MongoDB 收集大量不同类型的数据,并能够根据用户需求以任意方式加以保存。“大家可以将 MozDef 视为一套立足于 Elasticsearch 之上的 SIEM 层,能够带来安全事件响应任务流程,”Bryner 表示。该项目于 2013 年在 Mozilla 公司内部开始进行概念验证。项目链接:https://github.com/jeffbryner/MozDef
6、MIDAS
作为由 Etsy 与 Facebook 双方安全团队协作打造的产物,MIDAS 是一套专门针对 Mac 设备的入侵检测分析系统框架(即 Mac intrusion detection analysis systems,缩写为 MIDASes)。这套模块框架提供辅助工具及示例模型,能够对 OS X 系统驻留机制中出现的修改活动进行检测。该项目基于《自制防御安全》与《攻击驱动防御》两份报告所阐述的相关概念。
“我们发布这套框架的共同目标在于促进这一领域的探讨热情,并为企业用户提供解决方案雏形、从而对 OS X 终端当中常见的漏洞利用与驻留模式加以检测,”Etsy 与 Facebook 双方安全团队在一份说明文档中指出。MIDAS 用户能够对模块的主机检查、验证、分析以及其它针对性操作进行定义。项目链接:https://github.com/etsy/MIDAS
7、Bro
Bro 网络分析框架“与大多数人所熟知的入侵检测机制存在着本质区别,”Bro 项目首席开发者兼加州伯克利大学国际计算机科学协会高级研究员 Robin Sommer 指出。
尽管入侵检测系统通常能够切实匹配当前存在的各类攻击模式,但 Bro 是一种真正的编程语言,这使其相较于那些典型系统更为强大,Sommer 表示。它能够帮助用户立足于高语义层级执行任务规划。
Bro 的目标在于搜寻攻击活动并提供其背景信息与使用模式。它能够将网络中的各设备整理为可视化图形、深入网络流量当中并检查网络数据包;它还提供一套更具通用性的流量分析平台。项目链接:https://github.com/bro/bro
8、OS X Auditor
OS X Auditor 是一款免费计算机取证工具,能够对运行系统之上或者需要分析的目标系统副本当中的伪迹进行解析与散列处理。包括内核扩展、系统与第三方代理及后台程序、不适用的系统以及第三方启动项、用户下载文件外中已安装代理。
用户的受隔离文件则可以提取自 Safari 历史记录、火狐浏览器 cookies、Chrome 历史记录、社交与邮件账户以及受审计系统中的 Wi-Fi 访问点。项目链接:https://github.com/jipegit/OSXAuditor
9、The Sleuth Kit
The Sleuth Kit 是一套库与多种命令行工具集合,旨在调查磁盘镜像,包括各分卷与文件系统数据。该套件还提供一款插件框架,允许用户添加更多模块以分析文件内容并建立自动化系统。
作为针对微软及 Unix 系统的工具组合,Sleuth Kit 允许调查人员从镜像当中识别并恢复出事件响应过程中或者自生系统内的各类证据。在 Sleuth Kit 及其它工具之上充当用户界面方案的是 Autopsy,这是一套数字化取证平台。“Autopsy 更侧重于面向用户,”Sleuth Kit 与 Autopsy 缔造者 Brian Carrier 指出。“The Sleuth Kit 更像是一整套能够为大家纳入自有工具的库,只不过用户无需对该训加以直接使用。” 项目链接:https://github.com/sleuthkit/sleuthkit
10、OSSEC
基于主机的入侵检测系统 OSSEC 能够实现日志分析、文件完整性检查、监控以及报警等功能,而且能够顺利与各种常见操作系统相对接,包括 Linux、Mac OS X、Solaris、AIX 以及 Windows。
OSSEC 旨在帮助企业用户满足合规性方面的各类要求,包括 PCI 与 HIPAA,而且能够通过配置在其检测到未经授权的文件系统修改或者嵌入至软件及定制应用日志文件的恶意活动时发出警报。一台中央管理服务器负责执行不同 操作系统之间的策略管理任务。OSSEC 项目由 Trend Micro 公司提供支持。项目链接:https://github.com/ossec/ossec-hids
11、PassiveDNS
PassiveDNS 能够以被动方式收集 DNS 记录,从而实现事故处理辅助、网络安全监控以及数字取证等功能。该软件能够通过配置读取 pcap(即数据包捕捉)文件并将 DNS 数据输出为日志文件或者提取来自特定接口的数据流量。
这款工具能够作用于 IPv4 与 IPv6 流量、在 TCP 与 UDP 基础上实现流量解析并通过缓存内存内 DNS 数据副本的方式在限制记录数据量的同时避免给取证工作带来任何负面影响。项目链接:https://github.com/gamelinux/passivedns