近日,抖音海外版TikTok披露了一个安全隐患,当部分视频没有启用HTTPS链接时,容易受到黑客拦截追踪、甚至是进行篡改攻击。开发人员Talal Haj Baktry和Tommy Mysk两人发现了TikTok这一漏洞,并进行了验证。结果发现安卓或者iOS客户端的TikTok用户的历史观看记录泄露,并且可以通过入侵本地网络,将客户端的视频换成其他的虚假视频。

主流的TikTok账号劫持操控视频

在WHO推送垃圾信息的演示

TikTok APP使用不安全的HTTP协议来传输或下载视频内容,就和其他有大量用户群体的媒体软件一样,TikTok依赖于CDN(内容分发网络),按地理位置分享海量数据。TikTok的CDN选择通过HTTP传输视频和其他媒体数据。尽管这种放能够改善数据的传输性能,却将用户的隐私置于风险之中。HTTP流量很轻易地就可以被追踪,甚至被攻击者篡改。本文阐释了攻击者篡改TikTok用户已发布内容的方式,即使是认证过的帐户也可以实现。

验证起因

现在的APP在保护用户隐私和展示信息完整度方面往往备受期待。然而,APP使用不安全的HTTP协议进行数据传输,往往也不能保证用户接收到的数据不被监视或者篡改。这就是为什么苹果要在iOS9中引入APP 传输协议,并要求所有的HTTP连接转为使用加密的HTTPS。谷歌也改变了Andrioid Pie中的网络安全默认设置,屏蔽所有HTTP的明文流量。

与此同时,苹果和谷歌也为开发人员提供了一种退出HTTPS的方法,以实现向后兼容。然而,这只是常规中的例外情况,大多数APP已经过渡到HTTPS。截至发文,TikTok iOS(15.5.6版本)和安卓(15.7.4版本)仍使用未加密的HTTP来连接TikTok的CDN。

开发人员使用Wireshark进行TikTok APP的流量捕获和分析,事实上,在这个过程中是很难遗漏通过HTTP传输的大量数据的。如果仔细检查网络数据包,可以清晰地发现这些传输的视频或者图片都是未加密的。

因此,可以说TikTok继承了所有已知的HTTP漏洞。任何TikTok APP和TikTok CDN之间的路由器都能够轻而易举地查看用户下载和观看的历史记录。公共wifi运营商、互联网服务供应商以及情报机构都可以不费吹灰之力便收集到这些数据。

图1:TikTok使用的HTTP网络流量

TikTok通过HTTP传输的数据内容包含:

视频:应用显示的所有视频

个人资料照片:TikTok帐户的个人资料照片

视频静止图像:下载视频时显示的视频预览图像

捕获的数据表明,视频是从以下域名下载的:

http://v19.muscdn.com

http://v21.muscdn.com

http://v34.muscdn.com

另外,个人资料照片和静止图像可从http://p16.muscdn.com下载。

以上列出的各种内容都易于追踪。比如,观看的历史记录可以从http://v34.muscdn.com下载捕获的网络流量中创建。

而且,中间人攻击可以改变下载内容。比如,将帐户的个人资料照片用其他伪造的照片替代。然而,替换照片不像替换视频那么关键。能够替换视频产生的影响力才是更大的。因此,攻击者可以利用一个名人的或者是可信的账号,替换其中的视频,传播垃圾信息和虚假事实,这种影响力是很可怕的。

在一个比较主流的平台,比如TikTok,误导性或者虚假性视频会产生很大的风险。这也是中间人攻击的潜在动因。接下来的部分,将进一步挖掘背后的技术原理。

验证过程

两位开发人员准备了一组伪造的视频,并将其托管在模仿TikTok CDN服务器行为的服务器上,即v34.muscdn.com。简单起见,他们只搭建了一个替换视频的场景,尽管也可替换个人资料照片,但是这里保持不变。而且,这里只模仿一台视频服务器的行为,这样可以很好地将真实视频和虚假视频进行混合,看起来更真实可信。

为了能够让TikTok显示伪造的视频,首先需要将其定向到虚假的服务器上。因为虚假服务器冒充了TikTok服务器,所以APP无法识别,且会连接到这个虚假服务器上。这样子APP就会“盲目”地推送服务器上的视频了。

将APP定向到虚假服务器也不难;只需要在v34.muscdn.com网站中写入DNS记录,这记录会将域名映射到虚假服务器的IP地址上。

只要攻击者有用户连接的路由器访问路径,这就很容易实现了。首先,将v34.muscdn.com域名映射到虚假服务器的记录添加到 DNS服务器上。其次,将感染路由器配置成使用上一步中处理过的DNS服务器。现在,当TikTok APP查找v34.muscdn.com的IP地址时,这个配置过的DNS服务器就会返回虚假服务器的IP地址。最后,APP会将所有后续调用发送到冒充TikTok的假服务器上。

这一过程可以由以下任何一方实行:

  • Wifi运营商:公共wifi网络的运营商可以将路由器配置为使用损坏的DNS服务器

  • VPN供应商:恶意的VPN供应商可以为其用户配置损坏的DNS服务器

  • 互联网服务提供商(ISP):电信公司等互联网服务提供商可以完全访问其客户的互联网连接。他们可以为客户配置损坏的DNS服务器,以交换内容或跟踪用户活动

  • 政府和情报机构:在某些国家/地区,政府和情报机构可以强迫ISP安装跟踪或更改数据的工具

如果这些组织不可信,那么 用户的TikTok观看的内容就已经被篡改或者说不安全了。事实上,任何使用HTTP的网络服务都可以进行这一步的操作。

图2:Wireshark分析的TikTok流量

图2显示了定向到虚假服务器的HTTP网络流量。突出显示的一行即APP发出的视频请求,指向的正是虚假服务器的IP地址192.168.13.2。虚假服务器选择虚假视频并将其返回到APP中,正如视频中展示的那样,用户开始播放攻击者选中的虚假视频了。

请注意,只有视频请求被定向到伪造的服务器。下载个人资料照片和静止图像的请求被定向到真实服务器,按原计划这些保持不变。相比之下,图1显示了使用IP 92.122.188.162发送到真实TikTok服务器的类似视频请求。

图3 英国红十字会账号显示的已被篡改的视频

开发人员创建的伪造视频提供了有关COVID-19的误导性信息。这说明错误信息的传播很大程度挂钩当时热点事件。

如演示视频和图3-6所示,这些虚假视频出现在受欢迎的验证帐户上伪造的视频,例如@ who,@ britishredcross,@ americanredcross,@ tiktok,@ lorengray和@dalia。(@lorengray有超过4,200万关注者和23亿个赞)

图4 黑客入侵的视频出现在TikTok的账号上(iOS)

图5 黑客入侵的视频出现在Loren Gray的帐户(iOS)上

图6:黑客入侵的视频出现在WHO的帐户(Android)上

简而言之,只有连接到家庭路由器的用户才能看到这些恶意内容。但是,如前所示,如果一个受欢迎的DNS服务器被黑客入侵,其中包括损坏的DNS记录,则会大规模出现具有误导性信息、虚假新闻或恶意视频,这并不是完全不可能的。

结论

目前,使用HTTP传输敏感数据的方式尚未消失。如图所示,HTTP为服务器模拟和数据操控打开了大门。开发人员成功拦截了TikTok的流量,并欺骗了该应用程序推送虚假视频,就像它们是由账号本身所发布的那样。对于那些在网络圈“唯恐天下不乱”、利用虚假信息传谣造谣的人来说,这的确是一个“完美”的工具。

*参考来源:mysk.blog,Sandra1432编译

声明:本文来自FreeBuf,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。