美文网首页
加密流量分析调研

加密流量分析调研

作者: 明翼 | 来源:发表于2020-07-20 19:26 被阅读0次

0. 加密流量分析的现状

现在越来越多的病毒,木马,C&C控制,多采用加密的方式进行传输数据或控制, 所以导致现在的一些IDS或IPS的防护产品,由于无法解密的原因而失效,为应对这种情况,不少安全公司开始了加密的恶意流量探测技术的研究。

目前国内有比较新的安全公司观成科技在做,利用机器学习进行数据分析,恶意流量的检出率高达99.5%,误报率在5%左右,如果是真的,这个成绩还是很惊人的。

经过大量数据验证和实际网络测试,目前在加密流量安全检测的检出率可达到99.95%,误报率可控制在5%以下;支持检测的网络协议包括SSL(HTTPS、POP3S、IMAPS、FTPS)、SSH、RDP等;支持检测的SSL版本包括SSLv2、SSLv3、TLSv1.0、TLSv1.1、TLSv1.2;支持检测的恶意加密流量包括:超过200种家族恶意代码通信(特洛伊木马、勒索软件、感染式病毒、蠕虫病毒、下载器等),加密通道中的扫描探测、暴力破解和CC攻击等,Tor(暗网)、翻墙软件、非法VPN等应用的通信。

国外思科研究的比较多,他们推出了加密流量分析技术ETA,主要是通过分析加密流量中的一些可见信息,比如ip的数据包长度,包与包之间的间隔, 以及tls中的记录长度,密钥套件信息等数据特征,然后同样是采用机器学习的方法进行数据分析,网上并没有相关检出率和误报率的数据。

我的目的是实验下,按照以上的思路,去实践下,分析加密流量的检测效果到底如何?

1. 数据源获取

机器学习的思路,无非就是数据分析,特征提取,以及建立模型,训练数据,再评测,再训练,来回折腾,思科将前几年用于研究小数据集的流量特征数据的抓取的工具开源了,就是下面要介绍的joy。

所以,实践就从joy工具研究做起。

1.1 joy介绍

joy是思科开源的一个基于libpcap的产品,用于提取网卡中或pcap文件中的流量数据,利用类似于netflow的流数据模型,生成json格式的文件,并未直接用于ETA或其他思科产品,只是一个小型的数据获取和基本分析工具。
开源地址:https://github.com/cisco/joy
主要数据包括:

  • ip数据包的长度,到达时间
  • 字节经验概率的分布
  • tls记录长度和到达时间的顺序
  • 未加密的tls数据,比如密钥套件,密钥套件长度以及服务器证书字符串.
  • dns名称,地址,ttl
  • http标头元素和http前八个字节的body

1.2 joy编译安装

joy的核心代码是c,混杂着一些python脚本,编译还是c的老几样办法:

./configure --enable-gzip && make && make install

这个过程还是挺顺利的,没遇到什么问题。安装环境本来就有安装依赖,如果没有安装过,需要先安装依赖包,如下:

yum install build-essential libssl-dev libpcap-dev libcurl4-openssl-dev

如果是windows或者macos则可以看下开源的wiki。

还有个安装脚本install_joy目录下的install-sh,可以直接安装成一个服务,配置文件也默认生成一个。
默认安装配置文件位置: cat /usr/local/etc/joy/options.cfg
同时会新创建joy用户和用户组,用于运行joy。

1.3 基本使用

选项比较多,功能还是很强大,这里面就不一一列举了,写个基本的命令例子大家可以参考下:

bin/joy  tls=1 bidir=1 dist=1 zeros=0 retrans=0 entropy=1   interface=em1   promisc=1  example=1 username=root   output=joy.json

生成的数据内容实例:

{"sa":"::","da":"ff02::16","pr":58,"sp":null,"dp":null,"bytes_out":56,"num_pkts_out":2,"time_start":1595230896.690740,"time_end":1595230897.518769,"packets":
[{"b":28,"dir":"<","ipt":0},{"b":28,"dir":"<","ipt":828}],"byte_dist":[37,3,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4],"byte_dist_mean":40.803571,"byte_dist_std":
82.553436,"entropy":1.959057,"total_entropy":109.707217,"ip":{"out":{"ttl":1}},"example":56,"expire_type":"i"}

