可能不少人持这样一种观点,认为 Linux 病毒少是因为Linux不像Windows那么普及,其实这种观点很早已经被人批驳过了,一个最有力的论据是:如果写病毒的人写 Windows 病毒是因为 Windows 用户多而因此破坏性大,那么 Internet 上大多数服务器都是基于 Unix/Linux 的,攻击这些服务器,破坏性岂不是更大么?

对一个二进制的 Linux 病毒,要感染可执行文件,这些可执行文件对启动这个病毒的用户一定要是可写的。而实际情况通常并不是这样的。实际情况通常是,程序被 root 拥有,用户通过无特权的帐号运行。而且,越是没有经验的用户,他拥有可执行文件的可能性就越小。因此,越是不了解这种危险的用户的主目录越不适合病毒繁殖。

即使这个病毒成功地感染了这个用户拥有的一个程序,由于这个用户权限受限,它进一步传播的任务也会非常困难(当然,对于运行单用户系统的 Linux 新手,这个论证可能不适用。这样的用户可能会对 root 帐户比较粗心)。

Linux 网络程序构建地很保守,没有使现在 Windows 病毒如此快速传播变的可能的高级宏工具。这并不是 Linux 的固有特征;它仅仅是两种用户基础的不同和这种不同导致的在这两种市场中的成功产品的不同的反映。通过观察这些问题学到的经验也会被用到将来的 Linux 产品中。

Linux的应用软件和系统软件几乎都是开源的。这对病毒有两方面的影响。首先,病毒很难藏身于开源的代码中间。其次,对仅有二进制的病毒,一次新的编译安装就截断了病毒一个主要的传播途径。虽然 Linux 发行商也提供大量的二进制软件包,但是用户大都是从发行商提供的可靠的软件仓库中下载这些软件包,大都具有 md5 验证机制,安全性极高。

这些障碍每一个都是病毒成功传播的一个重要阻碍。然而当把他们放在一起考虑的时候,基本的问题才浮现出来。

一个计算机病毒,像生物病毒一样,要想传播开来,其繁殖速度必须超过其死亡(被消灭)的速度。上面提到的障碍有效地降低了 Linux 病毒的繁殖速度。如果它的繁殖速度降到取代原来种群所需要的阈值之下,那么这个病毒的厄运从一开始就注定了--甚至在潜在受害人意识到它们之前。

我们没有看到一个真正的 Linux 病毒疯狂传播,原因就在于存在的 Linux 病毒中没有一个能够在 Linux 提供的敌对的环境中茁壮成长。现在存在的 Linux 病毒仅仅是技术上的好奇;现实是没有能养得活的 Linux 病毒。

