计算机病毒传播的数学模型

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机病毒传播的数学模型

信息与计算科学2005级何金波

指导教师陈涛副教授

摘要: 在分析计算机病毒微观传染规律和传染机制的基础上,结合当前操作系统的特点,本文主要建立和分析了计算机病毒在单个计算机系统内的随机传染模型,并通过模型来分析计算机病毒的传播途径。得出了在单进程操作系统环境下,病毒的感染数量呈线性增长,感染强度相对稳定;在多进程操作系统环境下,病毒的感染数量和感染强度都呈e的指数级增长。关键词: 计算机病毒,数学模型,泊松过程,随机传染,MATLAB软件

Mathematical model of the spread of the computer virus

HE Jing-bo Information and Computational Science, Grade 2005

Directed by Chen Tao (Associate Prof. Ph. D)

Abstract: Based on the analysis of micro-computer viruses and virus transmission laws the transmission mechanism, combined with the characteristics of the current operating system, this paper analyzes the establishment and computer viruses within computer systems in a single random transmission model, and use the mathematical model to analyze the spread of computer viruses. Come, in a single process operating system environment, the number of infections is linear growth, intensity of infection is relatively stable; in a multi-process operating system environment, the number of virus infection and infection intensity of the exponential is Exponential growth. Keywords: Computer virus, Mathematical models, Poisson process, Random transmission, software of MATLAB

0 引言

随着计算机广泛的应用,人们开始关注与计算机有关的信息安全问题[1]。在威胁计算机安全的众多技术之中有一种特殊的计算机程序实现技术——病毒,它对计算机系统的潜在危害性十分巨大。计算机病毒的出现并不是偶然的,而是在计算机实现技术的脆弱性和特殊的政治、军事目的等多种因素共同作用下产生的。

目前,对计算机病毒尚没有一个统一的、确切的定义美国计算机安全专家Freerick cohen 博士将计算机病毒定义为[2]:计算机病毒是一个能传染其他程序的程序,病毒是靠修改其他程序,并把自身的拷贝嵌入到其他程序中而实现的。B W.bumhan认为[3]:计算机病毒是一种能够使其自身的拷贝插入(通常以非破坏方式)到某个接受拷贝的程序中(或宿主程序中)的指令序列。这些定义都从一定的角度阐述了计算机病毒的概貌,但这似乎还不够、仅仅是说明了计算机病毒的一些形式。在国内,基本上有这样一个大家所普遍接受的计算机病毒的定义:计算机病毒是一种在计算机系统运动过程中能把自身精确拷贝或有修改地拷贝副其他程序体内的程序它具有隐蔽性、传染性、潜伏性、激发性和破坏性的特性,并且隐藏在可执行程序或数据文件中,是人为的小巧玲珑的程序软件。

病毒一般分成主控模块、传染模块、破坏模块和触发模块4个部分[4]:

病毒程序:=

{ 感染模块:=

{ 循环:随机搜索一个文件;

如果感染条件满足

则将病毒体写入该文件;

否则跳到循环处运行;}

破坏模块:=

{ 执行病毒的破坏代码;}

触发模块:=

{ 如果触发条件满足

返回真;

否则返回假;}

主控模块:=

{ 执行传染模块:

执行触发模块

如果返回为真,执行破坏模块;

执行原程序;}}

病毒的传染模块主要完成病毒的自我复制,传染的一般过程[5]是:当病毒程序或染毒的程序运行时,病毒截取控制权,寻求感染突破口,当感染条件满足,即将病毒代码自制到宿主程序。病毒的感染条件根据不同的感染方式有不同的类型。例如常驻内存病毒一般修改系统中断,插入病毒中断程序,当某程序运行时,如果访问被病毒挂接的中断,则启动病毒中断程序,感染或破坏文件,否则运行原中断过程。许多文件性病毒在获得运行机会时,会随机搜索相关目录下的可感染文件,判断感染条件,例如是否存在感染标记、可重复感染的次数、文件类型等,条件满足则进行感染。不同类的病毒,甚至同类不同变种的病毒,它们的感染方式都有很大的不同。

传染是计算机病毒的主要特征之一[6],病毒的传染不仅提高了病毒的存活率,而且对计算机系统资源造成破坏和威胁。计算机病毒的传染是以计算机系统的运行及读写磁盘为基础的。没有这样的条件计算机病毒是不会传染的, 因为计算机不启动不运行时就谈不上对磁盘的读写操作或数据共享, 没有磁盘的读写, 病毒就传播不到磁盘上或网络里。所以只要计算机运行就会有磁盘读写动作, 病毒传染的两个先条件就很容易得到满足。系统运行为病毒驻留内存创造了条件, 病毒传染的第一步是驻留内存;一旦进入内存之后, 寻找传染机会, 寻找可攻击的对象, 判断条件是否满足, 决定是否可传染;当条件满足时进行传染, 将病毒写入磁盘系统。

根据病毒传染的途径不同,可将计算机病毒的传染分为单机传染、网络传染和人为传染。单机传染指病毒在单计算机系统内的传染过程;网络传染则是病毒通过网络在网络的各个结点间的传播过程;人为传染则主要是通过人的行为进行的病毒传播,如文件复制或磁盘拷贝

相关文档
最新文档