admin管理员组

文章数量:1530990

2024年6月5日发(作者:)

产业科技创新 2020,2(36):67~69

第2卷 第36期

Industrial Technology Innovation

67

计算机恶意代码的检测与查杀

张正欣

(江苏省盐城市社会保障信息中心,江苏 盐城 224001)

摘要:随着在线办理业务的高速发展,互联网已经成为企业拓展业务的重要平台,方便的同时也面临着恶意程序引

起的安全威胁。文章总结了恶意代码的多种存在形式与各自的特点,提出了恶意代码一般的分析检测技术与查杀

步骤,并阐述了新一代恶意代码检测与清除的技术实现模型,希望能对减少恶意代码侵害起到积极的促进作用。

关键词:恶意代码:检测:清除

中图分类号:TP309.5 文献标识码:A 文章编号:2096-6164(2020)36-0067-03

恶意代码是在计算机、个人数字助理或其他信息

处理设备上非授权执行的一系列命令或指令。恶意代

码包括蠕虫、病毒、特洛伊木马、Root-Kit。恶意代

码可直接删除文件、加密文件、停止正常服务进程、

破坏系统、格式化磁盘,对计算机系统的完整性和可

靠性构成重大威胁,同时给企业带来了重大的安全隐

患,诸如个人隐私泄露和关键业务数据泄露等。

1 

恶意代码表现特点

恶意程序通常会未经计算机用户许可自行更改计

算机、破坏计算机或者违反计算机用户的意愿使用计算

机。木马和病毒统称为恶意程序,木马的特征是从程序

表面看上去有用或无害,但它往往包含了旨在利用或损

坏信息系统的隐藏代码。病毒的特点是自行传播,它可

以通过网络连接自动将其自身从一台计算机分发到另一

台计算机上。 典型恶意代码类型如表1所示:

表1 恶意代码类别

类型

可执行文件型

动态链接库型

引导型

宏病毒

硬件固化型

脚本型

内核驱动型

存在的媒介

网络、文件

文件

磁盘

文件

引导

文件

内核

危害性

高危

危险

危险

危险

危险

危险

高危

(1)可执行文件型。存在的形式是.EXE/.SYS后

缀名的可执行文件,是典型的伴随性病毒,当文件被

感染时会生成与可执行文件名称相同的.COM后缀文

件,当执行该程序时先启动的是.COM名的文件,然

后.COM文件调用.EXE/.SYS格式文件,特征是它会

开启计算机系统进程,可能是单个进程或者是多个进

程,但往往权限比较小,已知的.batcom/.Exe后缀名

的通常是可执行文件病毒:(2)动态链接库型。表现

为会感染.dll后缀名的文件,被感染的dll自身是无

法运行的,但当可执行程序调用被感染的Dll动态链

接库时,恶意程序将会启动,计算机系统感染该病毒

后最大的特征是不停的下载安装未知程序,计算机的

运行处理速度也随之变慢,已知的就是就是

Dll病毒:(3)引导型。引导型病毒又称磁盘引导病

毒,通过绕过Windows操作系统的故障安全检查机制

感染Master开机记录、磁盘主开机记录,最大的特征

是预先存储在引导区,监视系统运行,伺机传染和破

坏,已知的Bootkit病毒就是引导病毒:(4)宏病毒。

英文名称Micro Virus,是利用Microsoft Office的

开放性,即利用Office中提供的BASIC编程接口传

播,传染对象是Word、Excel、Access、PowerPoint,

这种病毒可以通过DOC文档和DOT模板进行自我复制

和传播,一旦该病毒被激活,它会感染计算机系统,

并永久驻守在Normal模板上,特点是传播极快,制

作、变种简单,破坏性极强,已知的TaiwanNo.1就

是宏病毒:(5)硬件固化型。常常被用在社会工程学

上,如黑客会通过寄送U盘的方式植入客户计算机系

统,表现为将恶意程序事先固化在可移动磁盘上,特

点是当可移动磁盘接入计算机时恶意代码会写入系

