详解计算机病毒

1.1 计算机病毒的基本概念

1.1.1计算机病毒的定义

        计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码 。

1.1.2计算机病毒的危害

  • (1) 占用系统空间。计算机病毒是一段程序,会占用一定的磁盘空间和内存空间。病毒程序虽然很小,但随着病毒的繁殖,数量会急剧增加,将占用大量的磁盘空间和内存空间,最终致使系统存储空间消耗殆尽。
  • (2) 占用CPU时间。计算机病毒在运行时会占用CPU时间,随着病毒数量的增加,将会消耗更多的CPU时间,这会导致系统运行速度变得异常缓慢,进一步还可能完全独占CPU时间,致使计算机系统无法向用户提供服务。
  • (3) 破坏文件。计算机病毒可以增加或减少文件的长度,改变文件的内容,甚至删除文件。病毒还可以通过对磁盘的格式化使整个系统中的文件全部消失。
  • (4) 破坏计算机软硬件系统。计算机病毒可破坏计算机软硬件系统,致使计算机出现异常情况,如提示一些莫名其妙的指示信息,显示异常图形等,甚至致使计算机运行减缓,完全停机。

CIH 病毒被认为是第一个破坏计算机硬件系统的病毒。

1.1.3计算机病毒的特征

  • (1) 潜伏性
  • (2) 传染性
  • (3) 隐蔽性
  • (4) 破坏性

在网络时代中的计算机病毒特征:

  • (1) 普通计算机病毒的特征
  • (1) 通过网络和邮件系统传播
  • (2) 传播速度极快
  • (3) 变种多
  • (4) 具有病毒、蠕虫和黑客程序功能

1.2 计算机病毒的类型

1.2.1文件型病毒

        文件型病毒是当前最为普遍的病毒形式,通过在运行过程中插入指令,把自己依附在可执行文件上。然后,利用这些指令来调用附在文件中某处的病毒代码。当文件执行时,病毒会调出自己的代码来执行,接着又返回到正常的执行指令序列。文件型病毒使文件受感染的方式可分为如下两种:

  • (1) 主动攻击型感染。当病毒程序在执行时,它不断地对磁盘上的文件进行检查,当发现被检测文件尚未被感染时,就去感染它,使其带有病毒。
  • (2) 执行时感染。在病毒环境中,每当一个未被感染的程序在执行时,如果它是病毒所期待的文件类型,且磁盘没有写保护,该程序就会被感染病毒。病毒在感染其它文件时,通常是有针对性地。

1.2.2引导扇区病毒

        引导扇区病毒潜伏在磁盘上用于引导系统的引导区。当系统开机时,病毒便借助于引导过程进入系统,通常引导扇区病毒先执行自身的代码,然后再继续系统的启动进程。病毒通过复制代码使引导区病毒感染计算机系统或者软盘引导扇区或硬盘分区表。 在启动期间, 病毒加载到内存,一旦在内存, 病毒将感染由系统访问的任何非感染磁盘。

1.2.3宏病毒

        宏是微软公司为其OFFICE软件包设计的一个特殊功能,软件设计者为了让人们在使用软件时,避免一再地重复相同的动作而设计出来的一种工具,它利用简单的语法,把常用的动作写成宏,当在工作时,就可以直接利用事先编好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动化。

        宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会感染上这种宏病毒,而且如果其他用户打开感染病毒的文档,宏病毒又会转移到他的计算机上。

        一般宏病毒具有传播极快,制作、变种方便,破坏可能性极大,兼容性不高等特点,目前的杀毒软件都能有效地防治和清除宏病毒。

1.2.4内存驻留病毒

        内存驻留病毒一旦执行,自己便占据内存驻留区。这是计算机运行程序和文件时载入它们的地方。病毒在内存中占据重要位置,病毒可以访问在计算机上运行的所有重要操作,它可以在文件和程序访问、修改或者操作时很轻松地破坏它们。计算机关闭时,所有内存中的数据都将被清除,包括病毒。但是,当病毒感染系统时,它会确保每次计算机启动时都将在内存中激活病毒。内存驻留病毒会通过占用系统资源来使用户的计算机变慢。它们可以破坏数据和系统文件,这会使用户的计算机不能正常工作。

