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

一、项目介绍

目前,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/

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

时间: 2024-10-30 05:00:23

Google 恶意软件检测系统 “Santa” 已开源的相关文章

Google恶意软件检测出错

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 经过证实,Google恶意软件检测系统的确故障,所有搜索结果下方都有"该网站可能含有恶意软件,有可能会危害您的电脑.". 我在Google的时候发现很多都是恶意软件,不禁Google了一下"Google",结果也是"该网站可能含有恶意软件,有可能会危害您的电脑." 我开始以为是我的浏

使用inno setup做打包的时候,如何检测系统是否已安装了.net 4.0 以上的版本?

问题描述 .netframework能否打包到安装程序里面?如何没有安装,系统帮自动安装.有没相关的例子代码? 解决方案 解决方案二:初始化安装的时候,读取注册表RegKeyExists(HKEY_LOCAL_MACHINE,'SOFTWAREMicrosoft.NETFrameworkAssemblyFoldersv3.5');解决方案三:用setupproject制作MSI的话,在安装必备里勾选.Net4其他MSI制作工具中的做法也类似.解决方案四:http://www.kynosarges

谷歌发布基于机器学习的Android APP安全检测系统:Google Play Protect

Google Play作为众所周知的在线应用市场,因为审查制度的松散,经常会有一些恶意软件伪装成其他应用混入其中.此前阿里聚安全小编就报道了2例关于恶意软件伪装在Google Play上的事件:<Google Play商店的"系统更新"隐藏间谍软件,数百万用户中招>和<打开手机电筒就泄露了银行卡密码?>.一旦用户从应用市场下载APP到手机上后,谷歌便无法监视和检测应用程序的恶意行为. 近日,谷歌为Android用户带来了一个好消息.在Google I/O2017

Google将对Android系统中已安装App带来实时监控功能

Google将对Android系统中已安装App带来 实时监控功能Google 一直都希望对你的 Android 智慧型装置带来更全面地保护,除了有效限制伤害的 Sandbox 环境外,他们还直接为 Google Play 加上了另一道名为 Verify Apps 的验证锁头,在使用者安装应用程式的时候可以有效地透过验证机制,阻绝恶意程式的被安装在装置之上.现在,他们打算将这个资安防护的层级更进一步,带来"全时"监控已安装 App 的加强功能 -- 并且将在近期之内加入 Android

Google 领跑人工智能,已成为机器学习开源届扛把子

在云计算峰会 Cloud Next 17 上,Google 资深学者杰夫·迪恩 (Jeff Dean) 宣布,该公司开源的机器学习基础系统 TensorFlow 已经成为 GitHub 上最受欢迎的机器学习类项目. TensorFlow 在机器学习业界究竟有多受欢迎?TensorFlow 项目负责人拉贾·蒙加 (Rajat Monga) 给出了几组数据: 自从 2015 年 11 月开源,已经有近 500 名非 Google 员工对 TensorFlow 核心项目做出贡献:到今年年初,项目在 G

Radiflow发布ICS/SCADA新型入侵检测系统

本文讲的是Radiflow发布ICS/SCADA新型入侵检测系统,专注于工业控制系统(ICS)安全解决方案的厂商Radiflow,推出了一款新型入侵检测系统,该系统专门为 Operational Technology (OT) 网络打造. Radiflow表示,这款新型产品可以加强OT网络的可视程度和控制能力,并使网络安全工作大大简化,无需再去雇佣网络安全专家. 尽管工控网络做到了与互联网隔离,但是近年来仍有许多因关键基础设施公司(例如:电力.水利.石油和天然气管道)操作流程的变化而检测出漏洞.

如何在 Linux 上安装和使用恶意软件检测工具 LMD 及杀毒引擎 ClamAV

如何在 Linux 上安装和使用恶意软件检测工具 LMD 及杀毒引擎 ClamAV 恶意软件是指任何旨在干扰或破坏计算系统正常运行的软件程序.虽然最臭名昭著的几种恶意软件如病毒.间谍软件和广告软件,但它们企图引起的危害不一:有的是窃取私密信息,有的是删除个人数据,有的则介于两者之间:而恶意软件的另一个常见用途就是控制系统,然后利用该系统发动僵尸网络,形成所谓的拒绝服务(DoS)攻击或分布式拒绝服务(DDoS)攻击. Linux Malware Detect 换句话说,我们万万不可抱有这种想法"因

无线入侵检测系统

现在随着黑客技术的提高,无线局域网 (WLANs)受到越来越多的威胁.配置无线基站(WAPs)的失误导致会话劫持以及拒绝服务攻击(Dos)都象瘟疫一般影响着无线局域网的安全.无线网络不但因为基于传统有线网络TCP/IP架构而受到攻击,还有可能受到基于电气和电子工程师协会(IEEE)发行802.11标准本身的安全问题而受到威胁.为了更好的检测和防御这些潜在的威胁,无线局域网也使用了一种入侵检测系统(IDS)来解决这个问题.以至于没有配置入侵检测系统的组织机构也开始考虑配置IDS的解决方案.这篇文章

Win8系统提示“已禁用IME”怎么办?

Win8系统提示"已禁用IME"怎么办?   1.Win8系统无法通过手动设置"禁用 IME",当系统检测到无需使用输入法,或者程序不兼容Win8时,系统将自动提醒无法使用,且在右下角显示"已禁用IME".如果使用触摸屏激活需要使用输入法时,系统则会自动启用IME输入法. 2.部分早期的Win7 IME 在Win8 Metro风格中使用时,可能会在运行过程中出现停止响应,也就会造成"已禁用 IME"的提示.因此小编建议大家遇到