浅谈加密流量安全检测技术

安全 数据安全
尽管采用不解密的技术手段对恶意加密流量的检测已经取得了一定的效果,但是在日常安全监测中仍然存在误报问题,对恶意流量识别的精准率仍需进一步提升。

随着金融数字化转型的快速发展,网络攻击持续复杂化,从企业自身数字化转型到支撑国家数字化发展过程中,一部分防护较为薄弱的金融关键信息基础设施暴露在互联网环境,正在成为网络攻击的重点目标。一方面,《网络安全法》《密码法》《关键信息基础设施安全保护条例》等政策法规对数据安全的相关要求,推升了加密技术在金融关键业务中的应用比例;另一方面,随着攻防双方对抗不断升级,为逃避传统安全设备对攻击行为的检测,一些恶意软件或攻击行为转为加密通信混杂在正常业务数据中。加密技术在提升数据安全性和隐私性的同时也为安全检测带来了新的挑战。本文主要介绍加密流量安全检测技术。

1.常见加密流量类型和面临主要威胁

加密流量是使用加密协议进行数据通信和传输而产生的网络流量。加密流量可分为标准加密协议流量和隐蔽隧道流量两类,常见的标准加密协议有提供加密通信的SSL/TLS协议、用于Web浏览器和Web服务器通信的HTTPS协议、支持电子邮件加密传输的SMTPS和POP3S等;隐蔽隧道指将其它协议封装在常见的网络协议中建立通信用于命令控制或数据泄露,如DNS隧道、ICMP隧道、HTTP隧道等。

加密流量中常见的威胁行为有数据泄露、恶意软件传播、命令控制。标准加密协议在保护数据传输和通信的同时,因加密流量难以被监控或拦截,也可用于隐藏敏感数据泄露行为;而恶意软件或高级威胁攻击行为使用加密通信的情况也越来越普遍,并且加密协议或种类趋向多样化,加密流量成为“藏污纳垢”的“有效”通道。

2.加密流量采集和处理

    随着网络安全技术的发展,流量威胁检测已成为各行各业纵深防御体系中不可缺少的一环。通过网络流量发现和分析威胁攻击行为一般分为三个环节:流量采集、流量处理和检测分析。下面介绍流量采集和流量处理的工作内容。

图1 加密流量威胁检测过程图1 加密流量威胁检测过程

(一)流量采集

    为尽可能降低对业务的影响,流量采集类设备在网络结构中一般采用旁路监听模式部署,通过交换机与网络设备镜像功能,捕获分析网络交换机进出口镜像流量,完成流量采集。

(二)流量处理

    网络流量的协议识别和特征提取是加密流量检测的首要任务,主要包括链路层协议的识别与解封装、IP分片数据和TCP分片数据的重组、网络层和应用层常见协议的识别、明文流量的识别。在协议识别和深度解析的基础上,提取应用报文和各类元数据。主要的元数据包括:协议字段(协议五元组信息、加密算法、HASH算法、密码参数等)、统计信息(会话上行包数、下行包数、上行载荷总量、下行载荷总量)。此外,运营日志在分析中至关重要:ICMP日志、TELNET日志、DNS日志、HTTP日志、SMTP日志、RDP日志等常见通信协议数据。

3.加密流量威胁检测

    由于隐私保护相关法律法规的限制以及加密攻击手段的升级,不同于依赖明文规则和明文特征的传统流量检测方法,目前业界主要使用不解密流量的方法分析加密流量中是否存在恶意攻击行为。主要的检测技术有指纹法、行为分析和机器学习。

(一)指纹法

    TLS协议可以分为两个阶段:握手阶段和数据传输阶段。握手阶段的目的是通信双方约定在数据传输阶段使用的加解密算法及密钥,这些消息都以明文形式发送。通过对这些未加密信息提取指纹信息,与指纹库中的恶意流量指纹进行比对来识别恶意流量。TLS握手过程如下,启动TLS会话时,客户端发送ClientHello数据包,数据包包含客户端支持的TLS协议版本以及加密算法等信息。

图2 TLS握手过程示意图图2 TLS握手过程示意图

    在指纹检测法中,JA3指纹是比较常见的一种方式,主要用来识别SSL/TLS客户端。它基于客户端与服务端TLS握手过程的参数来生成独特的标识,用于识别和分类不同的客户端。例如抓取win10系统使用burpsuite_v2.0工具测试扫描产生的数据包,分析数据包中的客户端JA3指纹,发现此JA3指纹是固定的,通过与指纹库中的指纹信息进行匹配来识别测试工具。

图3 burpsuite_v2.0_win10 JA3指纹图3 burpsuite_v2.0_win10 JA3指纹

