电脑病毒之随便聊聊--永恒之蓝

   做技术的要一直保持激情,和对新鲜事物的敏感性,从中寻找到快乐----JobBird

    最近永恒之蓝病毒肆虐,简直让电脑用户闻风丧胆,一旦中招真的是毁灭性的,虽然自己写不出来这么牛逼的程序,也没有这样的耐心去分析它究竟是怎么做到的,或者怎么解除威胁。基于技术宅的好奇心免不了对其指手画脚一番。

   什么是病毒?

   网上跟教科书上都有非常明确的定义,什么什么一大堆,看一下就过了,反正也记不住。其实我自己的理解就是:病毒首先是可执行代码段,其次就是非法的,也就是不是用户预想到的。

   永恒之蓝病毒?

   这个病毒会自动给你电脑上的所有文件加密,然后会跟你索取金钱。至于这个病毒的工作原理,还有传播途径,网上有比较详细的分析,包括如何修复防范,这些文章我是写不出来了,但是可以从别的方面随便分析一二。

    我怎么样才能写这么一个病毒呢?

    首先,我会把它当成一个正常的程序来写:就是写个加密软件嘛,把原有的文件从字符或者二进制的层次进行加密。在windows系统上面,我可以任意对所有文件或者文件夹进行加密,但是在linux上面就是有各种权限的限制。这一方面就可以突出linux的文件系统优点,至少别的用户的文件是修改不了,不过当前的实际情况基本上一个电脑上的所有文件都是同属一个用户,所以意义不大。

   第二步,我会遍历整个系统的文件系统,找出所有文件,然后加密之。

   第三步,只要用户运行,就自动执行第一步和第二步。

   其实完成这三步,目前的计算机使用环境、生态圈,最主要的是电脑使用者的防范意识不强烈的情况下,比如随便点击不明来历的程序,或者安装流氓软件,破坏性都非常大,并不亚于永恒之蓝,会写程序的同学是不是觉得这么一个程序非常简单呢?跃跃欲试捉弄一下你的同事、同学、朋友?不想被打死就这么干吧。

   第四步,可以搜索本地计算机的邮件列表,然后复制自己,把自己添加到附件中,发送出去。这一步是很简单的。

   截止到第四步,只要有编程基础的同学应该都可以完成,难度并不太大。

    第五步,通过socket协议自动繁殖感染其他电脑。这个socket协议包含了很多协议,有网络编程基础的都知道,要能顺利感染到对方电脑,必须要建立连接,哪怕是广播也是要被感染主机愿意接收病毒繁殖主机发过来的病毒数据。这个永恒之蓝病毒是通过445这个端口来传播的,在这个端口后面有一堆支持这个端口的应用的协议,总之就是提供了病毒传播的通道,反正你发过来的数据,我都接收。

    第六步,病毒顺利到达了目的之后,刚才说了基于445端口的主机程序,有很多内部线程在不断运行分析过来的数据,这又从理论上提供了主动运行非法代码段的可能性。至于这个怎么从单纯的分析数据变成运行非法程序,这就是系统漏洞,比如执行除零或者别的程序bug。然后最终就是病毒运行起来了。

    目前我们解决这个问题,首先禁用445,然后再打补丁,其实就是把系统漏洞给补上。通常linux都是默认把端口关闭,而windows则是默认把端口打开。

题外话扩展:

  1、计算机无论系统程序,还是应用程序,都是程序段,在内存中排的好好的,然后按照一定的规则执行。病毒就是在这些执行过程中,改变跳转指令,改成执行自己的代码段。

   2、病毒通常都会针对特定的操作系统,特定的硬件平台。linux病毒相对来说比较少,当然,linux因为维护基数跟质量都windows要优秀,另一方面病毒的传播很大一部分原因是PC用户的使用习惯,用Linux的用户相对来说是比较专业的,windows用户无论什么程序都喜欢去点一下,无差别运行。

   3、其他的,其实病毒蛮有意思的,需要对计算机系统有非常深入的理解跟认识才写的出来。这个深入的理解是比较模糊的,找漏洞是一个概率性的问题,也许是编程过程中偶尔发现的,找到了漏洞怎么利用?主要是一个跳转,跳转到非法的程序段。

   4、写一小段程序,让其不断创造垃圾文件,然后别人运行了。这也算是一个垃圾软件,或者叫小病毒吧。

   就这样吧。有兴趣的留言讨论,想了好多,好多,但是写出来却是干瘪瘪的。



 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值