查看: 40210|回复: 179
收起左侧

[讨论] 金山微特征的原型——————fuzzy hash(模糊哈希)算法

  [复制链接]
z13667152750
发表于 2011-6-12 22:04:34 | 显示全部楼层
广谱性连传统的特征码都比不上

特征码可以人工提取难以修改的代码,增加免杀难度

这个的优势只是可以自动提取特征吗,速度快,但是免杀难度比传统的特征码还低
z13667152750
发表于 2011-6-12 22:07:13 | 显示全部楼层
jefffire 发表于 2011-6-12 22:05
必然的。否则就都这么提取了。

其实这个早就有人提过了

我记得是紫音,还说过小红伞的特征码也是这个,但是小红伞主要靠基因码--静态启发
z13667152750
发表于 2011-6-12 22:17:39 | 显示全部楼层
本帖最后由 z13667152750 于 2011-6-12 22:17 编辑


现有的md5的碰撞对于可执行程序的黑白名单的有效性没有影响
z13667152750
发表于 2011-6-12 22:26:40 | 显示全部楼层
360Tencent 发表于 2011-6-12 22:23
愿闻其详

因为碰撞是弱碰撞,是随机的,想得到两个md5相同的pe文件非常困难,甚至可以直接说,现有的对md5算法的破解和计算机性能是不可能实现的
z13667152750
发表于 2011-6-12 22:35:02 | 显示全部楼层
本帖最后由 z13667152750 于 2011-6-12 22:36 编辑
yhys 发表于 2011-6-12 22:30
理论上数字签名,电子商务的公钥都是可以破解的。


理论上不可行

不要说什么超级计算机

根本没用

只要随便知道一点加密算法皮毛的人都知道这是不可能的事,仅依靠公钥推出私钥根本就不可能,至少现在全世界的电脑一起来算,理论上都得花上万亿年的时间

没有找到算法的漏洞,加密的破解根本就不现实
z13667152750
发表于 2011-6-12 22:38:15 | 显示全部楼层
本帖最后由 z13667152750 于 2011-6-12 22:47 编辑
jason_jiang 发表于 2011-6-12 22:36
- 要根据一个已知白文件的MD5碰撞出一个新文件
- 这个新文件还得是个有效的PE文件
- 而且还能执行病毒作 ...


没有在算法上的突破,一切都是浮云

不过,要是计算机的计算能力突然跃升10的35次方倍的话,暴力破解也是有很小的可能的

(以aes128位加密的暴力破解难度为基础推出的数据)
z13667152750
发表于 2011-6-12 22:44:52 | 显示全部楼层
fcerebel 发表于 2011-6-12 22:40
事实上现在可以轻松地生成两个md5相同的pe文件,你也做得到,只要几秒钟

极个别的一两个例子

而且没有任何实际意义
z13667152750
发表于 2011-6-12 23:01:20 | 显示全部楼层
yhys 发表于 2011-6-12 23:00
我说的是理论上。上面有人说理论可行足矣。

RSA算法的一些组合不是已经破解了吗?

不是破解

是被入侵
z13667152750
发表于 2011-6-12 23:04:52 | 显示全部楼层
yhys 发表于 2011-6-12 23:02
是破解,不是入侵。

又去看了下

是768位的被破解了

现在使用1024位的还未破解,位数越高,破解难度的递增也越多
z13667152750
发表于 2011-6-13 00:03:20 | 显示全部楼层
本帖最后由 z13667152750 于 2011-6-13 00:04 编辑
fcerebel 发表于 2011-6-12 23:55
请给出依据吧

你的观点没有依据,便没有信誉


还有其他的吗?

要是真有强碰撞,密码学界早就有强震了
jefffire
头像被屏蔽
发表于 2011-6-12 21:29:04 | 显示全部楼层 |阅读模式
本帖最后由 jefffire 于 2011-7-19 12:49 编辑

   鉴于最近看到某些人吹微特征能查杀未知,特意顶上来

   最近看一篇paper,无意中看见了一种模糊哈希算法——fuzzy hash算法。于是立刻去翻阅相关资料,整理出如下文章。

  首先说说哈希算法。
     大家都知道函数实际上就是一种映射,本质是将一个集合通过对应法则f映射到另一个集合。 而哈希算法是一个特殊的函数,他具有的特点是,定义域是一个不确定的无限集合而值域是一个有限集合。简单来说,哈希算法就是将一个任意大的数据项(如计算机文件)映射为固定长度(比原数据短的多)的二进制位串,也就是哈希值。就目前而言,哈希算法依然能够确保它是原始数据的唯一标识,就像人的指纹可以唯一地标识一个人,因此哈希算法还具有精确匹配的特性。

