1、了解PE,理解和描述特征码的定义
PE:
PE是windows上的可执行文件的格式。文件部分加载内存。
特征码:
程序在运行的时候,在内存中,为了完成特殊动作,要使用的特殊指令。所以难免会有一段内存地址是相同的(即相关指令相同)。我们通过截取这段地址,就可以判断是不是该类程序。为了防止误杀,则可以提取多段特征码。判断是否同时满足。
对抗手段则是修改对应的特征码,使之能避过查杀。
反制措施,就是提取核心位置特征码,若修改该处,则功能无法实现,如果不修改,则能定位查杀。
2、特征码的种类,尽可能详细说明
1、静态文件。
如:对下载文件的检测,文件处于静态未执行状态,对文件进行分析提取,。。IDA,OD里面的字符串查找。因为文件多是unicode编码,可以使用loveString对内容进行转换。
2、动态内存。
对文件执行时的动作行为,进行分析提取。
3、托盘图标(文字描述)。
4、窗口标题。
5、控件名称,控件类名(vs2008 ->tools->spy++->alt + F3)。
6、任务栏名称。
检测桌面下方任务栏。
7、后台进程名称。
8*、虚拟机判断(什么方法、函数、怎么过,防止被过)。
检测是否处于虚拟机中。嫌疑增加。后续会再次补充。
9、桌面图标检测。
检测用户系统桌面,是否有相关软件(以及快捷方式)
10、服务判断(描述、名称,遍历)。
11、注册表检测。
12、用户行为操作(怎么判断脚本,真实按键,鼠标点击)。
13、诱导操作。
触发一定的操作,如点击,如关闭等,提取对应程序的反馈。
14、检查最近文件打开情况。
如存在最近有打开相关软件。如(按键精灵等脚本软件)脚本嫌疑增加。
15、开始菜单栏检测。
16、进程模块内存校验。(此点不作为文件特征码,只是检测外挂的一个手段)
可以检测自身文件情况是否被修改。
17、文件打开方式、文件权限情况(怎么监控,驱动层还是?)。
18、检测开关机时间。
通常脚本使用者,电脑处于无休状态。用以增加嫌疑。
19、端口监听、消息队列监听,特征提取。
20、硬件特征码,机器特征码(什么不容易被改变,要能过,硬件修改大师)。
驱动文件,驱动路径,驱动特征
3、通用特征、精确的特征码概念的理解。
种类:通用特征码、精确特征码。
通用特征码:
理解为某一类程序的行为,对程序进行分类。根据其分类依据,代码逻辑,必然有相似的代码段。根据该代码段进行,特征码提取。如PE注入型病毒,就有PE文件注入等一系列指令。通过多个关键部位的截取。
优点:对于未知病毒,新型同类病毒有一定的预防作用。
缺点:对于特征码提取的过于细致,则起不到很好的预防作用,提取的不够细致,则存在误杀的可能。(类似行为分类)
精确特征码:
针对特定的程序,提取的特定特征码。精确的判断是否为该程序,认为是在通用特征码上进一步的拓展。但不应过度,否则,源文件可能只需要稍作修改,甚至修改文件名等,即可避过查杀。
优点:精确查杀,存入病毒库中,误差率小。
缺点:面对变种病毒和新型病毒的预防能力不足。
4、如何使用工具提取静态特征码(基础)。
如检测:连连看。我们可以采取,
这里提取特征码。通过loveString
则55533A67DE8FDE8F0B77 是连连看的一个特征码。
或者可以根据具体的弹框文字内容,如作者:FISH
5C4F05803A004600490053004800 则也是一个特征码。