计算机病毒防治

一、计算机病毒概述

计算机病毒是必然产物。

计算机病毒是一种人为制造的,侵入计算机系统、寄生于应用程序或系统可执行部分,并可以自我复制、传播,具有激活型、攻击性的程序代码。

计算机病毒宿主

病毒大多不以文件形式存在,寄生在合法程序上(可以是引导程序,可执行程序,word文档)。

计算机病毒起源

病毒起源 

病毒发展 

 

二、病毒的命名与分类

病毒命名方法

  • 采用病毒体字节数,如1055/4099病毒
  • 病毒体内或传染过程中的特征字符串,如CIH、爱虫病毒
  • 发作的现象,如小球病毒
  • 发作的时间以及相关的时间,黑色星期五病毒
  • 病毒的发源地,如合肥2号

(通常还会加上指明病毒属性的前后缀,一种病毒可能有多种名字)

病毒分类

按所供给操作系统划分法

  • DOS病毒
  • Windows病毒
  • Linux病毒
  • Unix病毒

寄生方法分类

  • 覆盖型:病毒用自身的代码,部分或全部的覆盖在寄生的宿主上,使原宿主的部分功能或全部功能被破坏
  • 代替型:病毒用自身的程序代码替代原宿主程序代码。病毒程序能完成或简单完成被替代程序代码的主要功能,因而可以减少被发现的机会。
  • 填充型:将自身的代码隐藏在寄生宿主内部为存有信息的空白存储单元。
  • 链接型:病毒代码附加到宿主程序上,并不破坏宿主代码。
  • 转储型:将其宿主程序的部分代码或全部代码转出到其他储存空间,而病毒本身侵占宿主程序原来的存储空间。这类病毒一般感染磁盘引导区。

传染目标分类法

  • 引导型:修改系统启动扇区,启动时取得控制权,进行传播破坏
  • 文件型:感染可执行文件,调用文件时运行
  • 混合型:既感染引导区又感染文件

破坏性分类法

  • 良性
  • 恶性

三、病毒特征

  • 刻意编写人为破坏:破坏数据、删除文件、格式化磁盘、破坏主板
  • 主动传染性:自我复制,扩散传播
  • 隐藏性:难以识别,体积短小,加密,变形
  • 可激活性:具有潜伏期,满足触发条件后才发作(触发器:系统时钟,并独自带计数器,特定操作)
  • 不可预见性

 

 

四、病毒程序结构

计算机病毒程序是为了特殊目的而编制的,他通过修改其他程序而把自己复制进去,并且传染该程序。一般来说,计算机病毒程序包括三个功能模块。

引导模块

借助宿主程序,将病毒程序从外存引进内存,以便使传染模块和破坏模块进入活动状态。另外,引导模块还可以降分别存放的病毒程序链接在一起,重新进行装配,形成新的病毒程序,破坏计算机系统。

传染模块

将病毒迅速传染,尽可能扩大染毒范围。病毒的传染模块由两部分组成:条件判断部分和程序主体部分,前者负责将病毒程序与宿主程序链接,完成传染病毒的工作。

破坏模块

病毒编织者的意图,就是攻击破坏计算机系统,所以破坏模块是病毒程序的核心部分。破坏模块在进行各种攻击之前,首先判断破坏条件是否成立,只有条件全部满足时,破坏模块才开始其破坏活动。 

这些模块功能独立,同时又相互关联,构成病毒程序的整体。

五、现代计算机病毒特征

攻击对象趋于混合型

同时感染系统引导区和可执行文件

反跟踪技术

增强隐蔽性

加密技术处理

病毒体繁衍不同变种

自我变形,自我保护,自我恢复

六、计算机病毒防治

病毒的弱点

  • 病毒是一段程序,需要宿主。
  • 宿主必须是可执行部分,
  • 病毒的任何感染行为总是会改变宿主,或完全替代宿主的一部分代码,或修改部分代码,或改变操作系统定位该宿主的指针。
  • 如果病毒要存活、繁衍,其程序代码就必须能够被执行,即病毒要有转变为激活态的机会——否则就不能进行传染、表现或破坏。

杀毒软件技术

病毒扫描程序

内存扫描程序 

完整性检查程序 

行为监视器 

 

 

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

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

相关文章

Linux--进程间的通信-匿名管道