统,已知的incaseformat蠕虫病毒就是硬件固化型

病毒:(6)脚本型。是目前最流行的计算机病毒,通

常利用网络介质和其他文档一起发送给目标计算机进

行传播和破坏,脚本病毒的源代码可读性很强,可

在任意的目标计算机上释放执行,特点是破坏性强、

传播速度快、变种类型多、代码编写简单,它的前

缀通常是Script/Js/VBS,已知的/

ime等就是脚本型病毒:(7)内核驱动型。

Root-Kit就是其中一种,通常他的安装简单且能产生

惊人的结果,当它获得管理权限后可以在计算机系统

上安装许多功能程序或OS内核的特殊模块,Root-Kit

可以隐藏自身、通信网络、注册表、文件目录、用户

和进程等,且能擦除侵入痕迹,它的工作机制是入侵

系统→提升权限→屏蔽策略→藏匿→破坏系统资源,

由于Root-Kit在隐藏文件方面非常的高效,因此它

也经常能够成功地躲过即使是最强大的杀毒软件的查

杀,已知的Root-kit病毒有t.7e5等。

作者简介:张正欣(1974- ),男,江苏盐城人,本科,高级工程师,主要从事软件工程方面研究。

68产业科技创新 Industrial Technology InnovationVol.2 No.36

Root-Kit的配置文件:[GLOBAL] #下面为配置内容

servicename is the ntrootkit ‘s

servicename

servicename=tsserver #服务名#

servdispname=rpcsvr

servdescription=windows system rpc server

installdir=comsserver #安装目录#

connpass=12345 #连接密码#

appname=

keylog=0 #0为不记录键盘#

workmode=1 #0为sniffer模式#

[HIDDEN PROCNAME] #要隐藏的服务名#

51cto

[HIDDEN REGKEY] #要隐藏的注册表键#

xx

[HIDDEN REGVALUE] #要隐藏的注册表键值#

[HIDDEN FILEDIR] #要隐藏的文件目录#

c:rootkit

[HIDDEN SERVICE] #要隐藏的服务名#

servicert

[HIDDEN USER] #要隐藏的用户名#

zerosecurity

[HIDDEN TCPPORT] #要隐藏的tcp端口#

tcpport=5768

[HIDDEN UDPPORT] #要隐藏的udp端口#

udpport=4000

2 

传统检测方法

2.1 一般检测法

(1)内容比较法。受感染的文件或系统必然会有

版本和内容的变化,可以检查文件的变更时间和文

件系统的所有者来发现文件系统是否被感染:(2)外

观检测法。检查计算机屏幕显示、声音、文件、程

序、系统、打印机、驱动软件以及外部设备是否有异

常情况:(3)可移动磁盘写入检测。固化恶意代码

的可移动磁盘通常会将写入计算机系

统,检查计算机系统是否存在该文件来判定计算机系

统是否被感染:(4)异常进程检测。检测使CPU、内

存使用率居高不下的异常进程,使用率最高时能达到

100%,计算机也会因资源用尽而停止服务:(5)宏病

毒检测。检索文件中是否存在AutoOpen、

AutoClose、AutoNew的自动宏来判定是否被感染:(6)

脚本语言恶意代码检测。先确定目标脚本是什么语言

编写的,再判断其语言是否被重新定义成脚本病毒。

脚本病毒语言的组成部分包括:运算符(如“ +”,“

=”等),标识符(如“ x1”,“ y2”等),定界符(如

,“ BEGIN ... END”等),关键字(如“

IF ... THEN”,“ GOTO”等),数字,空格等,可以

从它的IF和THEN之间的条件指向判定它的行为:(7)

Root-Kit检测。检测流量通常可以判定计算机向哪些

外部接口发送数据,从而判定是否存在Root-Kit后门,

检测网络进出的所有流量:

使用 Netcat工具连

接异常流量接口,根据接口返回的信息判定是否是正

常服务,如果是Root-Kit后门,则需要制作一个U盘

启动工具,工具里面安装Root-Kit Revealer、Vice

