TCP第2层安全威胁和攻击

时间:2020-03-21 11:47:22  来源:igfitidea点击:

TCP/IP的所有层都有其自身的安全威胁和漏洞。
我们将在不同的位置分别讨论TCP/IP每一层中的安全威胁和漏洞,因为每一层都需要特别注意。

在本文中,我们将讨论在TCP/IP第二层构成安全威胁的漏洞。
因此,本文的主题是数据链接层。
尽管数据链路层位于其他大多数层之下,但该层中的安全漏洞可能导致上层服务中断。

数据链路层的某些协议:

  • 以太网路
  • 帧中继
  • ATM
  • PPP

以太网最初是在Xerox PARC(帕洛阿尔托研究中心)开发的,史蒂夫·乔布斯和比尔·盖茨从那里获得了鼠标的想法

(这让我想起了传奇的史蒂夫·乔布斯(Steve Jobs)的一句话:“好艺术家复制;好艺术家窃取!”)

我们将更加关注与以太网相关的漏洞,因为它是该层最流行的协议。

与MAC地址相关的攻击

Mac地址是分配给网络主机的48位长的地址。
实际上,我必须说,网络帧是通过使用目标mac地址到达其目标主机的。
它是十六进制数字,例如08-00-27-00-20-D0。

Mac地址分为两部分(前24位是制造特定的,其余的是接口特定的)。

FF-FF-FF-FF-FF-FF的mac地址仅用于广播(这意味着将其发送给所有人)。

数据链接层中发现的主要安全威胁是CAM表溢出攻击。
我们可以通过以下文章找到CAM表溢出攻击的完整详细信息。

  • CAM表溢出攻击

交换机是网络中常用的设备(交换机和集线器之间的主要区别是,交换机不会将所有数据包发送到所有计算机,而是将通过CAM表发送到指定的目标) 。

简而言之,CAM表只是交换机中MAC地址及其连接的端口号的表。
不幸的是,我们无法真正抵御Linux机器对CAM表的攻击,但是可以使用一些交换机安全措施来防止这种情况的发生,我在上面的帖子中提到过。

MAC地址欺骗是对数据链路层的另一主要威胁。
通过MAC地址欺骗,攻击者可以将其mac地址更改为网络中另一台计算机的mac地址。
因此,交换机将开始向攻击者的计算机发送帧。
Mac地址欺骗也可以用来绕过ISP阻止用户采取的几种安全措施。

在Linux Mac中,可以通过命令行非常容易地完成地址欺骗。
Mac地址欺骗也可以在Windows中完成,请参阅下面的文章。

  • Windows中的MAC地址欺骗

可以使用数据链路层破坏的另一个易受攻击的协议是DHCP。

DHCP代表动态主机配置协议。
我已经在有关dhcp的帖子中介绍了完整的dhcp协议,该协议可以提供有关该协议的一些有趣细节。

DHCP主要用于自动获取主机的网络配置详细信息。
详细信息如IP地址,网关,DNS服务器详细信息等。

通常,dhcp服务器提供的ip地址是租用的,它将在一定时间后到期,在此期间dhcp服务器不会将相同的地址分配给任何其他客户端。
DHCP服务器维护已分配的IP和未分配的IP的列表。
因此,如果攻击者将大量具有欺骗性MAC地址的dhcp请求发送到dhcp服务器以使用所有可用的IP地址,则这将构成拒绝服务攻击的风险。

对DHCP服务器的这种拒绝服务攻击称为ip池饥饿攻击。

此时,DHCP服务器无法为网络中的新主机分配任何IP地址(因为攻击者的欺骗性dhcp请求占用了所有IP池地址)。
因此,攻击者会将自己更改为dhcp服务器(如果我们阅读了我在dhcp协议上的帖子,我们将知道,一个网络可以有多个dhcp服务器),并将根据他的意愿分配ip和网关,以进行监视整个网络流量。

通过使用交换机的端口安全功能,可以防止DHCP ip池饥饿攻击。

ARP攻击:

与交换机的CAM表类似,每台计算机都包含一个ARP表。
ARP代表地址解析协议。
该表包括ip到mac地址的映射。

每当我们尝试访问网络上的计算机时,计算机所做的第一件事就是查看其ARP表以查找与目标IP地址相对应的目标MAC地址。

在Linux中,我们可以查看ARP表,如下所示。

[root@myvm1 ~]# arp -a
? (192.168.159.2) at 00:50:56:F9:F6:5D [ether] on eth0
? (192.168.159.1) at 00:50:56:C0:00:08 [ether] on eth0
[root@myvm1 ~]#

攻击者可以使用欺骗的mac和ip地址发送广播,以便网络中的计算机将使用攻击者的欺骗的地址和MAC更新其arp表条目。

dsniff软件包包含mac欺骗和arp攻击功能。

VLAN攻击:

将单个第2层网络划分为多个广播域,以使那些不同广播域的流量独立流动而不会在同一第2层网络中相互冲突的方法称为虚拟局域网(VLAN)。

以前,交换机和路由器仅通过使用单独的端口来支持多个VLAN。
但是,如今由于网络技术的进步,可以通过使用交换机中的标记工具在单个端口中配置VLAN。

正如我告诉vlan一样,vlan用于分隔两个虚拟创建的广播域的流量。
因此,攻击者的主要目的将是访问他无法访问的其他VLAN的流量。

VLAN跳频:

使用VLAN跳跃,攻击者可以将数据发送到属于其他VLAN的计算机。
这是通过用远程必需的VLAN ID标记数据包来实现的。
具有vlan id的标签数据包的这种功能在Linux以及其他操作系统中可用。

网络回路

每当两个端点之间有多条路径可用时,就会发生网络环路。

可以通过在同一VLAN的端口之间具有两个链接来创建这种循环。
当网络中出现环路时,网络广播数据包将在网络中无休止地传播,这将导致网络瘫痪。
(由于帧中没有TTL或者生存时间标头,因此帧不会自行消失)

生成树协议提供了一种机制,可将备用路径保持为备用路径。