常见的哈希算法包括:MD5、sha1、sha256、crc32等等。就不多说了

   好了,对哈希算法有了基本概念,就来谈谈由此发展而来的fuzzy hash(模糊哈希)算法。

    上文提及了哈希算法具有精确匹配的特性,具体来说就是,原文件哪怕仅仅只是一个字节的变化也会导致最后的哈希值发生明显的变化。这个特性使得哈希算法能够确定一个文件是否被修改过,然而这也带来了很大的局限性,那就是无法分辨内容稍有不同的同类文件。这对我们的反病毒过程来说是很不利的,因为一个样本的变种是数量最多的。

  于是我们为了解决这个问题,发明了模糊哈希算法。该模糊哈希的算法与模糊逻辑搜索很像,它可以寻找相似但不完全相同的文档,即所谓的同源性文件。模糊哈希算法是基于哈希算法的,和哈希算法的不同点在于,哈希算法是将整个文件作为定义域来求算结果,而模糊哈希算法则是先对文件进行分块,计算每一块的哈希值,然后将得到的一系列哈希值利用比较函数于其他哈希值进行比较,来确定相似程度。
简而言之就是:分块——》对每个分块分别计算哈希——》结果比较

分析一下这样的算法有什么优势:比如我把一个文件的某一小部分进行了修改,如果是传统哈希由于是对整个文件进行计算,因此这一点改变就导致了结果的不同。而模糊哈希由于先对文件进行了分块,因此仅仅对某一部分进行修改只会导致某一或某几个分块的哈希值发生变化,而其他分块的哈希值并不变化,通过对比就可以很容易发现相似性。

目前模糊哈希算法,有开源研究项目ssdeep:http://ssdeep.sourceforge.net/


   然后我们来看看金山的微特征,通过对国家专利局的检索,我们发现了金山的微特征提取专利:http://211.157.104.87:8080/sipo/ ... xin=fmzl&title=

摘要如下:
本发明涉及计算机杀毒软件领域,尤其涉及一种对病毒文件自动提取特征的方法和装置。对病毒文件自动提取特征的方法,在病毒文件中选取N个适合提取病毒特征的固定位置,每个固定位置分配一个位置ID号,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为病毒特征;所述特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;其中N≥2,M≥2且M≤N,L>0。本发明方法和装置所提取的病毒特征大大提高了文件扫描的速度;而且可以用一个病毒特征匹配大量的相似或者相同的病毒文件。



从摘要就能总结出金山微特征具有如下特点:首先它是基于hash值的,并且是取固定长度的文件块来计算哈希值,且对一个文件提取了多个分块。
简而言之就是:确定分块位置并记录——》分块——》对每个分块计算哈希值——》结果比较

和模糊哈希的理论基础以及整个流程如出一辙






评分

参与人数 12经验 +15 人气 +12 收起 理由
蝉鸣时 + 1 你懂的...
ablhr + 1 真相帝
jason_jiang + 1 姐夫居然真是妹纸
sli + 1
李白vs苏轼 + 1

查看全部评分

qwe12301
发表于 2011-6-12 21:30:37 | 显示全部楼层
补充链接
  1. http://211.157.104.87:8080/sipo/zljs/hyjs-yx-new.jsp?recid=CN200910213641.4&leixin=fmzl&title=对病毒文件自动提取特征的方法和装置&ipc=G06F21/02(2006.01)I
复制代码
MagicFuzzX
发表于 2011-6-12 21:30:42 | 显示全部楼层
看样子不久就有anti方法了
sfsren
发表于 2011-6-12 21:31:09 | 显示全部楼层
学习了,虽然不是很明白
qwe12301
发表于 2011-6-12 21:31:58 | 显示全部楼层
其实还是以前的那种说法。只不过现在更加透明的显示了具体实现形式罢了。
zh01801
发表于 2011-6-12 21:32:03 | 显示全部楼层
申请(专利权)人:         珠海市君天电子科技有限公司


