威胁加密通信方式的多样化带来的挑战

攻防
2年前

一、加密流量威胁检测现状

  加密威胁流量检测与防御成了流量安全领域无法绕过的一道坎。在部分特殊场景下,可以对入联流量进行SSL/TLS卸载,然后进行明文审计,但这种方案无法有效应对出联的加密通信Shell、木马和恶意代理等威胁。另外有些恶意软件使用非SSL/TLS的其他加密通信方式,也带来了新的检测防御问题。因此,制定有效检测方案的前提和基础是先梳理一下恶意加密通信的几种主要方式。

二、加密通信方式多样化带来的挑战

  通过搜集各知名APT组织、热门黑客工具以及典型恶意软件家族的样本,并对其通信模块、加解密方法等进行了大量逆向分析工作后,我们发现恶意软件使用加密通信的方式是多样的,概括起来主要有以下四种形式:

  1. 基于标准加密通信协议进行加密通信,如SSL/TLS协议等;

  2. 基于网络层协议构建隐蔽加密隧道,如ICMP隧道等;

  3. 基于传输层协议构建隐蔽加密隧道,如TCP、UDP自定义加密隧道等;

  4. 基于应用层协议构建隐蔽加密隧道,如DNS隧道、HTTP隧道等。

下面进行逐个介绍。

1、基于标准加密通信协议

  SSL/TLS流量已经占到互联网总流量的60%以上,某些特定场景下占比可能更高。越来越多的恶意软件、黑客工具和高级持续性威胁转向SSL/TLS通信。比较高级的恶意加密流量会在多个方面尽量模仿正常SSL/TLS流量,以达到规避检测的目的。下面是北欧某APT组织的一款后门程序产生的SSL/TLS流量:

  1. 协议版本

  与普通木马不同,顶级APT组织在使用SSL/TLS通信时极少使用TLSv1.2以下的版本,也通常不会选择TLSv1.3这种目前尚未成为主流的协议版本。

 威胁加密通信方式01.png

图1 协议版本号为TLS1.2

  2. 密码套件

  TLS协议的Client Hello消息中,客户端向服务端报告支持的密码套件。这个密码套件的类型、顺序在一定程度上可以体现客户端应用程序的特征。仅以密码套件数量为例,正常的应用程序,比如各种热门浏览器,密码套件的数量通常在20-40之间。本次分析的后门文件,提供26个密码套件。

 威胁加密通信方式02.png

图2 客户端支持的26个密码套件

  3. 扩展信息

  一般情况下,正常应用程序倾向于完整的使用TLS协议的丰富扩展能力,实现TLS协议的高级特性,但是恶意软件只会使用必须的基础扩展。本次分析的后门文件,共使用了7个扩展。

 威胁加密通信方式03.png

图3 客户端携带的7个扩展信息

  4. 证书特征

  本样本使用经过CA签名认证的证书,而且证书元素如Common Name等也与普通恶意软件不同,存在较强迷惑性。

 威胁加密通信方式04.png

图4 证书信息

  尽管高级威胁在协议层面尽量模拟正常SSL/TLS协议流量,但是高级威胁所进行的数据交互,反映到流量层面即其单流行为、多流行为是无法隐藏的。以多流行为为例,该样本是一个后门程序,为了保持连接,会体现出明显的心跳特征,如下图所示:

 威胁加密通信方式05.png

图5 样本多流行为:心跳2次/分

2、基于网络层协议的隐蔽隧道

  网络层隐蔽隧道是指利用网络层协议的字段或载荷传递加密数据的隧道。以ICMP协议隧道为例,目前有许多知名的ICMP隧道工具如icmptunnel、ptunnel等。默认配置下,这些隧道工具产生的流量特征比较明显。但是这类工具通常开放源码,可以方便的进行自定义修改,加入定制的标准/非标准加密算法对隧道数据进行加密,给检测带来一定难度。

 威胁加密通信方式06.png

图6 ptunnel隧道工具传输加密载荷

  如果我们从ICMP协议本身的用途进行考察,就会发现ICMP协议本身是一个控制管理协议,从设计之初就不是用于传输大量数据的。例如常用操作系统的默认ping请求和响应包,其载荷格式固定,此时在两个IP之间的信息交互近似等于0。因此从多流统计的角度进行考察,衡量两个IP之间ICMP流量交互信息大小,也可以实现有效的检测。为了进一步排除误报,通过搜集现网流量中大量的正常ICMP请求,和各类ICMP隧道工具产生的恶意流量,训练相应的机器学习或深度学习模型进行辅助判断。

3、基于传输层协议的隐蔽隧道

  传输层隐蔽隧道是指在传输层之上,使用了自定义的加密通信协议,包括TCP自定义加密通信协议和UDP自定义加密通信协议。举个例子来说明,Kelihos僵尸网络家族,曾经一度是互联网中最大规模的垃圾邮件发送网络,同时具有下发其他木马、病毒运行的高度危险行为。该僵尸网络家族的C&C通信使用基于80端口的自定义加密协议,表面看起来是普通加密数据,经过深入分析发现其网络协议中存在自定义格式,传输RSA公钥、数字签名、特殊协议头和版本信息等,命令与控制数据通过协商的密钥和自定义加密算法加密传输。下图是Kelihos家族恶意程序所产生的加密流量:

威胁加密通信方式07.png

图7 Kelihos家族自定义加密协议通信

4、基于应用层协议的隐蔽隧道

  应用层隐蔽隧道是指执行标准应用层协议通信规范,但在标准协议的字段中夹带加密数据,常见类型包括DNS隧道、HTTP隧道等。热门黑客工具如CobaltStrike等,均自带DNS隧道功能。如北欧另一APT组织的某家族在通信中采用HTTP隧道,通过Cookie字段来传递数据。通过RC4算法加密cookie中的数据后再经过base64编码进行传输,如下图所示:

 威胁加密通信方式08.png

图8 使用HTTP中的cookie字段发送数据

  综上所述,高级威胁使用加密通信的方式是多种多样的,没有任何一种检测方法可以解决所有问题,针对不同的威胁类型,只有制定针对性的检测方案才能够有效应对。

三、加密流量威胁检测的探索与实践

  针对不同类型的加密威胁,我们以人工智能、密码分析、协议分析为基础,再结合指纹特征及行为分析,形成了一整套针对加密威胁的检测体系,初步形成了与高级加密威胁进行对抗的能力,检测技术框架参见下图:

 威胁加密通信方式09.png

图9 整体检测框架

  案例一:SSL/TLS恶意加密通信检测

 威胁加密通信方式10.png

图10 SSL/TLS恶意加密通信检测结果

  案例二:隐蔽加密隧道通信检测

 威胁加密通信方式11.png

图11 隐蔽加密隧道通信检测结果

  与高级加密威胁对抗,任重而道远。除了要面对因通信方式多样化所带来的挑战外,新的加密协议出现、已有加密协议升级、迭代频繁的恶意软件、黑客工具等都对现有的检测体系提出了更高的要求和挑战。尽管如此,观成科技将与友商一道,为加密流量威胁检测与防御做出自己的贡献。

  观成科技作为以加密流量检测为核心技术的创新型安全厂商,坚持“自主研发、持续创新”,公司将人工智能、攻防技术和密码技术相结合,在国内首家推出针对加密流量AI安全检测、防御的创新型产品,产品已申请加密流量检测相关国家发明专利20余篇,应用在军工、网信、部委、央企等重要客户,并被多个央企、龙头安全企业选为合作伙伴。



参考阅读

[调查]近半数恶意软件藏身TLS加密通信

2000万恶意软件样本公开发布