avatar

计算机网络安全-复习

第二章 扫描与防御技术

扫描技术概述

扫描器(scanner):一种自动检测远程或本地主机安全性弱点的程序

网络扫描:可以作为攻击工具,也可以作为防御手段,可以手动也可以用扫描软件自动

网络扫描器的主要功能

  • 扫描目标主机识别其工作状态(开/关机)
  • 识别目标主机端口的状态(监听/关闭)
  • 识别目标主机操作系统的类型和版本
  • 识别目标主机服务程序的类型和版本
  • 分析目标主机、目标网络的漏洞(脆弱点)
  • 生成扫描结果报告

扫描三步曲

  1. 发现目标主机或网络(ping扫描)
  2. 发现目标后进一步搜集目标信息(OS探测、穿透防火墙探测、端口扫描)
  3. 根据收集到的信息判断或者进一步测试系统是否存在安全漏洞(漏洞扫描)

常用网络扫描诊断命令

网络命令ping

  • 基于ICMP协议,用于确定网络上具有某个特定IP地址的主机是否存在以及是否能接收请求
  • 直接在内核实现,并不是一个用户进程

路由查询命令tracert/traceroute

  • 简单的网络诊断工具,列出分组经过的路由节点及每一跳的延迟,一般用于检测故障的位置
  • Windows:tracert
  • unix/linux:traceroute

主机发现

  • 目的:检查目标网络上的主机是否活跃(active)可达,是信息收集的初级阶段

ICMP Echo扫描

Ping的实现机制

  • 优点:简单、系统支持
  • 缺点:容易被防火墙限制
  • 可以通过并行发送,同时探测多个目标主机,以提高检测效率(ICMP Sweep扫描)

Ping扫射(ping sweep)

即上文的ICMP Sweep,工具如unix上的nmap、fping、hping2,windows上的superscan等

Broadcast ICMP扫描

  • 将ICMP请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机
  • 缺点:只适用于unix/linux系统,windows会忽略,容易引起广播风暴

操作系统探测

  • 原理:各操作系统的协议栈的实现存在细微的差异
  • 流程
    • 总结差异形成指纹数据库
    • 收集其网络协议栈的行为特点
    • 分析收集的信息,判断是何种os

端口扫描

端口定义了TCP/UDP和上层应用程序之间的接口点

全连接扫描

以TCP连接的三次握手为基础,利用connect()函数,向每一个目标主机的端口发起连接,若端口处于侦听状态,则函数返回成功,否则可判断出未开放

  • 成功过程
    • Client端发送SYN
    • server端返回SYN/ACK,表明端口开放
    • Client端返回ACK,表明连接已建立
    • Client端主动断开连接
  • 未成功过程
    • Client端发送SYN
    • Server端返回RST/ACK,表明端口未开放
  • 优点:实现简单,扫描速度快
  • 缺点:扫描方式不隐蔽,容易被防火墙发现并屏蔽

SYN扫描

扫描主机向目标主机的选择端口发送SYN数据段,应答为RST表示关闭,应答中包含SYN和ACK表示监听

  • 成功过程
    • Client发送SYN
    • Server端发送SYN/ACK
    • Client发送RST断开
  • 未成功过程
    • Client发送SYN
    • Server端发送RST/ACK
  • 优点:记录较少
  • 缺点:需要超级用户或者得到授权的用户

FIN扫描(秘密扫描)

使用FIN数据包探测,关闭端口会丢掉数据包并返回RST,开启的端口只会丢掉

  • 优点:能躲避IDS、防火墙、包过滤器和日志审计
  • 缺点:
    • 需要构造自己的IP包
    • 适用unix主机,windows NT下无效

漏洞扫描

检查系统是否存在已公布安全漏洞

第三章 网络监听及防御技术

网络监听概述

网络监听技术又称网络嗅探技术,是一种在他方为察觉的情况下捕获其通信报文或通信内容的技术

广播式网络传输技术:仅有一条通信通道,由网络上的所有机器共享,传输的分组可以被任何机器发送及接收

点到点网络传输技术:由一对对机器之间的多条连接构成

  • 网卡的四种工作模式
    • 广播模式:能接收网络中的广播信息
    • 组播模式:能接收组播数据
    • 直接模式:网卡只能接收目标MAC地址和自己的地址匹配的数据帧
    • 混杂模式:能接受一切接收到的数据帧,不管其目的MAC地址是什么

