Google 恶意软件检测系统 “Santa” 已开源

简介:

一、项目介绍

目前,Google公司正在为macOS平台开发一款恶意软件检测系统。根据Softpedia网站的最新报道,该项目目前已开源,项目代码托管在GitHub平台上。这个名为“Santa”的项目由Google公司的Macintosh研发团队负责开发的,软件当前的版本为0.9.12。

正 如Google公司描述的那样,“Santa”项目并不是一个传统意义上的反病毒引擎,它只能够将某些macOS平台的恶意进程加入黑名单或白名单之中。 除此之外,Santa的图形用户界面(GUI)也并不复杂,它只有一个较为美观的通知窗口而已。Santa需要通过这个窗口来通知用户哪一个进程被禁止执 行了。Softpedia的安全研究人员所测试的版本没有其他的用户操作界面,只有如下图所示的一个对话框。
image

二、深入Santa项目
image

Santa提供了两种操作模式,除此之外,它就只是一个非常简单的应用程序而已。

Santa恶意软件检测系统的核心无非就是一个用户态下的监视进程而已,它可以扫描新的进程,并根据存储在本地SQLite数据库中的进程黑名单(或白名单)来阻止(或允许)应用程序的运行。

根据该项目托管在Github上的介绍文档,Santa提供了以下两种操作模式:MONITOR(监视)和LOCKDOWN(锁定)。

MONITOR模式下,Santa可以从黑名单中读取禁止运行的程序信息,然后告诉操作系统哪些应用程序是不允许运行的。LOCKDOWN模式下,Santa只会允许白名单中的程序运行,这也就意味着,不在白名单之列的应用程序默认将禁止运行。

除此之外,用户和网络管理员也可以根据应用程序的签名证书来判断程序的合法性,并将潜在的恶意应用加入至Santa的黑名单中。

值 得注意的是,Santa内置有安全防御措施,可以防止恶意攻击者的非法篡改。与其它很多优秀的安全产品一样,Santa会将它所执行的所有任务全部记录在 程序日志中。除此之外,它自身也有相应的安全防护措施。因为很多恶意软件会尝试去破坏Santa的扫描进程,并以此来躲避检测。所以Santa自身所带的 安全防护机制其目的就是为了防止这类事件的发生。

恶意软件可以修改Santa的黑名单,然后让Santa阻止Santa以及macOS的核心进程执行。Santa会使用苹果XPC服务的API来对自身各部分组件的有效性进行验证,如果任何一个组件的签名证书无法通过验证,那么Santa将会阻止该组件与其他组件通信。

Santa的功能如下:

- 多种运行模式:Santa的默认运行模式为MONITOR模式,该模式下除了黑名单中标记的应用程序之外,其他所有的程序都可以运行,所有程序的运行信息 都将被记录下来,并保存在Santa的事件数据库中。在LOCKDOWN模式下,只有白名单标记的应用程序才允许运行。

-事件记录:当kext文件被加载后,所有运行程序的操作行为都将会被记录下来。

-基于证书的检测规则:除了利用程序代码的“指纹”(哈希值)来进行判断之外,Santa还可以通过签名证书来判断需要列入白名单或黑名单的应用程序。只有程序的签名证书通过了验证,这个程序才可以被列入白名单。

-基于路径的检测规则:这个功能与OS X系统的Managed Client所提供的限制功能类似。但是这个功能允许我们在检测的过程中,向检测条件添加正则表达式。

三、Santa的安装与运行

首先,打开Mac的终端,然后输入下列命令:

git clone https://github.com/google/santa

运行效果图:

image

终端提示任务成功之后,你将会在当前用户下的目录中看到Santa项目文件。

image

请注意,在运行Santa之前,你还需要解决CocoaPods类库管理工具的依赖问题。关于这部分问题,请读者移步Cocoapods的官方网站了解具体的安装步骤[传送门]。

安装完成之后,你可以对Santa的功能进行一个简单的测试。你可以将终端命令“yes”

加入Santa的黑名单中,测试命令如下:

santactl rule --blacklist --path /usr/bin/yes --message "NO"

如 果你在终端中运行了“yes”命令,你将会看到一个弹出窗口,窗口信息会提示你这个应用程序已经被禁止运行了,提示信息为“NO”。除此之外,窗口还可以 允许终端用户关闭有关该应用程序的提示。用户选择了这个选项之后,Santa在二十四小时之内都不会在提示用户有关改程序的禁止信息了。

这只是一个简单的功能测试,Santa的功能当然远不止于此。用户可以自行下载安装Santa,然后根据自己的想法来进行测试。

