一、项目介绍
目前,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类库管理工具的安装和使用指导:
文章转载自 开源中国社区[http://www.oschina.net]