病毒防护:恶意代码检测技术,病毒分类、传播方式,恶意代码的清除与防护

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。

在这里插入图片描述

这一章节我们需要知道病毒的分类、传播方式、清除与防护方式,重点是恶意代码检测技术的实现原理。

在这里插入图片描述

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

病毒是「恶意代码」的一部分,凡是能够引起计算机故障,破坏计算机数据,影响计算机系统的正常使用的代码或指令,都是恶意代码。比如exe、dll这种二进制代码,或者asp、php、jsp这种脚本语言,或者微软提供给offic用户的宏语言都属于恶意代码。

也就是说,病毒只是恶意代码的一种,所以后续内容中,我们会围绕着恶意代码的防护来讲解。

恶意代码

  • 1、恶意代码分类
  • 2、恶意代码的传播方式
  • 3、恶意代码检测技术
    • 3.1、特征匹配
    • 3.2、行为检测
    • 3.3、云查杀
  • 4、恶意代码的清除
  • 6、恶意代码的防护

1、恶意代码分类

除了病毒,恶意代码还分为以下几类:

  1. 病毒(Virus):依赖宿主文件传播,本身无法独立存在。
  2. 蠕虫(Worm):不依赖宿主文件就能传播,有独立的进程和文件。
  3. 后门程序(Backdoor):负责远程控制
  4. 木马(Torjan):盗取账号、文件、数据
  5. 流氓软件(Adware/Spyware):盗取用户隐私数据,浏览器首页锁定,捆绑安装等
  6. 逻辑炸弹(Logic bomb):以破坏为目的,锁定硬盘或操作系统

2、恶意代码的传播方式

恶意代码的传播方式有文件传播、网络传播、软件传播三种。

文件传播:

  1. 病毒感染:在正常的文件中插入恶意代码,使文件感染病毒,文件被发送到别的电脑上,实现传播。
  2. 移动介质:U盘等移动存储设备,利用电脑的自动播放(Autorun.inf)功能执行恶意代码,实现传播。

网络传播:

  1. 网页:(水坑式攻击)黑客在网页上挂马,用户访问网站,恶意代码就会执行,实现传播。
  2. 电子邮件:(鱼叉式攻击)黑客发送钓鱼邮件,邮件的内容包含恶意url或二维码,点击或扫码恶意代码就会执行;或者邮件的附件中包含恶意程序,点击附件就会执行恶意代码,实现传播。
  3. 即时通讯:通过QQ、微信等通讯攻击发送恶意url、二维码、恶意程序等,执行恶意代码,实现传播。
  4. 共享:黑客拿下文件共享服务器,用户通过共享服务器下载文件时,文件中被插入恶意代码,实现传播。
  5. 漏洞;利用系统漏洞,比如永恒之蓝的MS17010漏洞。

软件传播:主要是后门文件,黑客入侵服务器以后,上传后门文件,实现长期控制。

3、恶意代码检测技术

3.1、特征匹配

使用「静态分析技术」(不执行恶意代码,直接分析文件内容),根据已知病毒的特征码进行查杀,也叫特征库或「病毒库」

安全厂商通过各种途径获取病毒「样本」,将病毒文件的MD5(校验和)或部分代码特征当做「特征码」保存到数据库中。定期扫描或实时监控文件操作,当文件出现创建、修改操作时,就用病毒库的特征码去匹配文件的内容,匹配到了就判定有毒。

对于「加密」的文件,也就是病毒加壳,安全厂商会先解密,再分析解密后文件的特征码,
即使无法解密,病毒在内存中执行时也会还原成原本的代码,杀软对「内存」中的代码匹配特征码,实现查杀。

病毒库准确率高、误报率低,但病毒库依赖于安全厂商的能力,需要持续更新,不更新就检测不到;并且具有滞后性,先有病毒才能提取病毒特征,无法查杀未知病毒。

3.2、行为检测

使用「动态分析技术」(执行恶意代码,分析程序行为),从最原始的病毒定义出发,根据程序的「行为」进行查杀,也叫「主动防御」

自动防御会实时监控程序的文件操作、注册表操作、网络操作、进程操作、关键函数调用等行为,发现自启动、释放文件、调用敏感DLL等操作时,每有一个操作,就累加恶意权重,权重超过阈值,就判定有毒。

行为检测能够检测到未知的病毒,但误报率高。如果自动处置,则可能误杀正常的业务程序;如果弹窗让用户选择处置,用户的安全能力很难做出正确的选择。

3.3、云查杀

云查杀是特征匹配的一种延伸技术,将病毒库的角色从终端设备转移到了云端服务器。

因为病毒库是要下载到终端本地的,不能占用太大的空间,而云查的病毒库在「云端」,不担心空间占用问题,可以存储巨量的病毒特征,是一个十亿甚至百亿级别的巨大的「黑白灰名单数据库」

终端将本地无法检测的可疑文件的「MD5」等信息发送给云查服务器,由云查服务器匹配检检测。