监听技术

共享式局域网

采用载波检测多路侦听(CSMA/CD)机制来进行传输控制,基于广播的方式来发送数据,把帧发送到除源端口以外的所有端口

监听原理:共享式局域网中的一台主机被设置成混杂模式狗,这个局域网内传输的任何信息都可以被听到,主机的这种状态也就是监听模式

交换式局域网

交换机或其他非广播式交换设备组建成的局域网

使用原因:系统管理人员常常通过在本地网络中加入交换设备,来预防sniffer(嗅探器)的侵入。交换机工作在数据链路层

工作原理

交换机根据收到数据帧中的源MAC地址建立地址与交换机端口的映射,并写入MAC地址表中

如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)

广播帧向所有端口转发

溢出攻击

  • 弱点:维护这张表的内存是有限的
  • 攻击方式
    • 用大量错误的MAC地址的数据帧对交换机进行攻击,交换机就可能出现溢出
    • 然后交换机就会退回到HUB的广播模式

ARP欺骗

  • ARP:地址解析协议,位于TCP/IP中的网络层,用于将网络地址(IP地址32位)转化为物理地址(以太网的MAC地址48位)。RARP与ARP相反,反向地址转换协议,把MAC地址转换为IP地址
  • 通信过程:每台主机都会在自己的ARP缓冲区建立一个ARP列表,用于表示IP地址和MAC的对应关系。若A想和B通信,A查询ARP缓存表是否有B对应的ip-mac,有则将B的mac地址封装到数据包发送。若无A先发一个ARP广播包——ARP请求包,B回mac地址——ARP应答包
  • ARP缺陷:信任以太网所有的节点
  • 欺骗攻击:主机收到ARP应答包后,不会验证是否发过请求,而是直接替换原有信息。

第四章 口令破解与防御技术

口令破解方式

  • 词典攻击:使用一个或多个词典文件,利用里面的单词列表进行口令猜测的过程
  • 强行攻击:即暴力破解
  • 组合攻击:用几种方式
  • 社工:使用计谋和假情报等人际交流的方式

第五章 欺骗攻击及防御技术

信任与欺骗

  • 认证:网络上的计算机用户相互间进行识别的一种鉴别过程
  • 信任:和认证有逆反关系,即计算机间有高度的信任,那么交流时就不会有严格的认证
  • 欺骗:一种冒充身份通过认证骗取信任的攻击方式
    • IP欺骗:使用其他计算机的IP来骗取连接、信息或特权
    • ARP欺骗:利用ARP协议的缺陷,将自己伪装为“中间人”
    • 电子邮件欺骗
    • DNS欺骗:域名与IP地址转换过程中实现的欺骗
    • web欺骗:创造某个万维网网站的复制影像

IP欺骗及防御技术

简单的IP地址变化

将一台计算机的IP地址修改为其他主机的地址,以伪装冒充其他机器

攻击者使用假冒的IP地址向一台机器发送数据包,但没有收到任何返回的数据包,这被称之为盲目飞行攻击单向工具,因为只能向受害者发送数据包,而不会收到任何应答包

源路由攻击

为了得到返回的数据流,有两个办法:

  1. 攻击者插入到正常情况下数据流经过的路上
  2. 保证数据包回经过一条给定的路径,而且作为一次欺骗,保证它经过攻击者的机器

源路由机制:

  • 宽松的源站选择(LSR):发送端指明数据必须经过的,但是也可以经过除这些地址外的一些地址
  • 严格的源路由选择(SRS):发送端指明IP数据包必须经过的确切地址。若未经过,数据包会被丢弃,并返回一个ICMP报文

利用unix系统的信任关系

unix中不同主机的账户间可以建立信任关系,基于IP地址进行认证,而不是询问用户名和口令。如果攻击者获得了可信任网络里的任何一台的机器,他就能登录信任该IP的任何机器上

  • rlogin:远程登录
  • rsh:远程shell
  • rcp:远程拷贝

TCP会话劫持

