8月24日-25日,由知道创宇主办的第八届KCon黑客大会(简称KCon 2019)在北京昆泰嘉瑞文化中心成功举行,KCon 2019以「无界」为主题,旨在与大家一同开启关于“∞”的探索,钻研技术宇宙中的无穷奥秘。25日下午笔者分享了关于物联网暴露资产的相关的议题《物联网资产变化研究》,接下来通过文字描述分享胶片的主要内容。
在过去两年中,我们持续关注着互联网上暴露的物联网资产的态势和威胁的研究,在研究中发现暴露的物联网资产地址在不断的变化中,并且这个变化量级是不可忽视的。该议题中分享的内容以及建议,不仅可以提高暴露资产信息的准确性,还能为互联网上的精准的威胁狩猎提供到帮助。
一、议题概要
一些网络空间搜索引擎声称暴露在互联网上的各类物联网设备高达数千万计,然而我们发现由于运营商对互联网 IPv4 地址动态分配的策略,国内有相当数量的物联网设备的网络地址处于频繁变化的状态,导致真实暴露的物联网设备数量不及网络空间搜索引擎宣传的四分之一,甚至更少。掌握真实的资产情报,能更精确地跟踪来自物联网的威胁。本议题主要介绍互联网暴露物联网资产的地址变化情况,通过对历史的暴露数据进行对比分析,分析资产变化的原因,并探讨在互联网场景中威胁溯源的一些思路。
1.1 物联网资产识别过程与暴露情况
简单介绍下如何发现暴露在互联网上的物联网资产。首先,我们部署若干扫描节点发送构造好的协议探测包(TCP,UDP等)到目标主机,如果该主机开放了相应的端口及协议,则会按照协议返回相对的Banner,通过匹配Banner中的物联网设备指纹,就会得到一些描述信息,比如:厂商、设备类型、型号、服务版本等等。如此反复的扫描、入库后就可以得到一个物联网资产库。通过对全网的扫描,我们发现2018年全年全球共有5000万物联网资产暴露在互联网上,其中中国就有将近1000万的物联网资产暴露。
1.2 资产暴露的危害
2016年Mirai控制了大量的物联网设备进行DDoS攻击,导致美国东海岸地区网络瘫痪数小时,在法国的攻击更是变本加厉,攻击流量的峰值达到1.1Tbps,创造了DDoS攻击的历史记录,并且Mirai的变种仍在不定期的发动着DDoS攻击。另一方面,最近,我们通过部署的物联网蜜罐也捕获到了许多利用物联网服务进行反射攻击的事件,比如利用路由器开放的UPnP服务,摄像头开放的ONVIF服务来进行反射攻击。所以越来越多的攻击者,利用暴露在互联网上的物联网资产和服务来发起恶意攻击。
当我们遇到这类的暴露资产攻击事件的时候,往往会利用病毒和蠕虫的一些感染特征在网络空间搜索引擎中搜索,得到感染地域分布及态势等信息,但我们使用Mirai的特征在网络空间进行搜索,发现国内有100万左右的量级可以被Mirai感染,可相关研究公布中国被感染的真实数量仅有14万左右,为什么会存在这么大的数量差距呢?我们还发现,在网络空间搜索引擎上搜索到一个物联网资产或服务,而在我们访问的时候页面却不在了,有许多威胁情报的恶意IP、域名、URL等,在我们使用的时候已经不存活了。那是什么原因导致这些问题出现的呢?接下来,我们对这些问题一一做出解答。首先我们看一下物联网资产网络地址变化的情况。
二、IPv4物联网资产变化情况分析
在统计资产变化之前,我们了解下国内的物联网资产端口及协议分布情况。对2018年暴露的物联网资产的端口及协议进行统计,结果如下面PPT中所示。所以接下来主要分析554、80、5060端口暴露的物联网资产的变化情况。
2.1 资产变化统计方法
先抽取若干个物联网资产数量较为稳定的扫描轮次,并选取最早的扫描轮次为基准数据,统计不同的时间间隔下,资产的变化情况,主要对两个轮次的网络地址和端口所对应的设备类型的没有变化资产数量、消失资产数量和新增资产数量进行统计,再通过多轮对比的方式来统计每一种设备类型的变化情况。
2.2 物联网资产变化情况
国内暴露的80端口路由器、554端口摄像头和5060端口VoIP电话的资产变化数量如下面的页面所示:
观察发现:互联网上暴露的物联网资产网络地址,根据类型的不同均存在着不同程度的变化,变化数量最稳定的摄像头也有25%的资产网络地址发生变化,变化最大的VoIP电话有80%之多,并且新增和消失的资产数量相当,变化量随着时间的推移缓慢递增。
接下来,我们又统计了有多少物联网资产不发生变化,我们将摄像头的平均扫描周期由3天提升到7天,再对资产变化进行统计,摄像头的资产变化量从25%上升到了45%。此外,我们还发现间隔56天仍有24万左右的摄像头资产从来没有发生过变化。
观察发现:在一定范围内,缩短国内资产平均扫描周期,可以减少资产变化数量;同样有很大一部分物联网资产地址在观测时间内一直都没有变化。
2.3 亚太地区物联网资产变化
其他国家的物联网资产地址变化具体是什么情况呢?于是,又对亚太地区的两个国家新加坡和日本进行抽样扫描,发现相比于国内,日本和新加坡的资产变化比例明显小的多,仅有不到15%的资产在变化。我们猜测很可能是因为中国的IPv4地址数量远不能满足于需求,所以才会导致变化量比这两个国家要多。
三、资产网络地址变化原因分析
3.1 关于物联网资产变化的猜想
分析具体的物联网资产变化的原因之前,我们先提出两个猜想:
猜想1:是物联网资产的网络地址变更导致我们看到的资产变化
因为从各类的物联网资产的变化统计数据来看,我们知道了每轮对比新增和消失的资产数量相当,所以很可能资产本身是没变的,只是其网络地址变化了,所以我们才看到那么多的资产变化。
猜想2:网络地址变化可能在一定范围内,并且有可能和运营商相关
我们猜测这个网络地址的变化不会是完全随机的,很可能会在一定范围内变化,并且很可能和运营商的策略有关。
带着上面的两点猜想,接下来我们对资产变化的原因进行分析。
3.2 物联网资产网段映射变化分析
对累计2个月扫描发现的物联网资产在同一网段(C段映射)的数量进行统计,发现其中网络地址数量同一个网段内有20至50个资产的占22%,50至100个资产的占15%,100个以上的网段还有5%。所以有大量的物联网资产有处于同一网段的现象,猜测很有可能有一定数量的资产的网络地址会在同一个网段内变化。
接下来,分别对物联网资产网络地址的C类和B类地址段映射的变化情况进行统计,结果如下图中所示,网段映射变化的比例要远小于网络地址的变化的比例,所以这就验证了之前的猜想,物联网资产的网络地址是在一定的网段内进行变化。
那么为什么会有这么多的物联网资产的地址在变化呢?我们在与运营商事业部的同事交流中得到了答案。目前,由于IPv4地址较少,可以通过动态编址技术和NAT技术达到节约地址的目的。动态编址技术可以通过DHCP来实现,当一个设备连接到网络时,该设备会向DHCP服务器申请租借IP地址。当该设备与网络断开连接时,就会放弃刚才所租借的IP地址,DHCP服务器就可以把该IP地址分配给其他设备了[1],所以我们才看到那么多暴露资产在变化。分析到这里,物联网资产变化的原因也渐渐浮出水面,运营商采用的动态编址技术,导致我们看到的物联网资产网络地址变化。
四、IPv6 物联网资产变化情况分析
IPv4的暴露资产的地址变化,可能因为IPv4的地址空间不足有一定关系。所以接下来,我们再看看IPv6的资产网络地址是否也在变化。
4.1 IPv6网络地址探测的困难性
1. IPv6地址空间过大。IPv6地址数量是IPv4的2^96倍。有人做过一个比喻,IPv6地址空间可以为地球上每一粒沙分配一个IP,而且还有剩余。从这个地址量级来看,扫描是十分困难的。
2. 目前IPv6地址使用的实际数量较少,并且地址分布的随机性较大,这无形增加了扫描难度。
3. 如果通过对全网段扫描来发现IPv6资产,从时间和资源上都是不切实际。
4.2 利用UPnP发现双栈物联网资产
那么我们就不能发现IPv6资产了吗?当然也可以,通过参考Cisco Talos实验室的一篇博客文章[1]中介绍的方法,我们利用UPnP服务发现了一些国内的IPv6物联网资产。
首先,简单介绍下UPnP:
UPnP是用来实现局域网中各类设备互通互连的协议集合,但因为部分使用者的错误配置,将该服务暴露在互联网中。利用这个协议的一些特性,就可以发现一些暴露的双栈物联网资产。UPnP协议中有两个角色,一个是控制节点,一个是设备节点,每当控制节点上线时,都会向组播地址239.255.255.250:1900发送M-SEARCH的探测包,来寻找可以控制的设备,设备节点收到探测包或者刚加入网络时,同样都会发送一个NOTIFY的数据包到组播地址,来告诉各个节点它的信息。NOTIFY包格式如下图中所示,其中的Location字段是该设备的描述信息的链接,控制节点收到设备发送的NOTIFY的数据包之后,就会访问其Location中的链接,就是通过利用这种交互行为来发现双栈的资产。
具体的操作如下:
1. 我们将Location中的链接构造成我们搭建的IPv6的WEB服务地址
2. 向互联网上暴露的UPnP服务的物联网资产IPv4地址发送构造的NOTIFY的包
3. 如果探测的目标主机有IPv6的地址,该设备就会使用其IPv6地址向我们的WEB服务发出请求
4. 这样我们通过解析请求日志,就可以获得相应的IPv6资产地址。
我们使用上述的方法对国内的IP地址持续两周的扫描,共发现1934个IPv6的物联网资产,通过对这些资产进行存活性统计发现,第一天有1934个资产地址存活,第二天剩1331个资产地址存活,到第五天就仅剩42个资产地址存活。从获取到的IPv6物联网资产存活来看,同样有部分IPv6地址采用动态的分配策略,资产的网络地址也在变化中。因为我们拿到的数据有限,所以具体的IPv6地址变化情况,有待于进一步研究。
五、暴露资产变化的影响及建议
5.1 暴露资产数量
通过上述的分析,我们发现有大量的物联网资产的地址在变化,所以2018年11月,我们在较短的一个扫描周期内对国内物联网资产进行扫描,各个类型的真实暴露数量如图中橙色部分所示,相对于议题开头给出国内累计的暴露数量差距还是比较大,国内路由器的累计暴露的数量大约是真实暴露数量的10倍,这个结果解答了我们之前提出的暴露物联网资产真的有这么多的疑问。累计的暴露资产数据的和某一时刻的真实的暴露资产数据,能在不同维度上描绘暴露情况,所以使用者应根据业务所需场景择优选择。
5.2 资产信息准确性
统计后发现有很多物联网资产在短短的3天中地址就会发生变化,所以如何掌握更准确的资产信息,这里给出以下建议:
1.资产的扫描间隔应该保证在尽可能短的时间内
通过对不同扫描周期的变化进行对比,了解到缩短平均扫描周期,可以减少资产的变化量,所以我们对暴露资产的扫描应该在尽可能短的扫描周期内。
2.及时对历史物联网资产数据做老化
我们知道很多资产在3天或者更多的时间内就发生变化,所以应该对历史的数据及时做老化处理,或者打上标签,谨慎使用历史资产数据。
3.地址不变和变化的资产差异对待
除了看到大量的资产地址在变化,同时我们也发现有一部分资产网络地址一直都不变,所以在扫描上应尽可能的差异对待,变化的资产投入更多的扫描资源,加大扫描力度,而不变的资产缩减扫描投入,这样不但能更合理的分配扫描资源,还能提高资产信息的准确性。
5.3 物联网威胁跟踪
最近,安全从业人员经常谈到威胁跟踪、狩猎、溯源等词语,那么在威胁狩猎场景中,如果我们的底层数据有问题,那狩猎的结果往往也是不准确的。也就是说良好的数据和情报是提供有效威胁狩猎的关键。所以在互联网威胁狩猎场景中应考虑物联网资产历史变化情况,如果资产或情报处于动态分配网段,可使用网段映射进行粗粒度匹配,或者建立网段恶意评价体系,这样才能提高威胁跟踪的精准性。
六、一些说明
议题中的提到的资产变化的结论,是根据2018-2019年资产扫描数据分析得出,如果想了解物联网资产网络地址具体的变化范围,还需要与运营商地址段以及分配策略相结合进行分析。此外,目前获取IPv6物联网资产尚存巨大挑战,有待进一步研究。
完整PPT下载链接:
https://drive.google.com/file/d/1Ez3IlFxEWyAs61NpxhSMleOFjM3k9kL6/view
参考链接:
[1].运营商IP地址规划原则:https://wenku.baidu.com/view/bdf41e9367ec102de3bd894b.html
[2]. IPv6 unmasking via UPnP:https://blog.talosintelligence.com/2019/03/ipv6-unmasking-via-upnp.html
声明:本文来自绿盟科技研究通讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。