如果MD5无法识别,终端就发送「文件样本」给云查服务器,云查服务器放到沙箱里运行样本,检测样本的行为。由于这个操作比较敏感,很多场景下都不会发送文件样本,只发送MD5。

终端就像云查服务器的样本采集设备,终端数量越多,样本就越多,云查能力就越强。
除了终端采集,安全厂商还会根据已有的病毒库,通过「机器学习」做模型训练,加强云查能力。

因此在实际项目中 ,通常使用病毒库+云查的组合形式,互联网终端直连或通过代理连接公有云查服务器,隔离网在网络中部署私有云查服务器,提高病毒查杀能力。

4、恶意代码的清除

根据恶意代码对系统的影响,分为4种:

  1. 感染引导区:不常见,系统启动前执行恶意代码,需要修复/重建引导区。
  2. 感染文件:删除文件中的恶意代码或使用正常的文件替换感染文件。
  3. 独立文件:结束相关进程,删除文件。
  4. 嵌入型:不常见,将恶意代码嵌入到现有程序中,很难编写,需要重装系统。

6、恶意代码的防护

恶意代码的防护主要体现在三个方面:

1)增强安全意识:根据恶意代码的传播方式来增强安全意识,比如不熟悉的U盘不要插,陌生网页不要访问,链接不要随便点,收到邮件时根据邮箱地址而不是名字判断收件人,与相关人员确认邮件内容是否属实。

2)减少漏洞:该升级的升级,该打补丁的打补丁。

3)三方安全产品:

  1. 终端上装防病毒。
  2. 网络边界部署IPS、IDS、防毒墙等设备,
  3. 网络中部署蜜罐、蜜网

蜜罐(Honeypot)技术就是部署一个存在漏洞的网站,然后检测用户对这个网站的访问流量,从而进行预警。工作中只要有人访问蜜罐,就很可能有问题,原因很简单:我没有这个业务网站你为什么要访问。

多个蜜罐组成的网络叫做蜜网(Honeynet),蜜网可以帮助业务网站抵挡很多攻击,因为蜜罐也不做实际业务,所有的性能都可以用来监测攻击,可以帮助我们分析攻击者的行为,提供威胁情报,并及时阻断。

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

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

相关文章

惠海 HC070N06LS 6N06 沟槽型NMOS管 皮实耐抗 丝印HC606A 抗雪崩能力强

产品详情 HC070N06LS 60V/6A MOS管 低Vth 惠海半导体原厂 抖频过认证EMC&EMI:0 产品详情 型号HC070N06LS品牌惠海半导体 封装SOT23-3输入电压60V 驱动方式内置MOS耐压150V。 Features : N-Channel Enhancement mode Very low on-resistance VGS4.5V Fast S…

力扣每日一题 下一个更大元素 II 单调栈 循环数组

Problem: 503. 下一个更大元素 II 思路 &#x1f468;‍&#x1f3eb; 参考题解 Code class Solution {public int[] nextGreaterElements(int[] nums) {int n nums.length;int[] res new int[n];Arrays.fill(res,-1);Stack<Integer> stack new Stack<>();//…

docker-compose部署Flink及Dinky

docker-compose部署Flink及Dinky 服务器环境&#xff1a;centos7 1. 配置hosts vim /etc/hostsx.x.x.x jobmanager x.x.x.x taskmanager x.x.x.x dinky-mysql2. 文件目录结构 . ├── conf │ ├── JobManager │ │ ├── flink-conf.yaml │ │ ├── log…

深入理解 Redis 内存碎片及其清理方法

在线工具站 推荐一个程序员在线工具站&#xff1a;程序员常用工具&#xff08;http://cxytools.com&#xff09;&#xff0c;有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具&#xff0c;效率加倍嘎嘎好用。 程序员资料站 推荐一个程序员编程资料站&#xff1a;…

Appium+python自动化(二十三)- 真假美猴王Monkeyrunner与Monkey傻傻的分不清楚(超详解)

简介 看《西游记》第五十七回&#xff0c;说是“六耳猕猴”化作孙悟空的摸样&#xff0c;伤了唐僧&#xff0c;后又和孙悟空大打出手…… 这位假孙悟空&#xff0c;实力不用多说了吧&#xff0c;和真孙悟空一般无二&#xff0c;大战孙悟空&#xff0c;闹到上天入地下海。 在唐僧…

HTML、JavaScript连接MySQL数据库以及对数据库的表进行修改

要使用HTML和JavaScript连接到MySQL数据库并进行表的修改&#xff0c;通常需要使用一个后端服务器来处理数据库的连接和操作&#xff0c;因为HTML和JavaScript在浏览器中运行&#xff0c;不适合直接连接数据库。常用的后端服务器语言包括Node.js、PHP、Python等。这里我们将使用…

服装连锁企业批发零售一体化解决方案

