楼主: 蓝天白云520
收起左侧

[讨论] 360的云对于本地的校对是根据MD5么?

  [复制链接]
744848170
头像被屏蔽
发表于 2010-6-23 22:51:02 | 显示全部楼层
回复 60楼 蓝天白云520  的帖子
大哥md5变了相对应的文件就业变了,你问百度
蓝天白云520
头像被屏蔽
 楼主| 发表于 2010-6-23 22:51:48 | 显示全部楼层
回复
大哥md5变了相对应的文件就业变了,你问百度
744848170 发表于 2010.6.23 22:51


行,依你的。那杀软截获的样本数目又可以翻几番了
744848170
头像被屏蔽
发表于 2010-6-23 22:55:15 | 显示全部楼层
回复 62楼 蓝天白云520  的帖子


    样本数量不会翻番,这要依病毒种类名称而定,例如你我同样编写一个病毒,一个2k另外一个3k但是但是起作用的代码一样的话,还是属于同一种病毒的

蓝天白云520
头像被屏蔽
 楼主| 发表于 2010-6-23 23:32:45 | 显示全部楼层
回复


    样本数量不会翻番,这要依病毒种类名称而定,例如你我同样编写一个病毒,一个2k另外一个3k但 ...
744848170 发表于 2010.6.23 22:55



嘿嘿,回头看看你自己的话吧。看改了一个字节的病毒还是一种病毒不。

何止是一种,压根就是同一个
成都焓公子
发表于 2010-6-24 00:37:16 | 显示全部楼层
等待大白羊…………
ximo
发表于 2010-6-24 00:44:20 | 显示全部楼层
区别就在于MD5可以随便一动,云就失效了,微特征就没这么简单了
蓝天白云520 发表于 2010.6.23 12:11
晕,别把什么所谓的“微特征”想的这么神奇,还说什么比MD5等高出一层,无语。
为了避免说口水,我直接贴段代码,看仔细了:
  1. CString MD5_Caculate_File ( CString szFileName )
  2. {
  3. CString MD5_Value_String = "" ;
  4. HANDLE hFile = CreateFile ( szFileName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, \
  5.   NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ) ;
  6. if ( hFile == INVALID_HANDLE_VALUE )
  7. {
  8.   MD5_Value_String.Format ( "CreateFile Error ( code:%d )!", GetLastError() );
  9.   return MD5_Value_String;
  10. }
  11. HANDLE hFileMap = CreateFileMapping ( hFile, NULL, PAGE_READWRITE, 0, 0, NULL ) ;
  12. if ( hFileMap == NULL )
  13. {
  14.   MD5_Value_String.Format ( "CreateFileMapping Error ( code:%d )!", GetLastError() );
  15.   CloseHandle ( hFile ) ;
  16.   return MD5_Value_String ;
  17. }
  18. PVOID pMapView = MapViewOfFile ( hFileMap, FILE_MAP_READ, 0, 0, 0 ) ;
  19. if ( pMapView == NULL )
  20. {
  21.   MD5_Value_String.Format ( "MapViewOfFile Error ( code:%d )!", GetLastError() );
  22.   CloseHandle ( hFileMap ) ;
  23.   CloseHandle ( hFile ) ;
  24.   return MD5_Value_String ;
  25. }
  26. DWORD dwLowDWord = 0, dwHighDWord = 0 ;
  27. dwLowDWord = GetFileSize ( hFile, &dwHighDWord ) ;
  28. UINT64 uFileSize = ( dwHighDWord << 32 ) + dwLowDWord ;
  29. MD5_CONTEXT MD5_Value ;
  30. memset ( &MD5_Value, 0, sizeof(MD5_Value) ) ;
  31. if ( MD5_Caculate( &MD5_Value, (BYTE*)pMapView, uFileSize*8) )
  32. {
  33.   CString TempString ;
  34.   MD5_Value_String = "" ;
  35.   for ( int i = 0; i < 16; i++ )
  36.   {
  37.    TempString.Format ( "%02X", ((BYTE*)&MD5_Value)[i] ) ;
  38.    MD5_Value_String += TempString ;
  39.   }
  40. }
  41. UnmapViewOfFile ( pMapView ) ;
  42. CloseHandle ( hFileMap ) ;
  43. CloseHandle ( hFile ) ;
  44. return MD5_Value_String ;
  45. }
复制代码


这是计算一个文件md5值的核心函数,其他的代码省略了,没完全贴出。
仔细看计算的代码,核心是:
MD5_Caculate( &MD5_Value, (BYTE*)pMapView, uFileSize*8)
解释下这个函数,
bool MD5_Caculate ( MD5_CONTEXT* MD5_Value, BYTE* SourceMsg, __int64 uMsgLength )
其中第一个参数是计算得的MD5值,第二个参数是所要计算代码的起始地址,第三个参数是长度。

其实,一般所说的一个文件的MD5值,是指对整个文件进行md5计算,而你所说的“微特征”,只是截取了某1段,进行hash计算而已。
截取的这段可以为PE头,可以是.code段,甚至可以是.rsrc段,在精确点,可以为某个具体特征函数进行段hash计算。
这个涉及到特征的提取,如果仅仅是以区段计算,或者某个代码区间(比如0x00401000-0x00402000),这样完全可以自动话操作,跟计算整个文件上难度没任何变化。这个以计算整个文件的MD5来匹配,又有什么本质的区别?
而要精确到某个函数的话,这事毕要经过人工的分析才能提取,这又跟传统的特征码查杀有什么区别?
可以看到,无论如何,真正的核心还是这个函数,修改参数而已,并没有本质的提升,所以你说的高出一个档次,根本就是扯淡。
当然,算法可以改,不仅仅要是MD5,任何hash算法,甚至自己写的算法都可以用来作为特征。这个从本质上也是一样的,没有任何高出一个档次的东西。

当然,不可否认,只匹配某段特征的hash值,的确是个不错的方法。多学学技术,少点口水吧,踏实点做做学问吧。





蓝天白云520
头像被屏蔽
 楼主| 发表于 2010-6-24 00:58:11 | 显示全部楼层
晕,别把什么所谓的“微特征”想的这么神奇,还说什么比MD5等高出一层,无语。
为了避免说口水,我直接贴段 ...
ximo 发表于 2010.6.24 00:44


问题在于,你根本不知道某一个公司真正应用的到底是不是这种匹配,可能当你真正做免杀时发现根本不是这么一回事。

你是预先设定了更高一代的技术=片段hash计算,所以得出结论:片段hash计算不算什么。

而你却忘了,可能根本不等于片段hash计算的技术,你是不知道的。
jzhupo
发表于 2010-6-24 09:15:43 | 显示全部楼层
其实我觉得微特征和Hash各有利弊,
比如你把一个系统文件的版本信息篡改了,代码段不动
微特征没变,Hash变了,
你说该报还是不该报。
关键看你想把云当白名单还是黑名单用。
jefffire
头像被屏蔽
发表于 2010-6-24 09:21:00 | 显示全部楼层
晕,别把什么所谓的“微特征”想的这么神奇,还说什么比MD5等高出一层,无语。
为了避免说口水,我直接贴段 ...
ximo 发表于 2010.6.24 00:44


乃公布了真相
bdxuelang
发表于 2010-6-24 09:22:18 | 显示全部楼层
回复 35楼 白羊座  的帖子

360杀毒上传的确实是文件MD5值。这个我抓包分析过。
对于扫描到的样本,360杀毒的云查杀上传了文件的如下信息 :
文件MD5,文件大小,文件路径
   
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 19:26 , Processed in 0.094215 second(s), 15 queries .

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

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