讲给前端的网络安全(3): 网络模型与攻击手段

2020-12-15 11:02:41 浏览数 (1)

代码语言:javascript复制

这次基于 OSI 和 TCP/IP 这两个模型来介绍可能发生的攻击手段

  • 讲给前端的网络安全(1):浏览器与网络的那些事
  • 讲给前端的网络安全(2):互联网的构成

OSI 和 TCP/IP 模型

从上图可以看到,OSI 模型将网络划分成为七层,而TCP / IP模型将其简化成四层。本文会使用 OSI 模型的前三层(1〜3),与 TCP/IP 模型的后两层(3〜4)来讲解常见的网络攻击。

物理层(OSI Layer 1)

物理层面的攻击很难发生在严格控管的机房环境,而在办公室、家庭、咖啡馆等网络环境很常见。

物理层的传输基本上是 010101 的数字信号,基本的传输媒介是使用光、电与无线电。先看一种没什么技术含量的 L1 攻击,大家应该都看过这个东西。

红框内就是 L1 等级的防火墙,剪断之后就能阻挡恶意流量,当然正常流量也一起被干掉了。这就是不需要什么技术的 L1 级攻击,把通信介质断开就可以达到 DoS (Deined of Service)的效果,当然这没什么技术含量。

不过还有需要更多技术的 L1 攻击。最常见的就是被称为 Tapping 的攻击,Tap 这个词是窃听的意思。有些网络商也将 TAP 称为测试访问点(Test Access Point)或终端访问点(Terminal Access Point)来美化这种行为。

TAP是一把双刃剑,可以让网管分析数据流,但如果到恶意用户手中就会变成窃听的工具。TAP 主要分为两种,主动式与被动式。

被动式 TAP(Passive TAP)

被动式 TAP 就是把一部分传输介质复制出来。

例如:假如是传统的铜质双绞线,就可以在实体上把导线线接出来;而光纤中的光脉冲信号则可以用分光器把光线分离出来;无线信号的话大家都能收到,直接收就行了,但是会有很大机率对原信号造成干扰或衰减。

因为被动式是直接对传输介质本身复制的方式,所以不会因为监听设备死掉而造成连接中断的情况。不过要注意,被动式指的是不主动提供新的信号源来中继数据信号,这与后面要说的零停机(Zero Downtime) 不太一样。被动 TAP 可以做到零停机,但不是所有的方法都可以。

主动式TAP(Active TAP)

主动式 TAP 需要主动提供新的信号源来做中继,避免信号衰减。主动式 TAP 可以做到中间人(MITM)攻击,同时也能避免被动式 TAP 信号干扰与衰减的问题。

而主动式的缺点也很明显,由于新的信号源是由中间人主动提供的,当中间人的主动式 TAP 装置故障或掉线后,整个连线将会中断。

链路层(OSI Layer 2)

链路层就是 L2,L2 交换机的 L2 值得就是这个它。

在现在世界通用的以太网,主要用 L2 来识别 MAC (Media Access Control) 地址。在你电脑通过 DHCP 获得 IP 之前,主要的通信都是在 L2 上。

链路层攻击基本上都发生在你可以控制的设备周围,可以通过一些链路层的通信协议来进行攻击。比较常见的是假冒自己是另一台电脑(Fake Src MAC,ARP Spoofing),或者是假冒成一台交换器来影响周边设备(STP Spoofing、Trunking Attack)。L2 攻击可以有效的影响周边的设备。

网络层(OSI Layer 3)

网路层,又称为 IP 层,主要用来识别不同主机的 IP 地址。

L3 可以攻击的手段相对少一些。主要攻击的手段是伪造发包的来源 IP,让目的机器认为这个包是从其他机器来的,这种攻击被称为 IP 欺骗,是比较常见的 L3 攻击。比较简单的终端是无法阻止这种攻击的,需要在中途或来源断绝它。

传输层(OSI Layer 4, TCP/IP Layer 3)

传输层算是问题比较少的一层,这层主要需要配合前面的网络层进行攻击。因为现在主要用的都是 TCP 与 UDP,如果可以猜到对方使用的 TCP/UDP 端口,就可以进行连接并攻击。但是由于猜对的机率很小,所以没什么太大的价值,但是如果可以听到单方向的流量,则可以轻易的实现攻击。

应用层(TCP/IP Layer 4)

OSI L4 以上全都被 TCP/IP模型归为第四层,而这层最主要就是前端最关心的 Web 安全等问题。像是 SQL 注入、XSS、SSRF 之类的攻击都在这里。

总结

本文概述了 OSI 与 TCP/IP 模型中每一层可能会发生的安全问题,以后文章将会讲解这些攻击的细节,并会有一些实际操作。


0 人点赞