病毒的基本原理
病毒的描述:
只有具有受限传递性、受限共享的系统,或者不提供共享的系统,或者不具备一般信息解释能力的系统,才能够具有潜在的防范病毒的能力
病毒通过检查目标程序首部是否包含"感染标志"来判断目标是否被感染过。
病毒集(Viral set,VS):
VS是一类特殊的(machine,tape-set)序偶的集合,VS集合中的元素可以通过集合运算产生新的VS元素,体现进化性
如果VS中的某个元素能够在图灵机磁带上产生一个新的VS元素v',并且v'和v,在磁带上的位置不同,则元素可认为是病毒
- 任意病毒集的并仍然是病毒集。
- 最大病毒集是所在机器的所有VS的并集
- 任何能够复制自身的符号序列都是病毒,即凡是病毒都具有自复制特性。
- 最小病毒集是单元素集,其唯一元素能够对自身进行复制。
形式化模型中的关键问题
判定性:是否可以通过图灵程序在有限时间内,判断一个给定的符号序列对给定的图灵机来说是一个病毒
进化性:是否可以通过图灵程序在有限时间内,判断一个给定的符号序列,对于给定图灵机能产生另一个给定的符号序列
可计算性:如何判断能进化成病毒的某一类符号序列
通用图灵机(Universal Turing Machine,UTM)
UTM是一个特殊的图灵机,它可以接收任意一个图灵机M的编码,然后
模拟M的运作。
病毒是一个特殊的TM的描述,它能够被UTM模拟,并导致在磁带上产生另一个病毒TM的描述。该模型下最简单的病毒就是能够在磁带上进行自我复制的TM,它运行在空白的磁带上,其描述只包含有效的移动。病毒在进化过程中能够使用磁带的初始内容作为输入参数。
传播模型
传播模型
- 易感-感染-易感模型:易感节点被病毒感染后成为感染节点,感染节点被治愈后又成为易感节点
- 易感-感染-移除模型:易感染节点被病毒感染后进入感染状态,并且有可能将病毒传播给其他节点,病毒被清除后,该节点对病毒具有抵抗能力,不会再感染同一种病毒
- 易感-暴露-感染-移除模型:在易感-感染-移除模型的基础上增加一个"暴露状态",用于描述用于描述那些已经接收到病毒代码但尚未显现出病毒特征的个体。
- 易感-感染-检测-移除模型:用于描述病毒的传播和清除的模型,在反病毒程序出现之前,实际上就是个易感-感染-易感模型;在反病毒程序出现之后,感染节点和易感节点都有可能接收到疫苗成为免疫节点,在这个阶段网络中既存在病毒的传播又存在疫苗(反病毒程序)的传播。
安全模型
隔离策略:基于信息的传递性将用户划分为不同闭集,从而实现系统隔离。采用多级安全保护,最小特权原则。
访问控制策略:
第一种是Bell-LaPadula(B-LP)模型:不上读,不下写,保证数据的机密性
第二种是Biba模型:不下读,不上写,保证数据的完整性,即从信息流向的定义方面,不允许级别低的进程到级别高的进程,也就是说用户只能向比自己安全级别低的个体写入信息,而不能从比自己级别低的个体读入信息。
隔离模型
内网安全等级比外网的安全等级高,在外网信息流向内网时需要经过下面三个隔离设备:
- 防火墙,相当于是内网的一个“城门”,对流入内网的信息进行“安检”,但是不支持应用层的识别,难以识别隐藏在应用中的木马和病毒。
- 网关,一般需要设置多重网关,基于恶意代码特征库进行隔离,但是难以识别利用正常通讯,分散迂回进入的攻击,一旦“混入”,畅通无阻。
- 网闸,是一种物理隔离的产品,在内网和外网建立一个缓冲区,对数据进行一个摆渡,相当于先将“城门”堵上,然后根据城内的需要,开通“特殊通道”。
信息流模型
可以通过直接限制信息的传播范围来限制病毒的传播范围
流距离(Flow Distance)策略:所谓流距离就是信息流动的距离(这是一个共享数,即信息自身的一个属性)的测量。然后主机通过设置距离门限值,使信息超过这个门限值后将不再可用,从而提供对信息的保护。
但是由于信息流模型在部署的时候需要很大的开销,所以其实用性并不强
病毒的特征
计算机病毒的生命周期:
开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期
计算机病毒的主要特点:
计算机病毒的命名规则
<malware-type>:代码类型
<platform>:依赖的环境
<group_name>:病毒族
<infective_length>:感染长度
<variant>:变种号
<devolution>:进化标识