自复制理论基础
计算机病毒的实施途径是复制自身的代码;
所谓自复制结构就是自复制自动机,并且由于递归定理,自复制自动机的行为表现和编码结构形成一个镜像对称
自复制自动机模型
细胞自动机:按照相同的法则改变其状态,就好比细胞的状态由上个时刻围绕该细胞的周围细胞决定
计算机病毒的定义
- 早期计算机病毒之父的定义:
A computer virus is a computer program that can infect other computer programs by modifying them in such a way as to include a (possibly evolved) copy of itself.
这里指出了计算机病毒的进化性,但这个定义仍然还不完善 - 我国颁布的《中华人民共和国计算机信息系统安全保护条例》中计算机病毒的定义为:
计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。
这里指出了计算机病毒的破坏性、传染性以及潜伏性
但是计算机病毒并不是独立运行的,实际上可以隐蔽在其他可执行的程序中。比如伴生病毒利用程序执行环境(操作系统)的特性来完成感染。 - Symantec首席反病毒研研究员Peter Szo的定义为:
A computer virus is a program that recursively and explicitly copies a possibly evolved version of itself.
这里指出了递归性,区别病毒与正常程序的复制过程
计算机病毒的逻辑结构
计算机病毒程序
计算机病毒的工作流程
传播阶段:病毒在计算机中大量繁殖,通过对其感染目标进行感染完成
发作阶段:病毒负载的执行条件得以满足时,执行攻击负载对系统实施破坏
具体流程:
将病毒植入宿主程序→带病毒进行系统执行→当满足感染条件时,寻找感染目标,调用感染模块→当满足破坏条件时,激活病毒程序,调用负载模块→执行宿主代码
计算机病毒的分类
- 按照破坏影响:
良性病毒:不对计算机系统产生直接破坏作用的病毒代码,即不具有恶性攻击负载的病毒
恶性病毒:在其代码中包含有损伤和破坏计算机系统的操作,在其发作时会对系统产生直接的破坏作用 - 按照病毒的寄生部位或者传染对象
引导型病毒:通常用病毒代码取代正常的引导记录,而正常的引导记录隐藏在磁盘中的其他位置
文件型病毒:针对系统中可执行文件进行感染的病毒
脚本病毒:对脚本文件进行感染的病毒代码 - 按照病毒的传染途径
驻留型病毒:指利用驻留内存程序机制实现、在运行完成后仍然有部分留存于内存,并伺机获得系统控制权的病毒,病毒驻留内存的目的是对系统进行监控,等待其他条件模块的触发
直接感染型病毒:通常是文件病毒,当病毒文件执行时,病毒截获系统控制权后,寻找其感染目标进行感染(或者触发负载模块进行攻击破坏),当宿主执行完成后,内存中的病毒代码随宿主退出内存