首页
社区
课程
招聘
[原创]一种新的防恶意程序思路
发表于: 2011-3-24 14:08 6430

[原创]一种新的防恶意程序思路

2011-3-24 14:08
6430
我的思路是:在系统底层挂钩每个native api,给每个native api赋予一个权值,当程序开始运行的时候,每调用一个native api,那么所对应的权值就加到sum中(sum初始值为0),当sum大于某一个阀值时,就报警,如果用户不理会,那么程序继续运行,sum继续累加,当sum大于一个更大的阀值时,程序将强制关闭。   问题的关键在于如何给每个 native api分配合适的权值,才能保证恶意程序的检查率很高,同时还能保证误杀率比较低,我是这样想的,编写一个能学习现有恶意程序的学习系统,该系统通过大量恶意程序的分析,统计出每个native api 在这些大量恶意程序中的调用频率,然后根据这种频率给每个native api 分配合适的权值,同时该学习系统还能不断学习新的恶意程序,从而更新native api 的权值

大家都来讨论讨论这种方法是否可行,和还需要解决的问题

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不知该采用何种数学模型才能很好的计算出权值
2011-3-24 14:13
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
3
贝叶斯  试试
2011-3-24 14:24
0
雪    币: 232
活跃值: (105)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
4
前面还有可看性,不过360已经实现了
它的主动防御就是用的你说的那个思想
如果你是想做成自动检测病毒工具的话
那估计很难很难
1.对环境的虚拟以及恢复
2.对木马病毒触发条件的模拟,比如别人先去查找游戏进程,在注入,除非你虚拟的环境里有市面上所有的游戏模拟进程,还有木马可能去注入,别人外挂也要注入,他们的行为几乎很相似,你又如何去判断?上面只是随便想想就有的,如果细想,那估计困难如山
后面的估计不可能
因为恶意程序本身就不是一个不变的概念
本身与正常的程序就很难区别
2011-3-24 16:16
0
雪    币: 91
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
哎,这也行,一个东东,分别用a,b,c进程来实现部分功能。
不会分析360,真不知道,360有这个思想。
2011-3-24 17:02
0
雪    币: 242
活跃值: (418)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
6
据说360的服务器上的QVM是这样的.还有据说本地的QVM是根据输入表之后再由行为定位病毒的。我是小菜叶虫,是一个牛魔王告诉我的
2011-3-24 17:17
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
首先,谢谢你给我提出的意见,我说一下我的看法:
360的主动防御是基于云的,你抓包就可以得到本机上的360程序和云端通信的内容,云端通过分析判断,然后对客户端下达处理指令。   对虚拟环境的模拟是不需要的,完全可以在真实CPU上直接来,做成一个实时监控的,现在实时监控主要面临经常冒出让用户选择的问题,相当烦人,缺少智能,我后面所说的,也就是针对这个问题来提出的方案,从大量已经存在的恶意程序样本中,用统计学的方法,给每个native  api 赋予合适的权值,这种权值只要是合适的,那么能使正常程序在运行过程中的加权值始终是小于阀值的,而恶意程序在运行中的加权值就会大于阀值,从而报警
2011-3-24 19:18
0
雪    币: 232
活跃值: (105)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
8
no,360 的主动拦截其实就是用到你的那个思想,它在底层判断一个程序在某一段时间的内的操作风险值,然后累加,如果达到一定界限,就会拦截报警,然后上传到云端,比对MD5值,在交与病毒分析师去判断
而一个有经验的病毒分析师判断一个病毒一般只要十几秒,因此这个东西要想有价值,那么他至少得满足一个条件,那就是自动化,而扯到自动化,那么第一个问题就是虚拟操作系统
2011-3-24 22:20
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
你说的是用,虚拟操作系统去替代病毒分析师的功能吗?把虚拟操作系统建立在云端
2011-3-24 22:59
0
雪    币: 1556
活跃值: (310)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
10
如果LZ搜索一下“主动防御”,也许会有心有灵犀的感觉

为了减少虚警,权值还配合了调用树
2011-3-24 23:53
0
雪    币: 27
活跃值: (90)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
11
2011-3-25 00:21
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这种方法检测hook更方便点 基于统计学。。。
2011-3-25 08:38
0
雪    币: 217
活跃值: (68)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
13
只说WINDOWS的话 非签名驱动不让加载 其实3 .60确实做的很成功  样本驱动发挥不了作用的话 楼主的想法才有实现的可能 一旦驱动加载成功 任何钩子 过滤== 那都是浮云了
2011-3-25 09:20
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
恩,有道理,不过在360环境下,加载驱动还有办法的
2011-3-25 11:02
0
游客
登录 | 注册 方可回帖
返回
//