Chrome 87部署防范NAT Slipstreaming 2.0攻击防护

安全研究人员发现一种可绕过防火墙网址转译(Network Address Translation, NAT)服务的攻击手法。而在研究人员公布后,Google也发布防范攻击的Chrome 87更新版。

这项攻击是安全研究人员Samy Kamkar去年10月首先披露的NAT Slipstream的变形攻击手法,因而称之为NAT Slipstreaming 2.0。

NAT是一种在IP封包通过路由器或防火墙时,重写来源IP地址或目的IP地址的技术。私有或企业网络管理员可设立NAT设备,让多台主机通过一个公有IP访问互联网,减少真实IP的用量,一方面有管理及成本的好处,另一方面也减少内部网络设备直接暴露于互联网攻击的风险。NAT服务器等于是一种封包过滤的应用层网关(Application Layer Gateway,ALG)。

而NAT Slipstreaming是一种跨协议的调用伪造调用,第一代NAT Slipstreaming下,内部网络用户被诱骗点入连接访问有恶意JavaScript的外部攻击者网站,令两者创建连接,而使JavaScript在设备浏览器上执行。这让浏览器对攻击者网站的服务器发送流量。攻击者可选定不同协议流量来欺骗NAT,使其以为是互联网的合法应用流量,而允许其连向攻击者属意的任意内部TCP/ UDP服务传输端口(port),等于让外部攻击者直接连接用户设备。

NAT Slipstreaming 2.0为Kamkar和安全公司Armis的Ben Seri及Gregory Vishnepolsky联合研究发现,虽然同为欺骗NAT的攻击,但更为危险。研究人员解释,1.0和2.0 NAT Slipstreaming差别之一在于1.0滥用SIP协议,使攻击流量发送到受害设备的port 5060和5061。2.0则是滥用H.323多媒体内容协议创建连接,此外也能创建WebRTC TURN连接。

它之所以更危险是因为,通过滥用H.323协议,攻击者可访问NAT设备后的任何设备IP,而非仅点击连接的受害者IP。其次,浏览器也可对任何目的地网站创建Web RTC TURN连接,此过程并不经过浏览器的port限制名单比对,好处是让攻击者触及先前找不到的FTP或IRC(port 21、6667)网关,FTP网关经常广泛用于防火墙/NAT。也因此,光封住5060 port已经不够。

NAT Slipstreaming 2.0可使暴露企业内部网络上所有设备,例如通过默认打印协议或内部网页服务器控制的网络打印机,使用未验证管控协议的工控设备、或是IP摄影机。

NAT Slipstreaming 1.0的正式编号为CVE (CVE-2020-16022),Google Chrome去年十月已经部署了防护。

NAT Slipstreaming 2.0在Firefox中的漏洞被命名为CVE-2020-16043,在Chromium(Chrome及Edge)中被命名为CVE-2021-23961。Google上周再针对NAT Slipstreaming 2.0发布Chrome 87.0.4280.117,封锁了Ports 69、137、161、1719、1720、1723、6566及10080,本版及之后版本用户将无法从上述传输端口连向HTTP、HTTPS或FTP服务器。

Mozilla Firefox及Microsoft Edge也分别部署了NAT Slipstreaming 2.0的防护。

研究人员指出,NAT Slipstreaming 2.0并非浏览器的“漏洞”,因为问题是出在NAT功能上,而严格说来,用户及管理员关闭所有应用层网关,才是真正的“修补”。