首页
社区
课程
招聘
[讨论]关于提取文件特征的方法/方案
发表于: 2010-7-5 23:08 10675

[讨论]关于提取文件特征的方法/方案

2010-7-5 23:08
10675
小弟最近在写一个应用程序监控程序

要通过匹配规则列表,来决定是否允许用户启动的进程启动,涉及特征码的获取问题。

希望寻求一种有效的,高效的方式

曾尝试 :
1。通过取整个文件内容,计算整个文件的MD5值,做文件特征 ---- 缺陷:遇到几十兆,上百兆文件,速度很会慢
2. 从代码段读取一段(从某个位置读取固定长度),算取MD5  
3. 从代码段获取:获得代码段起始地址和长度,将其平均分割(如平分5块),从每块中读入一定长度(如:256字节)字节算取提取的MD5,作为每块的特征,最后用他们(5个MD5)来确定一个文件。
上面三个头儿都觉得不够好,希望我重新设计。

今天下班 头儿说可以通过设计出某种算法动态来获取一个文件特征,让我再想想。。。 。。。
实在是有些想不出来了(:动态获取比如说 根据文件的长度不同,提取的特征的个数不同,每个特征的长度也不同。)

所以想请前辈们指点指点。。。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
2
基本上你的问题不在于算法,而在于头儿
2010-7-5 23:43
0
雪    币: 124
活跃值: (70)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
你的方法基本属于静态分析

动态获取,文件长度,特征个数,特征长度...不知道有什么关系,你在凑字吧..

你的头儿估计是想让你多关注恶意行为时的特征
2010-7-6 02:57
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个是用来监控应用程序的(比如上班的时候,玩游戏,上QQ,是会被拦下的),应该不涉及恶意行为吧... ...

头儿还提到说 要能够做的通用些,比如说对QQ的一个版本,取了一个特征,那么下次QQ更新或升级版本了,尽量也能够识别出来,不用每次都重新提取特征。
2010-7-6 09:27
0
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
5
路路早阿
2010-7-6 09:28
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
... ...
2010-7-6 09:31
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
呵呵 也起的这么早呀 ~~~ 快帮我想想
2010-7-6 09:33
0
雪    币: 62
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
8
YD的小露露好啊
2010-7-6 09:39
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
!!!ZG呀 你和老汪 又在一块了?? 竟然同时现身
2010-7-6 09:43
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
下午和头儿商量了一下 暂时就用第三种方法做了 以后有好方案再修改
2010-7-6 19:34
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
嗨!!!要是上面要求这样办!!那用一引起HASH算法就行了。SHA1,MD5就行了!!!我认为这个设计考虑的不全。
2010-7-6 19:56
0
雪    币: 142
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
直接杀腾讯的数字签名
2010-7-7 09:30
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
恩, 这是一个很好的方案。
2010-7-7 09:57
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
请指教 是哪方面欠考虑了?
2010-7-7 11:23
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这想法不错。

那么可以这样
对于有数字签名的可以取数字签名直接比对 这样各个版本都有了。

如果没有数字签名的程序,再用提取到的特征码比较。
2010-7-7 11:32
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
16
API HIT TRACK大法也许不错~
或者如此:
节特征(节名,属性,大小组成一个数据做HASH)+导入表特征(HASH)+文件大小+文件名(如 QQ.exe)+模糊匹配路径(如 *\QQ\QQ.exe)
2010-7-7 12:06
0
雪    币: 116
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
请教下监控网络应用是不是属于ips范畴?
2010-7-7 12:42
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
API HIT TRACK 是指的API调用路径追踪么?
2010-7-8 10:06
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
没搞过IPS,感觉监控网络应用应该是IPS最基本的吧。
2010-7-8 10:11
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
一般来说数字签名是最可靠的啦,不过麻烦在于你并非只关心QQ的东西,很多小公司的软件基本都是没有签名的,碰到这样的就悲剧了
2010-7-8 16:08
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
呵呵 是啊 这样也就只有乖乖的把每个版本的软件都取一遍了
2010-7-8 23:28
0
雪    币: 410
活跃值: (214)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
22
楼主可在,一起讨论,我最近要也做个类似的东西
2010-7-8 23:38
0
雪    币: 1349
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
恩 在呢 晚上加你啊 公司不让上Q
2010-7-9 12:16
0
游客
登录 | 注册 方可回帖
返回
//