2019-05-20 17:54:3814910人阅读
0x00、引子
今天在网上看到北京昌平区网侦中队破获黑客网络犯罪案件,刘先生开发的饭店、酒吧提供点餐、互动平台服务被DDoS,导致数百家合作商户无法进行结账互动,直接经济损失上千万。溯源过程:警方经过近半年的侦查,层层跳转,确定了其中一个攻击源,民警立即来到江苏省某市开展侦查。不得不说这样调查溯源的太浪费人力物力了。那么如何构建高效的溯源系统,为用户提供高附加值的DDOS溯源服务呢?
0x01、业务需求
需求点1:攻击源实时分析:做威胁情报系统的同事都清楚,黑客基础设施一般寿命都不长,伴随着时间的推移,证据的有效性就无法保证。
需求点2:不是每一起DDoS攻击事件都能溯源的,溯源成本很高,如果构建廉价的溯源系统,是我们需要关注的,如果成本足够低,那么溯源在警方的立案标准就会降低。(目前标准:攻击流量峰值达到100G攻击以上)。
需求点3:溯源要定位到人或者团伙,不只是搞定其黑客基础设施。未接触性网络犯罪是由人发起的。最终完结也需要抓捕到嫌疑人。
0x02、系统架构
我们先确定事件发生的场景,在公有云平台上搭建的业务系统。
0x02、系统架构
我们先确定事件发生的场景,在公有云平台上搭建的业务系统。
1、黑客通过控制C&C服务器,间接控制肉鸡进行DDoS攻击,肉鸡的组成成分比较复杂,不过大分部斗殴是IDC内部linux服务器,因为大部分ISP或者公有云厂商的物理服务器有很大的带宽资源。
2、公有云根据部署架构的区分,有双POP点、多AZ节点,多活的数据中心。需要在每个AZ中部署分光和分流设备。同时支持数据镜像,一份给全流量系统(包含DDoS检测系统)、一份给网络入侵检测系统。
3、根据流量统计需求,4层检测需要部署多台dumpServer。和流量采样PcapServer模块。
4、根据流量统计需求,7层检测需要多台LVS转发系统中部署CC检测引擎。
5、最终把检测数据发送给公有云DDoS溯源系统。同时结合安全运营团队分析,最终确定黑客身份,完成DDoS溯源
0x03、详细设计
首先,看4层溯源解决方案。
在保证业务系统黑洞之前的1~5秒内获取我们想要的攻击源。那么需要解决以下几个问题:
1)、如何判断攻击
四层的DDoS攻击主要包括SYN Flood、NTP反射、DNS反射、UDP Flood、TCP Flood,当我们通过分布式抓包的方式获取到pcap数据包后,对包内容进行统计,简单判断:
· SYN包占比达到40%,即可认为SYN Flood
· NTP包占比达到60%,即可认为NTP Flood
· DNS包占比达到60%,即可认为DNS Flood
· UDP包占比达到40%,即可认为UDP Flood
· TCP包占比达到40%,即可认为TCP Flood,判断为TCP Flood的时候,需要联动7层数据。
如果攻击阈值达到2G,或者为动态阈值。给运营商上游路由器发送黑洞请求。
2)、如果溯源
我们把抓包通过集群方式部署,每台x86服务器处理20G,dump数据包的前80个字节。
通过包过滤分析出是出流量还是入流量,然后过滤与指定目标IP无关的流量。然后统计Top1000的流量IP,然后把这些统计数据发送给pcap Server,再把整个集群发过来的Top1000的数据统一排序。生成新Top1000的数据。 这样就可以统计出针对公有云floatingIP对应的top1000 攻击源。
[被攻击IP] 116.202.8.213
[总流量]:5.5GB
[攻击类型]:SYN Flood
3)、如何数据清洗
@1、先去除伪造IP:使用简单的syn cookies判断即可。
@2、通过扫描器回扫Top1000IP,寻找可反入侵的IP,反入侵后获取DDoS程序。
@3、获取威胁情报数据,攻击IP为IDC时候,大部分主机上被部署了下载器。直接可以获取DDoS程序。
4)、获取身份信息
通过DDoS程序,放入养鸡场、或者使用EDR程序监控、或者使用沙箱方式收集外连数据。寻找到C&C服务器。也只有控制服务器才能找到黑客。
最后放一张前段时间溯源的一张截图。
本文作者 bt0sea,原文地址: https://www.4hou.com/system/18029.html