在现代商业环境中&#xff0c;服装连锁企业面临着市场竞争激烈、消费者需求多样化和供应链复杂化的挑战。为了有效应对这些挑战&#xff0c;建立一体化的批发零售解决方案已成为提升运营效率、优化客户体验的关键举措。这种解决方案不仅整合了进销存管理&#xff0c;还有效整合…

Kotlin设计模式:工厂方法详解

Kotlin设计模式&#xff1a;工厂方法详解 工厂方法模式&#xff08;Factory Method Pattern&#xff09;在Kotlin中是一种常见的设计模式&#xff0c;用于将对象创建的责任委派给单一的方法。本文将详细讲解这一模式的目的、实现方法以及使用场景&#xff0c;并通过具体的示例…

核心原因:如果互联网设计师是青春饭,为何别人的青春那么久?

大家好&#xff0c;我是大千UI工场&#xff0c;从事UI设计和前端开发快10年了&#xff0c;算是老司机&#xff0c;经常看到UI设计师在群里抱怨&#xff0c;说这行是青春饭&#xff0c;干几年就换行&#xff0c;真相是这样吗&#xff1f; 一、互联网设计师相较于传统设计师 互…

ventoy制作PE盘系统镜像安装盘,别再用什么软碟通UltraISO刻录进贼慢的U盘里做系统了。

还用U盘呢&#xff0c;10块钱傲腾读取900MB/sNVMe硬盘盒30多块钱&#xff0c;别再用什么软碟通UltraISO刻录进贼慢的U盘里做系统了。 官方下载地址&#xff1a;https://www.ventoy.net/cn/download.html 下载对应版本 运行Ventory2Disk.exe自动识别你的移动介质&#xff0c;然…

LeetCode 100344. 使二进制数组全部等于 1 的最少操作次数 I

更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。 组队打卡&#xff0c;更多解法等你一起来参与哦&#xff01; LeetCode 100344. 使二进制数组全部等于 1 的最少操作次数 I&#xff0c;难度中等。 暴力 解题思路&#xff1a;因为是任意连续三个元素&#xff…

Kotlin设计模式:深入理解桥接模式

Kotlin设计模式&#xff1a;深入理解桥接模式 在软件开发中&#xff0c;随着系统需求的不断增长和变化&#xff0c;类的职责可能会变得越来越复杂&#xff0c;导致代码难以维护和扩展。桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过…

kubectl 用--patch动态修改k8s的资源

用diff格式修改 在 kubectl 命令中使用 --patch 参数是一种对 Kubernetes 资源进行部分更新的便捷方法。当你想要动态地修改资源&#xff08;例如自定义资源定义 CRD 实例&#xff09;的某些字段而无需获取和编辑整个资源定义时&#xff0c;这个方法尤其有用。 下面是使用 ku…

Elasticsearch 高频面试题

Elasticsearch 初级面试题及解答 1. 什么是 Elasticsearch&#xff1f;它的主要用途是什么&#xff1f; 解答&#xff1a; Elasticsearch 是一个开源的分布式搜索和分析引擎&#xff0c;基于 Apache Lucene 构建。它能够快速存储、搜索和分析大量数据。Elasticsearch 的主要用…

SVN学习(001 svn安装)

尚硅谷SVN高级教程(svn操作详解) 总时长 4:53:00 共72P 此文章包含第1p-第p19的内容 介绍 为什么使用版本控制工具 版本控制工具的功能 版本控制简介 客户端服务器结构 c/s结构 服务端的结构&#xff1a; 服务程序 、版本库(存放我们上传的文件) 客户端的三个基本操作&#…

基于Java少儿编程管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

chatTTS 最强文字转语音模型本地部署!

今天本地部署了下传说中的语音合成大模型chatTTS&#xff0c;合成效果非常不错&#xff0c;比市面上其他工具合成的感情更丰富&#xff0c;语气更自然一些&#xff0c;一起来听听。 英文&#xff1a; React apps are made out of components. A component is a piece of the UI…

Games101 正交投影矩阵推导

目录 正交投影 投影矩阵推导 正交投影 正交投影不管是远处还是近处&#xff0c;都是直接挤在屏幕上就好&#xff0c;它没有近大远小的效果 首先&#xff0c;把相机放在原点上&#xff0c;往-z方向看&#xff0c;上方向是y&#xff1b; 这样摆放相机的好处是&#xff0c;把…

实际中服务器无法访问排查思路

当所有服务器突然无法被用户访问&#xff0c;终端用户也无法ping通服务器&#xff0c;这种情况非常棘手。 1.初步检查 首先&#xff0c;不要急于重启设备。你需要保持冷静&#xff0c;系统性地排查问题。尝试使用同一网段的PC访问服务器。如果可以访问&#xff0c;说明服务器和…

Prometheus问题合集

基础知识 1.什么是Prometheus&#xff1f;它的核心功能是什么&#xff1f; 指标收集&#xff1a;Prometheus通过拉取方式定期从目标系统&#xff08;如服务器、容器、数据库等&#xff09;收集指标数据。这些指标可以是系统的性能指标、应用程序的指标、或者是自定义的业务指…