[Computer and Network Security] Large-Scale Network Attacks

包括4个内容:端口扫描;蠕虫;DDoS攻击;僵尸网络。

一、端口扫描
1.1 基本概念

单个主机的每个网络进程都与一个端口号关联,这样进来的数据包能够确认它们的目的地是哪个网络进程:就像门号一样。
端口扫描时扫描一个范围内的端口来确认哪些活跃的网络进程:包括两种类型:横向扫描(扫描多个主机的某一个指定端口),纵向扫描(扫描一个指定主机的多个端口)。
攻击者扫描的目的是为了通过开放的端口找到存在漏洞的网络进程来攻击。
1.2 Nmap
Nmap是一个全功能的端口扫描工具。Nmap提供了不同种类的扫描类型,每一种都发送特殊类型的数据包到目标上。
1.2.1 TCP connect()扫描
在每个端口上都完成完整的3次握手,命令选项为-sT
1.2.2 TCP SYN扫描
仅仅是发送一个初始的SYN并且等待SYN-ACK来确定一个端口是否开放。如果端口是关闭的,那么目的端口会发送RST包或者不回复任何东西。此方法更隐秘。命令选项为-sS
1.2.3 TCP FIN扫描
向每个端口发送TCP FIN数据包。因为之前连接没有建立,因此不会收到FIN包。当收到RESET响应时,表明端口是关闭的,当没有收到响应,则表明端口是开放的。此方法更耿隐秘。命令选项为-sF
1.2.4 OS指纹
Nmap可以通过发送非法的TCP控制流的组合并根据响应来判断操作系统类型。命令选项为-O
1.3 端口扫描的防御方法
关闭所有不用的端口,可以使用命令netstat -na|find "LISTENING";
使用防火墙来阻断端口访问(iptables);

使用网络入侵检测系统(本身不会阻断扫描器,但是可以探测扫描器的存在)


二、拒绝服务攻击
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 蜜罐
蜜罐是一个诱饵系统来引诱攻击者,这个系统未打补丁以便可以被攻击,与关键系统保持距离,从攻击者的活动中搜寻信息,鼓励攻击者留在系统上,这样管理员就能够做出反应,通常以虚拟机的形式部署。蜜网是指由蜜罐所构成的网络。

你可能感兴趣的:([Computer and Network Security] Large-Scale Network Attacks)