攻击案例和原理
随着近些年IoT产业迅速发展,智能路由器、摄像头等设备数量也随之剧增,因智能设备漏洞较多,并更新修复困难,导致此类设备容易被黑客入侵控制,成为发动DDoS攻击的肉鸡。
曾经备受关注的Mirai物联网僵尸网络攻击,是一种感染IoT设备的僵尸程序,该程序在源码公开后被黑客利用并扩散形成了大量的僵尸网络。当它扫描到一个物联网设备(比如网络摄像头、智能开关等)后就尝试使用默认或弱密码进行登陆,一旦登陆成功,这台物联网设备就进入肉鸡名单,开始被黑客操控攻击其他网络设备。随后大量黑客对Mirai进行了升级、变种、开发,其危害性比前代更高。
攻击案例
下面以某次攻击事件进行解析,以此说明“首包丢弃”的防御原理。
接着查询了攻击源IP地址都来自不同地区的IP。这种情况下要么就是攻击者有很多“肉鸡”,要么就是伪造源IP的SYN报文。最后,通过统计源IP报文数量发现,每个源IP只发了一个SYN报文。如果是肉鸡攻击应该会有交互报文,不应只有syn类型报文。因此可以确定是属于伪造源IP的SYN Flood攻击。
那么针对这类攻击,如何通过“首包丢弃”来进行防御呢?
有些攻击不断变换其源IP地址、源端口号,这类攻击报文多样变化、迷惑性强,且攻击量很大。
如果使用源认证方式防御,将每个攻击报进行反向验证,那么反正验证报文量会非常大,容易造成链路阻塞。
有些攻击不断变换其源IP地址、源端口号发送攻击报文,通过首包丢弃,可以有效拦截这部分流量。
首包丢弃与源认证结合使用,防止虚假源攻击。
防御原理
首包丢弃为了防御大流量攻击,与源认证方式结合,有效防御攻击源变换源IP、端口号。
对于TCP、DNS、ICMP报文都具有重传的特点,如在交互过程中报文被丢弃,则会重传。
首包丢弃利用了上述报文的重传机制,将收到的第一个报文丢弃,然后检查后续是否有重传报文。
判定报文是否属于重传报文,需要我们在防护时通过一些手段来实现,这里提供通过三元组、及时间间隔来判断,以此实现重传报文判断。
三元组包含源IP地址、源端口和协议,时间间隔可以自定义配置。
流程
当报文没有匹配到任何三元组时,认为该报文是首包将其丢弃。
当报文匹配到某三元组,则计算该报文与匹配该三元组的上一个报文到达的时间间隔。
如果时间间隔不在设定的范围内,则认为是首包,将其丢弃。
如果时间间隔落在配置的上限和下限之间,则认为是后续包将其放行。
来源:freebuf.com 2020-12-27 17:15:16 by: stan1y
请登录后发表评论
注册