2

我很想知道恶意软件检测(如谷歌的安全浏览)技术是如何工作的?谷歌搜索对我的事业没有帮助。我发现了一些叫做cuckoobox的东西,它可以做这样的事情。

网站的恶意软件检测究竟是如何工作的?那可能是什么算法?谷歌安全浏览等使用什么算法?

任何可用的python脚本?

4

2 回答 2

6

这是一个有趣的问题,最好使用多种解决方案。

Google 可能会保留一份恶意域列表,访问该域 - 它是否试图在没有用户交互的情况下为您提供 .exe?内容似乎是胡言乱语?和其他这样的量词。- 标记为恶意。访问另一个域,它是否将您重定向到列表中的恶意域?标记为不受信任。然后,您可以应用机器学习/回归分析来增加置信度并减少误报。您可以更进一步,对某些域进行轻度扫描,对其他域进行深度扫描(因为深度扫描可能使用像 cuckoo 这样占用更多资源的东西)。域名是否是一个明智的词,它是否与 whois 信息匹配?还是胡言乱语?

另一种方法是为网络浏览器和常见插件中的漏洞保留一个已知漏洞利用列表(他们的名称和代码签名),然后查看网站是否试图为您提供您知道的漏洞利用。要生成已知漏洞的列表,只需扫描 CVE 或另一个开放的数据库并获取漏洞,对它们进行散列等等……所以这不会捕获所有的废话,但会捕获大部分。

于 2012-02-20T13:01:22.190 回答
3

本质上,浏览器所做的只是在 Google 庞大的已知恶意软件站点数据库中查询相关 URL/域。

谷歌如何建立该数据库是另一回事。他们可能与各种研究人员和防病毒产品合作以检测已知威胁。除此之外,它们可能会自动检测“可疑”URL 或文档内容(Flash、PDF、Java 或浏览器漏洞利用触发器、shellcode、ROP 链、堆喷射脚本……)。毕竟,他们已经要查看所有内容以进行索引,因此他们可以轻松执行相对复杂的分析。他们还知道垃圾邮件和网络钓鱼邮件通过其邮件服务指向的 URL。他们可能不做的是使用沙盒等手动恶意软件分析,这是安全/防病毒公司的工作。

所以总而言之,这是一项相当复杂的任务。不,没有单一的 Python 脚本可以完成这项工作(尽管如果你真的对此感兴趣,你会发现实际上有很多小的帮助脚本和用动态语言(如 Ruby)编写的更复杂的框架或 Python)。一些你可以开始的项目(实际上这些项目足够通用,对其他任务也非常有用):

于 2012-02-20T12:57:57.633 回答