作者:Jo@北京观成科技

恶意加密流量是当前流量安全检测的痛点和难点。在未解密的情况下如何检测恶意加密流量,机器学习可提供颇为有效的解决方案。传统机器学习依赖于训练数据集和特征工程,而搜集的各类恶意加密流量种类繁多,且可能含有“杂质”,如果对这些数据不加区分,直接进行训练,将会影响模型检测的准确率和误报率。

我们把些恶意加密流量分为三类:恶意软件使用加密通信、加密通道中的攻击行为、恶意或非法加密应用。本文主要针对“恶意软件使用加密通信”进行分析,接下来将从三个方面进行阐述:

(1)恶意软件使用加密通信要素统计;

(2)使用加密通信的恶意软件分类;

(3)恶意软件加密通信方式分析。

一、恶意软件使用加密通信要素统计

为从宏观上总结恶意软件加密通信规律,我们对加密流量(十万个有效的恶意样本)的众多要素进行了统计分析。本文对其中四个要素:通信端口、SSL协议版本、客户端支持的加密套件个数和提供的扩展个数进行统计分析,从统计结果来看,恶意软件加密通信的要素存在一定的规律:

(1)通信端口

恶意软件加密通信使用的端口较为广泛,不仅包括TCP443、TCP465等标准端口,还包括部分非标准端口。整体来看采用TCP443端口最多,占85%以上;其他三个使用比较多的端口为TCP449、TCP9001、TCP465,分别占5.48%、3.71%、1.96%。

图1 恶意加密流量端口分布

(2)TLS/SSL协议版本

在恶意软件的加密流量中,使用TLSv1.2协议通信的占53.56%。早期的几类TLS/SSL版本仍在广泛使用,如

TLSV1.2占56.24%,TLSV1.0占36.26%,SSLV3占6.97%,TLSv1.1和SSLV2占的比重极小。

图2 恶意加密流量TLS协议分布

(3)客户端支持的加密套件个数

从统计结果看到,有将近35%的恶意软件支持12个加密套件,将近25%的恶意软件支持21个,约10%的恶意软件支持36个。

图3 客户端支持的加密套件个数统计

(4)客户端提供的扩展个数

通过统计发现,超过98%的恶意软件客户端提供的TLS扩展个数小于7;其中占比较大的扩展个数是5、3、0,分别占38%、32%、11%。

图4 恶意软件客户端提供的扩展个数

二、使用加密通信的恶意软件分类

我们监测发现,使用加密通信的恶意软件家族超过200种,所有恶意软件中使用加密通信占比超过40%,平均每天新增使用加密通信的恶意软件数量超过1000个,使用加密通信的恶意软件几乎覆盖了所有常见类型,如:特洛伊木马、勒索软件、感染式、蠕虫病毒、下载器等,其中特洛伊木马和下载器类的恶意软件家族占比较高。

图5 加密通信的恶意软件分类

六大类恶意软件TOP5的病毒家族如下(微软杀毒引擎):

图6 典型加密通信恶意软件Top5

三、恶意软件加密通信方式

通过对恶意加密流量的分析,我们把恶意软件产生加密流量的用途分为以下六类:C&C直连、检测主机联网环境、母体正常通信、白站隐蔽中转、蠕虫传播通信、其它。恶意加密流量用途与各类恶意软件的对应关系如下:

下面,我们将对各类加密通信方式进行阐述:

(1)C&C直连

恶意软件在受害主机执行后,通过TLS等加密协议连接C&C(攻击者控制端),这是最常见的直连通讯方式。基于我们监测的数据统计结果,C&C地理位置分布统计情况如下:

图7 C&C地理位置

(2)检测主机联网环境

部分恶意软件在连接C&C服务器之前,会通过直接访问互联网网站的方式来检测主机联网情况,这些操作也会产生TLS加密流量。通过统计发现:使用查询IP类的站点最多,约占39%;使用访问搜索引擎站点约占30%,其它类型站点约占31%。

图8 检测主机联网环境站点

(3)母体程序正常通信

感染式病毒是将恶意代码嵌入在可执行文件中,恶意代码在运行母体程序时被触发。母体被感染后产生的流量有母体应用本身联网流量和恶意软件产生的流量两类。由于可被感染的母体程序类别较多,其加密通信流量与恶意样本本身特性基本无关,本文就不做详细阐述。

(4)白站隐蔽中转

白站是指相对于C&C服务器,可信度较高的站点。攻击者将控制命令或攻击载荷隐藏在白站中,恶意软件运行后,通过SSL协议访问白站获取相关恶意代码或信息。通过统计发现,最常利用的白站包括Amazonaws、Github、Twitter等。

图9 白站隐蔽中转站点排行

隐藏恶意代码的中转文件类型包括图片、脚本、二进制数据等,如下三个实例:

(5)蠕虫传播通信

蠕虫具有自我复制、自我传播的功能,一般利用漏洞、电子邮件等途径进行传播。监测显示近几年活跃的邮件蠕虫已经开始采用TLS协议发送邮件传播,如Dridex家族就含基于TLS协议的邮件蠕虫模块。我们对36个蠕虫家族样本进行分析,有5个家族使用加密通信协议与C&C服务器建立连接:

图10蠕虫样本加密通信占比

(6)其他通信

除以上几类、还有一些如广告软件、漏洞利用等产生的恶意加密流量。

四、总结