四、运行演示:http://p7.qhimg.com/t014807f9405c9866c8.gif

五、总结

Santa 现在的版本为0.9.12,Google公司Macintosh研发团队的开发人员仍在对Santa项目进行功能测试和安全测试,并尝试修复产品中存在的 漏洞。如果你认为自己具备足够的软件开发能力,Google公司Macintosh研发团队将会非常欢迎你参与进Santa项目之中,具体信息请查看 Santa项目的代码贡献文档[传送门]。

目前,Santa正式版的发布日期尚不明确。任何人都可以下载并安装这款产品,但是请你记住,Santa目前仍是一个处于测试阶段的软件,而且Santa项目并非Google公司的官方项目。

如果你对Santa项目有任何的疑问,或者你在安装的过程中遇到了无法解决的困难,你可以访问Google论坛的“santa-dev”模块来寻找答案。除此之外,你也可以访问Github的Wiki板块和Issues板块来了解更多的信息。

六、参考链接

1.Santa项目的Github主页:

https://github.com/google/santa

2.Google官方论坛的“santa-dev”板块:

https://groups.google.com/forum/#!forum/santa-dev

3.Santa的使用和配置指导:

https://github.com/google/santa/wiki

4.CocoaPods类库管理工具的安装和使用指导:

https://guides.cocoapods.org/

文章转载自 开源中国社区[http://www.oschina.net]

相关文章
|
6月前
|
数据挖掘 定位技术 计算机视觉
Google Earth Engine(GEE)——加拿大森林生态系统的高分辨率年度林地覆盖图(1984-2019)
Google Earth Engine(GEE)——加拿大森林生态系统的高分辨率年度林地覆盖图(1984-2019)
65 0
|
5月前
|
机器学习/深度学习 人工智能 TensorFlow
TensorFlow 是一个由 Google 开发的开源深度学习框架
TensorFlow 是一个由 Google 开发的开源深度学习框架
70 3
|
6月前
|
Android开发
如何在Android真机上检测是否有Google Map add-on
如何在Android真机上检测是否有Google Map add-on
71 3
|
2月前
|
SQL 监控 大数据
通过Google Dataflow,我们能够构建一个高效、可扩展且易于维护的实时数据处理系统
【9月更文挑战第7天】随着大数据时代的到来,企业对高效数据处理的需求日益增加,特别是在实时分析和事件驱动应用中。Google Dataflow作为Google Cloud Platform的一项服务,凭借其灵活、可扩展的特点,成为实时大数据处理的首选。本文将介绍Dataflow的基本概念、优势,并通过一个电商日志分析的实际案例和示例代码,展示如何构建高效的数据处理管道。Dataflow不仅支持自动扩展和高可用性,还提供了多种编程语言支持和与GCP其他服务的紧密集成,简化了整个数据处理流程。通过Dataflow,企业可以快速响应业务需求,优化用户体验。
66 3
|
3月前
|
机器学习/深度学习 数据采集 物联网
【机器学习】Google开源大模型Gemma2:原理、微调训练及推理部署实战
【机器学习】Google开源大模型Gemma2:原理、微调训练及推理部署实战
119 0
|
数据可视化 JavaScript 前端开发
Google开源了可视化编程框架Visual Blocks for ML
Visual Blocks for ML是一个由Google开发的开源可视化编程框架。它使你能够在易于使用的无代码图形编辑器中创建ML管道。
224 0
|
6月前
|
机器学习/深度学习 编解码 算法
Google Earth Engine APP(GEE)——加拿大陆地生态系统中的土壤碳储量数据集
Google Earth Engine APP(GEE)——加拿大陆地生态系统中的土壤碳储量数据集
99 0
|
6月前
|
Java 数据安全/隐私保护
SpringBoot【集成Thumbnailator】Google开源图片工具缩放+区域裁剪+水印+旋转+保持比例等(保姆级教程含源代码)
SpringBoot【集成Thumbnailator】Google开源图片工具缩放+区域裁剪+水印+旋转+保持比例等(保姆级教程含源代码)
278 0
|
JSON 自然语言处理 Java
「微服务架构」Google和eBay在构建微服务生态系统方面的深刻教训
「微服务架构」Google和eBay在构建微服务生态系统方面的深刻教训
|
机器学习/深度学习 数据采集 自然语言处理
谷歌为1000+「长尾」语言创建机器翻译系统,Google翻译已支持部分小众语言
谷歌为1000+「长尾」语言创建机器翻译系统,Google翻译已支持部分小众语言
126 0

热门文章

最新文章

下一篇
无影云桌面