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

2016-08-25 18:13:28 来源:济宁新闻网

一、项目介绍

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

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

二、深入 Santa 项目

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

运行效果图:

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

请注意,在运行 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/

来源:softpedia作者:WisFree

济宁IT新闻