Tcp信道远程劫持漏洞安全预警 | U刻
  • Tcp信道远程劫持漏洞安全预警

    栏目:安全资讯

    Snip20160814_70

    尊敬的ucloud用户:
    近日研究者发现Linux内核存在Tcp协议安全漏洞(CVE-2016-5696) ,可导致网络流量被劫持。

    漏洞详情
    TCP通信的安全加强标准RFC5961的实施存在一些弱点,导致Linux内核的TCP实现中的挑战应答存在信息泄露的风险。该漏洞采用边信道攻击方案,可以确认互联网上的任意两台主机是否通过TCP连接进行通讯(并发现端口号),以及推测出TCP报文头的序列号(sequence number),这样一来就能强制终止双方的连接,甚至在连接中插入恶意payload了。如果漏洞被恶意利用,攻击者能够劫持未加密的网络流量,破坏一些加密通信。

    但是攻击者需要知道服务器和客户端双方TCP通信的源IP地址、目标IP地址、源端口、目标端口,还需要猜测出处于in-window的TCP序列号,才能对连接进行重置或者注入恶意数据。

    影响对象

    Linux内核版本在v3.6至v4.7之间的系统都受到影响。

    已知受影响范围如下:
    Red Hat Enterprise Linux 6
    Red Hat Enterprise Linux 7
    CentOS 6.x、7.x系列
    Debian 7.x 8.x系列
    OpenSUSE 12.3、13.2
    SUSE Linux Enterprise 11 SP3、12
    Ubuntu 12.04 (LTS)、14.04 (LTS)、16.04(LTS)、16.10

    不受影响的操作系统:
    CentOS 5.x各个小版本
    SUSE Linux Enterprise 10
    Debian 6.0.3
    Ubuntu Server 10.04 LTS
    Windows Server全系列

    防御方法
    请检查自身系统内核版本是否在受影响范围(检查方法:在终端运行uname -sr)。
    1.若不在影响范围,请忽略。
    2.若在受影响范围,可以按照下述方法进行加固操作,linux内核修复版本目前各厂商更新尚未发布,发布后可以下载官网修复版本内核进行升级修复。

    加固:采用sysctl将挑战应答极限值提高到较大范围,使得攻击者不能合理地达到它,因此不能推断出客户服务器连接的任何附加数据,以此达到防御目的。
    1)设置 /etc/sysctl.conf 中的net.ipv4.tcp_challenge_ack_limit 到一个较大的值(如999999999):
    net.ipv4.tcp_challenge_ack_limit = 999999999
    2)加载设置:
    sysctl -p

    参考链接
    http://www.cs.ucr.edu/~zhiyunq/pub/sec16_TCP_pure_offpath.pdf
    https://access.redhat.com/security/cve/cve-2016-5696
    https://blogs.akamai.com/2016/08/vulnerability-in-the-linux-kernels-tcp-stack-implementation.html
    https://bobcares.com/blog/fix-linux-off-path-tcp-attacks-cve-2016-5696