互联网基础设施
本地和域间路由
用于路由和消息传递的TCP/IP
域名系统
从符号名称(www.lancaster.ac.uk)查找IP地址
域名系统是Internet或专用网络内的节点、服务和其他资源的命名系统。
TCP协议栈
这是通过LAN或WAN在不同机器(运行分布式应用程序)之间进行通信(向其发送数据)使用最广泛的协议,而不考虑机器中固有的硬件和软件平台。
较低的层向直接的上层提供服务。应用层是用户应用程序和下面面向通信的层之间的接口。
链路(在硬件级运行)-以太网,X.25,点对点协议(PPP)
网络(提供寻址和路由功能,将消息发送到各自的目的地)-IP(最重要的),Internet控制消息协议(ICMP)和Internet组管理协议(IGMP)。路由器将报文转发到IP报文中指定的目的IP地址。
传输(管理端到端数据传输,可以同时处理多个数据流)-传输控制协议(TCP)提供了可靠的面向连接的服务,用户数据报协议(UDP)提供了不可靠但快速的无连接服务。
应用程序对应于特定的客户端软件应用程序(例如,文件传输,电子邮件,视频流等)- HTTP, FTP, Telnet, SMTP等。应用程序和传输之间的接口。它是根据端口号和套接字定义的。
以太网报头包含一个序文、一个起始帧分隔符(SFD)、目的地、源和类型。导语是以太网帧开始的标识符。SFD是一个字节(前文的最后一个字节),表示下一个字节是目的MAC地址。destination字段是目的计算机的MAC地址,source字段是源计算机的MAC地址。Type是一个2字节的字段,存储有关直接上层(即IP)使用的协议的信息。
Ethernet trailer是一个包含4个字节的帧检查序列(FCS),用于循环冗余错误检查。
因特网协议(IP)
- 无连接,尽最大努力
- 不可靠的
- IP地址
- 命名或标记通过计算机网络相互通信的每个设备
- 32位数字(IPv4)
IP根据报文头中的IP地址,将源主机的报文发送到目的主机。
它是不可靠的,因为故障可能发生,如数据损坏,数据包丢失和复制。因此,IP提供了最好的交付服务。
IP路由
典型的路由需要几跳
IP:无订货和发货保证
IP协议功能(概述)
路由选择
- IP主机知道路由器(网关)的位置
- IP网关必须知道到其他网络的路由
分段和重组
如果max-packet-size小于user-data-size
错误报告
如果报文被丢弃,ICMP报文被发送到源
TTL字段:每跳一次后减少
TTL=0时丢弃数据包。防止无限循环。
在网络上发送一个巨大的数据包在物理上是不可能的。例如,一个6000字节的数据报需要被分解成4个数据报(每个1500字节)。这个过程被称为“碎片化”。目标主机将4个数据报(按照正确的顺序)重新组装的过程称为“重新组装”。
问题:没有 src IP认证
客户端被信任嵌入正确的源IP
- 使用原始套接字很容易覆盖。
- Libnet:用于格式化带有任意IP头的原始数据包的库。
- 任何拥有自己机器的人都可以发送数据包。
启示(DDoS讲座中的解决方案):
- 匿名DoS攻击
- 匿名感染攻击(例如,攻击蠕虫)
用户数据报协议(UDP)
IP上不可靠的传输:
- 没有确认
- 没有拥塞控制
- 没有消息延续
当消息流量非常大以至于减慢整个网络响应时间时,就会发生拥塞。拥塞控制机制必须在应用程序或网络级别实现(例如,漏桶算法或令牌桶算法)。
在UDP中,丢失的消息不会被重发(也就是说,没有确认)。因此,没有消息延续。
校验和验证报头和消息的数据完整性。校验和是一个表示正在发送的数据的值。接收方计算校验和。如果两个值匹配,则数据未损坏/未更改。UDP通过位补位计算校验和值。
传输控制协议 (TCP)
以连接为导向,保持秩序
发送者
- 将数据分成数据包
- 附加数据包编号
接收者
- 确认接收;丢失的数据包被重发
- 按照正确的顺序重新组装包
TCP报头
TCP(三向)握手
这个过程是在客户端和服务器之间建立连接。
- 客户端将段序列SNC设置为随机值randC。由于没有确认号,所以ANC的值为0。
- 服务器回复一个确认消息SYNC/ACK。段序列是一个随机数rand,确认数是SNC的回声。
- 最后,客户机向服务器发回一个确认。序列号为SNC+1,确认号为SNS的回声。
在流程结束时,客户端和服务器都收到了连接的确认。因此,建立了全双工通信。
基本安全问题
-
网络数据包通过不受信任的主机
1)偷听,嗅探数据包
2)当攻击者控制靠近受害者的机器时尤其容易 -
TCP状态很容易猜测
启用欺骗和会话劫持
*Perl和JavaScript是最常见的web脚本语言
从用户获取详细信息
会话劫持发生在用户会话(例如,银行应用会话或社交网络会话)被攻击者接管时。
TCP的状态有:LISTEN、SYNC-SENT、SYNC-RECEIVED、ESTABLISHED、FIN-WAIT-1、FIN-WAIT-2、CLOSE-WAIT、CLOSING、LAST-ACK、TIME-WAIT和CLOSED。
数据包嗅听
攻击者读取所有数据包
- 读取所有未加密的数据(例如“wireshark”)
- FTP, Telnet(和POP, IMAP)可以明文发送密码
TCP连接欺骗
假设init.sequence是可预测的
攻击者可以利用伪造源IP创建TCP会话
破坏基于ip的身份验证(例如SPF, /etc/hosts)
SPF代表发送方策略框架。是一种在邮件发送过程中检测伪造发件人地址的邮件认证方法。
随机初始TCP SNs
不可预测的SNs会阻止基本的报文注入
大多数TCP堆栈现在生成随机SNs
随机发生器应该是不可预测的
路由的漏洞
ARP(地址解析协议): IP地址-》Mac地址
(发现与IP相关联的MAC (link layer address)地址)
节点A可以混淆网关,使其向B发送流量
攻击者A可以很容易地将数据包注入到B的会话中(例如WiFi网络)
Arp欺骗(Man in Middle Attack)
攻击者用自己的MAC向目标发送虚假ARP响应
目标IP上的所有流量都被路由到攻击者地址
(对嗅探很有用)
给ARP表下毒以伪造IP地址:
- 嗅探局域网流量以发现IP地址
- 攻击者使用ARP欺骗来冒充交换机/路由器和受害者的MAC地址
防范ARP欺骗
静态ARP表项
- 最简单的认证形式是对主机ARP缓存中的关键服务使用静态只读条目。
- 本地ARP缓存中的IP地址到mac地址的映射关系可能是静态输入的。如果存在ARP表项,则主机不需要发送ARP请求。
- 虽然静态条目提供了一些防止欺骗的安全性,但它们会导致维护工作,因为必须生成和分发网络中所有系统的地址映射。
ARP欺骗检测和预防软件(如xArp)
- 检测ARP欺骗的软件通常依赖于某种形式的认证或ARP响应的交叉检查。
- 然后阻止未经认证的ARP响应。
如果ARP表包含两个不同的IP地址和相同的MAC地址,机器可能正在遭受ARP欺骗攻击。
DNS (Domain Name System)与安全问题
层次名称空间
DNS根名称服务器
分层次服务系统
- 顶级域的根名称服务器
- 子域的权威名称服务器
- 本地名称解析器在不知道某个名称时联系权威服务器
权威名称服务器提供有关区域中名称的问题的答案。
DNS查询示例
DNS记录类型(部分列表):
NS: 名称服务器(指向其他服务器)
A: 地址记录(包含IP地址)
缓存
缓存DNS响应
1)快速响应重复翻译
2)用于查找服务器和地址
3)域的NS记录
DNS负查询被缓存
为不存在的网站节省时间,例如拼写错误。
补充:负查询是指请求DNS服务器返回某个域名不存在的信息。
为不存在的网站节省时间,例如拼写错误。
缓存数据定期超时
- 数据所有者控制的数据的生存时间(TTL)
- TTL通过每条记录
基本DNS漏洞
用户/主机信任DNS提供的主机地址映射:
用作许多安全策略的基础(浏览器同源策略,URL地址栏)
明显的问题
拦截DNS服务器的请求可能导致错误或恶意的响应(例如:咖啡馆里的恶意接入点)
DNS缓存中毒[a la Kaminsky’08]
本地DNS解析器认为攻击者是ns.bank.com
攻击者欺骗记录,试图猜测DNS查询ID。
受害者的机器访问攻击者的网站并下载JavaScript。
如果对所有j: x1 = yj攻击者获胜。
本地DNS服务器发现恶意站点并将其存储在缓存中。因此,用户被转发到恶意站点。
防御
A:解析器随机化它发送查询的src端口,额外的位到查询ID(现在攻击需要几个小时)
B 每个DNS查询请求两次:
攻击者必须正确猜测QueryID两次(32位)
野外DNS投毒攻击
2015年1月,纽约一家大型互联网服务提供商Panix的域名被劫持到澳大利亚的一个网站。
2004年11月,谷歌和亚马逊的用户被送到Med Network Inc.,一家在线药店。
2013年3月,一个名为“自由网络部队民兵”的组织劫持了半岛电视台网站的访问者,并向他们展示了“上帝保佑我们的军队”的信息。文章来源:https://www.toymoban.com/news/detail-424376.html
总结
- 互联网基础设施检讨
- 安全问题
- 基本防守技术
Acknowledgements: Jiangtao Wang文章来源地址https://www.toymoban.com/news/detail-424376.html
到了这里,关于【安全与风险】互联网协议漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!