您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 网络/安全 > 正文

绝对不能错过!五款卓越的开源安全工具

发表于:2017-03-11 作者:核子可乐译 来源:51CTO.com
开源是一种奇迹般的产物,如今企业IT乃至个人技术中的众多重要组成部分皆立足于开源软件。然而,尽管开源方案已经在网络、操作系统与虚拟化领域中得到广泛应用,但大多数企业安全平台仍然倾向于使用专有型、供应商锁定产品。好消息是,这一切正逐步发生改变。

绝对不能错过!五款卓越的开源安全工具

如果大家还没有考虑过利用开源方案协助解决安全需求,那这绝对是一大憾事——您已经在无形中错过了众多能够有效保护您网络、主机与数据的可行工具。事实上,相当一部分开源安全工具来自值得依赖的知名项目,包括众多领先云服务运营商及安全厂商。其中不少甚至被用于规模最大且最具挑战的测试环境当中。

开源社区一直在为安全专业人士提供极为丰富的解决方案资源,其中最为知名的当数Metasploit这款开源渗透测试框架。然而对于研究人员、调查人员乃至分析师,开源社区亦给出了其它有针对性且效果拔群的成果。在今天的文章中,我们将分享五款不容错过的卓越开源安全工具,希望能够帮助各位IT管理员与软件开发者找到新的安全保障实现途径。

Commit Watcher:检查代码库中的秘密

开源代码库中不应存在秘密,但仍有不少不情愿的开发者喜欢搞这种小伎俩。事实上,此前就曾经出现过将代码库上传至GitHub,而导致私有AWS密钥、硬编码密码或API令牌等秘密遭到泄露的情况。

为解决这一难题,我们可以利用Commit Watcher这款开源工具查找公共与私有Git库中的潜在敏感信息。开发者与管理员皆可利用Commit Watcher监控自己的项目,以便确保其中不存在任何不应进行提交的秘密凭证。例如,当某一公共项目收到一条“fixes XSS attack(修复XSS攻击)”的提交更新时,Commit Watcher会向开发者通报具体提交者身份并捕捉一份新的依赖性版本。

Commit Watcher能够定期轮询项目以查找新提交内容,同时搜索与项目规则中定义的任何关键字与短语相匹配的内容。具体规则包括文件名、代码模式、注释与作者名等正则表达。Commit Watcher拥有数十项预配置规则,可用于查找AWS凭证、Salesforce凭证、SSH密钥、API密钥以及数据库转储文件等。

Jak:对Git中的秘密进行加密

我们当然不应在代码中纳入秘密凭证。相反,大家应将其保留在配置文件中,而后再将该config文件添加至.gitignore列表以避免其受到提交内容的影响。支付系统、邮件系统以及虚拟机等应当以手动方式直接部署在应用服务器上,而与之关联的密钥则必须同这些源代码以完全隔离的方式管理。而这就带来了新的挑战——我们该如何处理共享密钥。

下面来看一种常见场景:团队中的一名成员从代码库下载源代码,并通过带外方法收取密钥——具体方法可能是快速但管理水平较低的纯文本邮件、聊天消息、U盘或者手写便笺。那么,我们能否找到一种方案将这些秘密与源代码保存在存储库内,从而在轻松共享的同时通过加密避免其暴露?

Python项目Jak就能够很好地解决这个问题。其允许开发者向Git内提交经过加密的敏感文件版本。相较于传统的.gitignore,开发者能够在jakfile中列出敏感文件,而Jak则在提交时确保仅将该文件的加密版本上传至存储库。Jak负责处理必要的加密与解密流程,且可自动生成并更新加密密钥。一切皆在命令行中实现,因此开发者无需在提交前切换窗口以完成文件加密或者在下载前进行文件解密。

虽然现在直接将Jak引入生产环境还为时过早,但确实有越来越多的开发者开始使用这款工具。事实上,安全初创企业Dispel公司就在加以使用。

Yara:利用模式匹配机制找出问题

恶意软件研究人员热衷于使用Yara,这是一款用于发现并分类恶意文件样本的开源工具。除此之外,其亦可实现多种事件响应与取证调查功能。用户可创建规则——规则由文本字符串、十六进制值或正则表达式组成——从而利用Yara对可疑目录及文件进行查找与匹配。另外,Yara也可用于扫描运行中的各进程。

通过利用Yara进行文件分析,卡巴斯基实验室与AlienVault的研究人员们得以成功将索尼入侵案与其它一些攻击活动关联起来。

目前的一类常见攻击手段在于替换系统文件以在设备中建立后门。监控系统文件的方法之一是查看其MD5与SHA-1哈希值,另一种方法则是为系统文件中的多个字符串或值设置Yara规则并进行定期扫描。如果未能扫描到匹配项,则意味着文件已遭修改。另外,如果攻击者已经将命令shell的副本上传至未知位置,Yara也能够顺利找到这些副本。

