一个典型的蠕虫病毒有两个功能型部件:传播和破坏,流行的蠕虫病毒大都是利用操作系统或者应用程序的漏洞(以弱口令和溢出最为常见),但常常并不会对宿主机造成“致命”的破坏。这两个特点使蠕虫病毒比普通电脑病毒传播得更快,影响力更大。一般来说,单一的蠕虫病毒只针对某种特定的漏洞进行攻击,所以一旦这种漏洞得到大范围修补,病毒也就没有了生存空间。 更新这种设计,我把传播部件拆分开来:把扫描、攻击和破坏脚本化,主程序则负责解析这些脚本。例如针对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、中国NB的黑客分别是谁? 5、目前中国顶尖黑客是谁? 黑客是什么意思...
海东青是什么(海东青是什么?辽代契丹人最爱)接着分享我的哈尔滨依兰之行。前面介绍了哈尔滨依兰五国头城的概况,今天我们再深入了解一下所谓的五国部分别在哪里?什么是海东青? 五国头城景区是国...
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance();点击更新app:下一步咱们来找出过滤和约束。 经过测验,咱们发现不能够输入空格...
2020年是机遇和挑战的一年,很多人都想留在农村创业,对于创业者来说,一个好的创业项目是很重要的。那么,2020年在农村干什么能挣钱?推荐这六个农村致富项目! ...
此刻有不少人问到了我一个问题,那就是好山海鲜&烧烤自助餐加盟奈何?加盟详情汇报你。好山海鲜&烧烤自助餐加盟项目创立多年,品牌形象已经深入人心,深受宽大消费者的喜爱与追捧,选择加盟的话,...
江南百景图野兽骨头哪里获得?野兽骨头是江南百景图桃花村中需要收集的道具之一,玩家获取该道具后可用于兑换面具。那么,这个野兽骨头究竟在什么地方呢?下面就是桃花村野兽骨头获取方法了,大家一起来看看吧!...