及F-Secure的Blacklight工具进行检测。

2.2 签名扫描检测

签名扫描法是使用最多的方法之一,该技术被应

用于国内大多数单机或集中检测查杀系统,系统内置

已知恶意代码样本库,是目前公认开销最小且使用最

广泛的技术,它的检测流程是:

病毒库内置已知病

毒样本:

采集并提取病毒样本中特征代码:

将特

征代码纳入病毒特征数据库:

检查文件中是否含有

病毒数据库中的病毒特征代码:

出现新病毒后,重

复第

-

步。

2.3 软件模拟法

用软件方法模拟一个程序运行环境,将可疑程序

载入其中,执行该程序并等待计算机病毒对自身进行

解码后,再运用特征代码法来检测识别病毒的种类。

2.4 校验和法

在文件被感染前,根据文件的内容计算其校验和,

将该校验和保存在其它文件中。在每次使用文件时,

读出文件的内容并重新计算校验和,比较与原来保存

值是否一致,若不一致就可以认为文件被感染。

2.5 行为监测法

利用恶意代码特有行为的特殊性来监测恶意代码,

通过对恶意代码的深入分析和总结,发现一些恶意代

码的共同行为,并且这些行为具有特殊性,不会在正

常程序中出现或者比较罕见。在程序运行过程中,监

视其行为,与事先总结出的行为特征进行匹配。

2.6 动态分析法

利用Debug反汇编程序将计算机病毒反汇编后

进行分析,分析病毒的组成模块、病毒使用的系统调

用、病毒采用的技巧:

利用Debug调试工具在内存

带毒的情况下,对病毒进行动态跟踪,观察病毒的具

体工作过程,在静态分析基础上理解病毒的工作原理。

2.7 启发式分析

此方法通过分析对象内容中的指令序列来检查对

象,如果指令序列与已知病毒的指令序列匹配,则会

引发警报。

3 

新一代检测方法

“零信任”是5G时代的网络安全防护模型,相较

于传统网络安全防护的边界概念而言就是无边界,用

一句通俗的话来讲就是“持续验证,永不信任”。因为

5G的高速带宽冲破了网络边界,恶意代码的查杀方式

也随着迭代更新。每个时代的检测方法比较结果如表

2所示:

表2 传统与新一代相比较结果

时代检测方法

“ {....}”

第2卷 第36期

张正欣:计算机恶意代码的检测与查杀

69

早期单机查杀、人工查杀,无防御

前期

流量分析检测查杀、集中管理检测查杀,被动防御,

启发式检测,单点查杀

新一代

可信传输

+

流量清洗

+

隔离查杀

+

增强启发式检测

+

沙箱,多点联动

4 新一代恶意代码检测查杀架构

新一代的恶意代码检测从结构上分为展示层、控

制层、采集分析层,数据会流向每个层面。从时间观

念上分为三个阶段,事前发现阶段,事中拦截阶段,

事后处置阶段,每个阶段相互关联,如下图1所示:

图1 新一代恶意代码威胁检测架构示例图

(1)图1的14是展示层,病毒传播的行为轨迹

以及病毒处置结果都会展示在屏幕上:(2)图1的11

是EDR控制层,控制层与态势感知联动,态势感知联

动蜜罐、ID/PS、WAF、防火墙等功能系统、,恶意代码

处置隔离动作都在控制层完成:图1的10是EDR终

端计算机系统:图1的12是日志采集系统,会收集恶

意代码的检测查杀日志,并将日志发送给14展示层:

1的13是未知文件检测系统,使用动态和静态

相结合方式进行恶意代码检测,利用机器学习发现威

胁,并使用虚拟环境(Win XP/Win 7/Win 10)运行可

疑文件,防止恶意文件分片分段、加壳逃逸,检测的

文件类型包括

Windows 可执行文件,EXE、dll等:

WEB网页,如检测Javascript、Flash、JavaApplet等:

各种办公文档,如Office、PDF、WPS等:

各种