除了预配置与自定义规则外,Yara还可利用开源反病毒工具ClamAV中的病毒签名文件以及YaraRules库中的规则集。这套库包含大量用于检测已知标记恶意进程的预定义规则。其亦可利用VIrusTotal私有API以设置触发条件,从而将环境扫描中发现的匹配文件上传至VirusTotal的恶意软件数据库。Yara本身并非必须运行在命令行界面中; 其拥有一套Python库以将其集成于Python脚本内。

Yara还能够在许可外位置(例如出站邮件附件)内检测文件变更或者恶意模式(包括社保号、管理凭证等)。由于基于签名的检测机制功能有限,所以单纯依靠Yara查找恶意文件可能并不可行。但考虑到其出色的灵活性,我们仍然可以利用其实现多种重要的安全保护工作。

ProcFilter: 利用模式匹配阻止问题

Yara是一款极为出色的取证调查工具与事件响应工具,可供用户在感染状况出现后进行文件分析。然而,单纯利用Yara尚不足以主动预防各类已知威胁。在这种情况下,大家可以利用由GoDaddy开发的开源项目ProcFilter,其能够在Windows环境下有效解决此类挑战。ProcFilter允许大家利用Yara规则检测运行中的各进程,同时基于匹配情况阻断或者记录可执行文件(并隔离关联文件)。

ProcFilter可作为Windows服务运行并通过微软Event Tracing for Windows(简称ETW)API实现集成,因此其可直接将活动记录在Windows Event Log当中。这一集成能力亦意味着ProcFilter能够利用块、日志或者隔离值进行规则创建,并在符合匹配条件时执行相应操作。ProcFilter亦可通过配置在进程创建或中止时扫描文件与内存,或者在加载可执行镜像时触发。

ProcFilter的设计目标并非取代我们的现有反恶意软件解决方案,但其能够切实帮助大家清除特定已知威胁,例如针对其它同级组织的钓鱼攻击。如果其中的团队共享了攻击活动的Yara签名以帮助其他组织避免遭遇同样的问题,大家则可利用ProcFilter在收到的邮件消息及承载这些消息的数据块内查找匹配结果。或者,如果大家希望找到诱导性Word、Excel、PowerPoint及Adobe文件,ProcFilter亦可查找并记录这些应用程序所产生的全部子进程。

OSquery:对端点的系统状态加以查询

大家可以设想一下,如果您的Windows、MacOS以及Linux端点内存在恶意进程、流氓插件或者软件安全漏洞,那么我们该如何通过简单编写一条SQL查询对这些问题进行定位?事实上,这正是OSquery的长项所在。这款由Facebook公司工程师们开发的开源工具能够收集多种操作系统信息,具体包括运行进程数量、已加载内核模块、开放网络连接数、浏览器插件、硬件事件以及关系型数据库内的文件散列等等。如果大家能够编写SQL查询,即可借此轻松为安全问题找到答案——而无需任何更为复杂的编码操作。

举例来说,以下查询即可监听各网络端口上的全部进程:

SELECT DISTINCT process.name, listening.port, listening.address, process.pid FROM processes AS process JOIN listening_ports AS listening ON process.pid = listening.pid;

以下查询则可找到地址解析协议(Address Resolution Protocl,简称ARP)缓存内的异常状况,其中包含有与IP地址及其解析后得出的以太网物理地址信息:

SELECT address, mac, COUNT (mac)ASmac_count FROM arp_cache GROUP BY mac HAVING COUNT(mac)>1;

这种作法显然较直接在Python环境下进行编码要简单得多。QSquery能够以极为直观且优雅的方式解决这一重要难题,还因此获得了InfoWorld网站评出的年度技术大奖。此工具中的组件包括QSqueryi(一套交互式shell,可与PowerShell配合使用)以及QSqueryd(一款守护程序,负责执行底层主机监控并允许用户进行查询计划设计)。

诚然,出于对成熟度及技术支持等问题的考量,很多IT管理员在企业环境中无法使用开源安全工具。但必须承认,阻止大家选择开源方案的核心因素在于信任缺失。企业可能不希望让开发者们利用那些其毫不了解的解决方案保护自己皇冠上的宝贵明珠。

今天文章中介绍的各款开源安全项目则皆来自知名且值得信赖的业界大厂,因此其绝对值得大家进行尝试并加以实际部署。其中每一款工具都能够帮助您解决实际面临的特定安全问题,且所需投入亦相当有限,因此进行尝试绝对对您有利无害。相信我,它们一定能够为您的环境安全性保障及相关工作方式带来巨大而积极的助益。

原文标题:5 open source security tools too good to ignore,作者:Fahmida Y. Rashid