信息安全抗攻击技术
为对抗攻击者的攻击,密钥生成需要考虑3个方面的因素:增大密钥空间
、选择强钥
、密钥的随机性
。
拒绝服务攻击
拒绝服务(DoS)攻击有许多种,网络的内部外部用户都可以发动这种攻击
。内部用户可以通过长时间占用系统内存、CPU处理时
间使其它用户不能及时得到这些资源而引起拒绝服务攻击;外部黑客也可以通过占用网络连接使其它用户得不到网络服务。
外部用户针对网络连接发动拒绝服务攻击有以下几种模式:
- 消耗资源
- 破坏或更改配置信息
- 物理破坏或更改网络部件
- 利用服务程序中的处理错误使服务失效
分布式拒绝服务 DDoS 攻击是传统 DoS 攻击的发展,攻击者首先入侵并控制一些计算机,然后控制这些计算机同时向一个特定的目标发起拒绝服务攻击。克服了传统 DoS 攻击受网络资源的限制和隐蔽性两大缺点。
拒绝服务攻击防御
- 加强对数据包的特征识别,攻击者发送的数据包中是有一些特征字符串,通过搜寻这些特征字符串就可以确定攻击服务器和攻击者的位置。
- 设置防火墙监视本地主机端口的使用情况,如果发现端口处于监听状态,则系统很可能受到攻击。
- 对通信数据量进行统计也可获得有关攻击系统的位置和数量信息,在攻击时,攻击数据的来源地址会发出超出正常极限的数据量。
- 尽可能修正已经发现的问题和系统漏洞。
强化 TCP/IP 堆栈抵御拒绝服务攻击
- 同步包风暴(SYN Flooding):利用 TCP 协议缺陷发送大量伪造的 TCP 连接请求,使得被攻击者资源耗尽。三次握手进行了2次,不进行第三次握手,连接队列处于等待状态,大量这样的等待会占满全部队列空间,使得系统挂起。可以通过修改注册表防御 SYN Flooding 攻击。
- ICMP攻击:ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机,利用操作系统规定的 ICMP 数据包的最大尺寸不超过64kb这一规定,达到使 TCP/IP堆栈崩溃、主机死机的效果。可以通过修改注册表防御 ICMP 攻击。
- SNMP 攻击,用于控制设备和产品重定向通信流,改变通信数据包的优先级,甚至断开通信连接。可以通过修改注册表防御。
ARP 欺骗
ARP 地址解析协议,IP 地址通过数据链路层解析为 mac 地址
ARP 欺骗的防范措施:
- 通过命令来固化 ARP 表,防止 ARP欺骗
- 使用 ARP 服务器,通过该服务器查找自己的 ARP 转换表来响应其他终端的 ARP 广播,确保这台 ARP 服务器不被攻击。
- 采用双向绑定的方法解决并且防止 ARP 欺骗。
- 通过 ARP 防护软件 ARPGuard 进行防护。
DNS 欺骗
DNS 欺骗先要冒充域名服务器,然后把查询的 IP 地址设为攻击者的 IP 地址
,这样用户上网就只能看到攻击者的主页,而不是用户想要取得的网站主页了。
DNS 欺骗检测:
- 被动监听检查:通过
旁路监听的方式
,获取所有 DNS 请求和应答数据包,并为其建立一个请求应答映射表,如果在一定时间间隔内一个请求对应两个请求以上结果不同的响应包
,则怀疑受到了 DNS 欺骗攻击。 - 虚假包文探测:采用
主动发送探测包
的手段来检测网络内是否存在 DNS 欺骗攻击者。如果向一个非 DNS 服务器发送请求包,正常是不会收到任何应答
,如果收到了则说明受到了攻击。 - 交叉检测查询:在客户端收到 DNS 应答包后,向 DNS 服务器
反向查询
应答包中返回的 IP 地址对应的 DNS 名字。如果二者一致说明没受到攻击,否则说明受到 DNS 欺骗攻击。
IP 欺骗
IP 欺骗也称 TCP/IP 欺骗,攻击流程如下:
- 先使被冒充主机 host b 的网络暂时瘫痪,以免对攻击造成干扰。
- 然后连接到目标主机 host a 的某个端口来猜测 ISN 基值和增加规律。
- 把源地址伪装成主机 host b,发送带有 SYN 标志的数据段请求连接。
- 等待目标主机 host a 发送 SYN + ACK 包给已瘫痪的主机,因为现在看不到这个包。
- 再次伪装成主机 host b 向目标主机 host a 发送 ACK,此时发送的数据段带有预测的目的主机的 ISN+1.
- 建立连接,发送命令请求。
IP 欺骗的防范
虽然 IP 欺骗攻击有着相当难度,但这种攻击非常广泛。防范这种攻击可以删除 UNIX 中所有的 host 文件,使得 RPC 机制无法应用,还可以通过防火墙来过滤来自外部信息源地址却是内部 IP 的报文。
端口扫描
端口扫描就是尝试与目标主机的某些端口建立连接,如果目标主机该端口有回复,则说明该端口开放,即为“活端口”。
端口扫描原理分类:
- 全 TCP 连接,这种扫描方法使用三次握手,与目标计算机建立标准的 TCP 连接。
- 半打开式扫描,扫描主机自动向目标计算机的指定端口发送 SYN 数据段,表示发送建立连接请求。
- FIN 扫描,依靠发送 FIN 来判断目标计算机的指定端口是否是活动的。
- 第三方扫描:又称“代理扫描”,是利用第三方主机来替代入侵者进行扫描。