随着加密技术的广泛应用以及新型网络技术的不断更迭,网络结构日趋复杂,加密流量呈现爆炸式增长,尤其随着TLS1.3等加密协议的演进和推广,全加密时代悄然来临。加密技术在保护用户隐私的同时也深刻改变了网络安全威胁形势,让恶意服务有机可乘,而传统的检测技术路线在面对恶意加密流量时往往无能为力。在此背景下,基于加密流量的检测与防御势在必行。
本文针对CNCC大会上关于加密流量检测的分享进行探讨,并提出一些见解,希望可以给各位带来一些思考。
加密流量检测的现状
01
流量全密化趋势
随着人们网络安全意识的不断提高和加密技术的广泛应用,在安全与隐私保护需求的驱动下,网络中的加密流量呈现爆炸式增长。
特别是TLS等加密协议的不断演进、DNS加密化、QUIC协议的推广,加密应用的全面普及和网络通信流量的加密化已经成为不可阻挡的趋势,我们正在走向全加密时代。
02
滥用加密的危害
加密流量的使用越来越广泛,然而加密在保护用户隐私的同时也给网络安全带来新的隐患,攻击者可以通过加密来隐藏自己的攻击行为。
从个人与企业的角度来看,网络全面化加密的滥用给个人与企业的财产安全造成了危害。比如暗网中可能存在买卖公民身份信息、数字货币的非法交易,各个社交平台上网络谣言的散布、网络诈骗给人民群众带来的财产损失等。
03
业界研究现状
加密流量检测的研究一直是学术界和工业界都非常关注的技术方向,分析的对象即识别过程中的输入形式,包括数据包级、数据流级、主机级、社区级等,流量识别的目标也是多样的,包括加密与非加密流量识别、加密协议识别(如SSL、SSH、IPSec、QUIC等)、服务识别(如网页浏览、流媒体、即时通信、网络存储等)、加密应用软件识别(如淘宝、微信、Skype等,还可进一步精细化分类应用所属类型,如Skype可以分为即时消息、语音通话、视频通话、文件传输等),还有更细粒度的加密流量内容参数识别(如发文本、抢红包、视频清晰度等)、网站指纹识别(特定敏感网站)、异常加密流量识别(如恶意软件通信流量、黑客工具产生的流量等)等。
以破密方法应对加密流量检测的思路已经越来越难以为继,当前的研究思路以非破密手段为主,在不解密的前提下实现加密流量的检测与识别,且部分方法仍然使用了加密流量中尚存的明文部分,比如加密协议握手过程中传输的明文信息。
加密流量检测的难点
01
特征信息不足
流量全加密时代的来临导致明文信息不足,载荷不能作为识别加密流量的特征,包长序列、包到达时间等特征也不足以区分不同的加密流量,可用特征维度显著减少,高辨别力特征更加稀有,所以维持和提升加密流量识别性能的瓶颈是分类特征的信息量不足,而非识别算法。我们需要挖掘隐藏的特征属性、增加分类特征,进而给识别任务带来增量信息。
02
概念漂移问题
随着网络安全攻防对抗的愈演愈烈,识别目标会不断迭代、优化、升级、甚至发生改变,加密流量的特征也会随之发生变化,这些概念漂移问题使得之前训练好的模型的准确率等性能可能会逐渐下降。可能的解决思路是对模型的结构进行调整以适应概念漂移,比如加深层、加宽层、根据数据分布变化复合新旧模型等。
03
标注样本缺乏
传统的机器学习方法依赖于大量标注好的样本,不仅需要大量人力导致标注成本极高,也可能有侵犯用户隐私的风险,而且新的识别目标在出现早期都是小样本或者零样本的,不再适应这种新场景下的机器学习要求。我们需要研究如何减少对标注数据的需求,可以考虑小样本学习、主动学习、半监督学习、无监督学习等方法。
04
开集识别问题
目前有各种算法应用于加密流量的识别,有监督机器学习、无监督机器学习、半监督机器学习、强化学习、自学习等,其中最主要的研究和应用还是聚集在有监督机器学习。以应用识别为例,现实中应用数量是在百万级以上的,目前大部分AI的理论基础是将所有应用的数据都输入给模型进行训练,才能获得一个可用的识别模型,然而这是不现实的。因此对于开放环境中未知样本的识别,研究如何降低对先验知识的依赖以及如何提升识别模型的鲁棒性与泛化性是非常必要的。
05
推理性能待提升
从公司层面来讲,AI模型的推理过程非常消耗计算资源,虽然有很多优化和加速的方法,但是相比传统的规则匹配等技术,AI的推理性能还是存在数量级上的差异。因此在工程实现上需要保证模型的可用性,能够得到稳定及时的计算结果,进而应对高速网络环境下加密流量实时识别的挑战,想办法提升推理性能是非常必要的。
加密流量检测的出路
01
构建真实网络环境下的数据集
由于现网环境非常复杂,很多时候我们在封闭数据集下训练的模型,上线之后性能表现并不理想,这时我们要考虑环境带来的影响因素。相同类别的加密流量在不同网络环境(WiFi、4G/5G移动通信、物联网、工控网、区块链网络)下的包长、载荷长度序列等特征有一定差异,训练环境与实际环境的不一致可能导致训练数据与实际数据分布的差异,所以理论与实际网络环境往往难以契合。
如何能够保证模型在现网环境上线后的性能。一方面,能适配或解决不同网络环境的识别方案本身尤为重要;另一方面,我们可以通过模拟真实网络环境,搭建接近真实网络环境的攻防对抗场景,尽可能构建真实环境下的数据集,用于对模型和方法的测评,使得模型上线后的性能影响被降到最小。
02
基于AI寻找大数据统计规律
流量的全加密导致传统的具有明确意义的特征失效,从技术发展趋势来看,下一代技术是基于大数据的统计特征,即在大量数据上做统计,基于统计的结论提取能够描述样本分布本质原因的特征,这个过程通过AI来实现,因为AI的强项就是分析大量数据找到统计规律。
当然,AI在图像识别、语音识别等领域应用广泛,但是在流量识别领域,AI尚处于起步阶段,还有很大的挑战和很多需要突破的技术点,所以AI暂时可能不适合做最后一步的判定,而是适合数据处理和辅助决策,基于AI的加密流量检测也将会是一个长期的研究课题。
03
不放弃传统技术和已有能力
加密不是一个新生事物,由于密码学的限制,加密协议的发展也是循序渐进的,除了新增的一些功能或特征,也有一些共性。首先,加密协议的握手过程必不可少,且或多或少都有明文传输,尽管QUIC协议增加了首包混淆机制,但也并非严格意义上的加密,当然TLS、QUIC等协议都在尽可能减少明文,比如TLS1.3相比TLS1.2对握手过程进行了更多的加密,QUIC协议除了前8个字节做到了近乎全加密;其次,流式加密不改变包长。
尽管加密协议不断演进,但是一些统计意义的字符串和包长特征的方法还是一直有效,我们不能抛弃传统的技术和已有能力。总体来说,流量的加密化演进和识别技术的发展是螺旋式上升的过程。在落地过程中,要依赖AI专家和安全专家,对流量数据有深入的理解,针对使用不同方式加密的流量,采用不同的检测和识别方案。
04
构建分层检测体系
网络中流量的构成十分复杂,加密流量的检测与识别从来不是在单一数据集上做单一模型就能够解决的问题。从落地层面来讲,为了实现各类加密流量的识别,可以构建分层检测体系,不同层级解决不同问题。
针对不同类型的数据,通过数据采集与处理、特征提取与选择、指纹构建等过程,以实现不同目标的加密流量的精准识别。以多维度特征提取为例,可以提取数据包载荷等元数据特征、数据包长度序列等会话特征、数据包响应时间等时间特征、历史访问行为等主机特征。再以指纹构建为例,可以在流量中提取直接可见可理解的状态化指纹,也可以以间接化的方式提取流量产生的概念化指纹,甚至通过统计、转换、映射等方式提取用于表征对象行为信息的行为化指纹。
05
多方协同共同维护网络空间安全
与用户协同:随着流量的全密化,常用的有监督模型的标注成本非常高,但并不是所有的用户行为都是非常私密的,假如有一些用户愿意在特定场景下贡献自己的数据或者辅助标注数据,相关受益方再给用户支付一定费用,这样可以大大减少技术上打标的难度。
与运营商协同:在大网级别甚至国家级对抗上,调动运营商以上级别的流量调度能力和标注能力,形成并利用上帝视角优势,最大限度地提升事件观测的覆盖度和准确度,对特定的目标流量数据在全网范围内进行持续观测、积累和分析,最终利用大数据网络行为分析探索加密流量检测的方法。
数据协同:一方面,在监管要求和公司利益博弈下,除了公开数据集或者联盟外,数据持有者之间、数据持有者和模型构建者之间并不能互联互通,造成了一定的数据壁垒问题;另一方面,以网络公害为例,其生态体系不断完善,需要全链条追踪溯源,仅仅依靠单点研判信息量严重不足。因此要在隐私保护的大前提下,利用隐私保护计算、多方安全计算、联邦学习等技术在一定程度上缓解数据共享问题,并实现多点协同分析和研判。
校企协同:学术界往往在做最前沿的研究,我们确实能看到很多优秀的研究成果,但对于其价值很多时候似乎没有相对客观的判断标准,工业界的关注点则不完全相同,能否在真实场景下很好地落地至关重要。因此我们提倡加强校企合作,融合学校的研究优势和企业的产品价值,促进科研成果转化。
总结
随着全球网络安全技术的发展,加密策略在保护隐私的同时也增大了恶意流量被发现和检出的难度,同时技术落地也面临重重挑战。本文针对加密流量检测的研究和落地,探讨了加密流量检测的现状、难点和出路,为全加密时代下如何维护网络安全添砖加瓦。
CNCC大会
[1]https://cncc.ccf.org.cn/web/html15/dayMeetZhibo.html?dayMeetNewsId=8a9e362c7af1ba09017afbd7ad480033&globalId=m8271748750546083841617255458379
本文转自绿盟科技,点击阅读原文可获得完整内容