|
楼主 |
发表于 2022-1-4 09:09:37
|
显示全部楼层
来自 中国云南文山壮族苗族自治州
DHDISCOVER反射攻击:可将攻击放大近200倍
全球有约31万个IP开放了DHDiscover服务,存在被利用进行DDoS攻击的风险。
开放DHDiscover服务的资产暴露数量最多的五个国家依次是韩国、巴西、越南、中国和美国。
通过对绿盟威胁捕获系统在2020年6月1日到2020年8月18日捕获到的访问37810端口的日志数据进行分析,从6月初到8月上旬攻击呈现上升趋势,8月中旬有所下降,单蜜罐单日捕获数据包数量最大达到了90万个。
绿盟威胁捕获系统捕获的攻击报文长度主要为4字节(54.7%)和62字节(44.9%)。
我们采用了两种方式来对DHDiscover的带宽放大因子进行评估:一是发送62字节的报文,可以得到DHDiscover的平均带宽放大因子为11.4;二是发送4字节的报文,可以得到DHDiscover的平均带宽放大因子为178.8,约有53.6%的DHDiscover服务会对这一报文进行响应,近200倍的带宽放大因子值得引起重视。
绿盟威胁捕获系统数据显示,美国是受DHDiscover反射攻击影响最严重的国家,美国的IP占全部受害者IP的42%。
具备DHDiscover反射攻击能力的样本最早出现于2019年12月7日,当前已经有至少5个样本具备该反射攻击能力。随着攻击者发现其实际放大倍数可达近200倍,相信会有更多的样本中内置该反射攻击能力。
最后,我们也提出了我们对于设备发现类服务在设计层面的思考。设备发现类协议设计的初衷是方便局域网内的设备发现,所以,一般在进行设备发现时,采用的是多播地址。因此,我们认为比较理想的设备发现报文回复策略为:
对多播报文进行回复。
如果是单播报文,判断发送方的IP是否和设备的IP在同一网段,如果在同一网段则回复。也可以把这一策略改为判断发送方的IP是否为局域网IP。
若不为1、2,则不回复。同时,设备加入Discovery回复任意单播报文的功能,可在需要时由用户开启,但是设备出厂时默认关闭该功能。
一、DHDiscover简介
2020年3月,腾讯发表了一篇关于某DVR被用于反射攻击的文章[1]。该DVR的服务端口为37810,因其探测报文中包含DHDiscover字样,因此,我们将其称之为DHDiscover服务。
DHDiscover服务探测报文长度为62字节,设备返回的内容如下所示,可以看到关于设备的很多信息,如MAC地址、设备类型、设备型号、HTTP Port、设备序列号、设备版本号等,因此,我们推测该服务被用于设备发现:
\x00\x00\x00DHIP\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x00\x00{“mac”:”38:af:29:26:f8:80″,”method”:”client.notifyDevInfo”,”params”:{“deviceInfo”:{“AlarmInputChannels”:16,”AlarmOutputChannels”:3,”DeviceClass”:”HCVR”,”DeviceType”:”DH-********-*”,”Find”:”BD”,”HttpPort”:80,”IPv4Address”:{“DefaultGateway”:”192.168.0.1″,”DhcpEnable”:true,”IPAddress”:”192.168.0.19″,”SubnetMask”:”255.255.255.0″},”IPv6Address”:{“DefaultGateway”:””,”DhcpEnable”:null,”IPAddress”:”\\/64″,”LinkLocalAddress”:”fe80::3aaf:29ff:fe24:****\\/64″},”Init”:166,”MachineName”:”XVR”,”Manufacturer”:”Private”,”Port”:37777,”RemoteVideoInputChannels”:0,”SerialNo”:”4D019B8PAZ4****”,”Vendor”:”Private”,”Version”:”4.000.10****.0″,”VideoInputChannels”:16,”VideoOutputChannels”:0}}}\n\x00’
我们将DHDiscover相关关键词在威胁情报平台AlienVault OTX进行了检索,检索方式为Google: DHDiscover.search sitetx.alienvault.com/。
我们对这5个样本出现的时间进行了简要分析,发现有1个样本最早出现在2019年12月7日(注:第一个样本的时间数据来自AlienVault OTX,其他样本的时间数据以及所有样本的下载URL数据来自VirusTotal。),并且这个样本处于持续活跃的状态,有1个样本出现在2020年3月3日,还有3个样本出现在2020年4月13日。
样本MD5出现时间
73697e97fb48df3d9b52a4fa4d97c074 http://144.217.34.147/jug7 http://ip04.montreal01.cloud.hosthavoc.com/jug7 2019/12/7-2020/8/18
ccbd299499183b3b889951071182fcb1 http://104.168.215.223/jibmips 2020/3/3
b46d2b948d239e257445b6c62f41a6df http://103.214.6.199/fuk.mips64 2020/4/13
a58b18742f910ee979bd55678ad6e54a http://103.214.6.199/fuk.mips 2020/4/13
c29ed229587825b425b215b8f9f2ef5e http://103.214.6.199/fuk.spc 2020/4/13
表 1.1 相关样本及其出现时间
二、DHDiscover服务暴露情况分析
本章我们对DHDiscover服务的暴露情况进行了分析,采用的是绿盟威胁情报中心(NTI)在2020年6月的一轮完整测绘数据。
全球有约31万个IP开放了DHDiscover服务,存在被利用进行DDoS攻击的风险。
在绿盟威胁捕获系统的数据中,我们不只捕获了对37810端口的DHDiscover服务探测行为,也在23000端口捕获到少量探测行为。因此,我们对这两个端口分别进行了一轮测绘。过滤掉无关数据后,发现开放37810端口的资产多达30万个,而开放23000端口的资产也有7000多个。
开放DHDiscover服务的资产暴露数量最多的五个国家依次是韩国、巴西、越南、中国和美国。
三、DHDiscover反射攻击分析
本章我们通过绿盟威胁捕获系统在2020年6月1日到2020年8月18日捕获到的访问37810端口的日志数据来说明当前DHDiscover反射攻击的威胁态势。
我们对绿盟威胁捕获系统捕获到的37810端口的日志数量进行了分析。可以看出从6月初到8月上旬攻击呈现上升趋势,8月中旬有所下降,单蜜罐单日捕获数据包数量最大达到了90万个。
DHDiscover服务被访问趋势
我们对37810端口收到的日志数据中的payload进行了统计,出于尽量不扩散攻击报文的考虑,这里我们按照出现的报文的长度对其命名。从图 3.2 中可以看出,攻击者较常使用的Payload的长度有4字节和62字节,其中,62字节的Payload也在腾讯写的文章中被提及过。
绿盟威胁捕获系统捕获的payload占比情况
结合绿盟威胁捕获系统捕获的payload占比情况,我们分别采用Payload4和Payload62进行了一轮全网测绘。如表 3.1 所示,53.6%的DHDiscover服务对Payload4进行了响应,这些IP可能造成的反射攻击带宽放大因子(放大因子我们采用NDSS 2014的论文Amplification Hell: Revisiting Network Protocols for DDoS Abuse上对于带宽放大因子的定义,不包含UDP的报文头。)[2]高达178.5。通过采用Payload62进行测绘,可以得到DHDiscover服务的全网暴露情况,由此得到的带宽放大因子为11.4。
发送报文长度 响应报文平均长度 响应数量 带宽放大因子
4 714.1 165335 178.5
62 705.3 308198 11.4
表 3.1 DHDiscover反射攻击带宽放大因子评估
DHDiscover反射攻击受害者IP数量的国家分布情况如图 3.3 所示。从图中可以看出,美国是受害最严重的国家,美国的IP占全部受害者IP的42%。
注意:这里我们对单IP单日包数大于50个的数据进行的统计。
DHDiscover反射攻击受害者的国家分布
四、结语
借助绿盟威胁情报中心(NTI)的全网测绘数据和绿盟威胁捕获系统的威胁捕获数据,本文对DHDiscover服务的全网暴露情况、反射攻击趋势、攻击者常用的攻击手法、反射攻击带宽放大因子等进行了分析。DHDiscover是视频监控设备的设备发现服务,在此之前,我们也对WS-Discovery[3]进行过分析,视频监控组织ONVIF选择了将WS-Discovery作为设备发现协议,在我们去年的数据中,约73万开放WS-Discovery服务的视频监控设备暴露在了互联网上。因此,DHDiscover和WS-Discovery等设备发现服务需要引起视频监控厂商的重视。
由于DHDiscover服务暴露数量较多,因此,我们也与相关厂商进行了联系。厂商给我们的反馈是,其已经在产品中提供了Discovery启用和关闭功能,但是由于出厂时并不知道客户在公网还是受限网络部署设备,因此默认这个功能是开启的,但客户可以选择将这个功能关闭。另外,设备也提供了防火墙功能,客户可以根据实际需求进行配置,被拒绝访问的IP网段无法与设备进行通信。如果用户的设备中还未发现这两个功能,可以通过官网或者云升级等方式将设备升级。
我们认为Discovery类DDoS的检测和防护是一个多方参与的事情,因此,我们有如下建议。
1. 作为安全厂商:
扫描能力,及时发现客户网络中存在的安全隐患。
的流量检测能力,及时发现客户网络中存在的安全威胁。也可以关联开放Discovery服务的IP的威胁情报,阻断命中的源IP的连接。
2. 作为设备开发商,除提供服务开启关闭、黑白名单功能外,我们建议加入白名单自学习能力,根据用户的使用习惯自动生成白名单,并推荐用户进行相关配置。同时设计更合理的设备发现方法,规避设备被用于进行反射攻击的风险。
3. 作为电信运营商,需遵循BCP38网络入口过滤。
4. 作为监管部门,对于网络中的DHDiscover威胁进行监控,发现问题进行通报。
5. 作为Discovery相关设备用户,可以设置设备访问白名单,如无必要,也可以关闭Discovery功能。
6. 作为有DDoS防护需求的用户,购买具备Discovery反射攻击防护能力的安全厂商的DDoS防护产品。
我们从去年开始持续关注与物联网相关的反射攻击,也在不断思考,是否有办法能够从根本上解决这一问题呢?
设备发现类协议设计的初衷是方便局域网内的设备发现,所以,一般在进行设备发现时,采用的是多播地址。比如WS-Discovery采用的地址是239.255.255.250。由于手头没有实验设备,所以我们也不清楚DHDiscover采用的地址是什么,但必然是某一多播地址。而在反射攻击时,攻击者其实是直接给目标设备(IP)发送的探测报文,是单播。因此,可以在设备端对收到的设备发现报文进行分析,判断报文是单播报文,还是多播报文,如果是单播,就不响应就好。这样做的话,理论上可以从根本上解决设备发现服务带来的反射攻击的问题,而且,潜在的好处是,设备发现端口在公网不会被扫描到了。另外,这种方式也不会对未升级的设备的使用带来任何不良影响。在实际使用中,通过单播方式进行设备发现可能也有其使用场景。因此,我们认为比较理想的设备发现报文回复策略为:
1. 对多播报文进行回复。
2. 如果是单播报文,判断发送方的IP是否和设备的IP在同一网段,如果在同一网段则回复。也可以把这一策略改为判断发送方的IP是否为局域网IP。
3. 若不为1、2,则不回复。同时,设备加入Discovery回复任意单播报文的功能,可在需要时由用户开启,但是设备出厂时默认关闭该功能。 |
|