作者:2020-03-18阅读次数:10167评论:2
公布时间:作者:【安全平台部宙斯盾团队】邓子 & 晨晨
2)集成学习
我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,单个维度的异常不足以判断攻击,大多数时候我们只能得到多个有偏好的模型(弱分类器,在某些方面表现的比较好)。
因此,我们引入了集成学习法。集成学习就是组合这里的多个弱分类器以期得到一个更好更全面的强分类器。集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来,以达到博采众长的目的,从而具有更好的模型泛化能力,有效降低误报。针对DDoS攻击特性分析提取业务流量的特定维度特征,基于多维特征训练若干个个体学习器,并借助集成学习算法得到一个更好更全面的强学习器。自然地,就产生两个问题:
怎么训练每个个体学习器?
在流量模型自学习的过程中,用户可以自定义学习周期,周期越长越能够准确反映用户的流量分布。通过一段时间的学习,系统将准确获取该用户在一段时间内的流量分布,形成包含L4-L7层信息的流量模型,特征包括但不限于:周期内的流量包量/情况、IP/端口分布统计、协议分布统计、连接数/请求量情况。基于多维特征训练若干个个体学习器,通过获取周期内的流量模型,结合用户的流量参数,最终生成一个与用户实际流量拟合得最好的训练模型,并作为后续判断网络中是否存在异常流量的标准。
怎么融合每个个体学习器?
集成学习会挑选一些简单的基础模型进行组装,组装这些基础模型的思路主要有 2 种方法:Bagging,Boosting
检测系统往往需要在大规模的网络流量中,做到对攻击的秒级检测,对实时性要求非常高。Bagging算法可以并行生成各个体学习器,能够极大的提升检测效率。其算法过程如下:
A)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)
B)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)
C)对分类问题:将上步得到的k个模型采用投票的方式得到分类结果(如果是回归问题,计算上述模型的均值作为最后的结果,这里不做赘述)。
图6: bagging集成学习法
DDoS检测是一个分类问题。对分类来说,学习器 将从类别集合中预测出一个类别标签,最常用的是投票法(可根据具体的数据情况进行选择调整)。
---绝对多数投票法(majority voting):即如果某类别标签的投票过半数,则预测结果为该类别。
---相对多数投票法(plurality voting):即预测为得票最多的类别标签,若同时出现多个票数最多,则任选其一。
---加权投票法(weighted voting):即为不同的标记赋予不同的权重,最后再按照相对多数投票法来预测。
注:加权投票法的权重从训练数据中学习而得。
2.2.2 防护逻辑
基于AI的防护方案通过海量的旁路数据训练深度学习模型,模型训练成熟后就具有自动判断正常和异常的能力。在防护过程中,防护系统保持与AI模型通信:防护系统负责采集数据,并发送到AI模型,模型判断数据的合法性,并把结果发送到防护系统,防护系统根据模型的判断结果可以对攻击源进行拉黑等处理,从而实现对DDoS的有效防护。
图 7: 防护系统架构
防护测针对不同攻击场景的差异性定制化AI模型,并充分利用不同AI算法的处理优势实现识别率的最大化,其中CNN AI 模型的架构如图8。CNN AI 模型通过对卷积层、池化层等多个层次结构和参数的精心设计,使得模型具备挖掘深层次特征与潜在特征的能力和良好的泛化性能。目前防护侧AI算法在HTTPS CC、连接型TCP DDoS等场景下表现良好。
图 8: CNN AI模型结构
1.HTTPS CC
HTTPS为数据传输带来更高的安全性的同时,也给了黑客可乘之机。HTTPS协议在网络上传输加密的报文,传统的内容检测技术失去了效果。由于处理HTTPS连接的巨大资源消耗,让HTTPS的DDoS攻击成本较低,危害性却较大。
传统的防护方案对加密流量进行解密,然后在已解密的明文信息中提取攻击特征,从而进行攻击流量识别,降级为普通HTTP CC防护。依赖解密流量的方案其缺点非常明显: 对海量的加密流量逐个解密,防御HTTPS CC对系统的消耗大约是HTTP CC的10倍;场景受限,很多场景,特别是公有云场景,用户并不会将证书导入第三方的防护设备,导致防护系统不具备解密能力,无法防护HTTPS CC。为此需要一种在不解密场景下的HTTPS CC防护方案。
AI防护方案:基于卷积神经网络的HTTPS CC攻击的不解密识别方案应运而生,其核心思想是业务与攻击在SSL握手阶段行为习惯不一致。模型通过对多维度协议特征与行为特征进行学习,实现在不解密情况下,对HTTPS攻击流量的识别。本方案无需解密流量,大大节省开销,在多场景均可适用,具备良好的移植性。同时,从大数据中学习丰富多样的行为模式并延伸出泛化能力,相较传统的行为模式分析,不局限于已知行为模式,具备更高的灵活性和更强的判断能力。去年年底腾讯云某客户就曾遭受HTTPS CC攻击,导致异常连接过多,服务可用性差,开启HTTPS AI模型防护效果良好,可有效拦截攻击流量。
2.连接型TCP DDoS
随着DDoS攻击技术不断提升,黑客越来越偏向于使用真实肉鸡发起的连接型的TCP DDoS攻击。主要原因有:1、虚假源攻击防护技术越来越成熟,传统伪造源IP的攻击手法达不到让服务器拒绝服务的目的;2、黑客的肉鸡资源越来越庞大,每次攻击可以调用大批量肉鸡发起攻击;3、传统TCP防护策略对真实源IP的攻击防护难度大。
现网存在利用肉鸡真实IP发起,建立TCP连接后发送大量垃圾报文,且具有协议栈行为的攻击,传统四层DDoS算法无法有效防护,同时,业务基于私有协议,无法使用JS、验证码等策略做防护,从而导致流量透传,业务瘫痪。现有的挑战算法、成份分析、大数据学习、安全SDK等方案,在一定程度上缓解了攻击,但缺陷也很明显,例如:
图 9: 连接型TCP DDoS
大数据方案:基于大数据对各基线进行学习,即在正常时间段内(没有任何攻击)对流量特性进行学习,包括:新建连接速率、连接并发量等多维度特征。丰富的基线数据作为攻击检测和防护的基础。大数据方案通过基线学习,自动适配不同的业务场景,并且通过学习到的基线用作指导防护,有效提升了连接型TCP DDoS的防护能力。但过于依赖基线,无法覆盖无基线或基线缺失的场景,不具备泛化性能。
安全SDK方案:现有的安全SDK方案通过改造客户端代码接入SDK,客户端访问服务器过程中,均携带经过提前定义好的算法算出来的特定字段,防护端与客户端共享防护算法,接收到客户端发送的报文后,检查该字段合法性,如果客户端发送的该字段非法,则对该连接进行拦截,进而防护连接型TCP DDoS攻击。
安全SDK方案虽然可以防护,但是由于需要修改客户端代码接入,接入门槛较高。而且对部分业务场景,如网站业务都是用户通过浏览器访问,无法改造客户端接入SDK,无法要求所有用户均接入水印,所以对于没有接入水印的用户,无法提供有效防护。同时,接入SDK意味着正常客户端的上行流量会增加,增加了流量成本。
AI防护方案:AI模型采取无监督与有监督结合的方式,通过对会话特征和载荷特征进行采集,不断训练神经网络模型,使其具有判断正常流量及异常流量的能力。模型具有低误杀、高扩展性和兼顾未知攻击类型等的优势。
相对大数据方案,AI防护方案不依赖基线,可以学习各独立特征之间的潜在联系,具备更敏锐的识别技能。同时,泛化能力强,基于大量数据进行自动化学习和训练,无基线场景,如刚上的业务也能防。相对安全SDK,AI防护方案不需要改造客户,即可实现对连接型TCP DDoS攻击的有效、自动的防护,而且对正常业务不会有任何影响,特别适合云这类业务类型繁多、攻击威胁严重、业务重要性高的平台。
人工智能在网络安全领域的应用仍处于初级阶段,挑战机遇并存。持续深挖更多与AI结合的安全场景,构建从数据预处理、数据分析、特征提取、模型训练与参数调优,到模型优化的一体化AI引擎,将有助于传统安全能力的提升。我们也将AI用于传统安全的流量分析,在发现Web攻击、漏洞利用、木马通讯上也取得了一定进展和独有效果,未来有机会将继续与大家分享探讨。
安全平台部宙斯盾DDoS防护系统,基于十余年的防护技术积累,提供专业、可靠的攻击防护解决方案。一直服务于QQ、微信、王者荣耀、LOL、腾讯云等腾讯业务,具备T级流量的DDoS检测和清洗能力,秒级响应,保障业务运营的安全稳定。在服务保障自研业务之余,也进行技术能力输出,目前已经为Garena、知道创宇等合作公司提供防护能力部署支持;也与腾讯云合作输出T-Sec-DDoS高防产品,助力产业互联网客户安全能力升级。
广告时间:团队一直招聘各路英才,如果你对DDoS攻防、流量分析、AI+安全有浓厚兴趣,而且愿意在海量流量防护场景下一展身手,欢迎加入我们。
捐款成功,感谢您的无私奉献
评论留言