| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网络安全 > 病毒防治 > 文章正文 用户登录
谈谈Flash的一些语
如何在同一个工程
在对话框显示图片
在对话框显示图片
如何开发一个多种
发挥语言的威力--
用多种方法制作WE
int 和 String 互
事件驱动的Web之旅
事件驱动的Web之旅

融合多种传播方式的蠕虫病毒设计           

融合多种传播方式的蠕虫病毒设计

作者:佚名 来源:邪恶八进制信息安全 更新:2007-1-13 19:57:39 错误报告 我要投稿

一个典型的蠕虫病毒有两个功能型部件:传播和破坏,流行的蠕虫病毒大都是利用操作系统或者应用程序的漏洞(以弱口令和溢出最为常见),但常常并不会对宿主机造成“致命”的破坏。这两个特点使蠕虫病毒比普通电脑病毒传播得更快,影响力更大。一般来说,单一的蠕虫病毒只针对某种特定的漏洞进行攻击,所以一旦这种漏洞得到大范围修补,病毒也就没有了生存空间。

更新这种设计,我把传播部件拆分开来:把扫描、攻击和破坏脚本化,主程序则负责解析这些脚本。例如针对FTP弱口令进行扫描,我们可以定义如下脚本:

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就不容易了,不过这些具体问题就待有心人去研究吧),例如:

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%则交换脚本。这样在维持每种脚本都有一定生存空间的情况下使适应性最好的个体得到更多的传播机会,同时,一些在某种网络环境下适应性不强的脚本也有机会尝试不同的网络环境。

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。