一个典型的蠕虫病毒有两个功能型部件:传播和破坏,流行的蠕虫病毒大都是利用操作系统或者应用程序的漏洞(以弱口令和溢出最为常见),但常常并不会对宿主机造成“致命”的破坏。这两个特点使蠕虫病毒比普通电脑病毒传播得更快,影响力更大。一般来说,单一的蠕虫病毒只针对某种特定的漏洞进行攻击,所以一旦这种漏洞得到大范围修补,病毒也就没有了生存空间。 更新这种设计,我把传播部件拆分开来:把扫描、攻击和破坏脚本化,主程序则负责解析这些脚本。例如针对FTP弱口令进行扫描,我们可以定义如下脚本: CODE: UID = ISCRIPT-0A21-2331-X #随机唯一编号USING TCP;PORT 21;SEND “USER anonymous”;SEND CRLF;SEND “PASS [email]fake@nothing.com[/email]”SEND CRLF;IF (FIND “200”) RESULT OK;NEXT; 解析了这段脚本后(我想这种脚本是很容易读懂的),我们再定义一系列的过程,把我们的蠕虫体Upload上去,一次完整的传播动作就完成了。如果是溢出漏洞,为了简单起见我们可以采集远程溢出的数据包,然后修改IP地址等必要数据,再转发溢出数据包进行溢出(这种情况下要实现connect-back就不容易了,不过这些具体问题就待有心人去研究吧),例如: CODE: USING RAW;IP OFFSET AT 12;SEND “\x1A\xB2\xCC” …… 主程序在完成传播后留下一个后门,其他宿主机可以通过这个后门与本地的蠕虫病毒同步传播脚本,这样每次有新的漏洞产生,宿主机的传播方式可以很快地得到升级。我们当然不会仅满足于这样一个蠕虫程序,扫描/攻击脚本的传播过程也是需要仔细处理的。 我们希望适应力(Fitness)最强的脚本得到广泛的应用(看起来有点类似 蚁群算法 和 GA),所以我们要求得每个个体的Fitness,当它和另一个体取得联系的时候就可以决定谁的传播脚本将取代另一个: Fitness = Number of host infected / Number of host scanned 但也不能仅凭Fitness就修改传播脚本,我个人觉得一个合适的概率是75%,20%的机会保持各自的传播脚本,剩下的5%则交换脚本。这样在维持每种脚本都有一定生存空间的情况下使适应性更好的个体得到更多的传播机会,同时,一些在某种 *** 环境下适应性不强的脚本也有机会尝试不同的 *** 环境。 另: 我一直想把突变的概念引入,可是无从下手,如果要蠕虫产生进化行为也不是不可能的,但可能需要蠕虫自己携带一个虚拟机。 还有就是最近做了一个代码自我进化的分布式项目,到时候各位要来捧场参加
本文导读目录: 1、世界上著名的黑客组织有哪些?(不包括匿名者) 2、世界黑客排名是怎样的? 3、世界上最强的黑客团队是什么,他们都干些什么?? 4、世界上最顶尖的黑客能厉害到什么程度...
成年人到了一定年纪就是面临着成家立业的问题了。感情是一件需要靠缘分的事情。圈子小找不到对象。年轻人被迫相亲。相亲是很多人的无奈。被迫相亲是什么体验 被迫相亲怎么办。友谊长存带来相关介绍。 被迫相亲...
应对感情,绝大多数人都是会期待能和自身所最爱的人白头到老,两人能够善始善终。殊不知,并并不是每一个人都是会对感情专一,日常生活都会有一些男孩和女孩正用“滥情”,毁坏着感情的幸福。 说白了“滥情”...
谈5G最好的方式是从我们熟悉的4G开始,从5G和4G底层技术逻辑的差异化去理解5G,这样你看到5G才会更加立体。 大多媒体谈5G只是网速更快,其实4G可以满足我们今天所有的对网速的需求,包括上传图片...
ubuntu互联网公开渠道出现具有非破坏性漏洞扫描功能的PoC程序在启用了网络级别身份验证(NLA)的受影响系统上可能可以部分缓解可能利用此漏洞的“可疑”恶意软件或高级恶意软件的威胁,因为NLA在触发...
价值 我利用正o仪一年的时间了,之前的膝间距是6个厘米,此刻根基上并拢了,我感受吧,正o仪是需要僵持的,不行能说在短时翟健民间能规复过来的,我也是抱着恒久利用的心态。 千万别用绑腿哦,疾苦还危险...