这些字段信息又如何解释那,在joy工具中有个json的文件,有字段名的解释,部分说明:

    "sa" : {"type" : "string",
            "description" : "IP Source Address, as a string. It MAY be in dotted quad notation, e.g. \"10.0.2.15\", or it MAY be an arbitrary hexadecimal JSO
N string, which will be the case when anonymization is used."
           },

    "da" : {"type" : "string",
            "description" : "IP Destination Address, as a string. Its format is identical to the IP Source Address."
           },

    "x" : { "type" : "string",
            "description" : "Timeout. a: active, i: inactive."
          },

2 读pcap包生成flow的json数据

joy tls=1 bidir=1 dist=1 num_pkts=50 zeros=0 retrans=0 entropy=1  /home/miaohq/soft/joy-master/test/pcaps >test.json

3 架构思路

沿着思科的思路,做加密流量的检测,整体思路比较清晰,核心内容如下图:


预测架构
  1. 首先通过网卡抓包或pcap分析程序分析报文,生成tls的流量数据,这一步可以参考joy的代码,
    重点关注tls的生成的部分数据。

  2. 根据joy选取特征和网上一些资料,确定下特征,从json流中提取需要的数据。

  3. 对这些特征数据做归一化等方法进行处理。

  4. 用训练好的模型进行预测。

  5. 如果预测是恶意流量则告警,非恶意流量则不告警。

这里面的几个难点在于:

  1. 模型的训练,需要找到大量的加密的恶意流量和正常的https数据进行训练。
    也就是说数据集的寻找比较困难。
  2. 特征选择
    哪些特征比较重要,哪些特征可以有好的召回率和精准率,需要进一步的测试和挑选。

相关文章

  • 加密流量分析调研

    0. 加密流量分析的现状 现在越来越多的病毒,木马,C&C控制,多采用加密的方式进行传输数据或控制, 所以导致现在...

  • 伊利行业调查报告

    伊利行业调研及战略分析 调研简介:分析思路 行业分析:波特五力模型→核心竞争→PEST 战略分析:Strength...

  • 第10章 云安全机制

    10.1 加密 加密机制可以对抗流量窃听、恶意媒介、授权不足和信任边界重叠 10.1.1 对称加密 加密与解密时用...

  • 咕咚 VS 悦跑圈 竞品分析

    一、调研背景 练习竞品分析的分析方法,掌握分析软件,软件分析 二、调研目的 分析咕咚和悦跑圈的业务模式,主要在...

  • 如何进行产品分析—学习笔记

    产品分析调研 做产品调研要有一个良好的输出 这是一个产品基本的技能。 我们为什么进行产品分析调研呢? 产品分析:了...

  • PHPwebshell 流量加密

    PHPwebshell 流量加密分析 目前市场上的安全设备对于恶意数据流都可精准检测其特征,而常规的一句话木马、菜...

  • 最全面的电商数据化运营

    1.流量 A分析目标 分析流量变化及来源,监控流量趋势想办法提高流量 B分析角度 观察日常及活动流量规律,安排活动...

  • 产品经理必备的四大技能

    1.市场调研技能 市场调研主要包含3个部分:用户调研的能力、竞品分析的能力、数据收集和分析的能力。 a、用户调研 ...

  • 【B端】1.产品规划

    一、工作流程:调研市场→调研用户→规划产品路线→分析需求→管理需求 二、工作内容 1.调研市场 目的:分析产品可能...

  • 优惠券发放需求文档

    目录 一.需求背景及需求分析 1.1 需求背景 1.2 需求分析 二.竞品对应功能点调研分析 2.1 调研对...

网友评论

      本文标题:加密流量分析调研

      本文链接:https://www.haomeiwen.com/subject/uifykktx.html