最后,我们将常见的恶意软件使用加密通信方式总结如下图:

图11 恶意软件加密通讯示意图

我们利用上述分类方法,对前期流量数据进行分类处理,将恶意加密流量中的杂质进行过滤、并对其进行分类,再进行特征工程和模型训练调参。数据分类处理的细度和准确度,将直接影响最终模型检出的准确率和误报率。

客户端和服务器不支持一般 ssl 协议版本或加密套件。_恶意软件加密通信概要分析...相关推荐

  1. 谷歌浏览器提示客户端和服务器不支持一般 SSL 协议版本或加密套件(亲测有效)

    目录 一.定位问题 二.升级TLS1.2 1.原理 之前架构 调整架构 2.配置nginx 3.配置tomcat 三.访问nginx即可 最近访问一部分网站时,出现如下图所示 " 此网站无法 ...

  2. 此网站无法提供安全连接(客户端和服务器不支持一般 SSL 协议版本或加密套件。)

    最近访问一部分网站时,出现如下图所示 " 此网站无法提供案例连接,客户端和服务器不支持一般 SSL 协议版本或加密套件 " 的问 题. 注意这里显示了非常关键的一句话,xxx使用了 ...

  3. 客户端和服务器不支持一般 ssl 协议版本或加密套件。_SSL:握手过程详解

    1. client--->server:Client hello Version: TLS 1.2:客户端使用的 TLS 版本号. Session ID:会话 ID,首次连接时该字段为空,即 S ...

  4. edge 错误 客户端和服务器不支持常用的 SSL 协议版本或密码套件

    不支持的协议 客户端和服务器不支持常用的 SSL 协议版本或密码套件. 解决方案: 此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规.此文 ...

  5. 客户端和服务器不支持常用的SSL协议版本或密码套件

    如果是是连接了校园网网线c中出现了这种问题(客户端和服务器不支持常用的SSL协议版本或密码套件),我是这么解决的: 然后浏览器就会自动跳转到校园网认证界面,输入账号密码.OK,问题解决!

  6. 此站点的连接不安全,使用不受支持的协议。ERR_SSL_VERSION_OR_CIPHER_MISMATCH(不支持的协议 客户端和服务器不支持常用的 SSL 协议版本或密码套件。)

    文章目录 前言 一.解决方法一 1.Microsoft Edge浏览器→点击右上角的三个点→选择设置 2.选择外观→打开Internet Explorer 模式(IE 模式)按钮 3.打开Micros ...

  7. 服务器端配置的ssl协议版本,客户端ssl协议

    客户端ssl协议 ssl协议  时间:2021-02-24  阅读:() i目录1SSL·1-11. 1SSL简介1-11. 1. 1SSL安全机制1-11. 1. 2SSL协议结构1-11. 2SS ...

  8. 查询jdk支持的 tsl协议版本

    jdk tsl 协议版本 查询jdk支持的 tsl协议版本 查询jdk支持的 tsl协议版本 public static void main(String[] args) throws Excepti ...

  9. android 通过xmpp即时聊天客户端往服务器发消息,利用XMPP协议推送服务器告警信息到安卓平台及桌面...

    XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议. XMPP目前被IETF国际标准组织完成了标准化工作.标准化的核心结果分为两部分: 核心的XML流传输协议 基于XML流传输的即时 ...

最新文章

  1. OpenCV——canny算子
  2. Nginx配置proxy_pass转发的/路径问题
  3. linux交换分区的目录,linux 下的交换分区及根目录
  4. idea Error:(1, 10) java: 需要class, interface或enum, 未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533...
  5. tensorflow支持python3.7吗_前端开发行业真的会被AI取代吗?
  6. 计算机科学与技术专业职业素养,商丘工学院计算机科学与技术专业
  7. 艰难时局下电子发现蓬勃发展
  8. STM32——整形变量转换为字符变量并通过串口发送出去
  9. 辞退了一位简历造假的程序员,简历美化可以,造假不可取!
  10. 基于Revel开发的组件化代码生成器
  11. 如何在visio中画出矩阵
  12. Pycharm 2018安装步骤
  13. 计算机xp上网运行很慢,如何解决WinXP打开我的电脑很慢的问题?
  14. 泛函分析笔记06:Lp与lp空间
  15. C语言入门教程之一变量和常量
  16. 数据治理:数据质量问题出现的原因及解决思路
  17. 央妈不会告诉你的房贷真相:欠银行钱越多越久才越好!
  18. MYSQL cmd命令行大全
  19. Linux系统centos7安装网卡驱动
  20. springBoot下的ftp下载

热门文章

  1. 常见的网站布局方式---左固定右自适应、左右固定中自适应等
  2. Java反射-静态/动态加载类
  3. 把网站图片和php程序分离,我的图片服务器和WEB应用服务器相分离的简单方案
  4. ROS入门笔记(十三):分布式通信
  5. 下滑加载更多js_vue.js怎么实现滑动到底部加载更多数据效果?
  6. 华为抓取错误日志在哪里_抓取网址进行分析爬虫工具Screaming Frog SEO Spider for Mac...
  7. linux查看db2存储过程,DB2查看存储过程里SQL语句的执行情况
  8. dubbo调用超时回滚_如何处理Dubbo调用超时?
  9. python plotly spyder显示_Python绘图工具Plotly的简单使用
  10. pat乙级相当于什么水平_曼彻斯特大学相当于国内什么水平的大学?