我非常想知道恶意软件检测(如谷歌的安全浏览)技术是如何工作的?用谷歌搜索对我的事业没有帮助。我发现了一种叫做cuckoobox的东西,它可以做这样的事情。
网站的恶意软件检测到底是如何工作的?有什么算法可以解决这个问题呢?google safebrowsing等使用的是什么算法?
有可用的python脚本吗?
发布于 2012-02-20 13:01:22
这是一个有趣的问题,最好使用多种解决方案。
谷歌可能有一个恶意域名的列表,访问域名-它是否试图在没有用户交互的情况下为你提供.exe?内容看起来像是胡言乱语吗?以及其他类似的量词。-标记为恶意。访问另一个域,它是否将您重定向到您列表中的恶意域名?标记为不受信任。然后,您可以应用机器学习/回归分析来增加置信度并减少误报。您可以更进一步,对一些域进行轻度扫描,对其他域进行深度扫描(因为深度扫描可能会使用像布谷鸟这样的东西,这会占用更多的资源)。域名是一个有意义的词吗?它是否与whois信息相匹配?或者这是胡言乱语?
另一种方法是保留web浏览器和常见插件中漏洞的已知漏洞(其名称和代码签名)的列表,然后查看网站是否试图为您提供您所知道的漏洞。要生成已知漏洞的列表,只需扫描CVE或其他打开的数据库,并获取漏洞,对其进行哈希处理,等等。因此,这不会涵盖所有的废话,但大部分。
发布于 2012-02-20 12:57:58
从本质上讲,浏览器所做的就是在Google的巨大数据库中查询已知的恶意软件站点,以找到相关的URL/域名。
谷歌如何建立这个数据库则是另一回事。他们可能会与各种研究人员和防病毒产品合作,以检测已知的威胁。除此之外,它们可能会自动检测“可疑”URL或文档内容(Flash、PDF、Java或浏览器漏洞利用触发器、外壳代码、ROP链、堆喷雾脚本等)。毕竟,他们已经必须查看所有内容以进行索引,因此他们可以轻松地执行相对复杂的分析。他们还知道垃圾邮件和网络钓鱼邮件通过他们的邮件服务指向的URL。他们可能不会做的是使用沙箱等手动恶意软件分析,这是安全/反病毒公司的工作。
总而言之,这是一项相当复杂的任务。而且,没有一个单独的Python脚本可以完成这项工作(尽管如果您真的对此很感兴趣,您会发现实际上有很多小的助手脚本和更复杂的框架,它们是用Ruby或Python等动态语言编写的)。一些你可以查看的项目(这些项目实际上足够通用,对其他任务也非常有用):
用于反向工程的
引起的网络流量
https://stackoverflow.com/questions/9361455
复制相似问题