这个是金山滴?莫非俺火星?
qwe12301
发表于 2011-6-12 21:56:49 | 显示全部楼层
这种做法的实现形式还是很严谨的。已经经历了1年多的打击,看的出还是有非常强的强度。
你最多制造出未知文件,想要制造白文件,几乎不太可能。

另外再补充几句,这个和fuzzy hash的实现手段是不同的。看上去理念和实现的效果是相似的,技术手段还是有差异的
金山的做了大量的服务端交互,和服务端一一匹配成功才可以成功提取特征,否则失败就会提取MD5、并完整上传文件

有兴趣的同学建议使用专利浏览器查看实现细节和它一一比对
qwe12301
发表于 2011-6-12 21:59:38 | 显示全部楼层
本帖最后由 qwe12301 于 2011-6-12 22:06 编辑

金山的这种做法,要求拥有大量白文件、黑文件。并且在此基础上进行大量的分析,提取出最合适的特征,建立最全的文件特征库

感觉这套做法很精妙,确实对文件的识别有非常积极的作用
qwe12301
发表于 2011-6-12 22:02:09 | 显示全部楼层
MagicFuzzX 发表于 2011-6-12 21:30
看样子不久就有anti方法了

见我回复。
jefffire
头像被屏蔽
 楼主| 发表于 2011-6-12 22:05:28 | 显示全部楼层
本帖最后由 jefffire 于 2011-6-12 22:05 编辑
z13667152750 发表于 2011-6-12 22:04
广谱性连传统的特征码都比不上

特征码可以人工提取难以修改的代码,增加免杀难度


必然的。否则就都这么提取了。
MagicFuzzX
发表于 2011-6-12 22:06:18 | 显示全部楼层
qwe12301 发表于 2011-6-12 22:02
见我回复。

语文不好,硬是没看懂
K_Ghost!
发表于 2011-6-12 22:06:24 | 显示全部楼层
zh01801 发表于 2011-6-12 21:32
申请(专利权)人:         珠海市君天电子科技有限公司

建议你看完
klinxun
发表于 2011-6-12 22:08:06 | 显示全部楼层
z13667152750 发表于 2011-6-12 22:07
其实这个早就有人提过了

我记得是紫音,还说过小红伞的特征码也是这个,但是小红伞主要靠基因码--静态 ...

可是红伞的广谱做得好嘛……
qwe12301
发表于 2011-6-12 22:08:11 | 显示全部楼层
z13667152750 发表于 2011-6-12 22:04
广谱性连传统的特征码都比不上

特征码可以人工提取难以修改的代码,增加免杀难度

云特征一定是在文件的通识性和精确性做到平衡,不然真的很难实现“难免杀”“高精确”“高效率”
bbs2811125
发表于 2011-6-12 22:09:02 | 显示全部楼层
抓到老鼠就是好猫
qwe12301
发表于 2011-6-12 22:09:23 | 显示全部楼层
klinxun 发表于 2011-6-12 22:08
可是红伞的广谱做得好嘛……

云特征和本地特征还是有本质区别的
qwe12301
发表于 2011-6-12 22:09:53 | 显示全部楼层
本帖最后由 qwe12301 于 2011-6-12 22:12 编辑
klinxun 发表于 2011-6-12 22:08
可是红伞的广谱做得好嘛……

又发重了。。

这种做法可以有效区分、分类文件,便于辨别不同文件家族以及建立文件特征库
K_Ghost!
发表于 2011-6-12 22:10:54 | 显示全部楼层
本帖最后由 K_Ghost! 于 2011-6-12 22:13 编辑
qwe12301 发表于 2011-6-12 22:08
云特征一定是在文件的通识性和精确性做到平衡,不然真的很难实现“难免杀”“高精确”“高效率”


金山现在有两个主要的 一个次要的事情要做
主要
1.加强行为防御 2.把云鉴定流程中的BUG修了....
(行为防御锁住重要的地方就好 话说我刚知道某主防断网以后威力也大降)
(云鉴定流程中有点问题 有些可识别的样本非要特定的办法提交上去才能认)
次要
完善产品细节 提升用户体验
(U盘监控的弹窗与其他弹窗不一致等等)
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-1-28 12:51 , Processed in 0.097885 second(s), 3 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表