当然,这并不意味着永远没有 Linux 病毒能够流行。然而它确实意味着一个成功的 Linux 病毒要在不适合生存的 Linux 生态系统中存活下来必须是精心制作并具创新的。

  1. Linux是“不怕”病毒,变成了Linux“没有”病毒,这个论调歪的可以。确实,还有很多人在类似的一系列软件上关于安全(的理解)有误解,比如:firefox可以被病毒感染的,因为firefox没有自带杀毒软件,所以firefox的安全也是神话。其实一点(也)不是,firefox的内部隔离制度,以及对ActiveX和VB的不支持本身就难以让病毒利用。同理,关于Linux下的病毒少的原因,开始有人说Linux诞生年代少的有之,其实Linux作为一款Unix-like的系统,上面运行了多少BSD系列的程序,其设计思想和软件都有经过比windows时间长的多的考验。另外说病毒少的,或者运行Linux机器少的有之,经济利益低下,以致于黑客不屑。其实真正运行大型商业数据的很多是Linux。而且Linux中心型的大型网站太多了,最起码任何一个版本都有一个以上这样的中心,如果按照数量论的说法,只要这些网站其中任何一个有问题都会大规模爆发,但是实际上没有出现过这种问题。所以这些概念根本是在混淆视听,如果真的这些能导致危害,Linux的经济背景和数量一点不少,可惜,这些都是胡说。
  2. 其实从计算机病毒的概念来说,不就是恶意程序么,带有自繁殖和破坏等特性。如果说系统不会有病毒,那么就是说写不出这种程序了,这本身不可能。虽然概念有些抽象,但是一个程序员恶意目的的写一个能够复制和增殖自己的程序有什么难的,一个菜鸟Linux玩家也不用多久就能写出(shell做这个很简单,而Linux的shell又那么好)。但是安全不是什么防火墙和杀毒软件以及一个“小心”或者“看”这样简单的词汇来解决的,Linux早有一套对这种问题如何防范的方法了。
  3. 访问控制矩阵是一个,Linuxer不厌其烦的输入密码再输入,有时也非常讨厌,但是很好的保证的系统缺少被恶意软件修改的机会,一个病毒最多在非常有限范围内实现增殖和内存消耗,但是无法危害整个系统。线程保护做得也不错,那种权限提升的空间被挤压。每个版本自带的过滤器,防火墙,很多版本是直接安装的,虽然不配置不会怎么好,但是好过没有。而且快速的升级和修补,使得系统被利用的漏洞非常难以见到,而软件的修补更加快速。
  4. 我记得有人这么说:微软的内核代码是封闭的,按说应该更安全,但是有些时候偏偏比较奇怪,Linux开发的源码更好的可以把病毒隐患消除在内核的层面。Linux经常暴内核漏洞,这是正常现象,不是缺点,这是优点,那是好多都是无数人在想在做这件事,为的是更加安全,不必大惊小怪,他们总是想:“这样写的内核,可能有什么安全问题呢?”于是进行了修改,所以我们内核的升级和补丁不是被动的,而是很多时候主动的出现的,这种做法在Unix-like的系统中很常见,比如安全著称的OB就是通过这种检查方法从根本上减少安全问题,所以才有了问世6年时间无漏洞出现而10年时间只有2个轻微漏洞被发现的佳绩。也就是说Unix-like类的系统一旦补上一个补丁,就消除了无数条隐患。而windows思维的就相反,windows很少能够从内核级别打补丁,升级速度非常缓慢,所以很多补丁是治标的,不能治本,而且很多不是windows光补丁就能解决的,比如线程权限控制,不可能因为病毒的存在,windows的结构就因此改变了。
  5. 而Linux软件的开放性的另外一个好处是:他开源,他就接受大众的监督和统一管理,病毒代码很难藏身,而且现在Unix-like系统的软件大部分不是像windows那样随意下载传播,而是都有人维护和上传的,一旦发生问题,很快就能定位,找出病毒来源。我很少见人不是从自己的源中安装软件,即使不是自己的源,也是sorceforge之类的网站,而二进制的安装需要编译,这就让病毒传播途径截断了,病毒在这里遇到的是一个悖论:病毒要起作用就要让形成可执行文件,而形成可执行文件病毒就失去作用。(ps:承认自己的无知,其实我不知道编译会使病毒消失,这个不是我的研究结论)。对于大部分源内的二进制包,一般Linux软件管理器都有强制的md5验证机制,所以如果有病毒篡改,很容易就发现了。想散播病毒?Linux通过软件来机会太少了。
  6. 当传播途径被截断,利用漏洞被修补,触发条件不能达成的时候,病毒——恶意程序——也无法成为效果上的病毒,只能算是多余的程序罢了,而且很多时候他们连感染的能力都没有了,来了的时候来,然后温顺的等到连同病毒文件一起被删除。所以虽然Linux下也有不少杀毒软件,主要是对付跨平台操作时windows上的病毒的。
  7. 总之:Linux“不怕”病毒,而不是Linux“没有”病毒,借用某篇文章的结论:现在存在的 Linux 病毒仅仅是技术上的好奇;现实是没有能养得活的 Linux 病毒。

