计算机病毒
Posted mhzhou-whyj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机病毒相关的知识,希望对你有一定的参考价值。
U盘传播病毒原理---利用U盘自动播放的功能
双击U盘盘符时不是打开U盘,而是直接运行U盘中的程序。
原理:当我们双击计算机某个分区或者对某个分区选择右键弹出菜单的打开项时,系统将搜索该分区根目录下是否存在Autorun.inf文件,若存在,则根据其中内容执行相应操作。
Autorun.inf生效的条件:必须放在驱动器根目录下,具有一定格式,文件名必须为 Autorun.inf。
方法一:关闭系统自动播放功能。
三个途径:(1)服务?禁用ShellHardware 服务
(2)使用组策略
(3)使用注册表
方法二、阻止Autorun.inf文件的创建。
怎么阻止?
在磁盘根目录、U盘根目录、移动硬盘根目录下(也就是病毒可能写入Autorun.inf 文件的地方)新建一个Autorun.inf文件夹。
被病毒删了呢?
创建一个无法删除的Autorun.inf文件夹
双击U盘盘符时不是打开U盘,而是直接运行U盘中的程序。
原理:当我们双击计算机某个分区或者对某个分区选择右键弹出菜单的打开项时,系统将搜索该分区根目录下是否存在Autorun.inf文件,若存在,则根据其中内容执行相应操作。
Autorun.inf生效的条件:必须放在驱动器根目录下,具有一定格式,文件名必须为 Autorun.inf。
方法一:关闭系统自动播放功能。
三个途径:(1)服务?禁用ShellHardware 服务
(2)使用组策略
(3)使用注册表
方法二、阻止Autorun.inf文件的创建。
怎么阻止?
在磁盘根目录、U盘根目录、移动硬盘根目录下(也就是病毒可能写入Autorun.inf 文件的地方)新建一个Autorun.inf文件夹。
被病毒删了呢?
创建一个无法删除的Autorun.inf文件夹
病毒要做一件坏事,必须委派线程来做,线程又必须存在于一个进程空间中,所以病毒要运行,必须先有进程,才有线程完成任务。
两个选择:(1)自己创建进程------隐藏
(2)借用其它进程空间-----远程注入代码
远程注入:由本地进程向其他进程写入执行代码,或者令其他进程加载模块的过程。
两个选择:(1)自己创建进程------隐藏
(2)借用其它进程空间-----远程注入代码
远程注入:由本地进程向其他进程写入执行代码,或者令其他进程加载模块的过程。
DLL是作为共享函数库的可执行文件(PE格式),但它不能独立运行,只能通过其他可运行的程序加载到内存中执行功能。
病毒注入技术有两种:
(1)写内存----直接向对方进程空间中写入代码
(2)将病毒代码写到一个DLL文件中,然后令
(1)写内存----直接向对方进程空间中写入代码
(2)将病毒代码写到一个DLL文件中,然后令
服务:在后台完成系统任务的程序,如获取自动更新或者管理打印任务等等;
服务有关联的程序,以及启动方式;
服务与系统的核心相关,拥有各种权限。
(1)将病毒本身创建为服务
病毒运行后在系统中创建一个服务,服务关联的程序是病毒本身,设置启动方式为自启动;
通过服务方式启动的程序难于分析调试,也不容易监控。
(2)利用系统服务漏洞进行攻击。
服务有关联的程序,以及启动方式;
服务与系统的核心相关,拥有各种权限。
(1)将病毒本身创建为服务
病毒运行后在系统中创建一个服务,服务关联的程序是病毒本身,设置启动方式为自启动;
通过服务方式启动的程序难于分析调试,也不容易监控。
(2)利用系统服务漏洞进行攻击。
病毒对注册表的利用
利用注册表实现程序自启动
利用注册表改变文本文件所关联的程序
(1) Image File Execution Options路径下,新建一个“项”,项的名称是notepad.exe(要禁止的程序名称)
(2) 再右边的窗口中单击右键选择“新建”,“字符串值”取名为Debugger,双击Debugger,在“编辑字符串”对话框中,输入一个无意义的字符串,如abc……,这样就实现了对notepad.exe的禁用,运行时会显示找不到文件。
利用注册表实现程序自启动
利用注册表改变文本文件所关联的程序
(1) Image File Execution Options路径下,新建一个“项”,项的名称是notepad.exe(要禁止的程序名称)
(2) 再右边的窗口中单击右键选择“新建”,“字符串值”取名为Debugger,双击Debugger,在“编辑字符串”对话框中,输入一个无意义的字符串,如abc……,这样就实现了对notepad.exe的禁用,运行时会显示找不到文件。
硬盘的3D参数: CHS(Cylinder/Head/Sector)
磁头数(Heads) 最大为 255 (用 8 个二进制存储)
柱面数(Cylinders) 最大为 1023(用 10 个二进制存储)
扇区数(Sectors) 最大为 63(用 6个二进制位存储)
每个扇区一般是 512个字节
磁头数(Heads) 最大为 255 (用 8 个二进制存储)
柱面数(Cylinders) 最大为 1023(用 10 个二进制存储)
扇区数(Sectors) 最大为 63(用 6个二进制位存储)
每个扇区一般是 512个字节
病毒的定义:
计算机病毒是一段附着在其它程序上的、可以自我繁殖的程序代码,复制后生成的新病毒同样具有感染其它程序的功能。
在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码”。
计算机病毒是一段附着在其它程序上的、可以自我繁殖的程序代码,复制后生成的新病毒同样具有感染其它程序的功能。
在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码”。
病毒特性:
1) 传染性: 病毒把自身复制到其他程序、中间存储介质或主机的性质。区别于正常程序。
2) 破坏性:良性病毒-降低计算机工作效率,占用系统资源,如内存空间、磁盘存储空间以及系统运行时间等;
恶性病毒-破坏数据、删除文件、格式化磁盘、系统崩溃,硬件损坏。
3)隐蔽性: 在生命周期中,病毒一般会经历三个阶段:潜伏阶段、传播阶段、发作阶段。
4)程序性(可执行性):只有运行了才能达到目的
5)可触发性:触发条件
如:黑色星期五:13日又是星期五发作
PETER-2:每年2月27日提出问题,答错3次后将硬盘加密
上海一号:每年的3、6、9月的13号发作
6)衍生性:演变或释放出新病毒
7)不可预见性:代码千差万别,制作技术不断提高,针对反病毒软件的对抗永远是超前的。
8)欺骗性
1) 传染性: 病毒把自身复制到其他程序、中间存储介质或主机的性质。区别于正常程序。
2) 破坏性:良性病毒-降低计算机工作效率,占用系统资源,如内存空间、磁盘存储空间以及系统运行时间等;
恶性病毒-破坏数据、删除文件、格式化磁盘、系统崩溃,硬件损坏。
3)隐蔽性: 在生命周期中,病毒一般会经历三个阶段:潜伏阶段、传播阶段、发作阶段。
4)程序性(可执行性):只有运行了才能达到目的
5)可触发性:触发条件
如:黑色星期五:13日又是星期五发作
PETER-2:每年2月27日提出问题,答错3次后将硬盘加密
上海一号:每年的3、6、9月的13号发作
6)衍生性:演变或释放出新病毒
7)不可预见性:代码千差万别,制作技术不断提高,针对反病毒软件的对抗永远是超前的。
8)欺骗性
病毒的命名:
前缀 + 病毒名 + 后缀
前缀表示该病毒发作的操作平台或者病毒的类型,如:Trojan( Trojan-Downloader 、 Trojan.PSW),Worm,Macro,PE,VBS,BackDoor,Win32,Win95,…
后缀是为了区别在该病毒家族中各病毒的不同,可以为字母,表示病毒是某一个家族的第几种变种,或者为数字(数字一般是病毒的大小,以病毒的大小来区分同一家族的不同病毒变种)。
病毒名为该病毒的名称及其家族。
前缀 + 病毒名 + 后缀
前缀表示该病毒发作的操作平台或者病毒的类型,如:Trojan( Trojan-Downloader 、 Trojan.PSW),Worm,Macro,PE,VBS,BackDoor,Win32,Win95,…
后缀是为了区别在该病毒家族中各病毒的不同,可以为字母,表示病毒是某一个家族的第几种变种,或者为数字(数字一般是病毒的大小,以病毒的大小来区分同一家族的不同病毒变种)。
病毒名为该病毒的名称及其家族。
查毒 -> 杀毒
杀毒:确定相应的杀毒方法
感染型病毒-清除被感染程序中的病毒代码
独立程序的病毒-直接删除病毒文件
(1)特征码查毒
利用留在被感染文件中的病毒特征值(即每种病毒所独有的十六进制代码串)进行检测。
优点:
速度快,误报率低,是检测已知病毒最简单、开销最小的方法。
缺点:
无法检测新病毒
变形病毒增多,特征库体积庞大,速度下降
杀毒:确定相应的杀毒方法
感染型病毒-清除被感染程序中的病毒代码
独立程序的病毒-直接删除病毒文件
(1)特征码查毒
利用留在被感染文件中的病毒特征值(即每种病毒所独有的十六进制代码串)进行检测。
优点:
速度快,误报率低,是检测已知病毒最简单、开销最小的方法。
缺点:
无法检测新病毒
变形病毒增多,特征库体积庞大,速度下降
(2)启发式查毒
通过对有关指令序列的提取和分析逐步理解并确定其蕴藏的真正动机。
优点:
可能检测到未知病毒
缺点:
误报。
针对PE病毒:根据PE文件在格式上的特征制定启发式 分析方法,如代码是否从最后一节开始执行、是否重定位。
通过对有关指令序列的提取和分析逐步理解并确定其蕴藏的真正动机。
优点:
可能检测到未知病毒
缺点:
误报。
针对PE病毒:根据PE文件在格式上的特征制定启发式 分析方法,如代码是否从最后一节开始执行、是否重定位。
(3)基于虚拟机技术的行为判定
在扫描器中实现了一个虚拟机来仿真CPU、内存管理系统等系统组件,进而模拟代码执行过程,这样病毒就是在虚拟机中模拟执行,而不是被真实的CPU执行。
优点:检测加密和多态病毒、动态解密程序。
在扫描器中实现了一个虚拟机来仿真CPU、内存管理系统等系统组件,进而模拟代码执行过程,这样病毒就是在虚拟机中模拟执行,而不是被真实的CPU执行。
优点:检测加密和多态病毒、动态解密程序。
计算机病毒自我保护技术
(1)花指令--在指令流中插入很多的“垃圾数据”,干扰反汇编软件的判断。
(2)加密--对病毒的某些主体代码采用固定的密钥进行加密,对抗静态反汇编。
(3)多态--病毒加密后的每个样本的代码都不相同,表现为多种状态,对抗静态扫描特征码的杀毒软件
(4)变形--与多态技术不同的是每次加密的原始病毒代码是变化的。
(5)加壳
(6)直接对抗杀毒软件,终结反病毒软件或其部分功能
(1)花指令--在指令流中插入很多的“垃圾数据”,干扰反汇编软件的判断。
(2)加密--对病毒的某些主体代码采用固定的密钥进行加密,对抗静态反汇编。
(3)多态--病毒加密后的每个样本的代码都不相同,表现为多种状态,对抗静态扫描特征码的杀毒软件
(4)变形--与多态技术不同的是每次加密的原始病毒代码是变化的。
(5)加壳
(6)直接对抗杀毒软件,终结反病毒软件或其部分功能
待发展的计算机病毒对抗技术
(1)未知病毒查杀技术--虚拟CPU
要求:智能性和执行效率
(2)流扫描技术--在网络入口处对进出内部网络的数据和行为进行监控
要求:查杀效率要高,防止明显的网络延迟
(3)云安全
通过网状的大量客户端对网络中软件行为进行异常监测,获取互联网中木马、恶意程序的最新信息,传送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
要求:智能性和执行效率
(2)流扫描技术--在网络入口处对进出内部网络的数据和行为进行监控
要求:查杀效率要高,防止明显的网络延迟
(3)云安全
通过网状的大量客户端对网络中软件行为进行异常监测,获取互联网中木马、恶意程序的最新信息,传送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
在生命周期中,病毒一般会经历如下三个阶段:
潜伏阶段:病毒处于休眠状态,最终会被某些条件激活(日期、某特定程序或特定文件的出现,内存容量超过一定范围等等)
传播阶段:将自身复制到其他程序或磁盘的某个区域上。
发作阶段:病毒被激活,在系统中发作,会执行某一特定功能从而达到某种既定的目的。
潜伏阶段:病毒处于休眠状态,最终会被某些条件激活(日期、某特定程序或特定文件的出现,内存容量超过一定范围等等)
传播阶段:将自身复制到其他程序或磁盘的某个区域上。
发作阶段:病毒被激活,在系统中发作,会执行某一特定功能从而达到某种既定的目的。
病毒发作体现出来的破坏程度是不同的:
表现自己
破坏程序和文件中的数据,甚至毁坏硬件
表现自己
破坏程序和文件中的数据,甚至毁坏硬件
病毒程序一般由触发模块、传播模块、破坏模块、主控模块组成,相应为触发机制、传染机制和破坏机制三种。
系统启动过程
(1)计算机启动
(2)将硬盘MBR读入内存地址0000:7c00处
(3)检查0000:7dfe是否等于0xaa55,若不等于则转去其它介质启动,如果没有其它介质则显示“No ROM BASIC”然后死机。
(4)跳转到0000:7c00处执行MBR中的程序
(5)MBR首先将自己复制到0000:0600处,继续执行
(6)检查分区表是否完好,并在主分区表中搜索标志为活动的分区。如果没有或不止一个,则显示Invalid partition table ,并挂起系统
(7)将活动分区的第一个扇区读入0000:7c00
(8)检查0000:7dfe是否等于0xaa55,若不等于则显示“Missing Operating System”,然后停止,或尝试软盘启动
(9)跳转到0000:7c00处继续执行特定系统的启动程序(分区引导记录)
(10)分区引导记录将负责读取并执行系统文件IO.SYS,
(11)IO.SYS首先初始化一些重要的系统数据,然后就显示出蓝天白云,Windows将继续进行引导和初始化工作
(1)……(4)由Bios引导程序完成
(5)……(9)由MBR的引导程序完成
(10)(11)由分区引导程序完成(启动系统)
(1)计算机启动
(2)将硬盘MBR读入内存地址0000:7c00处
(3)检查0000:7dfe是否等于0xaa55,若不等于则转去其它介质启动,如果没有其它介质则显示“No ROM BASIC”然后死机。
(4)跳转到0000:7c00处执行MBR中的程序
(5)MBR首先将自己复制到0000:0600处,继续执行
(6)检查分区表是否完好,并在主分区表中搜索标志为活动的分区。如果没有或不止一个,则显示Invalid partition table ,并挂起系统
(7)将活动分区的第一个扇区读入0000:7c00
(8)检查0000:7dfe是否等于0xaa55,若不等于则显示“Missing Operating System”,然后停止,或尝试软盘启动
(9)跳转到0000:7c00处继续执行特定系统的启动程序(分区引导记录)
(10)分区引导记录将负责读取并执行系统文件IO.SYS,
(11)IO.SYS首先初始化一些重要的系统数据,然后就显示出蓝天白云,Windows将继续进行引导和初始化工作
(1)……(4)由Bios引导程序完成
(5)……(9)由MBR的引导程序完成
(10)(11)由分区引导程序完成(启动系统)
DOS病毒的加载过程
3种加载方式:
1)参与系统的启动过程
2)依附正常文件加载
3)直接运行病毒程序
加载步骤:
1)开辟内存空间(临时空间)
2)病毒体定位和驻留(常驻空间)
3)恢复系统功能
3种加载方式:
1)参与系统的启动过程
2)依附正常文件加载
3)直接运行病毒程序
加载步骤:
1)开辟内存空间(临时空间)
2)病毒体定位和驻留(常驻空间)
3)恢复系统功能
引导型病毒的主要特点
1、引导型病毒是在操作系统之前进入内存,寄生对象又相对固定,因此该类型病毒大多会采用减少操作系统所掌管的内存容量方法来驻留内存高端。 而正常的系统引导过程是不减少系统内存的。
2、引导型病毒需要把病毒传染给软盘,一般是通过修改INT 13H的中断向量,而新INT 13H中断向量段址必定指向内存高端的病毒程序。
3、引导型病毒感染硬盘时,必定驻留硬盘的主引导扇区或引导扇区。(正常情况下是不对硬盘主引导区或引导区进行写盘操作的)
4、引导型病毒的寄生对象相对固定,把当前的系统主引导扇区和引导扇区与干净的主引导扇区和引导扇区进行比较,如果内容不一致,可认定系统引导区异常。
1、引导型病毒是在操作系统之前进入内存,寄生对象又相对固定,因此该类型病毒大多会采用减少操作系统所掌管的内存容量方法来驻留内存高端。 而正常的系统引导过程是不减少系统内存的。
2、引导型病毒需要把病毒传染给软盘,一般是通过修改INT 13H的中断向量,而新INT 13H中断向量段址必定指向内存高端的病毒程序。
3、引导型病毒感染硬盘时,必定驻留硬盘的主引导扇区或引导扇区。(正常情况下是不对硬盘主引导区或引导区进行写盘操作的)
4、引导型病毒的寄生对象相对固定,把当前的系统主引导扇区和引导扇区与干净的主引导扇区和引导扇区进行比较,如果内容不一致,可认定系统引导区异常。
PE病毒的运行过程
双击运行HOST程序,装载HOST程序到内存
通过PE文件中的Address Of Entry Point和Image Base之和来定位第一条语句的位置
从第一条语句开始执行,实际执行的可能就是病毒代码
病毒主体代码执行完毕,将控制权交给HOST程序原来入口代码
HOST程序继续执行。
双击运行HOST程序,装载HOST程序到内存
通过PE文件中的Address Of Entry Point和Image Base之和来定位第一条语句的位置
从第一条语句开始执行,实际执行的可能就是病毒代码
病毒主体代码执行完毕,将控制权交给HOST程序原来入口代码
HOST程序继续执行。
以上是关于计算机病毒的主要内容,如果未能解决你的问题,请参考以下文章