病毒、蠕虫与木马之间的区别

2023-11-21 08:32

本文主要是介绍病毒、蠕虫与木马之间的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    随着互联网的日益流行,各种病毒木马也猖厥起来,几乎每天都有新的病毒产生,大肆传播破坏,给广大互联网用户造成了极大的危害,几乎到了令人谈毒色变的地步。各种病毒,蠕虫,木马纷至沓来,令人防不胜防,苦恼无比。那么,究竟什么是病毒,蠕虫,木马,它们之间又有什么区别?相信大多数人对这个问题并没有一个清晰的了解,在这里,我们就来简单讲讲。

    病毒、蠕虫和特洛伊木马是可导致您的计算机和计算机上的信息损坏的恶意程序。它们可能使你的网络和操作系统变慢,危害严重时甚至会完全破坏您的系统,并且,它们还可能使用您的计算机将它们自己传播给您的朋友、家人、同事以及 Web 的其他地方,在更大范围内造成危害。这三种东西都是人为编制出的恶意代码,都会对用户照成危害,人们往往将它们统称作病毒,但其实这种称法并不准确,它们之间虽然有着共性,但也有着很大的差别。

    什么是病毒

    计算机病毒(Computer Virus),根据《中华人民共和国计算机信息系统安全保护条例》,病毒的明确定义是“指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。

    病毒必须满足两个条件:

    1、它必须能自行执行。它通常将自己的代码置于另一个程序的执行路径中。

    2、它必须能自我复制。例如,它可能用受病毒感染的文件副本替换其他可执行文件。病毒既可以感染桌面计算机也可以感染网络服务器。

    此外,病毒往往还具有很强的感染性,一定的潜伏性,特定的触发性和很大的破坏性等,由于计算机所具有的这些特点与生物学上的病毒有相似之处,因些人们才将这种恶意程序代码称之为“计算机病毒”。

    一些病毒被设计为通过损坏程序、删除文件或重新格式化硬盘来损坏计算机。有些病毒不损坏计算机,而只是复制自身,并通过显示文本、视频和音频消息表明它们的存在。即使是这些良性病毒也会给计算机用户带来问题。通常它们会占据合法程序使用的计算机内存。结果,会引起操作异常,甚至导致系统崩溃。

    另外,许多病毒包含大量错误,这些错误可能导致系统崩溃和数据丢失。令人欣慰的是,在没有人员操作的情况下,一般的病毒不会自我传播,必须通过某个人共享文件或者发送电子邮件等方式才能将它一起移动。典型的病毒有黑色星期五病毒等。

    什么是蠕虫

    蠕虫(worm)也可以算是病毒中的一种,但是它与普通病毒之间有着很大的区别。

    一般认为:蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性、隐蔽性、破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合,等等。

    普通病毒需要传播受感染的驻留文件来进行复制,而蠕虫不使用驻留文件即可在系统之间进行自我复制,普通病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机。它能控制计算机上可以传输文件或信息的功能,一旦您的系统感染蠕虫,蠕虫即可自行传播,将自己从一台计算机复制到另一台计算机,更危险的是,它还可大量复制。因而在产生的破坏性上,蠕虫病毒也不是普通病毒所能比拟的,网络的发展使得蠕虫可以在短短的时间内蔓延整个网络,造成网络瘫痪!局域网条件下的共享文件夹、电子邮件Email、网络中的恶意网页、大量存在着漏洞的服务器等,都成为蠕虫传播的良好途径,蠕虫病毒可以在几个小时内蔓延全球,而且蠕虫的主动攻击性和突然爆发性将使得人们手足无措。

    此外,蠕虫会消耗内存或网络带宽,从而可能导致计算机崩溃。而且它的传播不必通过“宿主”程序或文件,因此可潜入您的系统并允许其他人远程控制您的计算机,这也使它的危害远较普通病毒为大。典型的蠕虫病毒有尼姆达、震荡波等。

    什么是木马

    木马(Trojan Horse),是从希腊神话里面的“特洛伊木马”得名的,希腊人在一只假装人祭礼的巨大木马中藏匿了许多希腊士兵并引诱特洛伊人将它运进城内,等到夜里马腹内士兵与城外士兵里应外合,一举攻破了特洛伊城。而现在所谓的特洛伊木马正是指那些表面上是有用的软件、实际目的却是危害计算机安全并导致严重破坏的计算机程序。

    它是具有欺骗性的文件(宣称是良性的,但事实上是恶意的),是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,也难以确定其具体位置;所谓非授权性是指一旦控制端与服务端连接后,控制端将窃取到服务端的很多操作权限,如修改文件,修改注册表,控制鼠标,键盘,窃取信息等等。一旦中了木马,你的系统可能就会门户大开,毫无秘密可言。

    特洛伊木马与病毒的重大区别是特洛伊木马不具传染性,它并不能像病毒那样复制自身,也并不"刻意"地去感染其他文件,它主要通过将自身伪装起来,吸引用户下载执行。

    特洛伊木马中包含能够在触发时导致数据丢失甚至被窃的恶意代码,要使特洛伊木马传播,必须在计算机上有效地启用这些程序,例如打开电子邮件附件或者将木马捆绑在软件中放到网络吸引人下载执行等。

    现在的木马一般主要以窃取用户相关信息为主要目的,相对病毒而言,我们可以简单地说,病毒破坏你的信息,而木马窃取你的信息。

    典型的特洛伊木马有灰鸽子、网银大盗等。 从上面这些内容中我们可以知道,实际上,普通病毒和部分种类的蠕虫还有所有的木马是无法自我传播的。感染病毒和木马的常见方式,一是运行了被感染有病毒木马的程序,一是浏览网页、邮件时被利用浏览器漏洞,病毒木马自动下载运行了,这基本上是目前最常见的两种感染方式了。

    因而要预防病毒木马,我们首先要提高警惕,不要轻易打开来历不明的可疑的文件、网站、邮件等,并且要及时为系统打上补丁,最后安装上防火墙还有一个可靠的杀毒软件并及时升级病毒库。如果做好了以上几点,基本上可以杜绝绝大多数的病毒木马。

    最后,值得注意的是,不能过多依赖杀毒软件,因为病毒总是出现在杀毒软件升级之前的,靠杀毒软件来防范病毒,本身就处于被动的地位,我们要想有一个安全的网络安全环境,根本上还是要首先提高自己的网络安全意识,对病毒做到预防为主,查杀为辅。

这篇关于病毒、蠕虫与木马之间的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/401140

相关文章

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

Java文件与Base64之间的转化方式

《Java文件与Base64之间的转化方式》这篇文章介绍了如何使用Java将文件(如图片、视频)转换为Base64编码,以及如何将Base64编码转换回文件,通过提供具体的工具类实现,作者希望帮助读者... 目录Java文件与Base64之间的转化1、文件转Base64工具类2、Base64转文件工具类3、

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No