使用网络入侵检测系统(本身不会阻断扫描器,但是可以探测扫描器的存在)
二、拒绝服务攻击
DoS攻击会妨碍合法用户的访问或者关闭了关键的系统进程。发动DoS有着商业动机。
2.1 发动DoS攻击的方式
本地:在被攻陷主机上安装一个本地用户,杀死或者崩溃一个进程,或者重新配置系统。
远程:攻击者通过网络向目标机器发送攻击流量。
远程攻击是更普遍的做法。
2.2 SYN Flood
攻击者发送大量的SYN包到目标服务器来消耗资源。SYN攻击包中通常包含假的IP地址,比如它本身就不存在,所以无法响应。强迫服务器长时间保持状态,通过选取大量的假地址,使得检测很难进行。
防御方法:
(1)SYN Cookies:在Linux中,可以用如下命令设置SYN Cookies,echo "1" > /proc/sys/net/ipv4/tcp_syncookies
(2)流量定形(traffic shaping):在路由器上应用速率限制来约束到达的SYN包数量的上限
2.3 分布式拒绝服务攻击
DoS攻击通常指的是点对点攻击:一个攻击源,一个目标。
DDoS攻击通常指多对一的攻击:一个攻击者控制多个攻击源攻击一个目标。
DDoS攻击的类型:
(1)直接攻击:让僵尸机发送洪水流量。
(2)反射攻击:发送请求包到未感染的机器上,这些包中的请求IP为目标机的IP,这样所有的未感染机器都会向目标机发出响应。
DDoS的对抗:
(1)对攻击进行阻止(以前)
(2)对攻击进行检测和过滤(现在)
(3)对攻击进行回溯与识别(未来)
三、蠕虫
病毒:是注入到程序中的软件片段,让其包含一个病毒的拷贝,这样,当主程序运行时,病毒就会悄悄地执行。主要针对操作系统和硬件。
蠕虫:通过Internet进行自我繁殖的程序,利用广泛使用的服务中的安全缺陷。通常在DDoS攻击之前控制多个攻击源。
3.1 蠕虫实例
Morris:最著名的蠕虫之一,1988年有Robert Morris发动,在UNIX系统上发起多种攻击,例如,破解密码文件,使用login/passwd来登录其他系统,利用了finger协议中的一个bug来发送电子邮件。如果成功将拥有远程shell的访问权,利用引导程序来复制蠕虫。
Code Red:第1版在2001年7月13日发动,第2版在2001年7月19日发动。第1版选择Internet上的随机IP来尝试感染。第2版使用局部扫描策略,基扫描与之临近的地址。
Nimda:发生在2001年9月18日,使用不同的方式繁殖,它会探测IIS漏洞,用垃圾邮件作为附件,在网络共享中复制自己,将攻击代码复制到网页上,扫描由Code Red 2留下的后门。
SQL Slammer:2003年初,攻击MS SQL Server
Mydoom:2004年的email蠕虫,在被攻击机器上安装后门
Warezov family of worms:扫描e-mail地址,发送附件
手机蠕虫:2004年首次出现,通过蓝牙和短信传播,可以是手机失效,删除数据,或者发送扣费信息,例如2005年的CommWarrior,通过蓝牙向周围手机复制并且也可以通过通讯录中的号码利用短信复制。
3.2 蠕虫对抗
可以利用反病毒技术来检测,也可以用如下方法检测:
(1)基于签名的蠕虫扫描过滤
(2)基于过滤器
(3)基于攻击负载过滤
(4)网速限制与终止
四、僵尸网络
使用蠕虫,攻击者可以攻击上百万的主机并形成僵尸网络。一个僵尸机指的是一个被攻击主机能够被攻击者从远程控制。僵尸网络便指的是由僵尸机组成的网络。
4.1 集中式僵尸网络
大多数现存的僵尸网络都使用集中式架构。
一台僵尸控制机给Command and Control服务器(C&C)发指令,随后由它转发命令到各个僵尸机上。
例如命令是"send junk packets to info.gov.hk",使用Internet Relay Chat(IRC)协议来发送命令,接收答复。缺点是容易被检测,从攻击者的角度看存在单点失效的问题。
4.2 分散式的僵尸网络
点对点(P2P):僵尸控制机通过所有的P2P网络向对端僵尸机发送命令,这是一种更有弹性的连接。
非结构化:将加密的命令传递到随机的对端机器上。如果对端确实是一个僵尸机,那么它就会解密并执行命令。
4.3 攻击与偷窃
构造僵尸网络的理由:
(1)向敌人发动DDoS攻击
(2)收集个人信息(例如信用卡号)来做生意
(3)发送垃圾邮件
(4)构造钓鱼网站
4.4 蜜罐
蜜罐是一个诱饵系统来引诱攻击者,这个系统未打补丁以便可以被攻击,与关键系统保持距离,从攻击者的活动中搜寻信息,鼓励攻击者留在系统上,这样管理员就能够做出反应,通常以虚拟机的形式部署。蜜网是指由蜜罐所构成的网络。