绝对不应错过的五大开源安全工具

无论你要防止源代码中的信息泄露,还是要寻找恶意文件、阻止恶意进程、保证端点安全,这几个好用的开源工具都能助你一臂之力。

[[184564]]

开源是开发领域的一项壮举。今天,很大一部分的企业或个人都依赖开源软件。但即使开源软件广泛应用于网络、操作系统、和虚拟机,企业安全平台仍然倾向于专用软件并受供应商的私有开发工具的约束。幸运的是,这种传统正在改变。

如果你没有试过用开源软件满足安全需求,意味着你错过了越来越多的免费工具,它们完全可以保护你的网络、主机和数据。而更加重要的是,这些工具中很多都来自活跃的项目,而且来源名头不小、完全可信,最前沿的云安全公司和核心运营商都参与其中。很多工具已经在可以设想的最大、最难的环境中测试过了。

开源始终是安全专家们的工具源泉(比如大名鼎鼎的开源渗透测试框架Metasploit)。然而,信息安全并不仅仅是研究人员、调查人员和分析师的专属领域,下列五个开源的安全工具也不仅仅为这些人服务。IT管理员和软件开发者同样大有可为,这五个工具可以让他们大展拳脚。

一、Commit Watcher:检索代码中的秘密信息

开源库本身不应该保有用户的秘密,但粗心的开发者可能在代码里误留了机密信息。我们都读过有关Amazon网络服务密钥、硬编码的密码或API标识的泄露报告,起因往往就是开发者误把这些机密上传到了GitHub等代码存储库。

为了解决这一问题,SourceClear开发了Commit Watcher,这个免费的开源工具可以在公共和私人Git存储库离查找潜在危险失误。开发人员和管理员都可以使用Commit Watcher监控自己的项目以防止凭证的意外泄露,或是监控公共项目以分辨后者是否存有问题。例如,当一个公共项目进行“修复XSS攻击”的更新时,Commit Watcher将通知开发人员,从而获取该更新依赖的新版本。

Commit Watcher会定期提交项目动态,并查找任何与项目规则所定义的关键字和短语匹配的内容。规则为文件名、代码、评论、作者的名字的正则表达式。Commit Watcher预存了几十个配置规则,用以寻找AWS凭证、Salesforce凭据、SSH密钥、API标识和数据库转储文件。

二、Jak:在Git上加密

这是防止源代码中信息泄露的“开发者必读”。开发者应该将密钥保存在一个配置文件里,然后将配置文件添加到.gitignore以避免被列入代码库。支付环境、邮箱和虚拟机等环境的密钥,你应当亲手放置到应用程序服务器里,保持和源代码的独立管理。当密钥需要共享时,这可以避免问题。

然而,这就导致了一种常现情形:团队的一名成员从代码库下载源代码,并通过带外途径获取密钥,密钥获取方式往往是明文电子邮件、聊天消息、u盘、便利贴,虽然快捷但是很不安全。为了让密钥获取变得既快捷又安全,是否有一种方法能将这些密钥和源代码一同存储在数据库中呢?

Python项目Jak专门解决这个问题,它可以帮助开发人员将敏感文件的加密版本提交到Git。与传统的.gitignore解决法不同,开发者将敏感信息保存在jakfile里,提交的时候Jak可以确保只有加密版本会被上传到库中。Jak将尽职尽责进行文件的加密和解密,并且自动生成并更新加密密钥。一切都是在指令行处理,因此开发人员不需要在提交前加密或下载后解密的时候切换界面。

Jak用于实际开发也许为时过早,但它是一个开发人员应该熟悉的工具。安全新秀Dispel已经内部使用了该工具将其作为项目管家,这可能会减少开发者对Jak的潜在寿命的担忧。

三、Yara:使用格式匹配来发现问题

Yara是VirusTotal的维克多·曼努埃尔·阿尔瓦雷斯领衔开发的开源项目,深受恶意软件研究人员青睐。Yara可以识别和分类恶意文件样本,“模式匹配百宝箱”比直接对恶意软件分类强大得多。它也可以成为事件反应和取证调查的一部分。你需要用文本字符串、十六进制值数或通用描述创建规则,Yara则遍历可疑的目录和文件来寻找匹配的目标。虽然扫描文件是最常见的用法,Yara还可以使用规则来检查运行的进程。

通过Yara的文件分析,卡巴斯基实验室、AlienVault的研究人员能够把索尼的入侵者和去年在亚洲发生的其他袭击联系起来。

