首页
社区
课程
招聘
[原创]如何挖掘杀毒软件的漏洞
2014-12-13 18:49 7638

[原创]如何挖掘杀毒软件的漏洞

2014-12-13 18:49
7638
A:“听说你大学的专业是信息安全?”
B:“是的,领导。”
A:“那好,去帮安装一个杀毒软件。”
B:“领导,请你尊重这门专业,信息安全是……”
A:“请你说一下如何发现杀毒软件的安全漏洞?”
B:“领导,安装哪个杀软 ?”
问题来了:如何挖掘杀毒引擎的漏洞?
曾经做了3年多的病毒分析,从来没有发过和杀毒引擎有关的文章。今天就发一篇吧。思想混乱,大神勿喷。
每天打开qq,各种qq群都在说如何过xxxx杀毒软件?如何做免杀?有人说:杀毒软件就是一把激光枪,而病毒就是一个一个的敌人。通杀就是激光枪的扫描轨迹,而免杀就是病毒的逃逸轨迹了。好的通杀可以杀掉一大片敌人,而好的免杀则是让敌人穿上了一层隐身衣,躲过激光枪的伤害。当然有时候激光枪也会伤害一些好人。总之,激光枪是有伤害人的能力的 ,是伤害好人还是坏人,这就是激光枪的问题了。其实遇到问题,有时候躲并不是好办法。尤其是对于好人而言。如果有这样一件衣服,他不是隐身的,而是一面镜子。当激光枪扫描他的时候,激光就会返回,然后激光就会自毁。那这样的装备就比较有意思了。

杀毒引擎是杀毒软件的核心,复杂度可想而知。在杀毒公司只有最高级的人员才可以充当引擎开发人员。可惜本人不才,在杀毒领域混了3年,仍然没有接触到引擎层次。因此这篇文章可能在某些人眼里是班门弄斧了。但愿不被喷。
杀毒软件除了pe格式以外,还可以处理各种文件格式的程序。比如杀毒软件在查杀漏洞样本的时候,会涉及到office文件。Flash文件。各种图片,声音等文件的解析。在解析过程中有可能存在逻辑缺陷。此外杀毒软件在查杀加壳程序时,会先对程序进行脱壳。在遇到安装包程序时,会对各种安装包压缩包文件进行解析。在进行感染性修复的时候,会对感染性病毒进行判断和修改。在处理各种脚本木马的时候,会对脚本进行解析和信息读取。。。。。。总之,杀毒软件会处理各种各样的文件格式。在文件格式处理过程中,会不会出现漏洞呢?
所以,完全可以在这些文件格式入手, 构造足够畸形的样本,让杀毒软件攻击我们的时候出现错误。导致崩溃。
如何选择攻击目标呢?
首先,应该选择比较偏僻的文件格式。常用的文件格式不应该作为选择目标。对于常用的文件格式,杀毒软件厂商的研究已经非常深入。代码也相对健全,找到一个漏洞不是一件轻易的事情。
其次,可以选择在新上来的功能上进行挖掘,由于新上来的功能测试力度可能不够,出现问题的概率更高。
最后,在各种漏洞样本上进行fuzz,可能效果更好。尤其是新公开的漏洞。尤其是这种漏洞的专杀工具,他们的问题可能更多一些。
之前用fuzz的方法发现了某杀毒软件的杀毒引擎的内存破坏漏洞。已经发到某漏洞平台。360现在还没有修复,具体细节不再透露。
http://www.wooyun.org/bugs/wooyun-2014-085791

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (11)
雪    币: 2660
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
安于此生 34 2014-12-13 18:53
2
0
数字的回复亮瞎了...
雪    币: 218
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wanjumuma 2014-12-13 21:00
3
0
人家回到没错啊。扫描崩溃有什么用哦。。一箩筐一箩筐的

你要是有远程执行的,也可以发一个,也让360好好蛋疼菊紧一下。
雪    币: 3190
活跃值: (1496)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
lynnux 2014-12-13 21:13
4
0
楼主,我到想起一个现象了,最近装一个系统,先装360+杀毒,中途把“我的文档”还是什么的把位置改成在D盘,结果杀毒就起来不了啦,老是崩溃~~~
------
漏洞其实就是bug,哪个程序改说没有bug呢?小公司测试软件一般就找几个人点点用户界面,高级点称呼就是黑盒测试。大公司测试估计应该有白盒测试。无论什么测试都是覆盖不完的,bug无处不在。
雪    币: 649
活跃值: (1673)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
pushmop 2014-12-13 21:27
5
0
数字表示完全不care
雪    币: 135
活跃值: (64)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
fatecaster 1 2014-12-13 21:31
6
0
mark一下
雪    币: 212
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zerochou 2014-12-14 18:13
7
0
fuzz ? 就是把内容随机写? 不安套路出牌啊, 你酱紫让程序员们很恼火的啊, 查个ink还要查是否合法。。。 检查代码一大堆。。。
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rqqeq 2014-12-14 18:50
8
0
要是有任意代码执行,就是只有3-50个字节,那都相当值钱了
楼主会放上了给大家玩?
雪    币: 8863
活跃值: (2369)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 10 2014-12-14 19:38
9
0
lnk这个有奇葩的利用思路。
雪    币: 371
活跃值: (72)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
学雄 1 2014-12-15 08:25
10
0

程序员给程序员找活干,累死一堆程序员.
雪    币: 188
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
JackJoker 2014-12-17 16:10
11
0
貌似很厉害,学习一下。
雪    币: 71
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiekaizhen 2014-12-17 16:22
12
0
楼主的想法很好啊,谢谢分享,现在有了一个新的思路。
游客
登录 | 注册 方可回帖
返回