微点交流论坛
» 游客:  注册 | 登录 | 帮助

 

作者:
标题: [908813] 小测金山卡巴斯基2011 微点背后的强者
点饭的百度空间
银牌会员




积分 2315
发帖 2236
注册 2007-11-30
#1  [908813] 小测金山卡巴斯基2011 微点背后的强者

2010-09-23 20:40                       

                 

微点的背后是工程师们的心血在默默支持.



      微点向来低调示人,但就有不小让人惊叹的技术就隐于其中,如果各位有兴趣的话,今天就谈谈微点吧.高手就见笑了.

      hook是主动防御的重要组成部分之一,没有HOOK,主动防御也无从谈起.但和其它主动防御不同,微点hook[钩子]难以扫描出来.当金山的主动防御开启时,使用 XueTr0.36 检测时.可以看到满山的枫叶都盛开了[红了一大片] 金山的钩子全被XueTr检测出来了.
      

      但微点的钩子却无法扫描出来
      

      Hook实现起来是比较容易的[但我不会使用],仅仅修改函数几个字节,或修改一部分系统指令,便可完成隐藏文件及系统监控的各种功能.        

      就目前我知道的Hook大概有以下几种; object Hook,   SSDT Hook,   inline Hook,   EAT Hook, SYSENTER Hook, IDT Hook, IRP Hook, IAT Hook.这几种Hook各有特点.object Hook的功能十分强大,但实现要对系统内核有比较深的了解, 对系统内核了解不深的,就看看好了.免得蓝屏.     在国内杀毒软件中微点有能力使用object Hook.不相信的自己使用XueTr0.36 检测object Hook,看看国内的杀毒软件的钩子.不过就世界上能使用object Hook的杀毒软件也比较小......需然object Hook的功能十分强大,但检测object Hook也比较简单.这不就被XueTr0.36 检测出来了.    但是微点的object Hook是有保护的,但是也有人认为保护object Hook也没什么样,毕竟在内核没啥意思.


       Object属性结构如下:

    typedef struct _OBJECT_ATTRIBUTES   

    {

    ULONG Length;

    HANDLE RootDirectory;

    UNICODE_STRING *ObjectName

    ULONG Attributes;

    PSECURITY_DESCRIPTOR SecurityDescriptor;

    PSECURITY_QUALITY_OF_SERVICE SecurityQualityOfService;}

    OBJECT_ATTRIBUTES,*POBJECT_ATTRIBUTES

       调用API基于如下汇编代码

00411A3F   mov    esi,esp

00411A41   push   looh

00411A46   lea    eax,[strDllDir]

00411A4C   push   eax

00411A4D   call   dword ptr [_imp_GetWindows DirectoryA@8(42B180h)]

      好了,回到主题.那为何微点的钩子无法扫描出来?     在这之前,先讲一下钩子的挂钩方法.常用的挂钩方法方法有如下3种;要注意的是这里的挂钩方法仅限于SSDT表和SSDT shadow表的挂钩.