会话劫持是接管一个现存动态会话的过程,攻击者要积极攻击使被冒充者下线

  • 第二个数据包(B -> A)的SEQ = 第一个数据包(A -> B)的ACK
  • 第二个数据包(B -> A)的ACK = 第一个数据包(A -> B)的SEQ + 第一个数据包(A -> B)的传输数据长度

故序列号和应答号是完全有可能预测的,TCP会话劫持过程如下:

  1. 发现攻击目标
  2. 确认动态会话
  3. 猜测序列号
  4. 使客户主机下线
  5. 接管会话

DNS欺骗及防御技术

  • DNS(domain name system)是一个全球化的分布式数据库,用于存储域名和IP地址的映射关系,使用户更方便地访问互联网,而不用去记住能够被机器直接读取的IP数串。
  • 域名解析:通过域名得到其对应的IP地址的过程
  • 根域名服务器:最高层次的域名服务器
  • 顶级域名服务器:管理二级域名
  • 权威域名服务器:复制一个区的域名服务器,管理二级、三级、四级等域名
  • 本地域名服务器:当一个主机发出DNS请求时,查询请求就被发送到本地域名服务器

DNS欺骗

攻击者冒充域名服务器,把查询的IP地址设为攻击者的IP地址

  • 篡改文件hosts——当用户在浏览器中输入一个需要登录的网址时,系统会首先从hosts文件中寻找对应的IP地址
  • 在DNS服务器的本地cache中缓存一条伪造的解析记录
    • 在本地的DNS服务器的缓存表里记录一条伪造的解析记录,使得目标机的域名映射到攻击者的IP
    • 伪造DNS解析应答报文,使得目标机的域名映射到攻击者的IP

第六章 拒绝服务攻击与防御技术

拒绝服务攻击概述

拒绝服务攻击(Denial of Service,简称DOS):

  • 一种简单的破坏性攻击
  • 通常利用传输协议中的某个弱点、系统/服务的漏洞等对目标系统发起大规模的进攻
  • 用超出目标处理能力的海量数据包消耗可用系统资源、带宽资源等,或造成程序缓冲区溢出错误
  • 致使其无法处理合法用户的正常请求,无法提供正常服务,最终致使网络服务瘫痪,系统死机

典型拒绝服务攻击技术

SYN洪水(SYN Flood)

攻击者通过向受攻击系统发送一系列SYN请求以消耗服务器资源,使得目标系统无法响应正常请求

  • 原理
    • 基于TCP连接的三次握手过程
    • 利用TCP协议缺陷,发送大量伪造的半TCP连接请求时使被攻击方资源耗尽
      • CPU不断发送SYN-ACK
      • 内存要保存半连接的信息
  • 防范措施
    • 优化系统配置——缩短timeout时间
    • 优化路由器设置——丢弃伪造源地址的包
    • 使用防火墙
    • 主动检测网络数据包

Smurf攻击

Smurf攻击是利用IP欺骗和ICMP回应包引起目标主机网络阻塞,实现DOS攻击

  • 原理
    • 向网络广播地址发送ICMP请求(如ping),并将源地址设置为被攻击主机的地址
  • 防范措施
    • 配置路由器禁止IP广播包到内网
    • 配置网络上所有计算机的操作系统,禁止对目标地址为广播地址的ICMP包响应
    • 对于从本网络向外部网络发送的数据包,应过滤掉那些源地址为外部网络地址(伪造地址)的数据包

ping of death(死亡之ping)

通过ping命令发送恶意的或超大数据包使目标主机或服务崩溃

  • 攻击
    • 通过改变分片的偏移量和段长度的组合,使得系统在收到分片报文进行重组的过程中,其报文的长度会超过65535字节,导致内存溢出
  • 防范
    • 对重新组装过程添加检查
    • 创建一个具有足够空间的内存缓冲区来处理超过最大标准的数据包

泪滴(Teardrop)

通过向目的主机发送分片数据包,从而实施对目标系统的攻击

原理:攻击者A向受害者B发送一些分片IP报文,故意将“13位分片偏移”字段设置成错误的值,与上一分片数据重叠

land攻击

  • 原理
    • 利用TCP三次握手过程的缺陷
    • 向目标机发送大量源地址和目标地址相同的SYN包
    • 目标主机就会向自己发送SYN/ACK包然后建立连接
    • 会建立很多无效连接,系统资源被大量占用
  • 特征/检测方法:数据包中源地址和目标地址相同
  • 防范:配置防火墙设备或过滤路由器的过滤规则