1.2.5邮件病毒

        邮件病毒其实和普通的电脑病毒一样,只不过它们的传播途径主要是通过电子邮件,所以才被称为邮件病毒,由于它们一般通过邮件中“附件”夹带的方法进行扩散,只要接收者打开电子邮件中的附件,病毒就会被激活,它将把自身发送给该用户列表中的每个人,然后进行破坏活动。

        后来出现了更具破坏性的电子邮件病毒,它被直接嵌入到电子邮件中,只要接收者打开含有该病毒的电子邮件,病毒就会被激活。由于电子邮件病毒是通过Internet传播的,因此病毒的传播速度非常快,加上平时日常工作中电子邮件使用十分频繁,因此预防邮件病毒就显得至关重要。

1.3 病毒的预防和检测

1.3.1病毒的预防

预防计算机病毒应从管理和技术两方面进行。

  • (1) 建立完善的计算机法制制度
  • (2) 定期做好备份
  • (3) 使用正版软件
  • (4) 定期地进行病毒检测
  • (5) 不轻易打开来历不明的电子邮件
  • (6) 要定期检查硬盘、优盘,利用反病毒软件来清除其中的病毒
  • 将.com文件和.exe文件赋以“只读”属性,预防病毒入侵

1.3.2常用病毒检测方法

常用病毒检测方法

特征代码法包括建立病毒数据库扫描文件两个过程。

原理:

  • 为了建立病毒数据库,应当采集病毒的样本,所收集的病毒样本种类越多,利用它去检测病毒的成功率也就越高。
  • 在扫描文件过程中,打开被检测文件,在文件中搜索,检查文件中是否含有病毒数据库中的病毒特征代码。如果发现病毒特征代码,由于特征代码与病毒一一对应,便可断定被查文件中感染有何种病毒。
  • 特征代码法将硬盘上的文件与病毒数据库中的病毒样本严格匹配来发现病毒,这样可能会漏掉许多 多形态病毒。

优点:

  • 检测准确快速
  • 可识别病毒的名称
  • 误报警率低
  • 依据检测结果可做杀毒处理

缺点:

  • 速度慢
    • 随着病毒种类的增多,检索时间将变长。必须对每一种病毒特征代码逐一检查。如果病毒种数庞大,检测病毒就需要巨大的时间开销。
  • 不能检测多形态病毒
  • 不能检测隐蔽性病毒
    • 隐蔽性病毒如果先进驻内存,后运行病毒检测工具,隐蔽性病毒能先于检测工具将被查文件中的病毒代码剥去,导致检测工具是在检查一个虚假的“好文件”,而不能报警,被隐蔽性病毒所蒙骗。

校验和法

原理:

  • 计算正常文件内容的校验和,将该校验和写入本文件或别的文件中保存
  • 在文件使用过程中,定期地或每次使用文件前,检查文件当前内容算出的校验和与原来保存的校验和是否一致,因而判定文件是否感染病毒,它既可发现已知病毒又可发现未知病毒。

优点:

  • 方法简单
  • 能发现未知病毒和被查文件的细微变化

缺点:

  • 不能识别病毒种类
  • 不能报出病毒名称
  • 易误报警
    • 由于病毒感染并非文件内容改变的唯一原因,文件内容的改变有可能是正常程序引起的
  • 影响文件的运行速度
  • 不能对付隐蔽型病毒

行为监测法

利用病毒的特有行为特征来监测病毒的方法,称为行为监测法。

原理:

  • 通过对病毒长时间的观察、研究,有一些行为是病毒的共同行为,而且比较特殊。在正常程序中,这些行为比较罕见。当程序运行时,监视其行为,如果发现了病毒行为,立即报警。

优点:

  • 可发现未知病毒
  • 可比较准确地预报未知的多数病毒

缺点:

  • 可能会误报警
  • 不能识别病毒名称
  • 实现有一定难度