常见的攻击方式是:骗子用假文件替换系统文件,建立进入机器的后门。检测系统文件是否完整方法之一是看MD5和SHA-1哈希值。另一种方法是针对多个字符串或系统文件中的值通过建立Yara规则,并定期扫描这些文件。如果扫描不匹配,文件显然已经被替换了,是时候进行调查了。如果攻击者已经将指令界面的副本上传到未知位置,Yara可以找到这些副本。

除了预设规则和自定规则,Yara可以使用开源杀毒工具ClamAV的病毒库和规则库,可以从保持更新的社区YaraRules库获取规则。比如,YaraRules库中包含有用来检测已知包或反恶意进程的预设规则。此外,你也可以将VirusTotal私有API连接到VirusTotal恶意软件库,从而可以扫描到已被上传到VirusTotal恶意软件库中的文件。Yara不需要从指令行界面运行;它有一个Python库,从而可以集成到Python脚本上。

Yara能够发现未许可的文件变更,也能检测已记录的格式(社保号码、管理证书等)是否出现在未授权的地方(如即将送出的电子邮件的附件),因此,Yara可谓功能强大、前景广阔。基于特征码的检测方法仍然具有局限,所以你不能仅仅依靠Yara寻找恶意文件。但是考虑到它的灵活性,你绝对不该错过Yara。

四、ProcFilter:使用格式匹配来解决问题

Yara对于想要分析已感染文件的取证调查人员和事件反应人员来说用途很大。然而,利用Yara积极抵御已知的威胁并不理想。GoDaddy的开源项目ProcFilter则专为解决Windows环境下的这一问题而生。ProcFilter允许您应用Yara规则来运行进程,并基于匹配阻止、记录可执行文件,对受影响文件进行隔离。

ProcFilter作为Windows服务运行,并集成了微软的Windows事件跟踪机制(ETW)的API,所以它可以直接在Windows事件日志里记录其活动。集成也意味着ProcFilter可以用模块创建规则、日志、或检验值,并在匹配到目标时采取相应行动。ProcFilter可以配置为每当进程创建、终止或每当载入图像时,就扫描文件和内存。

ProcFilter并非为了取代防毒方案而生,而是帮助你应对特定的已知威胁。比如,网络钓鱼攻击了一个同行时,如果受袭团队分享了该攻击的Yara标志,别人就可以避免重蹈覆辙,你可以使用ProcFilter找到邮箱中含有匹配信息的邮件,并阻止这些消息传播。而如果你想留意危险Word、Excel、PPT或Adobe文件的话,ProcFilter也可以扫描和记录这些程序产生的所有子流程。

五、OSquery:查询系统状态的端点

想象一下,定位恶意进程、流氓插件或WindowsMacOS和Linux端的软件漏洞,有没有可能仅仅写个SQL查询指令就能实现。这就是OSquery的初衷,这个开源工具由Facebook工程师发明,它被用来将操作系统信息收集到关联数据库中,包括运行中的进程、已加载的内核模块、打开网络连接、浏览器插件、硬件活动、文件哈希表等,都在收集之列。而实现这些根本用不上复杂的代码,一个SQL查询指令,就是你获取安全信息所需的全部操作。

例如,下列查询指令会发现监听网络端口的所有进程:

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

这个查询指令会发现在地址解析协议(ARP)缓存里的异常,从而保护IP地址信息和及已分确认的以太网物理地址:

  1. SELECT address, mac, COUNT (mac)AS mac_count FROM arp_cache GROUP BY mac HAVING COUNT(mac)>1; 

这比用Python实现简单多了。OSquery用简单而优雅的方式解决了重要的问题(并荣获我们颁布的年度技术大奖)。你需要的组件包括OSqueryi交互式界面、可以和PowerShell并行的内部界面,以及负责低层级主机管理和制定查询计划的后台程序OSqueryd。

IT管理员有很多拒绝使用开源的安全工具的原因。人们会担心技术是否成熟、能否获得配套的支持,然而,更关键的问题是信任。企业不愿依赖完全陌生的开发人员的成果来保护自己的财产。

本文所列的开源安全项目都由可靠的团队所研发,完全值得你拥有。每个工具都解决了一个实际安全问题,而且过程和结果清洁绿色。仅需一个尝试,你工作的方式和工作环境的安全将大不相同。

【本文是专栏作者“”李少鹏“”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】

戳这里,看该作者更多好文

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/128252.html<

(0)
运维的头像运维
上一篇2025-02-25 01:39
下一篇 2025-02-25 01:40

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注