安徽师范大学——计算机与信息学院——————作者(授课老师):周文
autorelocation
)的能力类 别 | 病 毒 | 蠕 虫 |
---|---|---|
存在形式 | 寄生 | 独立个体 |
复制机制 | 插入到宿主程序(文件)中 | 自身的拷贝 |
传染机制 | 宿主程序运行 | 系统存在漏洞(Vulnerability ) |
搜索机制(传染目标) | 主要是针对本地文件 | 主要针对网络上的其它计算机 |
触发传染 | 计算机使用者 | 程序自身 |
影响重点 | 文件系统 | 网络性能、系统性能 |
计算机使用者角色 | 病毒传播中的关键环节 | 无关 |
防治措施 | 从宿主程序中摘除 | 为系统打补丁(Patch ) |
1980
年,Xerox PARC
的研究人员John Shoch
和Jon Hupp
在研究分布式计算、监测网络上的其他计算机是否活跃时,编写了一种特殊程序,Xerox
蠕虫。1988
年11月2日,世界上第一个破坏性计算机蠕虫正式诞生
Morris蠕虫
利用sendmail
的漏洞、fingerD
的缓冲区溢出及REXE
的漏洞进行传播Morris
在证明其结论的同时,也开启了蠕虫新纪元。
罗伯特·莫里斯
(蠕虫之父
),这位美国国家计算机安全中心(隶属于美国国家安全局NSA
)首席科学家的儿子,康奈尔大学
的高材生,在1988
年的第一次工作过程中戏剧性地散播出了网络蠕虫病毒后,在此次的事故中成千上万的电脑受到了影响,并导致了部分电脑崩溃。“蠕虫”事件最终导致15.5万台
计算机和1200多个连接设备
无法使用,许多研究机构和政府部门的网络陷于瘫痪,经济损失巨大。
2001年7月19日,CodeRed
蠕虫爆发,在爆发后的9小时内就攻击了25万台
安装有Microsoft
的IIS网页
服务器。
2001年9月18日,Nimda蠕虫
被发现,不同于以前的蠕虫,Nimda
开始结合病毒技术。
Internet
传播RICHED20.DLL
)W32/Slammer
通过Microsoft的SQL
服务器和MSDE2000
(Microsoft SQL Server Desktop Engine
)的漏洞进行传播。worm.Blaster
)开始在互联网上传播。“MS04-011
”。5月1日,一个新的蠕虫—“震荡波”(Worm.sasser
)开始在互联网肆虐LSASS
(Local Security Authority subsystem Services)漏洞进行传播成为2004年当之无愧的“毒王
”
破坏方式
TCP 5554
端口,作为FTP服务器
等待远程控制命令。病毒以FTP的形式提供文件传送。黑客可以通过这个端口偷窃用户机器的文件和其他信息。IP
地址为基础,取随机IP
地址,疯狂的试探连接445
端口,试图利用Windows的LSASS
中存在一个缓冲区溢出漏洞进行攻击,一旦攻击成功会导致对方机器感染此病毒并进行下一轮的传播,攻击失败也会造成对方机器的缓冲区溢出,导致对方机器程序非法操作,以及系统异常等。Zotob
)爆发,它利用了8月9日微软发布的即插即用(PnP
)中的漏洞(Ms05-039
),用户电脑感染了该蠕虫之后,在某些情况下会出现系统频繁重启的现象。2006年威金、熊猫烧香
结合了病毒技术,具有很强的破坏性,中毒后计算机上面的EXE
文件都会被破坏
熊猫烧香病毒
目标定位
→攻击
→复制
”IP
地址,然后对这一地址段上的主机进行扫描。随机扫描
– 目前大多数蠕虫所选择的扫描策略
– 蠕虫通过产生伪随机数列的方法,在互联网地址空间中随机的选取IP
地址进行扫描
– 随机扫描具有算法简单、易实现的特点。但随机扫描容易引起网络阻塞
选择性随机扫描
– 会对整个地址空间的IP随机抽取进行扫描
– 所选的目标地址按照一定的算法随机生成,互联网地址空间中未分配的或者保留的地址块不在扫描之列
– 典型的有Slapper蠕虫
和Slammer蠕虫
。
Slammer蠕虫
传播非常快,主要因为它采用UDP **1434
**(SQL SERVER
)端口的非连接的扫描,而且采用了大量线程的扫描方式,使得其扫描主要受带宽的限制顺序扫描
– 宿主主机上的蠕虫会随机选择一个C类网络地址进行顺序传播
– 该策略的不足是对同一台主机可能重复扫描,引起网络拥塞
– W32.Blaster
是典型的顺序扫描蠕虫
初始列表扫描
(hit list
)
– 蠕虫程序在释放之前,预先形成一个易感染主机的初始列表,然后对该列表地址进行尝试攻击和传播
– 一般是选择网络中的关键节点主机
– 初始列表生成方法有两种,其一是通过小规模的扫描或者互联网的共享信息产生初始列表,其二是通过分布式扫描可以生成全面的列表数据库
– 缺点是攻击者收集这些攻击目标时往往要花费很长的时间,在这个过程中所利用的漏洞有可能会被修复,而失去攻击的机会
可路由地址扫描
– 蠕虫依据网络的路由信息,对地址空间进行选择性扫描的一种策略
– 蠕虫的设计者通常利用BGP
路由表的公开信息获取互连网路由的IP
地址前辍,从而达到验证BGP
数据库可用性的目的
– 提高了蠕虫的传播速度,但蠕虫传播时必须携带一个路由IP
地址库
DNS扫描
– 蠕虫程序从DNS
服务器上获取所记录的IP
地址来建立蠕虫扫描的目的地址库
– 所建立的目标地址库具有针对性和可用性强的特点
– 但蠕虫程序需要携带大量的地址库,因此传播速度比较慢
分治扫描
– 网络蠕虫之间相互协作、快速搜索易感染主机的一种策略
– 网络蠕虫发送地址库的一部分给每台被感染的主机,然后每台主机再去扫描它所获得的地址
– 不足是存在“坏点”问题。在蠕虫传播的过程中,如果一台主机死机或崩溃,那么所有传给它的地址库就会丢失。这个问题发生得越早,影响就越大
– 有三种方法能够解决这个问题:
(1)在蠕虫传递地址库之前产生目标列表;
(2)通过计数器来控制蠕虫的传播情况,蠕虫每感染一个节点,计数器加1,然后根据计数器的值来分配任务;
(3)蠕虫传播的时候随机决定是否重传数据库
置换列表扫描
– 所有蠕虫共用一张与整个地址空间相对应的伪随机置换列表,并通过该表来选择扫描目标
– 被感染的主机以其在置换列表上的位置为扫描起点,并由该起点始沿着置换列表向下扫描,寻找新的漏洞主机。当它扫描到某一点并发现该点所对应的主机已经被感染,会立即停止扫描,并在置换列表中随机选择一个新的起点继续扫描
– 确保了对整个网络的彻底扫描,也避免了对同一台机器的重复扫描
– 蠕虫快速传播的关键在于设计良好的扫描策略
– 一般情况下,采用DNS
扫描传播的蠕虫速度最慢,选择性随机扫描和路由扫描比随机扫描的速度要快
– 对于初始列表扫描,当列表超过1M字节
时,蠕虫传播的速度就会比路由扫描蠕虫慢;当列表大于6M
时,蠕虫传播速度比随机扫描还慢
目前,网络蠕虫首先采用路由扫描,再利用随机扫描进行传播是最佳选择
蠕虫的攻击机制
xvoid MyCopy(char*str)
{
char dstbuffer[256];
strcpy(dstbuffer,str);
}
int main()
{
int i;
char srcbuffer[512];
for(i=0;i<511;i++)
srcuffer[i]=’C’;
MyCopy(srcbuffer);
return 0;
}
strcat(),strcpy(),sprintf(),vsprintf(),bcopy(),gets()
和scanf()
等等。80%
的攻击采用了缓冲区溢出后执行攻击者的攻击代码。off-by-one
) 、格式字符串攻击等等。.data、.bss
和heap
中溢出的情形,都称为堆溢出近几年爆发的蠕虫都利用了缓冲区溢出技术
W32/Slammer
Worm.sasser
worm.Blaster
Zotob
溢出点定位
是缓冲区溢出技术的核心Interpreter
)Worm.codeRedⅡ
)**病发症状
在“ WINNT\SYSTEM32\LOGFILES\W3SVCI
”目录下的日志文件中含有以下内容:
xxxxxxxxxx
GET,/default.ida,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
%u9090%u6858%ucbd3%u7801%u9O90%u6858%uebd3%u7801%u909o
%u6858%uebd3%u780l%u909o%u9090%us190%u00e3%u0003%u8b00
%u53lb%u53ff%u0078%u0000%u00=a
使用netstat-a命令,在 1025以上端口出现很多SYN-SENT连接请求,或者1025号以上的大量端口处于监听状态
在以下目录中存在“Root.exe”文件
– C:\inetPub\Scripts\Root.exe
– D:\inetPub\Scripts\Root.exe
– C:\Programfiles\Commonfiles\System\MSADC\Root.exe
–D:\Programfiles\Commonfiles\System\MSADC\Root.exe
在C,D盘根目录下存在以下文件:
– C:\Explorer.exe,D:\Explorer.exe
扫描策略
“红色代码Ⅱ”采取选择随机扫描的策略
扫描的IP
地址由以下策略获取:
– 假设随机生成的IP地址的十进制格式为A.B.C.D
,再假设本机的IP地址是E.F.G.H
,则随机生成的IP
地址规则如下:
(1)随机生成1一254
之间的随机数,赋值给A,B,C,D
(2)37.5%
的概率生成的IP
地址为E.F.C.D
。即生成的IP前十六位和本机地址的前十六位相同,后十六位随机生成
(3)50%
的概率生成的IP
地址为E.B.C.D
。即生成的IP
前八位和本机地址的前八位相同,后二十四位随机生成
(4)12.5%
的概率生成的IP
地址为A.B.C.D
。即目标主机的工P地址全部随机生成
(5)如果生成的IP
地址与本机相同,则重新生成
(6)如果生成的IP
地址中A的值为127
或者为224
,则重新生成IP
地址
冲击波(worm.Blaster
)
背景
病发症状
漏洞介绍
由函数引起的,函数的第六个参数“SzName
”文件名如果超长的话,就会引起缓冲区溢出
xxxxxxxxxx
CoGetInstanceFromFile(COSERVERINFO*PServerlnfo,CLSID*Pelsid, Iunknown*punkouter,DWORD dwClsCtx,DWORD grfMode,OLECHAR*szName, ULONG cmq,MULTl_QI*rgmqResults)
扫描策略
程序流程
熊猫烧香
感染的行为主要是感染全盘(本地)、定时器感染全盘(本地)、局域网感染(联网)**;**
防范措施
spcolsv.exe
的进程,该进程文件的路径为 C:\WINDOWS\system32\drivers\spcolsv.exe
net share
命令来取消系统中的共享HKCU\Software\Microsoft\Windows\CurrentVersion\Run
中创建 svcshare
,用于在开机时启动位于 **C:\WINDOWS\system32\drivers\spcolsv.exe**
的病毒程序HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
,病毒将 CheckedValue
的键值设置为了0。setup.exe
,同时创建autorun.inf
用于病毒的启动,这两个文件的属性都是隐藏的Desktop_.ini
的隐藏文件。本节结束 2019年10月4日