基于Matlab的反病毒技术

<font color="#ff0000"> </font>**<font color="#ff0000">博主的一篇课程论文</font>**

---

摘要:自从1986年初诞生了世界上第一个病毒——大脑(C-Brain)开始,计算机病毒就一直在威胁着网络和计算机安全。反病毒技术也越来越受到人们的重视。在Matlab上进行人工杀毒是一次创新的尝试。本文分析了Matlab独特的资源管理特性和文件机制,并在VMware Workstation中演示了杀毒过程。

关键词:计算机病毒,杀毒,explorer.exe,Matlab.exe,VMware Workstation

0 引言

人工杀毒是指不需要专门的杀毒软件,用户只需运用计算机知识,借助一定的人具,手工清除计算机中的病毒。在与病毒对抗的过程中,人工杀毒技术和专业杀毒软件一样越来越受到人们的重视,人工杀毒也是杀毒软件无能为力时的重要补充,如何使人工杀毒步骤简洁、操作方便、彻底查杀也正是专家热门的研究课题。Matlab不仅是科学计算技术仿真实验平台,而且它拥有卓越的内核结构,使之具有良好的移植性、扩展性,拥有完美而独立的文件交互管理体系,这恰为实现人工杀毒提供了重要的技术支撑。explorer.exe是Windows资源管理器,它用于管理Windows图形外壳,包括开始菜单、任务栏、桌面和文件管理。在此平台的人工杀毒的实施一般较为繁琐,特别对于某些病毒的彻底清除(例如:熊猫烧香,AV终结者,机器狗等)往往还需离开Windows操作系统,到Win PE或Ms-Dos下才能进行。而基于Matlab平台的手工杀毒,往往并不需要离开Windows系统,灵活地将其独特的文件管理体系与人工杀毒技术有机结合,充分利用Matlab独立的资源浏览器、独特的文件管理系统、执行文件直接加载,不但能使大部分病毒的攻击无效,而且使杀毒的步骤大大简化,杀毒更为彻底。VMware Workstation则是一个“虚拟PC”。它可以让一台机器上同时运行二个或更多Windows、Dos、Linux系统。它允许多个操作系统在主系统的平台上,就像标准的Windows应用程序那样切换。因此我选择它作为此次杀毒的环境基础。

1  Matlab杀毒平台

Windows操作系统的应用软件都是在微软自带的explorer.exe平台上运行的。平台的唯一性使得它很容易受到计算机病毒的攻击。作为科学计算技术仿真的软件——Matlab,之所以可以作为应用软件的运行平台,在于Matlab本身的Desktop Tools and Development Environment(桌面工具集和开发环境)这个系统交互功能。系统交互功能是Matlab功能的第一部分,它包含九个子功能。通过对它们的综合分析,发现Matlab的内核调度是独立于explorer平台的,主要体现在下面三个方面。

1.1  独立浏览器

众所周知,微软公司在其设计的Windows操作系统中,浏览器和资源管理器被捆在一起。计算机病毒设计者常常利用这一点,首先取得控制权来攻击Windows系统。而在Matlab平台上,网络资源浏览器是独立的,只需要在命令窗口键入Web Browser就可以达到访问Internet资源的目的,故病毒不能轻易取得机器的控制权。

1.2  文件管理系统自成体系

在微软的资源管理器中,文件的系统、只读、隐藏属性往往被病毒利用,但Matlab的文件管理体系是独立的,且没有只读、隐藏等文件属性的限制;在Matlab平台上,所有文件都是一览无余的,被病毒感染的文件也只是普通文件,用户就很容易对其进行删除。同时因为文件系统的独立性,已经运行的病毒也不会对其他文件系统产生任何影响,有效地隔断了病毒的传播。在Matlab平台上,目录管理和文件管理有各自的对话框。用户只需在命令行中输入path tool,就会出现目录对话框;在命令行中键入file browser就会出现文件管理对话框。对话框的操作也简化了人工杀毒操作。Matlab平台上进行人工杀毒,文件系统是经常要调用的。Matlab的文件管理优越于微软自带的资源管理器,它不但支持流行的文件选择功能,而且鼠标右键的功能处理更加全面;同时正因为它是独立的文件管理体系,所以在对文件和目录的操作上也就没有资源管理器平台上的死机现象发生,而且操作速度更快。