Linux为什么不怕病毒相关推荐

  1. linux 应急响应 病毒清除 系统加固

    概述 Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun.procexp这样的应急响应利器,也没有统一的应急响应处理流程.所以,这篇文章将会对L ...

  2. linux服务器中病毒后的清除处理

    linux服务器中病毒后的清除处理 之前看到公司同事在部署服务器的时候,发现中了挖矿病毒,很是恼火.因为我平时很少接触服务器,一般都是部署项目,配置域名就完事.所以遇到这种情况,只能在一旁看着干着急. ...

  3. 为什么Linux系统没有病毒?原因竟是如此!

    提到Linux系统,我们都会想到安全.自由度高.开源等特点,在Linux中病毒是很少甚至没有的,那么为什么Linux系统下病毒这么少呢?下面看小编给大家详细说明下,以下是详细的内容: Linux账号限 ...

  4. Redis导致Linux服务器中病毒、成肉鸡了。

    前段时间,我们Linux服务器中病毒了,变成别人的肉鸡,不停的在攻击其他服务器. 根据我的调查发现,这台服务器不停的在攻击同网段的其他服务器. 根据判断,得出应该有个进程或者JOB在执行,后来发现是l ...

  5. Linux 为何对病毒免疫[转]

    Linux 为何对病毒免疫?http://lyanry.is-programmer.com/show/452.html lyanry posted @ 2007年10月02日 10:10AM in 我 ...

  6. dbused把我的CPU占满了!linux服务器挖矿病毒的解决历程

    dbused把我的CPU占满了!linux服务器挖矿病毒的解决历程 现象描述 今天通过密钥以普通用户tung的身份登录远程Cent OS服务器时,连接出现非常严重的卡顿,进入后发现CPU被名为dbus ...

  7. linux无法运行病毒,{转}为什么linux系统不容易中病毒?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 为什么linux系统不容易中病毒 可能不少人持这样一种观点,认为 Linux 病毒少是因为Linux不像Windows那么普及,其实这种观点很早已经被人批 ...

  8. Linux 中挖矿病毒处理过程

    分享一次Linux系统杀毒的经历,还有个人的一些总结,希望对大家有用. 进程占CPU 700%,进程名字是类似XY2Arv的6位随机大小写字母+数字的字符串.最终发现是一个叫systemd或trump ...

  9. linux x11 挖矿病毒,应急响应:记一次花样贼多的挖矿病毒

    一次 "无文件"."无进程",在系统中 "几乎" 看不到异常的高配挖矿病毒处置实例 . 0x00 正经的内容介绍 本文记录了一次表象是 &q ...

最新文章

  1. 武汉区块链软件技术公司:区块链如何化解溯源的短板
  2. ansible 学习笔记
  3. jQuery上传插件Uploadify使用Demo、本地上传(ssm框架下)
  4. 企业实战(Jenkins+GitLab+SonarQube)_01_Jenkins下载
  5. advisor matlab,advisor在matlab
  6. P2123-皇后游戏
  7. php升级语言,PHP是最好的语言,PHP 8.0带来了重大更新
  8. RabbitMQ基本管理(下)
  9. 程序员面试题 php_程序员面试必备PHP基础面试题 – 第十五天
  10. linux下qt生成dll,Qt 创建和使用动态链接库 - cibiren2011的专栏 - 博客频道 - CSDN.NET...
  11. coolfire黑客入门教程系列之(八)最后部分!
  12. Python 算法设计(2) - 大数运算 - 基于字符串的数字运算和进位
  13. 考勤系统 服务器管理,zktime5.0考勤管理系统
  14. 利用DISC工具进行自我情绪觉察与调试
  15. Ubuntu20.04 重装N卡驱动仍无法解决的问题的解决方法
  16. 中兴通讯专利技术价值超450亿元
  17. MongoDB的用户管理总结
  18. 使用 className 修改样式属性
  19. tplink控制上网设备_TP-LINK无线路由器怎么设置限制别人wifi网速
  20. Python编码、解码的理解(GBK,UTF-8,Unicode)

热门文章

  1. 7z001怎么解压在安卓手机上面_安卓手机用户换iPhone11怎么转移手机便签内容?...
  2. YTC, YTM, YTW
  3. 【观察】新华三:云智原生,重塑未来
  4. 小白篇之RTMP编码器辅助OBS实现多个平台推流直播
  5. 公共数据库介绍~datahub
  6. 共享洗车机无人值守是怎样运营的?
  7. win10服务器文件夹显示不全,win10电脑为什么只显示部分文件夹该如何处理
  8. elasticsearch7 分组统计
  9. 自己做量化交易软件(1)通通量化分析环境安装使用
  10. 【网络安全学习笔记】