我很想知道恶意软件检测(如谷歌的安全浏览)技术是如何工作的?谷歌搜索没有帮助我的事业。我找到了一些名为cuckoobox的东西来做这些事情。
究竟网站的恶意软件检测有效吗?可能是什么算法?谷歌安全浏览等使用什么算法?
任何可用的python脚本?
答案 0 :(得分:6)
这是一个有趣的问题,最好使用多种解决方案。
Google可能会保留一份恶意域名列表,访问该域名 - 它是否尝试在没有用户互动的情况下为您提供.exe?内容似乎是胡言乱语吗?和其他这样的量词。 - 标记为恶意。访问另一个域,它是否将您重定向到列表中的恶意域?标记为不受信任。然后,您可以应用机器学习/回归分析来增加信心并减少误报。您可以更进一步,对某些域进行轻度扫描,对其他域进行深度扫描(因为深度扫描可能会使用像杜鹃这样需要更多资源的东西)。域名是否是一个明智的词,它是否与whois信息相匹配?还是胡言乱语?
另一种方法是为Web浏览器和常见插件中的漏洞保留已知漏洞列表(其名称和代码签名),然后查看该网站是否尝试为您提供您了解的漏洞。要生成已知漏洞的列表,只需扫描CVE或其他打开的数据库并获取漏洞利用,从中挖出哈希等等......所以这不会捕获所有废话,但大部分都是如此。
答案 1 :(得分:3)
基本上,浏览器所做的只是查询Google庞大的已知恶意软件网站数据库,以查找相关的网址/域名。
Google如何构建该数据库是另一回事。他们可能与各种研究人员和防病毒产品一起工作,以检测已知的威胁。除此之外,他们可能会自动检测“可疑”URL或文档内容(Flash,PDF,Java或浏览器漏洞触发器,shellcode,ROP链,堆喷雾脚本......)。毕竟,他们已经必须查看索引的所有内容,因此他们可以轻松执行相对复杂的分析。他们还通过邮件服务了解垃圾邮件和网络钓鱼邮件指向的URL。他们可能不会做的是使用沙盒进行手动恶意软件分析等,这是安全/防病毒公司的工作。
总而言之,这是一项非常复杂的任务。不,没有单一的Python脚本可以完成这项工作(尽管如果你真的对此感兴趣,你会发现实际上有很多小助手脚本以及用Ruby这样的动态语言编写的更复杂的框架或Python)。您可以查看一些项目以便开始使用(实际上这些项目对于其他任务非常有用):