1,在要挂钩的函数中使用"JMP   XXXXXXXX"覆盖原函数的指令,该指令的机器码是E9XXXXXXXX,占用5个字节的地址空间.
2,在要挂钩的函数中使用"JMP FARXXXXXXXX"覆盖原函数的指令,后面的XXXXXXXX是跳转的绝对地址,该函数指令的机器码是EAXXXX0800,该指令占用7个字节的地址空间.
3,在要挂钩的函数中先使用"PUSHXXXXXXXX",之后直接用RETN返回,这样就间接实现了跳转,这两条指令共占用6个字节的地址空间.

      如上所述,那要避开挂钩的函数,跳转到函数中不被挂钩的代码段就可以跳出主动防御的重重拦截,即是跳转API函数+10的地址.但是通常情况下API+5就已经可以对付大部分钩子了.为了对付这种API+5的跳转,出现了变形的API函数挂钩技术[变形JMP],变形API函数挂钩是将挂钩的地址进行变形,就是挂钩的地址不再是在API+5的范围内,变成了API函数中数十个字节中任意几个,十几个甚至数十个字节.反正是在  [(API+5<API+X) X>5] 的情况下进行的,但这种技术也不是很好使用的,需要对进行变形API函数挂钩的API函数有比较深的理解,不然是无法使用的.同样微点是使用变形API函数挂钩的,在挂钩深度上,连XueTr0.36和天琊都无法检测出来,这说明微点的工程师对挂钩的API函数有很深的理解.实际上在挂钩深度上,微点比卡巴斯基2011要深,在XueTr0.36的检测下卡巴斯基2011的挂钩还是相当多的.     国内杀毒软件也就江民,当然还有安天防线有能力这样来挂钩[北信源等不知道],中国的杀毒技术不差,但就是和360斗争,空耗实力.         悲剧呀!         那变形API函数挂钩技术和钩子隐藏有何关系呢?     我看了下资料,钩子隐蔽技术是无意中被发现的技术,这和变形API函数挂钩技术有很深的关系.一个ARK工具扫描API函数是否被挂钩时,是基于对比来实现的.    简单来说就是检测,封装API函数的原始DLL文件中API函数的地址和内存中的API函数地址,是否一样,不一样就可以说该API函数已经被挂钩(要注意的是,这是在通常来讲的情况下,可认为其已被挂钩.)   这是反汇编引擎对其进行扫描,但反汇编引擎通常只扫描API函数地址的前十个字节,也是说万一变形API挂钩,不在前十个字节里,就会被认为其没被挂钩,但事实上API已经被挂钩. 这就实现了API钩子隐藏. 这便是初级的API钩子隐藏技术.

      object Hook,变形API函数挂钩技术,微点还有很多的技术是邻先的.但是那是微点的工程师们多小个日夜,多小心血才凝成.这对微点,这由几乎没有核心研发能力刚毕业的年轻人[但这年轻人的年龄比自己要大的多,说年轻人时真有点怪异的感觉]占大部分的微点研发部,来说由为艰难.   祝愿你们能苦尽甘来,为微点谱写又一个传奇!正像点饭的百度空间的一句话"三载磨剑綻锋芒,今日拨云迎朝阳;历经磨难終成器,破茁微点振翅飞."说实话这诗不是很好.-_- 他的百度空间是http://hi.baidu.com/micropoint 有兴趣的去看看吧.

     2010年10月6日对部分有问题的地方进行修改.欢迎高人指正.

                                                       2010年10月1日

                                                        2908813(http://hi.baidu.com/2908813/blog ... 6386067bf4803c.html

※ ※ ※ 本文纯属【点饭的百度空间】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

你的微笑 is 微点的骄傲!
http://hi.baidu.com/new/micropoint
2010-10-6 21:27
查看资料  发送邮件  访问主页  发短消息   编辑帖子
2009renmin
禁止发言





积分 11
发帖 11
注册 2009-5-26
#2  

你暴露了微点的核心技术秘密。。。。

※ ※ ※ 本文纯属【2009renmin】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-10-6 22:20
查看资料  发送邮件  发短消息   编辑帖子
凡间幽灵
银牌会员




积分 1329
发帖 1295
注册 2008-11-27
#3  

需然object Hook的功能十分”
虽然或诚然  俺感觉都有可能

“很多的技术是领先的.但是那是微点的工程师们多少个日夜,多少心血才凝成”
俺觉得可能是领先,多少,多少。。。。

“大部分的微点研发部,来说由为艰难”
额。。。那个逗号貌似可以拿下吧




楼主莫拿板砖拍我。。。我是凑个热闹,看见好文就想顶下,哈哈加下人气撒

[ Last edited by 凡间幽灵 on 2010-10-6 at 22:56 ]

※ ※ ※ 本文纯属【凡间幽灵】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

杀毒软件洗洗睡吧,上帝不会为难头脑简单的孩子
2010-10-6 22:39
查看资料  发送邮件  发短消息   编辑帖子
soonbest
中级用户




积分 302
发帖 298
注册 2006-11-21
#4  

技术贴看着很吃力。。。汗。

※ ※ ※ 本文纯属【soonbest】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-10-8 11:08
查看资料  发送邮件  发短消息   编辑帖子
meihaosuda
银牌会员

微点第三战区特派员


积分 1415
发帖 1399
注册 2010-3-12
#5  

看不懂呀,呵呵

※ ※ ※ 本文纯属【meihaosuda】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-10-8 12:41
查看资料  发送邮件  发短消息   编辑帖子
lun0414
新手上路




积分 11
发帖 11
注册 2009-11-20
#6  

好文章,发人深省!希望能有更多的技术文章出现!

※ ※ ※ 本文纯属【lun0414】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-10-8 13:23
查看资料  发送邮件  发短消息  QQ   编辑帖子
myliukeyu
注册用户





积分 52
发帖 52
注册 2010-9-3
#7  

楼主你太没见识了,只有病毒才会使用钩子,微点是真正的杀毒软件所以没有钩子!~

※ ※ ※ 本文纯属【myliukeyu】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-10-8 13:50
查看资料  发送邮件  发短消息   编辑帖子
lun0414
新手上路




积分 11
发帖 11
注册 2009-11-20
#8  



  Quote:
Originally posted by myliukeyu at 2010-10-8 13:50:
楼主你太没见识了,只有病毒才会使用钩子,微点是真正的杀毒软件所以没有钩子!~

我对你表示无语...你用SReng和XueTr看看你的杀毒软件是不是HOOK

※ ※ ※ 本文纯属【lun0414】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-10-8 13:54
查看资料  发送邮件  发短消息  QQ   编辑帖子
cia007
新手上路





积分 2
发帖 2
注册 2009-2-19
#9  

强烈的支持微点,希望2。0更上十层楼!

※ ※ ※ 本文纯属【cia007】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2010-10-8 20:02
查看资料  发送邮件  发短消息   编辑帖子
lxc2009wd
注册用户




积分 108
发帖 108
注册 2009-10-8
来自 山东临沂
#10  

学习一个,看看

※ ※ ※ 本文纯属【lxc2009wd】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

为人难,为好人更难......
2010-10-9 17:10
查看资料  发送邮件  发短消息   编辑帖子



论坛跳转:

可打印版本 | 推荐 | 订阅 | 收藏


[ 联系我们 - 东方微点 ]


北京东方微点信息技术有限责任公司 福建东方微点信息安全有限责任公司

闽ICP备05030815号