当然在Matlab的命令行中,用户也可以直接键入文件管理命令,如DIR、CD、COPYFILE等命令删除和建立相关的文件。更重要是这些命令还可以被运用在Matlab语言程序中,用程序的方法直接获得文件的相关信息,这将对基于Matlab平台上进行开放式自动杀毒产生重要帮助。

1.3  程序装载独立执行

Matlab提供了直接运行程序的接口。这种功能最早出现在Quick(Turbo)语言系列中,然而在病毒猖獗的今天,Matlab提供这样的功能有着举重若轻的作用。很显然,在Matlab平台上病毒不能截获文件运行的主控制权,因此也就不能进一步感染或者影响其他软件的执行。如此,用户就可大胆地运行系统安全工具和杀毒软件(如:赛门铁克,卡巴斯基, 迈克菲,比特樊德,360安全卫士等),停止或者清除病毒。

2   Mat lab人工杀毒的实现

无论是软件杀毒还是人工杀毒,都是要取得比病毒进程更高的控制权,然后停止病毒进程,再删除病毒文件。进程控制权是病毒与反病毒对抗的焦点,病毒为了保护自身文件的控制权,总是利用所处系统平台的弱点。在Windows系统中,大多数病毒采用的方法是获取加载文件rundll32.exe的控制权,或者隐藏病毒文件,或者是用病毒文件替换X:\Windows下的explorer.exe或X:\ProgramFiles\Internet Explorer下的IEXPLORE.EXE (X为系统盘符,下同),这些方法往往让用户无法运行系统工具,有时甚至会导致内核级别的杀毒软件也无法运行。但在Matlab平台上,独立的文件管理系统不会存在上述病毒攻击的顾虑,从而使得清除病毒变得非常简单。

病毒清除步骤如下:

①    Matlab平台的进入

病毒攻击所选择的时间和位置几乎布满了Windows操作系统从BIOS引导的MBR(master boot record主引导扇区)到最后桌面显示的全过程。所以如果要减少被病毒感染的机会,用户可以直接选择Matlab平台,即用Matlab.exe代替explorer.exe。一旦计算机被感染了病毒,用户可根据系统被病毒感染的情况,选择进入Matlab的方式:系统运行很缓慢,即使病毒很多,但用户还是能够执行.exe文件,那么用户可以直接执行Matlab。病毒导致.exe文件不能执行,用户可以修改Matlab.exe为Matlab.com,然后执行。如果系统启动后,发现是空白界面,说明可能explore.exe失效,那么用户可以按Ctrl-Alt-Delete,调用任务管理器进入Matlab平台。如果正常模式无法启动,安全模式可以运行,那么用户可以根据情况选择①,②或③。

②    停止病毒进程

计算机病毒攻击系统后,有些动态病毒文件一直在计算机中运行以便保护病毒自身,这就需要停止其进程;有些病毒也可能嵌入在一些标准进程之中,因此需要解挂停止它们……而运行权限较高的系统工具就能够停止它们的活动。Matlab平台上运行程序方法非常简单:File->open->文件类型为all files(*.*)->选择要执行的应用软件或者在Command Window命令窗口键入以下命令:cd查看当前目录路径\cd用户常用工具的存储路径。如:e:\files\oftentools!常用工具名或者dos('工具名'),如!Process Explorer;前者和后者命令的区别是后者有返回信息。

③ 删除病毒文件,恢复系统设置

在一切病毒都清除成为静态病毒后,用户只需调用file browser文件管理系统,执行删除文件的命令即可。当然,对于一些被破坏的系统设置比如换成explorer.exe、注册表等等也必须恢复。可能用户发现经过前面几个步骤后发现系统还是异常,这就要求用户在Matlab平台上继续而小心地检查每一个可疑之处,经过几次反复,系统就会趋于正常。

3  Mat lab人工杀毒实例

环境配置如下:

主        机: 操作系统 Windows 7 Ultimate, 64-bit  (Build 7600) 6.1.7600 (正版)

处 理 器 Intel Core(TM)2 Duo Processor P7350 @ 2.00GHz

主       板 LENOVO KIWB1

芯 片 组 Intel Mobile 4 Series Chipset Bridge(PCI to HOST)

内       存 SAMSUNG 4G DDR3 SDRAM