(二)行为分析

    行为分析指通过分析通信流量中客户端/服务端的交互方式、交互数据量、交互时间等方面存在的固定特点寻找流量数据的相似性和相关性,进行特征提取,构建恶意家族的行为检测模型,进而实现对恶意加密流量的检测。

    以TLS协议为例,TLS协议承载的正常应用层会话(如HTTP会话),对于每个请求和响应,其客户端/服务端交互方式、交互数据量、交互时间等都会有一定的行为方面的差别。通过分析远控木马的业务类型,发现其行为基本不会脱离激活、上线、下发、回传、心跳,因此在客户端/服务端的交互方式、交互数据量、交互时间等方面都会有固定的特点。这些特点反映在TLS协议的加密数据交互,即Application Data消息(以下简称APPDATA)阶段。行为检测模型可从单流和多流两个角度进行:

•单流行为特征:单流行为从APPDATA交互阶段获取三类信息,一是方向信息,即数据包是上行还是下行;二是大小信息,即APPDATA消息载荷的长度;三是时间信息,即APPDATA消息到达的时间间隔。

•多流行为特征:仅从单流层面考察,有时候并不能反应恶意家族的行为全貌。因此需要提取TLS多流行为特征,表现恶意家族多次会话行为上的特征。多流行为特征主要可分为三类:时间特征、长度特征、数量特征。时间特征主要包括多次会话持续时间、多次会话之间的间隔信息等;长度特征主要包括多次会话中每个会话上行流量、下行流量、总流量的大小等;数量特征主要包括多次会话中每个会话的上行包数、下行包数、总包数等。

    以CobaltStrike(简称CS)为例,CS是一款综合渗透工具,因其功能强大在攻防演练中被广泛使用。CS交互行为经历上线、响应、心跳、下发和回传几个阶段。通过对心跳会话间隔等时间特征、请求体与响应体等长度特征构建行为检测模型识别心跳、下发指令、数据回传、心跳等恶意交互行为,对CS攻击行为进行检测。

图4 CS执行过程及检测结果图4 CS执行过程及检测结果

(三)机器学习

    机器学习检测技术主要是基于以专家领域知识为基础的特征提取和深度学习特征提取技术,采用随机森林、一维卷积神经网络、LSTM等学习方法,对加密流量中的恶意威胁行为进行检测。

    在利用机器学习算法检测的技术路线中,通过对加密流量进行深度分析,将加密流量所能提取的特征相对独立的分为:时空特征、握手特征、证书特征、背景流量特征,分别构建和训练单独的子模型进行检测。不同类型的加密流量,根据所包含的信息,调用不同子模型进行预测,最终在子模型输出基础上,再进行加权平均得到最终预测结果,从而识别加密威胁。

    时空特征指与协议无关的流特征,例如数据包的个数、数据包的大小、数据包到达时间、上下行包长、上下行包到达时间等;握手特征指客户端与服务端发起加密会话后的密钥协商过程特征,例如密码套件、协议版本、支持的扩展项等;证书特征指服务端提供的加密会话证书特征,例如证书链长度、使用者正常度、证书颁发者、证书有效期等;背景流量特征指客户端和服务端在加密会话过程中所关联的DNS、HTTP等其他协议元数据和基于这些元数据计算得出的特征。

图5 机器学习检测模型及示例图5 机器学习检测模型及示例

总结与展望

尽管采用不解密的技术手段对恶意加密流量的检测已经取得了一定的效果,但是在日常安全监测中仍然存在误报问题,对恶意流量识别的精准率仍需进一步提升。因此G行将紧跟前沿技术,不断优化流量检测模型,提升对恶意威胁识别的准确度;同时推进加密流量检测与现有网络安全防御体系其它部分的联动协同,实现对网络威胁的感知和有效应对。

作者:贾晶晶

微信图片_20250308122810.jpg微信图片_20250308122810.jpg

    作为一名运维安全工程师,目前主要负责流量检测设备的安全运维与威胁监控分析。信息安全之路道长且阻,希望不断提升自我能力,致力于成为一名合格的信息安全运营工作者。

编辑:赵星源

图片图片

     业精于勤,荒于嬉;行成于思,毁于随。新入行持续学习中的运维安全人,希望能给大家带来更多精彩文章。

责任编辑:武晓燕 来源: 匠心独运维妙维效
相关推荐

2019-07-23 07:30:27

特征工程加密流量安全

2024-03-14 14:16:13

2022-01-11 15:02:50

加密流量

2023-01-17 07:35:00

2014-04-01 09:08:05

2017-11-30 13:34:51

浅谈视频

2023-10-10 19:00:57

云网关报文检测

2023-10-16 19:05:20

2011-05-19 15:36:58

2011-11-08 11:21:00

2012-11-15 13:52:07

系统密码加密加密系统安全

2015-11-02 09:31:32

2021-11-22 23:20:01

加密算法架构

2016-10-07 14:51:36

2012-12-25 13:45:37

2009-07-15 15:43:57

综合布线测试

2013-06-03 15:15:51

2012-09-13 10:13:01

2015-05-20 16:17:32

网络·安全技术周刊

2022-11-24 15:02:05

APP
点赞
收藏

51CTO技术栈公众号