文章目录
- 1. 秘钥的选择
- 1.1 秘钥分类
- 1.2 生成秘钥考虑的因素
- 1)增大密钥空间
- 2)选择强钥
- 3)密钥的随机性
- 2. DoS/DDos攻击
- 2.1 概述
- 2.2 传统拒绝服务攻击的分类
- 1)内部用户攻击
- 2)外部黑客攻击
- 2.3 分布式拒绝服务攻击 DDoS
- 1)概述
- 2)被攻击的现象
- 3)三级控制结构
- 4. DoS防御
- 3. 欺骗攻击与防御
- 3.1 ARP欺骗
- 1)欺骗原理
- 2)防范措施
- 3.2 DNS欺骗
- 1.DNS欺骗攻击和原理
- 2)DNS 欺骗的检测
- 3.3 IP欺骗
- 1)IP欺骗的原理
- 2)IP欺骗的防范
- 4. 端口扫描
- 4.1 端口扫描原理
- 4.2 扫描原理分类
- 1)全TCP 连接
- 2)半打开式扫描 (SYN扫描)
- 3)FIN扫描(秘密扫描)
- 4)第三方扫描(代理扫描)
- 5. 强化TCP/IP堆栈以抵御拒绝服务攻击
- 5.1 同步包风暴 (SYN Flooding)
- 5.2 ICMP攻击
- 5.3 SNMP攻击
- 6. 系统漏洞扫描
- 6.1 基于网络的漏洞扫描
- 1)软件组成
- 2)优点
- 6.2 基于主机的漏洞扫描
- 1)概述
- 2)优点:
1. 秘钥的选择
1.1 秘钥分类
- 数据加密密钥 (DK):直接对数据操作
- 密钥加密密钥 (KK):保护秘钥安全传递
1.2 生成秘钥考虑的因素
1)增大密钥空间
- 概念:一个密码算法的密钥若设为N 位,那么该密钥空间为2^
- 加长密钥位数,增大密钥空间,对阻止攻击是很有帮助的
例如:若要每秒测试100万个密钥,采用穷举搜索所有密钥的时间,对于8位 ASCⅡ字符(256个)
- 在4字节密钥空间下只需要1.2小时:2564/1000000/3600=1.1930(小时)
- 在6字节密钥空间下需要8.9年
- 而在8字节情况下需要580000年
2)选择强钥
如:jswd50~||1~1!shY
3)密钥的随机性
2. DoS/DDos攻击
2.1 概述
- 概念:
- (手段)借助于网络系统或网络协议的缺陷和配置漏洞进行网络攻击
- (影响)使网络拥塞、系统资源耗尽或者系统应用死锁
- (目的)妨碍目标主机和网络系统对正常用户服务请求的及时响应,造成服务的性能受损甚至导致服务中断。
- 拒绝服务攻击 DoS(Denial of Service)
- 分布式拒绝服务攻击DDoS(Distributed Denial of Service)
- 攻击的基本思想
- 服务器的缓冲区满,不接收新的请求。
- 使用 IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。
2.2 传统拒绝服务攻击的分类
1)内部用户攻击
长时间占用系统的内存、CPU处理时间
2)外部黑客攻击
-
消耗资源
- 攻击方式
- 大量地申请系统资源,并长时间地占用
- 不断地向服务程序发请求,使系统忙无暇为其他用户提供服务
- 攻击的资源
- 网络连接
- 磁盘空间
- CPU资源和内存
- 攻击方式
-
破坏或更改配置信息
如:攻击者修改配置文件,从而改变系统向外提供服务的方式 -
物理破坏或改变网络部件
-
利用服务程序中的处理错误使服务失效
如:利用服务程序中的处理错误,发送一些该程序不能正确处理的数据包,引起该服务进入死循环
2.3 分布式拒绝服务攻击 DDoS
1)概述
- 概念:攻击者首先侵入并控制一些计算机,然后控制这些计算机同时向一个特定的目标发起拒绝服务攻击
- DoS攻击的缺陷:
- 网络资源的限制
- 隐蔽性差
2)被攻击的现象
- 被攻击主机上有大量等待的TCP 连接
- 大量到达的数据分组并不是网站服务连接的一部分,往往指向机器的任意端口
- 网络中充斥着大量无用的数据包,源地址为假
- 制造高流量的无用数据造成网络拥塞,使受害主机无法正常和外界通信
- 利用受害主机提供的服务和传输协议上的缺陷,反复发出服务请求,使受害主机无法及时处理所有正常请求。
- 严重时会造成死机
3)三级控制结构
- Client (客户端):运行在攻击者的主机上,用来发起和控制DDoS攻击
- Handler (主控端):运行在肉鸡上,用来控制代理端
- Agent(代理端):运行在肉鸡上,从主控端接收命令,负责对目标实施实际的攻击
4. DoS防御
-
加强对数据包的特征识别
攻击者在传达攻击命令或发送攻击数据时,虽然都加入了伪装甚至加密,但是其数据包中还是有一些特征字符串。通过搜寻这些特征字符串,就可以确定攻击服务器和攻击者的位置。
-
设置防火墙监视本地主机端口的使用情况
-
统计通信数据量
例如,在攻击之前,目标网络的域名服务器往往会接收到远远超过正常数量的反向和正向的地址查询。在攻击时,攻击数据的来源地址会发出超出正常极限的数据量。
-
尽可能的修正已经发现的问题和系统漏洞
3. 欺骗攻击与防御
3.1 ARP欺骗
1)欺骗原理
-
正常情况
- 某机器A要向主机C发送报文,先查询本地的ARP缓存表
- 找到C 的IP 地址对应的 MAC地址 ==>就会进行数据传输
- 未找到,则广播一个ARP请求报文
- 只有主机C 识别自己的IP地址,于是向A 主机发回一个ARP响应报文
- A接收到C 的应答后
- 更新本地的 ARP缓存
- 使用这个MAC地址发送数据
- 某机器A要向主机C发送报文,先查询本地的ARP缓存表
-
攻击
- 局域网中的机器 B 首先攻击 C , 使 C 瘫痪
- C 向A 发送一个自己伪造的 ARP 应答(MAC地址是C的)
- A接收到 B 伪造的ARP 应答后,更新本地的 ARP缓存
- A 传送给 C 的数据将传送到 B
2)防范措施
- 在Win XP下输入命令:arp -s gate-way-ip gate-way-mac固化ARP表,阻止ARP欺骗。
- 使用 ARP服务器
通过该服务器查找自己的ARP转换表来响应其他机器的 ARP广播。确保这台ARP 服务器不被黑。
- 采用双向绑定
- ARP防护软件
ARP Guard
3.2 DNS欺骗
1.DNS欺骗攻击和原理
冒充域名服务器,把查询的 IP 地址设为攻击者的 IP地址,用户上网就只能看到攻击者的主页
2)DNS 欺骗的检测
-
被动监听检测
- 通过旁路监听的方式,捕获所有DNS 请求和应答数据包,并为其建立一个请求应答映射表
- 如果在一定的时间间隔内,一个请求对应两个或两个以上结果不同的应答包,则怀疑受到了DNS 欺骗攻击
DNS服务器不会给出多个结果不同的应答包,即使目标域名对应多个IP 地址, DNS 服务器也会在一个 DNS 应答包中返回,只是有多个应答域 (Answer Section) 而已。
-
虚假报文探测
- 概念:采用主动发送探测包的手段来检测网络内是否存在DNS 欺骗攻击者
- 原理:
- 假设:攻击者为了尽快地发出欺骗包,不会对域名服务器 IP 的有效性进行验证
- 操作:向一个非DNS服务器发送请求包,如果收到了应答包,则说明受到了攻击
-
交叉检查查询
- 概念:在客户端收到 DNS 应答包之后,向 DNS 服务器反向查询应答包中返回的 IP 地址所对应的 DNS 名字,如果二者一致说明没有受到攻击,否则说明被欺骗。
3.3 IP欺骗
1)IP欺骗的原理
- 拒绝服务攻击,让主机A瘫痪
- 主机B使用主机A的IP欺骗其他主机
2)IP欺骗的防范
- 关闭RPC机制
- 通过设置防火墙过滤来自外部而信源地址却是内部IP 的报文
4. 端口扫描
- 攻击者扫描端的目的。
- 判断目标主机上开放了哪些服务
- 判断目标主机的操作系统
4.1 端口扫描原理
尝试与目标主机的端口建立连接,如果目标主机该端口有回复(见三次握手中的第二次),即为“活动端口”。
4.2 扫描原理分类
1)全TCP 连接
- 概述:使用三次握手,与目标计算机建立标准的TCP连接(很古老的方法)
- 缺点:容易被目标主机记录
2)半打开式扫描 (SYN扫描)
- 过程:扫描主机自动向目标计算机的指定端口发送 SYN数据段(要求建立连接)
- 如果目标计算机的回应TCP报文中SYN=1,ACK=1
- 说明该端口是活动的
- 扫描主机传送一个RST给目标主机拒绝建立TCP连接(导致三次握手的过程失败)
- 如果目标计算机的回应是RST
- 表示该端口为“死端口”,这种情况下,扫描主机不用做任何回应。
- 如果目标计算机的回应TCP报文中SYN=1,ACK=1
- 优点:
- 降低了被目标计算机记录的可能性
- 并且加快了扫描的速度
3)FIN扫描(秘密扫描)
- 概念:依靠发送FIN 来判断目标计算机的指定端口是否是活动的。
- 过程:发送一个 FIN=1 的TCP报文
- 如果端口是关闭的,被扫描主机将丢掉该报文,并返回一个RST报文
- 如果端口是活动的,被扫描主机将丢掉该报文,不做任何回应
- 有点:比前两种都安全
4)第三方扫描(代理扫描)
- 概念:利用被侵入的第三方主机来代替入侵者进行扫描
5. 强化TCP/IP堆栈以抵御拒绝服务攻击
针对TCP/IP堆栈的攻击方式有多种类型,下面分别介绍攻击原理及抵御方法。
5.1 同步包风暴 (SYN Flooding)
- 通常称洪水攻击或SYN洪水
- 原理:
- 服务器在发出SYN+ACK应答报文后,无法收到攻击主机的ACK报文
- 服务器端重试(再次发送SYN+ACK)一段时间
- 攻击者大量模拟这种情况,以消耗服务器的CPU 时间和内存
- 过程:
- 伪造被攻击主机不可达的IP地址作为原地址
- 向被攻击主机发送链接请求
- 被攻击主机在发出SYN+ACK应答报文后,重试,直至超时
- 不断攻击,将被攻击主机的TCP缓存队列填满
5.2 ICMP攻击
- ICMP 协议:是TCP/IP协议集中的一个子协议,主要用于在主机与路由器之间传递控制信息
包括报告错误、交换受限控制和状态信息等。
- Ping of Death”攻击
利用了ICMP协议的漏洞,通过向目标主机发送超过64KB上限的畸形ICMP数据包,导致目标主机出现内存分配错误,从而造成TCP/IP堆栈崩溃,最终使目标主机瘫痪。
5.3 SNMP攻击
- SNMP:TCP/IP 网络中标准的管理协议,它允许网络中的各种设备和软件能与管理软件通信,汇报其当前的行为和状态。
- 危害:攻击者将完全掌握你的网络
6. 系统漏洞扫描
- 概念:对重要计算机信息系统进行检查,发现其中可能被黑客利用的漏洞。
6.1 基于网络的漏洞扫描
1)软件组成
基于网络的漏洞扫描器,一般由以下几个方面组成:
- 漏洞数据库模块
漏洞数据库包含了各种操作系统的各种漏洞信息,以及如何检测漏洞的指令
- 用户配置控制台模块
用户配置控制台与安全管理员进行交互,用来设置要扫描的目标系统以及扫描哪些漏洞。
- 扫描引擎模块
根据用户配置控制台部分的相关设置,扫描引擎组装好相应的数据包,发送到目标系统,将接收到的目标系统的应答数据包与漏洞数据库中的漏洞特征进行比较,来判断所选择的漏洞是否存在。
- 当前活动的扫描知识库模块
通过查看内存中的配置信息,该模块监控当前活动的扫描,将要扫描的漏洞的相关信息提供给扫描引擎。
- 结果存储器和报告生成工具
报告生成工具,利用当前活动扫描知识库中存储的扫描结果,生成扫描报告。
2)优点
- 价格便宜
- 操作过程不需要目标系统管理员
- 检测过程不无侵入性
- 维护简便
6.2 基于主机的漏洞扫描
1)概述
- 通常在目标系统上安装agent或service
- 由集中服务器统一管理
基于主机的漏洞扫描器,扫描目标系统漏洞的原理与基于网络的漏洞扫描器的原理类
似,但是两者的体系结构不一样。基于主机的漏洞扫描器通常在目标系统上安装了一个代理
(Agent) 或者是服务 (Services), 以便能够访问所有的文件与进程,这也使得基于主机的漏洞
扫描器能够扫描更多的漏洞。
2)优点:
- 扫描的漏洞数量多
- 集中化管理
- 网络流量负载小