我的思路是:在系统底层挂钩每个native api,给每个native api赋予一个权值,当程序开始运行的时候,每调用一个native api,那么所对应的权值就加到sum中(sum初始值为0),当sum大于某一个阀值时,就报警,如果用户不理会,那么程序继续运行,sum继续累加,当sum大于一个更大的阀值时,程序将强制关闭。 问题的关键在于如何给每个 native api分配合适的权值,才能保证恶意程序的检查率很高,同时还能保证误杀率比较低,我是这样想的,编写一个能学习现有恶意程序的学习系统,该系统通过大量恶意程序的分析,统计出每个native api 在这些大量恶意程序中的调用频率,然后根据这种频率给每个native api 分配合适的权值,同时该学习系统还能不断学习新的恶意程序,从而更新native api 的权值
首先,谢谢你给我提出的意见,我说一下我的看法:
360的主动防御是基于云的,你抓包就可以得到本机上的360程序和云端通信的内容,云端通过分析判断,然后对客户端下达处理指令。 对虚拟环境的模拟是不需要的,完全可以在真实CPU上直接来,做成一个实时监控的,现在实时监控主要面临经常冒出让用户选择的问题,相当烦人,缺少智能,我后面所说的,也就是针对这个问题来提出的方案,从大量已经存在的恶意程序样本中,用统计学的方法,给每个native api 赋予合适的权值,这种权值只要是合适的,那么能使正常程序在运行过程中的加权值始终是小于阀值的,而恶意程序在运行中的加权值就会大于阀值,从而报警