进程间的通信 进程间通信(IPC,Interprocess Communication)是指在不同进程之间传输数据和交换信息的一种机制。它允许多个进程在同一操作系统中同时运行,并实现彼此之间的协作。 进程间通信方式: 管道(Pi…

静态页面上传服务器无法显示css效果

今天做比赛的项目,把静态页面上传到服务器,发现外联的css文件的效果无法显示,一开始以为是路径问题,后面改了发现没有改变。 然后发现在浏览器上css文件中content-type: text/plain的问题 这才是正确的: 修改办法&…

【QT】pro文件里添加又删除LIBS不影响运行的原因

我发现个问题啊,如果运行项目,发现报错,缺少某dll,接着你在pro文件里加上win32:LIBS -lOpengl32(举个例子),接着可以运行了,接着把这行删掉,再运行,仍然可以…

PCB学习记录---原理图

一、注释 NC:no connect,默认不连接 NF: no fix,默认不安装 0R: 0R的电阻,即可以短路 二、看图流程 1、看标题,了解功能 2、浏览有几个模块 3、找芯片对应的数据手册,了解芯片功能和使用 例如CH224&#xff…

JavaScript - 你知道==、===和Object.is的区别吗

难度级别:初级及以上 提问概率:75% 因为==操作符会存在数据类型的隐式转换,所以最终判断的是转换后的值是否相等,经过总结发现,除了null、undefined和NaN以外,其他的数据类型在遇到==数据转换时候,更倾向于先转为数值类型再进行比较,…

agi入门-大模型开发基础

AGI(Artifical General Inteligence)的到来还有多久? 乐观预测:明年主流预测:3-5年悲观预测:10年 AGI时代,AI无处不在,相关从来者将如何分? AI使用者:使用别人开发的AI产品AI产品…

brctl 和ip link 操作网桥(Bridge)网卡

在Linux系统中,可以使用以下命令来进行网卡的桥接操作: brctl addbr :创建一个桥接设备,例如:brctl addbr br0。brctl addif :将网卡添加到桥接设备中,例如:brctl addif br0 eth0。…

LangChain学习——核心组件

LangChain是一个用于大语言模型(LLM)应用开发的框架,它简化了LLM应用的开发难度,帮助开发者快速构建复杂的LLM应用。 一、LangChain 库简介​ LangChain 包的主要价值主张是: 组件:用于处理语言模型的可…

面试经典算法系列之双指针6 -- 三数之和

面试经典算法题6 – 三数之和 LeetCode.15 公众号:阿Q技术站 问题描述 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有…

密码学与密码安全:理论与实践

title: 密码学与密码安全:理论与实践 date: 2024/4/10 21:22:31 updated: 2024/4/10 21:22:31 tags: 密码学加密算法安全协议密码分析密码安全实际应用未来发展 第一章:密码学基础 1.1 密码学概述 密码学是研究如何保护信息安全的学科,旨在…

OSPF数据报文格式

OSPF协议是跨层封装的协议,跨四层封装,直接将应用层的数据封装在网络层协议后面,IP协议包中协议号字段对应的数值为——89 OSPF的头部信息: ——所有数据包公有的信息 版本:OSPF版本 在IPV4中一般使用OSPFV2&#xf…

配置启动nacos,保姆级教程

下载nacos 下载链接 https://github.com/alibaba/nacos/releases进去下拉,找到下载版本信息。 下载后如图所示。 配置数据库 在我们的conf文件夹中有一个nacos-mysql的数据库文件 我们需要导入数据库,可通过工具Navicat等进行导入。 会有一下几张表…

计算机进制

进制 进制也就是进位制,是人们规定的一种进位方法对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进…

WebGPU vs. 像素流

在构建 Bzar 之前,我们讨论过我们的技术栈是基于在云上渲染内容的像素流,还是基于使用设备自身计算能力的本地渲染技术。 由于这种选择会极大地影响项目的成本、可扩展性和用户体验,因此在开始编写一行代码之前,从一开始就采取正确…

浅入浅出容器化部署

目录 1. 概念2. 主要理念(优点)3. 容器与虚拟机的区别4. Docker 基本常用命令查看版本信息显示系统信息帮助命令镜像命令拉取镜像查看本地镜像列表删除镜像 容器命令运行容器查看正在运行的容器查看所有容器(包括未运行的)停止容器重启容器进入容器删除容…

在B站看课的进度助手

效果 代码 BilibiliVideoDurationCrawler import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; import java.text.ParseException; import java.util.ArrayList; imp…

深度优先搜索(DFS)算法遍历图

import java.util.*;public class GraphDFS {private int V; // 图中节点的数量private List<List<Integer>> adj; // 邻接表表示的图public GraphDFS(int v) {V v;adj new ArrayList<List<Integer>>(v);for (int i 0; i < v; i)adj.add(new Arr…

从零开始学RSA:已知e,n,dp,c求m等4类问题解答

(13)已知e,n,dp,c求m 题目内容如下: e65537n963757146665289974184814265445141340580197683432866741850921714950323851383087098535391831463316027758059181901618178530052186690153667066623404652169759023007916186728238912499809352663779657110014705243044508960…

yum和配置yum源

yum 以及配置yum 源。 文章目录 一、Linux 软件包管理器yum二、使用yum安装软件三、配置yum源四、yum源仓库五、lrzse 实现linux远端和本地 互传文件 一、Linux 软件包管理器yum (1)什么是yum? yum 是一个软件下载安装管理的一个软件包管理器&#xff0c;它就相当于我们手机…

浅谈.版本管理工具

定义&#xff1a; 版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史&#xff0c;方便查看更改历史记录&#xff0c;备份以便恢复以前的版本的软件工程技术。 特点&#xff1a; 1、方便用于管理多人协同开发项目 2、并行开发&#xff0c;可实现跨区…