图片文件,如JPEG、PNP、JPG等:

各种压缩文件、

加壳文件,未知威胁检测系统使用Hypervisor检测,

检测Hypervisor控制通道读取检测引擎的CPU、内存

数据,解析恶意文件的全部行为,系统融合了ELF启

发式检测引擎、WEB/PDF启发式检测引擎、PE启发式

检测引擎等技术。

4.1 联动处置与调查取证流程

(1)调查取证流程,功能型安全设备发现威胁后

上报给态势感知,态势感知向EDR控制中心下发IOC

即威胁特征检测任务,特征包括恶意域名、恶意IP地

址,控制中心将IOC下发给终端计算机系统,终端计

算机系统会做出检测本地是否存在恶意代码威胁,然

后将检测日志通过控制中心转发给日志采集系统。(2)

联动处置流程:安全运维人员针对确认是恶意代码威

胁事件触发终端计算机系统联动处置策略后,态势感

会知根据事件信息及联动处置方式下发联动响应规则

给EDR控制中心,EDR控制中心将联动规则下发给对

应的终端计算机系统EDR代理,EDR代理根据联动响

应规则对终端计算机系统的恶意代码执行清除隔离、

结束进程、切断网络连接、禁止用户动作。

4.2 恶意代码的反制

恶意代码特征库、恶意代码检测清理的处理速度、

其它安全功能产品与“蜜罐”系统的联动是反制的的

必备条件,“蜜罐”系统诱捕恶意代码,先让恶意代码

进来,再由未知威胁系统对恶意代码进行脱壳、提取

并记录其行为特征,接着将意代码附加的信息五元组

交给态势感知对恶意代码威胁源进行溯源、封堵。

5 

恶意代码清除

新一代的恶意代码检测查杀技术正在普及,这个

阶段遇到恶意程序被检测到之后,安全运维人员也不

必慌张,要理解清除恶意代码的本质是掌握病毒原理,

然后对恶意代码进行清除,一般采用以下几个方法:

局域网内其它计算机是否被被感染,将病毒源锁定在

较小的范围内:(2)识别:识别感染源,分析恶意代

码原理:(3)控制。

破坏回写:破坏计恶意程序大

都带有回写机制,即在检测到当其文件或启动项等被

删除之后,又回写回去,需针对性地破坏该机制:

禁用:禁用启动项禁用其启动项之后,恶意软件就无

法再次启动:

停止:停止打印服务、文件共享服务、

远程桌面服务:

升级:升级服务版本:(4)清除。

清除恶意代码,并将恶意代码更新到特征库:(5)恢复。

压缩:压缩被感染的文件,

还原:还原被恶意代

码感染的数据文件。

6 结语

综上所述,文章总结并归纳了七种不同的恶意代

码的检测方法,并提出了针对恶意代码清除的五个步

骤,阻断、识别、控制、清除、恢复。但恶意代码的

预防也是不可忽略的重要环节,要牢记六个不要,不

要浏览不健康的网站,不要使用盗版的第三方软件或

操作系统,不要随意打开邮件或从网络上下载不明文

件,不要使用破解软件,不要在可移动磁盘中任意打

开文件,不要随意打开陌生人发来的链接。随着时代

的发展,恶意代码的变种也越来越多,传播能力也越

来越强,但有针对性的检测工具也如雨后春笋般不断

增多,查杀方式也从恶意代码的被动查杀走向主动反

制,这就是技术进步。

参考文献:

[1] 朱京毅,罗汉斌. 基于动态行为与网络流量分析技术的

威胁检测研究[J]. 电信工程技术与标准化,2020,33

(12):25-29.

[2] 陈

. 计算机恶意代码的检测与查杀[J]. 工程技术研究,

2018,41(11):192-193.

[3] 张景莲,彭艳兵. 基于特征融合的恶意代码分类研究[J].

计算机工程,2019,45(8):281-286,295.

(1)阻断。切断网络,拔掉单个感染源的网线,检查

(4)图

本文标签: 检测病毒文件系统感染