精华内容
下载资源
问答
  • 准确高效地在骨干网流量中识别各种恶意流量一直都是网络...实验结果表明采用该引擎的恶意流量识别系统对具体会话协议的识别只需要处理对应会话的前20-30个数据包,在保证较高识别准确率的同时,较好地满足了实时性的要求.
  • 识别TLS加密恶意流量

    2019-09-27 11:16:34
    利用背景流量数据(contexual flow data)识别TLS加密恶意流量 识别出加密流量中潜藏的安全威胁具有很大挑战,现已存在一些检测方法利用数据流的元数据来进行检测,包括包长度和到达间隔时间等。来自思科的研究人员...

    利用背景流量数据(contexual flow data)识别TLS加密恶意流量

    识别出加密流量中潜藏的安全威胁具有很大挑战,现已存在一些检测方法利用数据流的元数据来进行检测,包括包长度和到达间隔时间等。来自思科的研究人员扩展现有的检测方法提出一种新的思路(称之为“data omnia”),不需要对加密的恶意流量进行解密,就能检测到采用TLS连接的恶意程序,本文就该检测方法进行简要描述,主要参照思科在AISec’16发表的文章《Identifying Encrypted Malware Traffic with Contextual Flow Data》[1][2][3]。

    屏幕快照 2017-03-21 下午5.42.05

    图1 TLS加密恶意流量检测流程

    首先,分析百万级的正常流量和恶意流量中TLS流、DNS流和HTTP流的不同之处,具体包括未加密的TLS握手信息、TLS流中与目的IP地址相关的DNS响应信息(如图2)、相同源IP地址5min窗口内HTTP流的头部信息;然后,选取具有明显区分度的特征集作为分类器(有监督机器学习)的输入来训练检测模型,从而识别加密的恶意流量。本方法区别于已有研究方法的地方就是利用TLS流相关背景流量信息(包括DNS响应、HTTP头部等)辅助加密恶意流量检测。

    图片2

    图2 TLS流和背景DNS流量

    (红色数据用于链接TLS流和DNS流、绿色数据表示背景信息、未标记颜色的数据表示TLS未加密的头部信息)

     

    思科研究人员自己写了一款基于libpcap的通用工具,用于分析并提取捕获到的数据流(恶意流量和正常流量)的数据特征,包含clientHello, serverHello, certificate和clien-tKeyExchange等信息。

    1. 恶意流量

    采集环境:ThreatGRID[4],一种商业的沙箱环境,提供恶意软件分析功能

    采集时间:2016年1月-2016年4月

    说明: 沙箱环境接受用户提交(user submissions),每个用户提交允许运行5min,所有的网络活动被记录用于分析。

    2. 正常流量(DMZ区流量,本文认为该区域包含少量的恶意流量)

    采集环境:某大型企业网络的DMZ区某5天的数据量

    采集时间:2016年4月

    文中对恶意/正常流量中TLS流及背景流量信息(DNS响应信息、HTTP头部信息)进行统计分析,寻找恶意流量和正常流量中具有明显区分度的数据特征以及相应特征值的规律性。

    1. TLS握手信息:

    选取拥有完整TLS握手信息的TLS流作为研究对象,通过分析TLS握手信息发现,恶意流量和正常流量使用的加密套件(ciphersuites)、支持的扩展(extensions)等方面有很大不同,详见表1。

    表1 恶意流量与正常流量TLS握手信息区别

    屏幕快照 2017-03-21 下午6.02.22

    2. DNS响应信息:

    通过选取和目的IP地址相关的包含DNS响应信息的数据流作为研究对象,提取响应的域名信息进行分析。DNS域名信息也可以从SNI(Server Name Indication)扩展和SANs(subject alternative names)中得知,但由于TLS版本信息等原因,这些字段有时候是不存在的。

    通过分析数据发现, 恶意流量与正常流量的区别主要表现在: 域名的长度、数字字符及非数字或者字母(non-alphanumeric character) 的字符占比、DNS解析出的IP数量、TTL值以及域名是否收录在Alexa网站等。

    域名的长度:正常流量的域名长度分布为均值为6或7的高斯分布(正态分布);而恶意流量的域名(FQDN全称域名)长度多为6(10)。

    数字字符及非字母数字(non-alphanumeric character) 的字符占比:正常流量的DNS响应中全称域名的数字字符的占比和非字母数字字符的占比要大。

    DNS解析出的IP数量:大多数恶意流量和正常流量只返回一个IP地址;其它情况,大部分正常流量返回2-8个IP地址,恶意流量返回4或者11个IP地址。

    TTL:正常流量的TTL值一般为60、300、20、30;而恶意流量多为300,大约22%的DNS响应汇总TTL为100,而这在正常流量中很罕见。

    域名是否收录在Alexa网站:恶意流量域名信息很少收录在Alexa top-1,000,000中,而正常流量域名多收录在其中。

    3. HTTP头部信息:

    选取相同源IP地址5min窗口内的HTTP流作为研究对象,通过分析HTTP头部信息发现,恶意流量和正常流量所选用的HTTP头部字段有很大区别。详见表2。此外,正常流量HTTP头部信息汇总Content-Type多为image/*而恶意流量为text/*、text/htmlcharset=UTF-8或者text/html;charset=UTF-8

    表2 恶意流量与正常流量HTTP头部信息区别

    屏幕快照 2017-03-21 下午6.00.23

    1. 实验数据集

    选取拥有完整TLS握手信息且有DNS响应和HTTP头部信息的数据流进行分析建模。

    选取的特征值包括两部分(这里不赘述数据特征的表示方法,详见论文):

    (1)可直接观测到的元数据:包长度、包到达间隔时间以及字节分布。

    (2)第三章节提到TLS握手信息及对应的背景流量包含的数据特征,包括ciphersuitesextensionspublic key length等。

    分析工具:Python 和 Scikit-learn[5]

    2. 实验过程:

    本文利用10折交叉验证(10-fold cross-validation)和l1正则化的逻辑回归算法(l1-logistic regression)来进行分类(即判断加密流量是否是恶意的)。文中也针对不同数据特征的组合的分类结果进行了统计(图7-Table 1),可以发现利用背景流量信息进行分类的模型不仅准确率会更高,而且参数会更少(根据交叉验证形成模型参数平均计算可得)。

    图7中Table 2 列出了对判别正常流量和异常流量影响权重比较大的数据特征。这些特征很容易解释为什么网络流是恶意的或者是正常的,例如绝大多数的恶意流量样本不会和排名top-1,000,000的网站进行通信。

     

    屏幕快照 2017-03-21 下午5.49.58

    图3 实验结果分析

    文中提到,使用FDR(伪发现率,False Discovery Rate)作为假设检验错误率的控制指标(FDR不超过0.00%)。

    我们收集的特征数据除了用于构造机器学习模型之外,还有其它的一些启示。

    1. Client端的client-hello中的SNI与sever端的certificate中包含的SAN都表示服务器主机名,两者的差异性可以用于恶意流量检测;
    2. HTTP流中的User-Agent和从TLS流中ciphersuites和advertised extensions推测出的User-Agent的差异性也可以用于恶意流量检测。

    3. 实验验证:

    为了防止过拟合,除了上面提到的交叉验证方法之外,我们额外收集了2016年5月这个月期间相同企业网络中DMZ区的流量,用第五章节训练形成的模型来进行验证。从Table 3中可以看到,结合TLS流的背景流量信息DNS响应和HTTP头部信息进行分类的效果最好,即报警数最少。当l1-logistic regression classifier的阈值(Probability of malicious)为0.95时,该分类器只有86个报警(包括29个独立目的IP地址和47个独立的源IP地址),其中有42个报警看似是“误报”。经过分析发现,这些“误报”中,主机是一直和Goolge和Akamai服务器通信,但是从该TLS流的背景流量HTTP流(contexual HTTP)中发现,其与可疑域名进行通信(HTTP中的Host字段),经VirusTotal确认,有50%的反病毒引擎认为和该域名相关的可执行程序是恶意的,这也进一步说明了该模型的有效性。

    屏幕快照 2017-03-21 下午5.48.09

    图4 实验数据验证

    [1]  Identifying Encrypted Malware Traffic with Contextual Flow Data

    http://dl.acm.org/citation.cfm?id=2996768

    [2] 不解密数据竟也能识别TLS加密的恶意流量?http://www.freebuf.com/news/108628.html

    [3] 传输层安全协议抓包分析SSL/TLS http://www.freebuf.com/articles/network/116497.html

    [4]  Cisco AMP Threat Grid  http://www.threatgrid.com , 2016.

    [5]  F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. Scikit-learn: Machine Learning in Python. JMLR, 12:2825-2830, 2011.

    转载于:https://www.cnblogs.com/bonelee/p/9604530.html

    展开全文
  • 如何在不侵犯个人隐私的前提下,在加密流量中检测恶意攻击行为,为了找到一种切实可行的“在加密流量中检测恶意攻击行为”的方法,Infosec团队借鉴了Cisco公司高级安全研究小组(Cisco Advanced Security Research)...

    摘要:本文总结提出了一种主流的机器学习加密流量分析的方法

    如何在不侵犯个人隐私的前提下,在加密流量中检测恶意攻击行为,为了找到一种切实可行的“在加密流量中检测恶意攻击行为”的方法,Infosec团队借鉴了Cisco公司高级安全研究小组(Cisco Advanced Security Research)的一个研究项目:基于NetFlows的恶意行为检测技术。研究人员用了两年的时间找到了问题的解决方法。通过分析大量的TLS数据流、恶意样本以及捕获的数据包,研究人员发现TLS数据流中的元数据(明文)包含了无法隐藏或者加密的指纹信息。TLS数据流可被用于模糊明文数据,但同时必须生成一组“可观测的复杂参数”,后者可用于训练数据模型(通过机器学习)。当一个TLS数据流开始后,会先执行一次握手。客户端(如Chrome浏览器)会向服务端(如FACEBOOK网站)发送一个ClientHello的消息,该消息包括一组参数(包括加密算法、版本等信息)。像ClientHello的这种TLS元数据主要在加密数据传输前进行交互,没有被加密。这样,数据模型就可以通过分析元数据来检测恶意攻击行为,而不需要对加密数据进行解密操作。最新的测试结果表明,ETA测试模型不仅不需解密数据,同时也具有较高的准确率。当只分析Netflow的特征时,ETA检测恶意行为的准确率为67%,当加入SPL(Service Packet Length)、DNS、TLS元数据、HTTP等多种特征时,准确率跃会升至99%。

     

    加密一直都是保护用户通讯隐私的重要特性,可如果恶意程序在传播过程中也加密的话,对这样的流量做拦截感觉就麻烦了很多。谈到加密,TLS(Transport Layer Security Protocol,传输层安全协议)就是当前使用非常广泛的协议:国外部分研究机构的数据显示,已有至多60%的网络流量采用TLS,当然也包括一些恶意程序(虽然大约只有10%)。

    2015年,Cisco的infosec 团队面临一个亟待解决的问题:如何在不侵犯个人隐私的前提下,在加密流量中检测恶意攻击行为,以确保公司员工的信息安全。但在当时可行的方法只有一个:先解密相关的加密流量(如SSL和TLS),再检测恶意攻击行为。

    中间人攻击(MITM:Man-In-The-Middle)是他们需要检测防御的主要对象,但在检测的同时也对个人隐私造成了损害(因为需要将个人计算机与银行、邮件服务器之间的加密流量解密)。此外,这种检测的代价也非常高,如需要管理用于检测后重复签名的SSL证书、降低网络服务的用户体验等。

    针对该问题,Infosec团队决定寻找一个不影响公司正常网络业务的新检测方法。

    一个复杂但未解决的问题

    Cisco在本周宣布将推出一组新的网络产品和应用软件:基于意图的新一代网络解决方案[2]。研究小组开发的数据模型为称为加密流量分析(ETA:Encrypted Traffic Analytics),其标志着Cisco正往自己的目标迈出坚实有力的一步:利用整合了自动化和机器学习的海量网络数据技术,将安全技术部署在网络的各个地方。

    加密技术通常被看成一个好的事物,保护了互联网通信和会话的隐私,防御了中间人攻击对数据的窃取和篡改。随着云服务应用的逐渐开展、以及一些公司(如Google和Mozilla)对TLS的强力推广,公司企业需要应对处理更多的加密流量。

    所有的加密流量需要使用由可信的证书颁发机构(CA:Certificate Authority)颁发的证书签名。逐渐增多的CA也使TLS加密流量的处理变得方便快捷。但是,加密流量的增多使得攻击流量也能够完美的隐藏在正常流量中(之前在未加密的流量中进行攻击的话,攻击者需要将自己的攻击流量加密以规避检测),CSO的一篇文章[1]指出:“不断降低的加密成本同样也使攻击者受益”。

    攻击者通常将自己的通信、控制、数据窃取等操作的数据伪装成正常的TLS或者SSL流量。而检测隐藏在正常流量中的恶意攻击行为是一个涉及大量的数据集的复杂任务。在研发人员看来,基于Netflow的检测技术虽然提供了很多有价值的信息,但也有其局限性。例如,利用Netflow能够获取两个设备之间的传输了多少字节等详细信息,但并不能描绘出整个通信过程。

    研究人员相信能够找到一种让安全和隐私合理共存的解决方案。为次,他们从零开始构建项目,工作包括大量的代码编写和密集的数据建模。该项目得到了思科技术投资资金(Cisco’s Technology Investment Fund)的支持,通常该类项目的周期长达数年。

     

    有了资金的担保,在项目开始前还需要获取和分析来自思科网络的大量数据和各种恶意代码的样本数据。一方面,研究人员引入了机器学习的理念,藉此开发了一些分析工具,虽然还没有应用到恶意行为检测分析上,这些工具已经能够成功地识别了一些使用Netflow数据的特定应用程序,如识别数据是来自用户的Chrome浏览器还是Windows更新服务。另一方面,项目组和思科的所有产品团队通力合作,包括公司内部的信息安全团队,塔洛斯的威胁情报组和最近收购了ThreatGRID团队。

    在花费了数月开发了超过10000行代码后,项目组开始为数据模型进行实际测试,在数以百万计的数据包和已知恶意代码的样本中找出“最具描述性的特征”,最终达到能够在加密流量中检测恶意攻击行为的目的。在项目组看来,“搜集合适的数据”是最重要的工作环节,当其它人拿着数据不知如何利用时,项目组已经拿着数据的需求清单在思科的各个部门大肆搜刮。

     

    寻找恶意攻击行为的指纹信息

     

    从2009年起,网络攻击者就开始通过伪装、窃取、甚至是合法的证书来欺骗互联网的认证系统。TLS证书由合法的证书颁发机构(CA)颁发,其用途是让用户放心其访问的网站是合法的。 但证书的安全保证并非完全可靠,攻击者会利用其让受害者交出登录凭证或下载恶意软件载荷。

    在过去的几个月里,使用合法TLS证书的攻击事件逐渐增多,部分原因是合法证书的获取越发简单快捷(如可通过Let’sEncrypt免费获取),网络钓鱼的攻击者利用合法的免费证书生成大量的伪装网站(如PayPal或比特币钱包供应商),如下图所示。

    http://p2.qhimg.com/t017b856a9b2b1a38a0.png

    另一方面,相对简单的密钥获取方式也成为了安全防护的一把双刃剑。

    安全部门成为了自己决策的受害者,比如为了提高信息安全,要求研发、供应和销售部门使用加密信道,但这又为如何在这些加密数据中检测恶意攻击行为提出了新的挑战。

    通过分析大量的TLS数据流、恶意样本以及捕获的数据包,研究人员发现TLS数据流中的元数据(明文)包含了无法隐藏或者加密的指纹信息。TLS数据流可被用于模糊明文数据,但同时必须生成一组“可观测的复杂参数”,后者可用于训练数据模型(通过机器学习)。

    当一个TLS数据流开始后,会先执行一次握手。客户端(如Chrome浏览器)会向服务端(如FACEBOOK网站)发送一个ClientHello的消息,该消息包括一组参数(包括加密算法、版本等信息)。像ClientHello的这种TLS元数据主要在加密数据传输前进行交互,没有被加密。这样,数据模型就可以通过分析元数据来检测恶意攻击行为,而不需要对加密数据进行解密操作(见下图)。

    http://p9.qhimg.com/t0188190c09527ffe63.png

    最新的测试结果表明,ETA测试模型不仅不需解密数据,同时也具有较高的准确率。当只分析Netflow的特征时,ETA检测恶意行为的准确率为67%,当加入SPL(Service Packet Length)、DNS、TLS元数据、HTTP等多种特征时,准确率跃会升至99%。

    资源的合理分配、部门间的有效合作等多种原因使得该项目能够在短短两年内取得飞跃式的成果,也为网络安全领域的一个复杂问题提交了一个解决方案,这种成果也仅能在类似于思科这种同时拥有资源和数据来源的公司中才会出现。研发人员希望ETA通过代码升级更新的方式,在网络中进行广泛部署。利用ETA的测试模型,能够提高网络的整体安全性。

     

    下面分析一下这种方法原理:

                                                   TLS协议

     

    思科大约分析了18个恶意程序家族的数千个样本,并在企业网络中数百万加密数据流中,分析数万次恶意连接。整个过程中,网络设备的确不对用户数据做处理,仅是采用DPI(深度包检测技术)来识别clientHello和serverHello握手信息,还有识别连接的TLS版本。

    “在这篇报告中,我们主要针对433端口的TLS加密数据流,尽可能公正地对比企业一般的TLS流量和恶意TLS流量。为了要确认数据流是否为TLS,我们需要用到DPI,以及基于TLS版本的定制signature,还有clientHello和serverHello的信息类型。”

    “最终,我们在203个端口之上发现了229364个TLS流,其中443端口是目前恶意TLS流量使用最普遍的端口。尽管恶意程序端口使用情况多种多样,但这样的情况并不多见。”

    malware-traffic-TLS.jpg

    不仅如此,据说他们还能就这些恶意流量,基于流量特性将之分类到不同的恶意程序家族中。“我们最后还要展示,在仅有这些网络数据的情况下,进行恶意程序家族归类。每个恶意程序家族都有其独特的标签,那么这个问题也就转化为不同类别的分类问题。”

    “即便使用相同TLS参数,我们依然就够辨认和比较准确地进行分类,因为其流量模式相较其他流量的特性,还是存在区别的。我们甚至还能识别恶意程序更为细致的家族分类,当然仅通过网络数据就看不出来了。”

     

    实际上,研究人员自己写了一款软件工具,从实时流量或者是抓取到的数据包文件中,将所有的数据输出为比较方便的JSON格式,提取出前面所说的数据特性。包括流量元数据(进出的字节,进出的包,网络端口号,持续时间)、包长度与到达间隔时间顺序(Sequence of Packet Lengths and Times)、字节分布(byte distribution)、TLS头信息。

    其实我们谈了这么多,还是很抽象,整个过程还是有些小复杂的。有兴趣的同学可以点击这里下载思科提供的完整报告。

    分析结果准确性还不错

    思科自己认为,分析结果还是比较理想的,而且整个过程中还融合了其机器学习机制(他们自己称为机器学习classifiers,应该就是指对企业正常TLS流量与恶意流量进行分类的机制,甚至对恶意程序家族做分类),正好做这一机制的测试。据说,针对恶意程序家族归类,其准确性达到了90.3%。

    “在针对单独、加密流量的识别中,我们在恶意程序家族归类的问题上,能够达到90.3%的准确率。在5分钟窗口全部加密流量分析中,我们的准确率为93.2%(make use of all encrypted flows within a 5-minute window)。”

     

     

     

    参考文献

    [1]https://www.anquanke.com/post/id/86342

    [2]论文记录:Identifying Encrypted Malware Traffic with Contextual Flow Data

    [3] 来自FreeBuf黑客与极客(FreeBuf.COM)

    https://www.cnblogs.com/bonelee/p/10194509.html

     http://www.csoonline.com/article/3121327/security/performance-management-and-privacy-issues-stymie-ssl-inspections-and-the-bad-guys-know-it.html

     http://news.ifeng.com/a/20170621/51292838_0.shtml

     https://arxiv.org/pdf/1607.01639.pdf

    https://github.com/cisco/joy

    展开全文
  • 针对网络环境中造成危害的信息通过镜像网站进行传播从而绕过检查的问题,提出了面向高速网络流量恶意镜像网站识别方法。首先,从流量中提取碎片化数据并且还原网页源码,同时加入标准化处理来提高识别准确率;然后...
  • 来自思科的研究人员扩展现有的检测方法提出一种新的思路(称之为“dataomnia”),不需要对加密的恶意流量进行解密,就能检测到采用TLS连接的恶意程序,本文就该检测方法进行简要描述,主要参照思科在AISec’16发表...

    识别出加密流量中潜藏的安全威胁具有很大挑战,现已存在一些检测方法利用数据流的元数据来进行检测,包括包长度和到达间隔时间等。来自思科的研究人员扩展现有的检测方法提出一种新的思路(称之为“dataomnia”),不需要对加密的恶意流量进行解密,就能检测到采用TLS连接的恶意程序,本文就该检测方法进行简要描述,主要参照思科在AISec’16发表的文章《IdentifyingEncrypted Malware Traffic with Contextual Flow Data》[1][2][3]。

    一、 主要思想

                屏幕快照 2017-03-21 下午5.42.05.png

    图1 TLS加密恶意流量检测流程

    首先,分析百万级的正常流量和恶意流量中TLS流、DNS流和HTTP流的不同之处,具体包括未加密的TLS握手信息、TLS流中与目的IP地址相关的DNS响应信息(如图2)、相同源IP地址5min窗口内HTTP流的头部信息;然后,选取具有明显区分度的特征集作为分类器(有监督机器学习)的输入来训练检测模型,从而识别加密的恶意流量。本方法区别于已有研究方法的地方就是利用TLS流相关背景流量信息(包括DNS响应、HTTP头部等)辅助加密恶意流量检测。

    图片2.png

     

    图2TLS流和背景DNS流量

    (红色数据用于链接TLS流和DNS流、绿色数据表示背景信息、未标记颜色的数据表示TLS未加密的头部信息) 

    二、流量数据采集

    思科研究人员自己写了一款基于libpcap的通用工具,用于分析并提取捕获到的数据流(恶意流量和正常流量)的数据特征,包含clientHello,serverHello, certificate和clien-tKeyExchange等信息。

    1.   恶意流量

    采集环境:ThreatGRID[4],一种商业的沙箱环境,提供恶意软件分析功能

    采集时间:2016年1月-2016年4月

    说明: 沙箱环境接受用户提交(usersubmissions),每个用户提交允许运行5min,所有的网络活动被记录用于分析。

    2.   正常流量(DMZ区流量,本文认为该区域包含少量的恶意流量)

    采集环境:某大型企业网络的DMZ区某5天的数据量

    采集时间:2016年4月

    三、流量数据特征

    文中对恶意/正常流量中TLS流及背景流量信息(DNS响应信息、HTTP头部信息)进行统计分析,寻找恶意流量和正常流量中具有明显区分度的数据特征以及相应特征值的规律性。

    1.   TLS握手信息:

    选取拥有完整TLS握手信息的TLS流作为研究对象,通过分析TLS握手信息发现,恶意流量和正常流量使用的加密套件(ciphersuites )、支持的扩展(extensions)等方面有很大不同,详见表1。 

    表1 恶意流量与正常流量TLS握手信息区别

    屏幕快照 2017-03-21 下午6.00.23.png

    2.   DNS响应信息:

    通过选取和目的IP地址相关的包含DNS响应信息的数据流作为研究对象,提取响应的域名信息进行分析。DNS域名信息也可以从SNI(Server NameIndication)扩展和SANs(subjectalternative names)中得知,但由于TLS版本信息等原因,这些字段有时候是不存在的。

    通过分析数据发现, 恶意流量与正常流量的区别主要表现在: 域名的长度、数字字符及非数字或者字母(non-alphanumericcharacter) 的字符占比、DNS解析出的IP数量、TTL值以及域名是否收录在Alexa网站等。

    域名的长度:正常流量的域名长度分布为均值为6或7的高斯分布(正态分布);而恶意流量的域名(FQDN全称域名)长度多为6(10)。

    数字字符及非字母数字(non-alphanumericcharacter) 的字符占比:正常流量的DNS响应中全称域名的数字字符的占比和非字母数字字符的占比要大。

    DNS解析出的IP数量:大多数恶意流量和正常流量只返回一个IP地址;其它情况,大部分正常流量返回2-8个IP地址,恶意流量返回4或者11个IP地址。

    TTL值:正常流量的TTL值一般为60、300、20、30;而恶意流量多为300,大约22%的DNS响应汇总TTL为100,而这在正常流量中很罕见。

    域名是否收录在Alexa网站:恶意流量域名信息很少收录在Alexatop-1,000,000中,而正常流量域名多收录在其中。

    3.   HTTP头部信息:

    选取相同源IP地址5min窗口内的HTTP流作为研究对象,通过分析HTTP头部信息发现,恶意流量和正常流量所选用的HTTP头部字段有很大区别。详见表2。此外,正常流量HTTP头部信息汇总Content-Type值多为image/*,而恶意流量为text/*text/html、charset=UTF-8或者text/html;charset=UTF-8。

    表2 恶意流量与正常流量HTTP头部信息区别

    屏幕快照 2017-03-21 下午6.02.22.png

    四、建模分类

    1.   实验数据集

    选取拥有完整TLS握手信息且有DNS响应和HTTP头部信息的数据流进行分析建模。

    选取的特征值包括两部分(这里不赘述数据特征的表示方法,详见论文):

    (1)  可直接观测到的元数据:包长度、包到达间隔时间以及字节分布。

    (2) 第三章节提到TLS握手信息及对应的背景流量包含的数据特征,包括ciphersuites、extensions、publickey length等。

    分析工具:Python 和 Scikit-learn[5]

    2.    实验过程:

    本文利用10折交叉验证(10-foldcross-validation)和l1正则化的逻辑回归算法(l1-logistic regression)来进行分类(即判断加密流量是否是恶意的)。文中也针对不同数据特征的组合的分类结果进行了统计(图7-Table 1),可以发现利用背景流量信息进行分类的模型不仅准确率会更高,而且参数会更少(根据交叉验证形成模型参数平均计算可得)。

    图7中Table 2 列出了对判别正常流量和异常流量影响权重比较大的数据特征。这些特征很容易解释为什么网络流是恶意的或者是正常的,例如绝大多数的恶意流量样本不会和排名top-1,000,000的网站进行通信。 

    屏幕快照 2017-03-21 下午5.49.58.png 

    图3 实验结果分析

    文中提到,使用FDR(伪发现率,FalseDiscovery Rate)作为假设检验错误率的控制指标(FDR不超过0.00%)。

    我们收集的特征数据除了用于构造机器学习模型之外,还有其它的一些启示。

    1.    Client端的client-hello中的SNI与sever端的certificate中包含的SAN都表示服务器主机名,两者的差异性可以用于恶意流量检测;

    2.    HTTP流中的User-Agent和从TLS流中ciphersuites和advertisedextensions推测出的User-Agent的差异性也可以用于恶意流量检测。

    3.   实验验证:

    为了防止过拟合,除了上面提到的交叉验证方法之外,我们额外收集了2016年5月这个月期间相同企业网络中DMZ区的流量,用第五章节训练形成的模型来进行验证。从Table 3中可以看到,结合TLS流的背景流量信息DNS响应和HTTP头部信息进行分类的效果最好,即报警数最少。当l1-logistic regression classifier的阈值(Probabilityof malicious)为0.95时,该分类器只有86个报警(包括29个独立目的IP地址和47个独立的源IP地址),其中有42个报警看似是“误报”。经过分析发现,这些“误报”中,主机是一直和Goolge和Akamai服务器通信,但是从该TLS流的背景流量HTTP流(contexualHTTP)中发现,其与可疑域名进行通信(HTTP中的Host字段),经VirusTotal确认,有50%的反病毒引擎认为和该域名相关的可执行程序是恶意的,这也进一步说明了该模型的有效性。

     屏幕快照 2017-03-21 下午5.48.09.png

     
     

    图4 实验数据验证

    五、参考文章

    [1]  Identifying Encrypted Malware Traffic withContextual Flow Data http://dl.acm.org/citation.cfm?id=2996768 

    [2]  不解密数据竟也能识别TLS加密的恶意流量?http://www.freebuf.com/news/108628.html

    [3]  传输层安全协议抓包分析SSL/TLS http://www.freebuf.com/articles/network/116497.html

    [4]  Cisco AMP Threat Grid  http://www.threatgrid.com , 2016.

    [5]  F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B.Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J.Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay.Scikit-learn: Machine Learning in Python. JMLR,12:2825-2830, 2011.

    展开全文
  • Identifying Encrypted Malware Traffic ...使用上下文流数据(背景流量数据)识别加密的恶意软件流量 AISec '16Proceedings of the 2016 ACM Workshop on Artificial Intelligence and Security ...

    Identifying Encrypted Malware Traffic with Contextual Flow Data

     

    使用上下文流数据(背景流量数据)识别加密的恶意软件流量

     

     

    AISec '16 Proceedings of the 2016 ACM Workshop on Artificial Intelligence and Security

    Pages 35-46

    Authors:Blake AndersonCisco, San Jose, USADavid McGrewCisco, San Jose, USA

     

    摘要:

    Identifying threats contained within encrypted network traffic poses a unique set of challenges. It is important to monitor this traffic for threats and malware, but do so in a way that maintains the integrity of the encryption. Because pattern matching cannot operate on encrypted data, previous approaches have leveraged observable metadata gathered from the flow, e.g., the flow's packet lengths and inter-arrival times. In this work, we extend the current state-of-the-art by considering a data omnia approach. To this end, we develop supervised machine learning models that take advantage of a unique and diverse set of network flow data features. These data features include TLS handshake metadata, DNS contextual flows linked to the encrypted flow, and the HTTP headers of HTTP contextual flows from the same source IP address within a 5 minute window.

    We begin by exhibiting the differences between malicious and benign traffic's use of TLS, DNS, and HTTP on millions of unique flows. This study is used to design the feature sets that have the most discriminatory power. We then show that incorporating this contextual information into a supervised learning system significantly increases performance at a 0.00% false discovery rate for the problem of classifying encrypted, malicious flows. We further validate our false positive rate on an independent, real-world dataset.

     

    识别加密网络流量中包含的威胁会带来一系列独特的挑战。监视此流量中是否存在威胁和恶意软件很重要,但是必须以保持加密完整性的方式进行监视。由于模式匹配无法对加密数据进行操作,因此以前的方法已经利用了从流中收集的可观察到的元数据,例如流的数据包长度和到达时间。在这项工作中,我们通过考虑数据全能性来扩展当前的最新技术方法。为此,我们开发了受监督的机器学习模型,这些模型利用了一组独特且多样化的网络流数据特征。这些数据特征包括TLS握手元数据,链接到加密流的DNS上下文流以及5分钟内来自同一源IP地址的HTTP上下文流的HTTP标头。

    我们首先展示数百万个唯一流上恶意流量和良性流量对TLSDNSHTTP的使用之间的区别。本研究用于设计具有最大区分能力的功能集。然后,我们表明,将这种上下文信息合并到有监督的学习系统中,可以对分类为加密的恶意流的问题以0.00%的错误发现率显着提高性能。我们还将在一个独立的真实数据集中验证我们的误报率。

     

    https://dl.acm.org/citation.cfm?id=2996768

    展开全文
  • 分析了日益凸显的互联网恶意流量安全问题,研究了“僵木蠕”流量高速识别技术、自适应动态沙箱智能研判技术等互联网恶意流量安全检测技术,然后基于“全网集中监测,协同策略控制”建设思路,提出了云管端一体化协同...
  • 加密一直都是保护用户通讯隐私的重要特性,可如果恶意程序在传播过程中也加密的话,对这样的流量做拦截感觉就麻烦了很多。谈到加密,TLS(Transport Layer Security Protocol,传输层安全协议)就是当前使用非常广泛...
  • 但是现在看到的这个开源软件[1]是专门利用IOC来识别恶意流量;具体细节我没有深入去研究,例如流量捕获部分到底是什么引擎来启动的。 1. 系统简介 在其Github主页上的介绍来看,该系统的定位是恶意流量监测系统,而...
  • 通信中的流量识别工作将直接影响网络管理整体效率. 针对复杂网络中的加密流量识别问题,结合网络流 量与文本结构相似性,提出一种基于卷积神经网络的优化识别模型. 综合考虑数据包的多样性,对原始网络数据进 行...
  • 加密恶意流量检测思路分析

    千次阅读 2020-08-09 22:11:11
    通过使用机器学习针对加密流量中潜藏的安全威胁,不需要对加密的恶意流量进行解密,通过分析其明文参数信息以及背景流量数据等特征,借助几种常见的机器学习算法实现对恶意加密流量的检测。
  • 恶意流量分析训练二

    2020-02-04 22:52:55
    通过该实验了解使用wireshark进行恶意流量分析,本次实验涉及知识包括操作系统指纹识别、域环境、Emotet银行木马流量特征等。 环境: 局域网段:172.16.3.0/24(172.16.3.0 到 172.16.3.255) 域:eggnogsoup...
  • 基于机器学习技术,无需对加密的恶意流量进行解密,通过分析加密流量中的未加密信息、上下文数据等特征,借助常见的机器学习算法实现对加密流量的分类检测,发现加密恶意流量中潜藏的安全威胁。
  • 这是作者恶意代码分析、网络安全、系统安全等系列教程,主要是通过机器学习、人工智能和深度学习来分析恶意代码的在线笔记。希望对您有所帮助,学无止境,一起加油。参考作者的博客和github资源,由于github速度限制...
  • 首先研究安全套接层SSL协议安全机制及其网络交互过程,在原有网络结构基础上增设复杂网络结构和加密流量,提出一种有效的SSL加密流量识别方法;其次针对SSLVPN流量的识别,结合机器学习算法,将卷积神经网络应用于...
  • DNS攻击流量识别思考

    千次阅读 2019-08-14 16:40:46
    DNS攻击流量识别思考 分析思路 考察DNS安全问题,因此首先寻找都有哪些DNS安全问题。 主要思路: 攻击者思路:搜索搜集对应的攻击类型,依据特征进行检测。 Google Nmap dns攻击插件 Nessus dns攻击插件 ...
  • 首先介绍了安全传输层(TLS,transport layer security)协议的特点、流量识别方法;然后给出了一种基于机器学习的分布式自动化的恶意加密流量检测体系;进而从 TLS 特征、数据元特征、上下文数据特征3个方面分析了...
  • 基于深度学习的加密恶意流量检测研究.pdf
  • 基于机器学习的恶意URL识别 原文作者:李泽宇,施勇,薛质 原文期刊:信息安全与通信保密杂志社 选自《通信技术》2020年第二期 2020-03-10 原文链接:https://www.secrss.com/articles/17764 一、论文主要内容 对...
  • 一、研究背景 应用机器学习的方法识别加密流量中的恶意行为在网络安全方面是必要...众所周知,这些应用均采用应用层加密,因此加密流量在网络传输中的比重越来越大,这给流量识别和分类带来了巨大的挑战。 因加密流...
  • 常见的网络流量识别技术

    千次阅读 2019-11-21 23:43:33
    1、基于网络端口映射的流量分类识别方法 简介:该方法通过检查网络数据包的源端口号和目的端口号,根据相应网络协议或网络应用在通信时使用的端口号规则并与之映射,进而识别不同的网络应用 缺点:而随着网络技术...
  • 利用上下文流数据识别加密恶意软件流量 blake anderson思科blake.anderson@cisco.com 摘要 识别加密网络流量中包含的威胁是一组独特的挑战。监视此通信量以防威胁和恶意软件非常重要,但这样做的方式必须保持...
  • 一个半月之前,广州易虎发布过一篇《悲惨,网站被恶意刷流量》,介绍了易虎互联遭遇到恶意同行的恶意刷流量时的一些体会和看法,这里,易虎再谈网站被恶意刷流量的解决思路.顺便把话题打开,谈谈防恶意点击的另一种思路...
  • Maltrail恶意流量检测系统

    千次阅读 2019-03-16 14:44:25
    Maltrail恶意流量检测系统 项目介绍 项目GitHub地址 项目架构 项目数据集 运行方式 订阅源扩展 数据采集模块提取 项目介绍 maltrail是一款轻量级的恶意流量检测系统,其工作原理是通过采集网络中各个开源黑样本...
  • 加密一直都是保护用户通讯隐私的重要特性,但是目前的网络数据百分之60都使用了HTTPS来进行加密传输,如何来进行密文的恶意流量分析,也就是HTTPS数据包的恶意流量分析,一直是一个难题。
  • P2P常规流量检测一般通过常用的端口来进行识别,然而随着架构的演进,P2P流量识别也因此从简单的端口匹配到复杂的DPI深度数据包检测,其端口特性也由最初的固定端口发展到随机动态端口再到伪装端口,一步步地加大着...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,015
精华内容 6,006
关键字:

恶意流量识别