分布式拒绝服务攻击(DDOS)

借助客户/服务机技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DOS攻击

指挥端——黑客,主控端——一台被攻击者入侵并运行特定程序的主机,代理端——已被入侵并运行某特定程序的主机,执行攻击的角色。

第七章 web攻击及防御技术

web服务器指纹识别

web服务器指纹:通过对服务器上的http应用程序安装和配置等信息进行远程刺探,从而了解远程web服务器的配置信息,后根据不同版本的web服务器进行有目的的攻击

http指纹识别:记录不同服务器对http协议执行中的微小差别进行识别

跨站脚本攻击

简称XSS,指的是恶意攻击者往web页面里插入恶意html代码,当用户浏览该网页时,嵌入其中web里面的html代码就会执行,从而达到恶意用户的特殊目的。

实现攻击所需条件:

  • 需要存在跨站脚本漏洞的web应用程序
  • 需要用户点击连接或者是访问某一页面

SQL注入攻击及防御

SQL注入:攻击者通过提交一段精心构造的数据库查询代码,根据返回的结果,获得某些他想知道的数据

防范:

  • 对用户提交的数据和输入参数进行严格的检查和过滤
  • 摈弃动态SQL数据,而改用用户存储过程来访问和操作数据

第八章 典型防御技术

防火墙

防火墙时位于两个(或多个)网络间实施网间访问控制的一组组件的集合

  • 内部和外部之间的所有网络数据流必须经过防火墙
  • 只有符合安全政策的数据流才能通过防火墙
  • 防火墙自身对渗透是免疫的
  • 规则中的处理方式包括
    • Accept:允许数据包或信息通过
    • Reject:拒绝数据包或信息通过,并且通知信息源该信息被禁止
    • Drop:直接将数据包或信息丢弃,且不通知信息源

NET:实现内部网络私有IP地址外部全局IP地址的映射

包过滤防火墙

静态数据包过滤发生在网络层上

  • 范围:对每个数据包做出允许拒绝的决定
  • 包过滤规则:包过滤防火墙的安全策略,特殊规则在前,较普通的规则在后
  • 检测对象:以数据包的首部包含的信息为主,包中数据部分不在检测范围之列
  • 优点
    • 对网络性能影响较小
    • 成本较低
  • 缺点
    • 安全性较低
    • 缺少状态感知能力
    • 容易遭受IP欺骗攻击
    • 创建访问控制规则比较困难

防火墙配置方案

最简单的防火墙配置,就是直接在内部网和外部网之间加装一个包过滤路由器或者应用网关

双宿主机模式

从物理上把内部网络和Internet隔开,必须通过两层屏障

优点:两重保护;包过滤+应用层网关;配置灵活

屏蔽子网模式

包括两个包过滤路由器和一个堡垒主机

优点:

  • 三层防护阻止入侵者
  • 外面的router只向internet暴露屏蔽子网中的主机
  • 内部的router只向内部私有网暴露屏蔽子网中的主机

入侵检测系统(IDS)

入侵检测系统是一种能对潜在的入侵行为做出记录和预测的智能化、自动化的软件或硬件系统。是主动防御技术。

当IDS发现入侵行为时,可以提取入侵的行为特征,从而编制安全规则并分发给防火墙,与防火墙联动阻断攻击行为的再次发生。

  • 组成
    • 采集模块:搜集数据
    • 分析模块:对数据的解析
    • 管理模块:作决策和响应

基于主机的入侵检测系统

  • 主要用于保护运行关键应用的服务器
  • 通过监视与分析主机的审计记录日志文件来检测入侵
  • 检测主机可以运行在被检测的主机或单独的主机上
  • 信息来源
    • 系统状态信息
    • 记账信息
    • 审计信息
    • 应用系统提供的审计记录

基于网络的入侵检测

  • 对网络中的数据包进行检测
  • 截获数据包,提取特征并与知识库中已知的攻击签名相比较
  • 主要用于实时监控网络关键路径的信息
  • 信息来源于网络上的数据包
文章作者: 0bs3rver
文章链接: http://yoursite.com/2021/06/14/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8-%E5%A4%8D%E4%B9%A0/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 0bs3rver的小屋