软件模拟法

        软件模拟法专门用来对付多形态计算机病毒

        多形态病毒代码实施密码化,而且每次所用密钥不同,把病毒代码相互比较,也无法找出相同的可能做为特征的稳定代码。虽然行为检测法可以检测多形态病毒,但是在检测出病毒后,因为不知病毒的种类,难于做杀毒处理。

原理:

  • 成功地模拟CPU执行,在DOS虚拟机(Virtual Machine)下伪执行计算机病毒程序,安全地将其解密,使其显露本来的面目,再加以扫描。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/699144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux lndir命令教程:创建符号链接的影子目录(附实例详解和注意事项)

Linux lndir命令介绍 lndir(链接目录)命令用于创建一个目录树的影子副本,但影子副本中并未填充真实的文件,而是填充了指向原目录树中真实文件的符号链接。这通常对于维护不同机器架构的源代码非常有用。 Linux lndir命令适用的L…

springboot-cache+redis 为指定名称缓存设置独立超时时间

版本 spring-boot: 3.2.2 方案 注册 RedisCacheManagerBuilderCustomizer Bean对指定名称缓存进行定制 Bean RedisCacheManagerBuilderCustomizer redisCacheManagerBuilderCustomizer() {return builder -> builder.withCacheConfiguration(// Cacheable 注解使用的cac…

Linux之权限管理

目录 一.chmod 二.ACL权限 2.1概述 2.2应用ACL权限 一.chmod chmod命令是控制用户对文件的权限的命令。 只有文件所有者和超级用户可以修改文件或目录的权限。 使用权限 : 所有使用者 语法: chmod [-cfvR] [--help] [--version] mode file... 参数说明: mode : …

前端学习——vue学习

文章目录 1. < el-form> 属性 model、prop、rules2. v-bind 与 v-model3. v-if 与 v-show4. v-for 循环语句5. 计算属性 computed6. 监视属性 watch7. 下拉框 el-select、el-option8. 自定义事件9. async与await实现异步调用 1. < el-form> 属性 model、prop、rule…

vue3的elementPlus中使用el-input控制用户输入正确金额,el-input-number遇到的一系列问题

今天在做项目的时候&#xff0c;本来顺顺利利就能上线&#xff0c;但是突然上面给了个任务&#xff0c;在输入框输入金额时&#xff0c;小数点后面位数超过三位就不能在输入了。当时我天真的以为这很好解决&#xff0c;接下来发生的事情让我措不及防。 首先&#xff0c;我原先使…

javaScript前端文件一致性校验-md5方法

需求背景&#xff1a;在处理文件上传时使用了第三方平台存储&#xff0c;后端在下载时需要校验与文件与上传时是否一致&#xff0c;已校验文件是否丢失的问题。如我们公司业务场景使用了分段上传&#xff0c;分段上传如果没有校验合并后的文件是否完整&#xff0c;可能会存在部…

Elasticsearch:基于 Langchain 的 Elasticsearch Agent 对文档的搜索

在今天的文章中&#xff0c;我们将重点介绍如何使用 LangChain 提供的基础设施在 Python 中构建 Elasticsearch agent。 该 agent 应允许用户以自然语言询问有关 Elasticsearch 集群中数据的问题。 Elasticsearch 是一个强大的搜索引擎&#xff0c;支持词法和向量搜索。 Elast…

121 Linux C++ 通讯架构实战 nginx源码学习目的,学习源码前期准备

零 nginx 源码学习的目的 把nginx中重要的&#xff0c;有用的&#xff0c;代码提取出来作为我们自己知识库的一部分&#xff0c;以备将来使用 一&#xff0c;nginx 源码在windows 上也可以下载下来。 我们下载下来&#xff0c;注意下载的是nginx 的 linux源码&#xff0c; 只…

项目管理:如何成功完成一个项目

项目管理是一项重要的技能&#xff0c;它可以帮助你成功地完成一个项目。以下是一些关键的步骤&#xff0c;可以帮助你实现这一目标&#xff1a; 1. 明确项目目标&#xff1a;在开始项目之前&#xff0c;你需要明确项目的目标。这将有助于你制定一个明确的计划&#xff0c;并确…

HDFS 之 Topology(Rack) Awareness - 机架感知

1、 简介 机架感知在大型分布式存储系统中非常实用,可以有效保证数据的高可用,同时提升集群稳定性。在HDFS中,也实现了类似Topology Awareness的机制,只不过是采用软件的方式模拟。 2、机架感知存在的意义 分布式存储系统的一个特殊之处在于其通常包含非常多的机器。Clie…

【目标航迹管理(1)】基于d-s证据理论信息融合的多核目标跟踪方法

1 引言&#xff1a;从航机起始方法开始 我们为什么会有这个议题&#xff1f;因为航机起始方法。 处理目标航迹起始的方法主要分为两大类&#xff1a;批处理和序贯。 在杂波密度比较高的环境下&#xff0c;比如有红外卫星或地面雷达监视区域&#xff0c;则选用批处理方法&…

【Spring】SpringBoot 单元测试

目 录 一.什么是单元测试&#xff1f;二.单元测试有哪些好处&#xff1f;三.Spring Boot 单元测试使用单元测试的实现步骤 一.什么是单元测试&#xff1f; 单元测试&#xff08;unit testing&#xff09;&#xff0c;是指对软件中的最小可测试单元进行检查和验证的过程就叫单元…

Java基本面试问题(一)

上篇文章Java面试10个问题的一些标准回答&#xff1a; Java中的基本数据类型有哪些&#xff1f; 标准回答&#xff1a;Java中的基本数据类型包括整型&#xff08;int, long, short, byte&#xff09;、浮点型&#xff08;float, double&#xff09;、字符型&#xff08;char&am…

chat GPT第一讲

计算机的语言奇迹&#xff1a;探秘ChatGPT的智能回答和写作能力 目前我们这个行业&#xff0c;最火的话题无疑是AI人工智能&#xff0c;类似ChatGPT这样的智能Ai,今天剩下的时间不多&#xff0c;每天一个主题&#xff0c;我给大家讲一下计算机回答问题和写作的能力&#xff0c;…

模型量化--int8量化

文章目录 一、什么是模型量化&#xff1f;二、常见的模型量化方法1.权重量化&#xff08;Weight Quantization&#xff09;2.激活量化&#xff08;Activation Quantization&#xff09;3.混合精度量化&#xff08;Mixed Precision Quantization&#xff09;4. 剪枝和量化&#…

Vue监听器(上)之组合式watch

1. 定义监听器 //要监视的属性被改变时触发 watch(要监视的属性, (更改后的心值, 更改前的旧值) > {具体操作}, );//监视对象为getter的时候 //表达式内任意响应式属性被改变时触发 watch(() > return表达式, (表达式的新值, 表达式的旧值) > {具体操作} );//数组中任…

【MySQL】多表操作、事务、索引

MySQL MYSQL 多表设计 一对多插入测试数据外键约束(物理外键)使用逻辑外键 MYSQL 多表设计 一对一表结构 MYSQL 多表设计 多对多 MYSQL 多表设计 一对多 建表语句 员工表 CREATE TABLE tb_emp (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT ID,username VARCHAR(20) N…

图片大了怎么缩小上传?30秒解决图片大小问题

在上传图片到网站、社交媒体、电子邮件或其他在线平台时&#xff0c;压缩图片可以减小文件大小&#xff0c;加快上传速度&#xff0c;并节省带宽和存储空间&#xff0c;许多网站和应用程序都有对上传图片大小的限制&#xff0c;因此利用在线图片压缩工具&#xff08;https://ww…

WordPres Bricks Builder 前台RCE漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

Jetpack Compose 架构层

点击查看&#xff1a;Jetpack Compose 架构层 官网 本页面简要介绍了组成 Jetpack Compose 的架构层&#xff0c;以及这种设计所依据的核心原则。 Jetpack Compose 不是一个单体式项目&#xff1b;它由一些模块构建而成&#xff0c;这些模块组合在一起&#xff0c;构成了一个完…