主 硬 盘 WDC WD5000BEVT-22ZAT0 500G

显 示 卡 NVIDIA GeForce GT 240M 1G DDR3

显 示 器 通用即插即用监视器

虚拟机环境 :  VMware? Workstation 7.0.1 build-227600

虚   拟  机:  操作系统 LENOVO OEM Windows XP SP3 ,32-bit  5.1.2600(正版)

处 理 器 Intel Core(TM)2 Duo Processor P7350 @ 2.00GHz

主       板 LENOVO KIWB1

芯 片 组 Intel Mobile 4 Series Chipset Bridge(PCI to HOST)

内       存 1G DDR3 1066MHz

硬       盘 20G

显 示 卡 NVIDIA GeForce GT 240M 1G DDR3

实例:机器狗

机器狗是目前较常见而破坏力极强的病毒,它有很多变种,有的以打印驱动程序为宿主程序攻击硬盘还原卡;有的变成硬盘驱动攻击网络系统;有的化成系统进程如userinit.exe盗取用户相关的ID信息。但是机器狗也与大多数病毒一样是需要执行病毒母体的,它并没有攻击到Windows原有的explorer平台,这就不会影响用户进入Matlab平台。具体杀毒过程如下:

Ⅰ 进入Matlab平台。正常模式下,病毒导致机器运行十分缓慢,因此在安全模式下运行Matlab,以便运行速度更快。

Ⅱ 在Matlab平台上运行360安全卫士。为了解除机器狗与系统的连接,在Matlab界面的主窗口下选择File下的Open功能键,打开360安全卫士。进入360安全卫士对话框后,①选择高级->系统进程状态,停止explorer.exe、userinit.exe、system.exe进程。②选择常用->清理恶评插件->开始扫描,选中所有插件,立即清理。③选择稍后自己重启。此时如出现顽固木马专杀界面就按要求选择,然后转入下一步。

Ⅲ 最后,清除病毒文件。①清除用户系统临时文件夹里的所有文件。因为该文件夹是Windows系统Internet浏览器的临时目录,也常常是病毒的中转站。病毒会从远程下载到该文件夹中,然后执行攻击系统。在Matlab命令窗口中键入file browser命令,选择X:\Doucments and Settings\Administrator\Local Settings\Temp,删除此文件夹里的所有文件,如图所示。②选择X:\windows\system32目录,删除病毒文件c6424110.sys、rpcss.dll、system.exe、HBASKTAO.dll、3BB58E65.dll、Hbmhly.dll、HBvow.dll、csrss.dll、sadfasdf.jpg、sh14038.dll。选择X:\windows目录,删除regedit.com。③重新启动系统,系统恢复正常。

4  小结

本文介绍了Matlab平台引入人工杀毒技术的可行性、优越性和具体实施步骤,指出Matlab是一款可以替代Windows资源管理器的平台软件。研究发现,采用Matlab的独立的资源浏览器可以减少网络浏览感染病毒的风险;执行文件直接加载机制减少病毒攻击的环节,可使大多数病毒攻击无效,减少机器被感染的机会;独立的文件系统使得病毒文件无处隐藏,成为普通文件,便于直接彻底删除。随着计算机反病毒技术的提高,自动杀毒技术的发展可能不再局限于寻找病毒的特征代码。如果基于Matlab平台之上能将统计方法等其它领域里的经典方法和研究成果(例如启发式扫描,root kit扫描,Honey pot检测)运用到自动杀毒技术之中,一定能开创杀毒技术的美好前景。

5  参考文献

[1]恽俊,唐屹,刘磊《Windows病毒的检测和手工清除方法》

[2]郑建光,朱正德 《计算机病毒及防杀技术》

[3]李诗平 《手工杀毒技术》

[4]张海燕,肖冬荣,李诗平 《计算机病毒入侵及对抗技术》

[5]卡饭论坛 [http://bbs.kafan.cn/](http://bbs.kafan.cn/) 反病毒专区、虚拟系统专区

[6] 精睿网络安全论坛 [http://bbs.vc52.cn/](http://bbs.vc52.cn/) 安全测试与救援专区


基于Matlab的反病毒技术
https://blog.dzl.life//archives/matlab-antivirus-tech
作者
寒山
发布于
2012年05月23日
许可协议