CN107637041B - 识别恶意加密网络流量的方法与系统以及计算机程序元件 - Google Patents

识别恶意加密网络流量的方法与系统以及计算机程序元件 Download PDF

Info

Publication number
CN107637041B
CN107637041B CN201680028405.3A CN201680028405A CN107637041B CN 107637041 B CN107637041 B CN 107637041B CN 201680028405 A CN201680028405 A CN 201680028405A CN 107637041 B CN107637041 B CN 107637041B
Authority
CN
China
Prior art keywords
network
malicious
traffic
network traffic
entropy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680028405.3A
Other languages
English (en)
Other versions
CN107637041A (zh
Inventor
F·艾尔-莫萨
B·阿兹维恩
G·卡洛斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN107637041A publication Critical patent/CN107637041A/zh
Application granted granted Critical
Publication of CN107637041B publication Critical patent/CN107637041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Discrete Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

公开了一种识别恶意加密网络流量的方法与系统以及计算机程序元件。该用于识别与经由网络传送的恶意软件组件相关联的恶意加密网络流量的方法包括:针对恶意程序,定义网络流量的在恶意程序的网络传送中按预定义偏移发生的多个连续字节的部分;提取用于恶意程序的多个相异网络连接中的每一个的网络流量的定义的部分;评估每个提取的部分中的每个字节的度量;将矩阵数据结构的每个提取部分表示为像素的图像,其中,每个像素对应于提取部分的字节;基于提取部分的图像来训练神经网络,使得后续网络流量可以被神经网络分类,以基于为表示后续网络流量的定义的部分生成的图像来识别与恶意程序相关联的恶意网络流量。

Description

识别恶意加密网络流量的方法与系统以及计算机程序元件
技术领域
本发明涉及对恶意网络传送的检测。具体来说,本发明涉及改进的恶意网络流量检测。
背景技术
恶意软件(也称为计算机恶意代码或恶意程序)是意图对一个或更多个计算机系统正常直接或非直接伤害的软件。这样的伤害可以表现为:对整个或部分计算机系统的操作的破坏或阻止;访问私有的、敏感的、安全的和/或机密的数据、软件和/或计算设施的资源;或者施行违法的、不合法的或欺骗行为。恶意程序特别包括:计算机病毒、蠕虫、僵尸网络、木马、间谍软件、广告软件、黑客程序、键盘记录器、拨号器、恶意浏览器扩展程序或插件以及流氓安全软件。
恶意程序扩散可以通过很多方式发生。恶意程序可以作为电子邮件的一部分(诸如附件或嵌入)来传送。另选地,恶意程序可以伪装为真正的软件、或者与真正的软件一起或在真正的软件内嵌入、附加、或者另外地传送。一些恶意程序能够经由存储设备(诸如可移除的、移动式或便携式存储,包括存储卡、硬盘驱动器、记忆棒等)或者经由共享的或网络附加的存储来传播。恶意程序还可以通过计算机网络连接(诸如互联网)经由网站或者其他网络设施或资源来传送。恶意程序可以通过利用计算机系统中的漏洞(诸如软件或硬件组件中的漏洞,所述软件或硬件组件包括软件应用、浏览器、操作系统、设备驱动器、或者联网、接口或存储硬件)来传播。
漏洞可以是计算机系统(诸如计算机、操作系统、已连接的计算机的网络、或者一个或多个软件组件(诸如应用))中的弱点。这样的弱点可以表现为软件代码中的缺陷、错误或故障,其呈现可利用的安全弱点。这样的弱点的示例是缓冲超限漏洞,其中,以一种形式,被设计为在存储器的区域中存储数据的接口允许调用程序提供比能容纳在存储器的可执行区域中的数据多的数据。额外的数据可以覆写存储在存储器中的可执行代码,并且因此这样的弱点可以允许恶意可执行代码存储在存储器的可执行区域内。这样的恶意可执行代码的示例称为“溢出代码(shellcode)”,其可以用来通过例如计算机系统中的执行、安装和/或资源重配置来利用漏洞。这样的弱点一旦被利用就可以引导更大程度利用目标系统的过程。
恶意程序对计算机系统的操作和/或安全的影响导致需要识别计算机系统中的恶意程序,以便实施保护性和/或补救性措施。通过对目标系统中的漏洞的利用,通过网络连接(诸如互联网)传播或传送的恶意程序可以特别难以检测。很多系统参照恶意程序“特征码(signature)”的字典来监控在文件系统中存储或接收的文件。特征码可以是与已知恶意程序相关联的数据的模式(pattern)。这样的方法需要接收已知恶意程序,并且易受恶意程序中细微变化的影响,所述细微变化可以致使恶意程序鉴于已存储的特征码不可检测。其它系统监控软件的行为来识别可疑行为以便检测潜在的恶意程序。因此,这样的系统在事后检测恶意程序感染,并且易受恶意程序中的变化及被专门设计为最小化可疑行为的恶意程序(诸如设计为举止像真正的软件一样的恶意程序)的影响。
恶意程序检测的另选方法是检测与通过网络连接传播或传染的恶意程序相关联的网络流量。这样的网络流量可以认为是作为由计算机系统接收到的或发生在计算机系统之间的网络传送的一部分存在的恶意网络流量,诸如由在计算机系统上已安装的、正在安装的、或正在为安装而传送的恶意程序软件引起的流量。传统的恶意流量检测机制依赖于包括网路流量拦截和分析、或网络连接摘要在内的技术,所述网络连接摘要技术可以确定网络连接的关键特征(诸如源地址和目的地地址、源端口和目的地端口以及协议(称为流量表征5元组))。这样的设施由诸如NetFlow(思科)或Yet Another Flowmeter(YAF)技术来提供。利用这些方法,恶意程序传送的检测依赖于网络流量的分析(或流量的摘要)以识别恶意流量的已知特征,诸如已知的服务器地址、协议和/或端口组合。这样的方法效用有限,因为并不能够在不还使用工具(诸如BotHunter)通过深度分组检测(DPI)来参照网络流量的分组的内容的情况下总是从非恶意流量中区分恶意流量。BotHunter使用DPI来搜索网络流量中的特定模式以检测与已知恶意程序相关联的可执行的下载或特征码串。
然而,在恶意网络流量加密的情况下,DPI是无效的。论文“Detecting EncryptedBotnet Traffic”(Zhang等人,Computer Comunications Workshops(INFOCOM WKSHPS),2013)确认了在存在加密流量时诸如BotHunter的检测系统如何显著遭受降低达几乎50%的检测速率。Zhang等人描述了使用BotHunter来检测加密恶意流量的方法。Zhang等人的方法在以下前提下工作,即,至少一个高熵流连同BotHunter检测的其它特征的存在是加密恶意流量的可靠检测器。在信息理论中,熵是随机变量的不确定性程度的量度(“Entropy”,R.L.Dobrushin V.V.Prelov,Encyclopedia of Mathematics,Springer,2002,ISBN1402006098)。在“A Mathematical Theory of Communication”(C.E.Shannon,The BellSystem Technical Journal,Vol.27,pp.379–423,623–656,July,October,1948)中详细定义了并且从如统计力学中定义的熵量度中推导了熵计算和信息源的熵的理论基础。Zhang描述了网络传送中的分组的熵的估计量度。超过阈值的传送的熵的估计被定义为“高熵”,并且对高熵流的识别有助于加密恶意流量的检测。
Zhang以高熵流的检测作为恶意网络流量的指示器为前提。加密的网络流量还作为非恶意应用的一部分出现(诸如来自真正的和/或授权的软件应用的为了安全目的而加密的流量)。因此,检测和响应高熵流是有问题的,其中非恶意流量可被错误地识别为潜在恶意流量。
论文“Detecting Subverted Cryptographic Protocols by Entropy Checking”(J.Olivain和J.Goubault-Larrecq,2006)描述了基于计算流的熵来检测攻击的方法。Olivain等人的方法针对加密协议上未加扰的流量的检测作为检测潜在恶意流量的方式。具体来说,Olivain等人观察加密的网络流量的熵的量度将如何趋向于随机源的熵,使得在网络流量由字符(如来自256字节的字母的字节)构成的情况下,加密的网络流量的熵趋向于每字节8比特。在此基础上,Olivain等人提出了恶意流量检测的方法,所述方法基于趋向于随机源的熵的可接受的熵的量度的范围,使得将不始终以这种方式趋向的流量识别为未加扰的和恶意的。Olivain等人确认了他们的技术的相当多的缺点,其可以被自身加密的恶意流量反抗。这是因为加密的恶意流量也将呈现出趋向于随机源的熵的熵,并且因此变得不可与非恶意加密流量区分。
Bestuzhev强调了恶意程序能够以加密形式发送,导致现有的自动恶意程序检测系统不正确地工作((Bestuzhev,2010,www.securelist.com/en/blog/208193235/Steganography_or_encryption_in_bankers,2014年2月检索)。这样的加密恶意程序还将无法被依赖于未加扰(未加密)流量的传送用于检测的Olivain等人的方法检测到。
因此,存在对于解决已知技术的相当多缺点的需求来提供对加密恶意流量的检测。
发明内容
在第一方面,本发明相应地提供了用于识别与经由网络传送的恶意程序软件组件相关联的恶意加密网络流量的方法,该方法包括:针对所述恶意程序,定义网络流量的包括所述恶意程序的网络传送中按预定义偏移发生的多个连续字节的部分;提取用于所述恶意程序的多个相异的网络连接中的每一个的网络流量的所定义的部分;对每个提取部分中的每个字节的度量进行评估;将矩阵数据结构的每个提取部分表示为像素的图像,其中,每个像素对应于提取部分的字节;基于提取部分的图像,训练神经网络,使得后续网络流量可被所述神经网络分类,以基于为表示后续网络流量的定义部分生成的图像来识别与恶意程序相关联的恶意网络流量。
优选地,所述度量是傅里叶变换系数。
另选地,所述度量是对作为字节的不确定性程度的量度的熵的量度。
优选地,网络流量的定义部分是网络流量的子集,所述子集在传输协议握手之后并且直到预定端点。
优选地,与网络流量的应用协议连接建立部分的结束相对应地选择所述预定端点。
优选地,该方法还包括:响应于恶意网络流量的识别,触发用于相对于恶意加密网络流量保护网络连接的端点的保护性组件。
优选地,所述保护性组件能够工作为进行以下中的一项或更多项:终止网络连接;发起对安装在端点计算机系统处的恶意程序的扫描;以及调整端点计算机系统或网络连接的安全级别。
优选地,网络流量的所述部分被定义为使得针对恶意程序网络传送的加密恶意网络流量的部分的评估的傅里叶变换系数集大体上将恶意程序网络传送与非恶意程序网络传送区分开。
优选地,所述网络连接经由传输控制协议(TCP)连接提供,并且所述部分被定义为在TCP握手部分之后并且直到网络连接上的网络流量的流中的流量被大体上全部加密的点发生在网络连接上的流量的连续子集。
在第二方面,本发明相应地提供了识别恶意加密网络流量的系统,恶意加密网络流量与经由网络传送的恶意程序软件组件相关联,该系统包括存储器和处理器,其中,所述处理器适于执行以下步骤:针对恶意程序,确定网络流量的包括恶意程序的网络传送中按照预定义偏移发生的多个连续字节的部分;提取用于恶意程序的多个相异的网络连接中的每一个的网络流量的所定义的部分;评估每个提取部分中的每个字节的度量;将矩阵数据结构的每个提取部分表示为像素的图像,其中,每个像素对应于提取部分的字节;基于提取部分的图像来训练神经网络,使得后续网络流量可被所述神经网络分类,以基于为表示所述后续网络流量的所定义的部分而生成的图像来识别与所述恶意程序相关联的恶意网络流量。
在第三方面,本发明相应地提供了包括计算机程序代码的计算机程序元件,当所述计算机程序代码被加载到计算机系统中并且在其上执行时,使得计算机执行上面陈述的方法的步骤。
附图说明
现在将参照附图只通过示例描述本发明的实施方式,其中:
图1是适合于本发明的实施方式的操作的计算机系统的框图;
图2是根据本发明的实施方式的恶意加密流量检测器的组件图;
图3是根据本发明的实施方式的图2中的恶意加密流量检测器的方法的流程图;
图4是根据本发明的实施方式的客户端与服务器之间的连接建立和加密数据的传送的示例性例示;
图5是根据本发明的实施方式的恶意加密流量检测器的组件图;
图6a例示了根据本发明的实施方式的示例性数据规划;
图6b是根据本发明的实施方式的图5中的恶意加密流量检测器的方法的流程图;
图7是自传播恶意程序的传播树的视图;
图8a是图7中的自传播恶意程序的传播树的一部分,并且示出了额外的网络传送;
图8b是图7中的自传播恶意程序的传播树的一部分,并且示出了额外的网络传送;
图9是根据本发明的实施方式的适于确定恶意程序的流量部分定义的恶意加密流量检测器的组件图;
图10示出了根据本发明的实施方式的用于示例性网络连接的应用协议的流量窗口定义的示例性集合;
图11是根据本发明的实施方式的跨多个连接的多个窗口的相似性度量的图示;
图12是根据本发明的实施方式的用于定义恶意程序的流量部分定义的图9中的检测器的方法的流程图;
图13是根据本发明的实施方式的图9中的被配置成识别经由计算机网络传送的恶意加密网络流量的恶意加密流量检测器的组件图;
图14是根据本发明的实施方式的被配置成识别和抑制经由计算机网络传送的恶意加密网络流量的恶意加密流量抑制器的组件图;
图15是根据本发明的实施方式的恶意端点与目标端点之间的TCP网络连接的示意图;
图16是根据本发明的实施方式的恶意端点与恶意加密流量抑制器之间的TCP网络连接的示意图;
图17是根据本发明的实施方式的恶意加密流量抑制器的方法的流程图;
图18例示了根据本发明的实施方式的过程的概述;
图19a根据本发明的实施方式的恶意网络流量的连接建立部分中的一系列字节中的每一个例示了示例性简况图像;
图19b根据本发明的实施方式例示了恶意网络流量的连接建立部分中的一系列字节中的每一个示出不同颜色成分的示例性简况图像;
图20是根据本发明的实施方式的恶意加密流量检测器的组件图;并且
图21是根据本发明的实施方式的恶意加密流量检测器的组件图。
具体实施方式
图1是适于本发明的实施方式的操作的计算机系统的框图。中央处理器单元(CPU)102经由数据总线108可通信地连接到存储部104和输入/输出(I/O)接口106。存储部104可以是任何读/写存储设备(诸如随机存取存储器(RAM)或非易失性存储设备)。非易失性存储设备的示例包括磁盘或磁带存储设备。I/O接口106是针对用于数据输入或数据输出、或者既用于数据输入又用于数据输出的设备的接口。可连接到I/O接口106的I/O设备的示例包括键盘、鼠标、显示器(诸如,监视器)和网络连接。
图2是根据本发明的实施方式的恶意加密流量检测器200的组件图。检测器200是用于监控经由计算机网络202传送的网络流量并且用于在检测到恶意流量时生成恶意流量事件210的软件、硬件或固件组件。网络202是适于诸如作为计算机系统之间或之内的网络流量的数据的信息的传送的有线或无线网络。这样的计算机系统可以包括具有经由这样的计算机网络202发送和/或接收数据的装置的网络连接的设备,特别是诸如普及型设备、智能手机、设备、家电、车辆或其他物品中嵌入的逻辑单元、计算机系统的网络、大型机、小型机、台式机、便携式或基于云的计算机系统、虚拟或仿真系统等。经由诸如计算机系统的网络端点之间的网络连接来传送网络流量。端点之间的各个通信是网络连接的一部分,诸如互联网协议族中的传输控制协议(TCP)连接。例如,网络连接可以通过源网络端点的地址、目的地网络端点的地址、用于通信的源端口和目的地端口、以及所采用的通信协议的类型来表征。
检测器200可以实现在诸如路由器、交换机、防火墙、网络附加存储、复用器、收发器等的网络装备中。另选地,检测器200可以是能够与网络202工作的独立设备。在另一另选中,检测器200可被提供为网络连接的计算机系统(诸如用于防护恶意网络流量和/或恶意程序)的软件、硬件或固件组件。例如,检测器200可以实现为入侵检测系统、防火墙、操作系统、病毒检测系统、恶意程序检测系统等的一部分。
所述检测器包括作为软件、硬件或固件组件的熵估计器204和熵比较器206。熵估计器204可操作为对经由计算机网络202在网络连接上传送的网络流量的一部分的熵的估计量度进行评估。熵的估计量度被计算为经由网络连接传送的信息的不确定程度的量度,诸如香农熵的估计量度。例如,可以通过下式对网络流量的一部分的熵的估计量度HN评估:
Figure GDA0002493476880000071
其中,W是网络流量的所述部分的大小(以字节为单位),并且ni是所述部分中类型i的字节的出现次数。网络流量将作为流量的流来传送,并且所述部分中的字节(其熵被评估)将因此顺序地按照分组、块或其它流单元或手段接收。相应地,在实施方式中,使用流算法(诸如由Lall等人在“Data Streaming Algorithms for Estimating Entropy ofNetwork Traffic”(Lall等人,SIGMETRICS/Performance 2006)中描述的)来对网络流量的所述部分的熵的估计量度进行评估。这样的流算法提供了具有可以适应流网络流量的实时接收的性能的无偏性的熵估计。这是通过基于预定水平的相对误差和概率选择流中的多个随机位置来实现的。维持在所述流中接收到的在所述随机位置处发生的字节的计数,并且以该计数为基础来评估熵估计。所述估计被取平均,并且中位数用作熵的估计量度的基础。因此,采用Lall等人的方法,发生在网络连接中的网络流量的一部分的熵的估计量度可随着流量被接收而有效地生成。
网络流量的所述部分被选择为网络流量的连续子集,作为大体上对应于应用协议连接建立的网络流量的窗口。也就是说,如将在下面详细描述的,网络流量的所述部分大体上对应于网络流量的涉及经由网络202通信的两个应用端点之间的应用网络协议的连接的形成的一部分。
熵比较器206可操作为从估计器204接收熵的估计量度以与数据存储部208中的熵的基准量度209比较。数据存储部是用于熵的基准量度209的存储的任何适合的数据存储机构,诸如数据结构、存储器区域、文件、数据库等。当存储部208被例示为外在检测器200外部时,对于本领域的技术人员显而易见的是,存储部可以另选地是检测器200的构成部分。
熵的基准量度209是恶意加密网络连接的网络流量的一部分的熵的量度。通过适合的机制(诸如通过对网络流量加密时的恶意网络流量的观察)来预先确定熵的基准量度209。例如,诸如在经由计算机网络202传送的两个恶意软件应用之间发生的网络流量的恶意网络流量被监控以观察网络流量的一部分,并且所观察的部分的熵的估计量度被评估并且被存储为熵的基准量度209。优选地使用与上面描述的由估计器204采用的相同技术来评估熵的基准量度209。
相应地,在使用中,比较器206可操作为将来自估计器204的熵的估计量度与恶意加密流量的熵的基准量度209进行比较。响应于比较器206对经由计算机网络202传送的流量的熵的估计量度与熵的基准量度209充分相似的确定,比较器206输出对于计算机网络202上的恶意流量的肯定识别。熵量度中的充分相似度可以在比较算法的基础上实现,所述比较算法包括基于预定水平的可接受偏差允许偏差程度的比较。例如,熵的基准量度209可以定义在中点上方和下方偏差了预定程度的熵量度的线性范围中的中点。另选地,熵的基准量度209可以是一系列参考熵量度。
根据比较器206对恶意流量的肯定确定,生成恶意流量事件210以表示在计算机网络202上识别到恶意流量。恶意流量事件210还可以包括、涉及、或关联指示以下项目中的任何或全部的信息:网络202;发生在网络202上的网络连接;发生在网络202上的网络连接的协议;加入发生在网络202上的网络连接的一个或更多个端点(诸如系统、资源、装备或实体的地址);网络连接的其他表征信息(诸如端口或会话识别符等。恶意流量事件210可以是可消费事件,其由可操作为接收事件并且按照事件行动的一个或多个组件接收。例如,为了向端点通知恶意传送正在进行中的目的,恶意流量事件210可以触发与恶意网络连接的一个或两个端点的通信。另选地,恶意流量事件210可以触发所识别的恶意网络连接的主动终止,或者由恶意网络连接的端点采用的网络或系统安全的标准或级别的提高。恶意流量事件210可以触发计算机系统的病毒、恶意程序或其他恶意软件或配置扫描,或者计算机系统的关机、终止或断开连接,或者对于本领域的技术人员显而易见的并且可以依赖于计算机系统的性质、配置和用途的任何其他适合的保护性或补救性措施。因此,在使用中,恶意流量事件210适合于触发保护性组件来保护网络连接的端点免受恶意加密网络流量。保护性组件(未例示)可以是软件、硬件或固件组件,其尤其可操作为进行以下中的一项或多项:终止网络连接;发起对安装在端点计算机系统上的恶意程序的扫描;以及调整端点计算机系统或网络连接的安全级别。
图3是根据本发明的实施方式的图2中的恶意加密流量检测器200的方法的流程图。首先,在步骤302,加密估计器204对网络流量的一部分的熵的估计量度进行评估。选择网络流量的所述部分以对应于由网络202上的网络连接采用的应用协议流量的连接建立部分。这样的评估可以使用上面概述的Lall等人的方法来进行。在步骤304,熵比较器206将所求出的熵的估计量度与熵的基准量度209比较。在步骤306,检测器200基于在步骤304进行的比较来确定是否检测到恶意流量。当检测到恶意流量时,在步骤308采取保护性和/或补救性措施以便免受恶意网络流量并且/或者修复在一个或两个通信端点处运行的恶意软件。
因此,根据本发明的实施方式,发生在网络连接上的网络流量的一部分的熵的估计量度适于为了与已知恶意加密网络流量的熵的基准量度比较的目的来表征网络流量,以便识别恶意流量。网络流量的所述部分被选择为实质上对应于应用协议连接建立的网络流量的连续子集。也就是说,网络流量的所述部分大体上对应于涉及两个应用端点之间应用网络协议的连接的建立的网络流量的子集。在实施方式中,网络流量的所述部分直接对应于应用协议连接建立流量。应用协议包括发生在由RFC1122(RFC1122,Robert Braden,Internet Engineering Task Force,1989,参见tools.ietf.org/html/rfc1122)定义的互联网协议族的应用层的协议。相等地,应用协议包括发生在网络协议的开放系统互连(OSI)模型的应用层、表示层、会话层的协议。
在另选的实施方式中,恶意加密流量检测器200包括代替熵估计器204或者除了熵估计器204之外的傅里叶变换系数评估器、以及代替熵比较器206或者除了熵比较器206之外的系数比较器。傅里叶变换是在时域或空域中应用于信号以便将其变换为频域中相等的信号的数学变换。变换揭示了原始时域信号中包含的频率和频率范围。在离散信号(诸如在网络连接上发送的一系列字节)的情况下,如下面描述的,傅里叶变换采取所谓的离散时间傅里叶变换(DTFT)的形式,其中,输入是数据序列x[n]并且输出是傅里叶系数的数组或集合。用于计算傅里叶变换和DTFT的有效算法在本领域中已知,诸如快速傅里叶变换(FFT)算法,包括:Cooley-Tukey算法(诸如基-2时域抽取算法)、质因子FFT算法或Good-Thomas算法(Good,I.J.(1958)."The interaction algorithm and practical Fourier analysis",Journal of the Royal Statistical Society,Series B 20(2):361–372.JSTOR2983896,Addendum,ibid.22(2),373-375(1960)JSTOR 2984108)(Thomas,L.H.(1963)."Using a computer to solve problems in physics".Applications of DigitalComputers.Boston:Ginn.)、Bruun的FFT算法(Georg Bruun,"z-Transform DFT filtersand FFTs,"IEEE Trans.on Acoustics,Speech and Signal Processing(ASSP)26(1),56-63(1978))、Rader的FFT算法(C.M.Rader,"Discrete Fourier transforms when thenumber of data samples is prime,"Proc.IEEE 56,1107–1108 (1968))、以及Bluestein的FFT算法(Leo I.Bluestein,"A linear filtering approach to the computation ofthe discrete Fourier transform,"Northeast Electronics Research andEngineering Meeting Record 10,218-219(1968))、基数算法家族。
在这样的另选实施方式中,傅里叶变换系数评估器被布置为对发生在网络连接上的网络流量的一部分的要素的傅里叶变换系数的阵列进行评估。例如,这样的要素是在网络流量的一部分中经由网络连接传送的字节,所述部分大体上对应于在两个应用端点之间的应用网络协议的建立中涉及的网络流量的子集,被称为连接建立部分。因此,针对这样的部分中的每个字节评估的傅里叶系数产生了一组系数,诸如系数阵列。值得注意,可以使用数据传送的其它要素,诸如网络流量的固定大小或块的字节组。根据这样的另选实施方式,存储部另外或另选地包括对应于恶意程序传送的系数(诸如,可以从测量、观察、监控中观察或学习到的,或者另外地产生于经由网络202或另选的和相比较的网络传送的已知恶意程序网络流量)的系数的基准集。因此,在这样的另选实施方式中,调整图3中的方法,使得在步骤302对傅里叶变换系数评估并且在步骤304比较。
应用协议连接建立的确切的性质和范围将对于不同的应用协议改变,并且构成连接建立的应用网络通信的一部分的识别将对于本领域的技术人员显而易见。连接建立将大体上对应于使用应用协议的通信的建立所一贯要求的通信的一部分。值得注意的是,连接建立不包括实质性流量,所述实质性流量是为其创建网络连接的流量(即,看做一个整体的网络传送的载荷、负荷、或负重)。当实质性流量加密时,由加密产生的加密实质性流量的高度可变的性质导致趋向于随机源的熵或系数的对应的熵的量度或者傅里叶变换系数的评估。随机流量的熵的量度或系数的评估无法为了与已知恶意加密网络流量的基准量度或系数比较的目的来表征网络流量。因此流量的连接建立部分用于对熵的估计量度和/或傅里叶变换系数评估,连接建立部分由潜在的未加密的和/或加密的数据构成。
例如,用于多媒体数据传输的应用协议(诸如H.323协议(基于分组的多媒体通信系统,国际电信联盟(ITU),2009及日期为03/2013的修订版1,参见www.itu.int/rec/T-REC-H.323))包括连接建立部分和实质部分。H.323通信的实质部分是包含经由RTP通信信道(实时传输协议)传送的多媒体数据的部分——并且是为其创建连接的实质流量。H.323通信的连接建立部分是建立网络连接以便多媒体数据可以以期望的方式传送所需要的网络流量的部分。因此,参考用于互联网协议语音(VOIP)通信的H.323通信的使用,通信的连接建立部分将包括:H.225/Q931呼叫建立(ITU,2009和日期为03/2013的修正版1,参见www.itu.int/rec/T-REC-H.225.0);H.245协商(ITU,2011,参见www.itu.int/rec/T-REC-H.245);以及用于RTP通信信道的H.245语音路径建立。随后,在已建立的RTP信道上发送实质语音数据。这样的实质数据可以被加密,涉及进一步的连接建立步骤,诸如根据H.235安全标准(H.235.0到H.235.7,ITU,2005和2014,参见www.itu.int)。
通过进一步的示例,图4是客户端402与服务器404之间的连接建立和加密数据的传送的示例性例示。在406指示的步骤总体上涉及互联网的TCP建立,包括“SYN”、“SYN/ACK”和“ACK”消息。这些消息与传输层的TCP协议有关,并且用来建立具有分段序列号同步的TCP连接。遵循这些步骤,由虚线408指示的TCP连接在客户端402与服务器404之间创建。随后,在410指示的步骤总体上涉及使用安全套接层(SSL)或传输层安全(TLS)协议的加密连接的建立。如本领域的技术人员所熟悉的,SSL协议和TLS协议是使用非对称加密为端点之间传送的加密数据安全地建立对称会话密钥的互联网协议族应用层的加密协议。因此,在步骤410的安全连接的建立之后,在客户端402与服务器404之间提供安全的SSL或TLS会话,如由虚线412指示的。随后,建立用于在客户端402与服务器404中的每一个上执行的软件应用之间交换数据的应用协议。这样的应用协议可以是标准化协议或者专用协议,并且可以包括用于建立应用协议连接的初始消息集,在图4中称为应用握手。应用协议的示例包括互联网协议,特别诸如:FTP(文件传输协议)、Telnet、SSH(安全外壳)、SMTP(简单邮件传输协议)、IMAP(互联网消息访问协议)、POP(邮局协议)、SNMP(简单网络管理协议)、HTTP(超文本传输协议)以及CMIP(通用管理信息协议)。另外,应用协议可以包括服务或专用协议,特别诸如:AFP(苹果文件协议,原名AppleTalk)、JNDI(Java命名和目录接口)、SOAP(简单对象访问协议)、RDP(远程桌面协议)、NFS(网络文件系统)、X视窗系统、Java远程方法协议;以及非常多的其他协议。又另外,定制应用协议可以在应用层运行,特别诸如:数据库访问协议(诸如Oracle Net);消息传送协议(诸如Apple iMessage或Google Wave联盟协议);语音或媒体协议(诸如私有Skype协议);加密货币协议(诸如比特币协议);以及非常多其他协议。
应用协议的握手阶段可以包括协商、配置、认证、另外或另选的加密建立、授权和/或访问控制、信息交换、参数配置、排序等。再次参考图4,在安全SSL/TLS连接的建立之后,发生如阴影区域414所示的应用协议握手。在图4的示例中,应用协议握手将使用为SSL/TLS会话408建立的会话密钥来加密。本领域的技术人员应该理解,代替SSL/TLS会话408或除SSL/TLS会话408之外,应用协议可以另选地管理它们自己的加密通信机制。应用握手414的性质和范围将依赖于所采用的应用协议的类型而改变,并且可以是协议特定的。当协议规范公开时,应用握手414的性质和范围将是众所周知的。
在应用协议建立414之后,如总体上在图4中的416“AC”(应用通信)所示的,在客户端402与服务器404之间建立应用通信会话并且交换应用数据。因此,在416交换的应用数据将被加密。当正在通信的应用具有漏洞(诸如,易感于缓冲溢出攻击、编程错误、格式字符串漏洞、安全漏洞或配置错误等)时,则漏洞易受利用。利用可以涉及未授权实体的任意代码的终极执行,诸如通过经由shellcode等等的系统访问。这样的利用可以最终导致恶意程序在受利用的计算机系统上的安装,并且如前面描述的,当这样的利用发生在诸如图4中例示的加密网络连接上时,识别这样的利用的困难大幅增加。
相应地,本发明的实施方式对发生在网络连接上的网络流量的一部分的熵的估计量度或傅里叶变换系数的集合进行评估。选择所述部分以使得所述部分适于为了与已知恶意加密网络流量的熵的基准量度或系数比较的目的来表征网络流量,以便检测恶意加密流量。当网络流量加密时监控网络流量的趋势(诸如由Olivain等人提出的)是无效的,因为如前面指出的,加密网络流量的熵或系数将趋向于随机样本的熵或系数。与此相反,本发明的实施方式对于包含应用协议连接建立的网络通信的特别选中的部分的熵的估计量度或系数进行评估。图4将这样的部分例示为“CS”418(连接建立)。可以看到,在图4中,该部分418构成发生在网络连接的所有网络流量中的网络流量窗口。图4的连接建立部分被定义为包括TLS/SSL协商流量和应用握手414。值得注意的是,图4的应用握手是加密的,并且这将影响熵的估计和系数,尽管由应用数据416构成的实质流量不包括在内,因为这将导致熵估计或系数越来越趋向于随机样本的熵估计或系数。进一步注意到的是,TCP连接建立406不包括在内,因为这不是互联网协议族的应用层协议。除了诸如地址和端口的连接表征信息以外,TCP连接建立406对于所有连接将在很大程度上一致,并且因此所估计的熵评估的TCP连接建立406的值较低。在一些实施方式中,TCP连接建立406被包括在熵估计中,因为包含TCP连接建立406的作用在一些实施方式中可以认为跨所有网络连接是一致的并且相应地为了比较目的变得自相抵消。然而,在一些实施方式中,TCP和其它的、相似的或另选的较低层协议(诸如传输层、互联层和链路层协议)不包括在用于熵的估计量度的评估或系数的评估的网络流量的部分之内。优选地,较低层协议连接建立(诸如TCP连接建立406)的识别用于确定网络流量的应用建立部分的开始。
用于在对熵的估计或系数进行评估时使用的网络连接上的网络流量的一部分的定义是预先确定的和协议特定的。应用协议的定义可以用来确定适合构成协议的所需部分的网络分段、分组、消息等的数量和/或大小。该部分是与连接建立特征有关的网络流量的连续的和未中断的部分,以便可以有效地和提前识别恶意流量,以便可以采用适当的修复和/或保护措施而无需一定默许恶意传送。值得注意的是,该部分不是断开的或包括网络流量的选择的字段或多个部分——这样的方法在网络流量的相关部分的识别和估计的熵量度或傅里叶变换系数的评估中引入了低效。另外,如由Lall等人描述的,这样的方法无法确保用于流传输网络流量的熵评估机制的高效的和有效的应用。
需要确保被熵估计器204用于熵的估计量度的评估的网络流量的部分与用来评估熵的基准量度209的网络流量的部分一致,并且相似地,被傅里叶变换系数评估器使用的部分与用来评估基准系数的部分网络流量一致。也就是说,例如,用于网络202上的网络连接中的网络流量的协议的部分定义相等地应用于熵估计器204,并且用来确定熵209的基准量度的机制(其还可以是熵估计的过程)与估计器204的机制一致。如果所述部分不一致,则识别对应于熵的基准量度209的恶意流量的机会降低并且可以消除。
在其中经由TCP连接来提供网络连接的一个实施方式中,用于熵的估计量度的评估或者用于傅里叶变换系数的评估的网络流量的部分被确定为是发生在网络连接上的流量的连续子集,该部分在TCP握手部分之后并且直至网络连接上的网络流量的流中的流量大体上全部被加密的点。这样的部分可以大体上对应于一些协议的应用协议连接建立部分。
图5是根据本发明的实施方式的恶意加密流量检测器500的组件图。图5中的很多特征与图2中的那些一致,并且这些将不再重复。另外,应该理解的是:针对对熵的估计量度进行评估的揭示相等地应用于对傅里叶变换系数进行评估;针对对熵的基准量度的揭示相等地应用于基准傅里叶变换系数;并且针对对熵的估计量度与熵的基准量度之间的比较的揭示相等地应用于评估出的傅里叶变换系数与基准傅里叶变换系数之间的比较。图5中的检测器500还包括作为软件、硬件或固件组件的监控器520和分析器522。监控器520可工作为监控发生在网络502上的网络流量来识别网络连接。在一实施方式中,监控器520可工作为通过识别用于经由网络502的通信的协议的已知连接建立特征来识别新网络连接的开始。例如,监控器520可以是可工作为适于操作的混杂模式的网络组件,在所述混杂模式中,经由网络502通过的全部网络流量对于作为一种网络嗅探器的监控器520而言是可访问的。在一个实施方式中,监控器520适于在操作的原始套接字模式下工作。例如,监控器520可以使用libpcap库等来实现。在使用中,监控器520识别新的网络连接。例如,监控器520可以通过识别包含“SYN”、“SYN/ACK”、“ACK”分段的TCP连接建立来识别TCP连接的开始。以这种方式,监控器520检测到在网络502上创建的新的网络连接。
分析器522可工作为分析由监控器520识别的新的网络连接来识别网络连接的特征,以确定网络连接的应用协议。对应用协议的确定是参考存储应用协议的一个或更多个特征作为一个或多个标准的协议信息存储部524做出的。当满足标准时,其适合于识别网络连接的协议。在一个实施方式中,基于网络连接的端口号的识别来确定网络连接的应用协议,因为端口号通常是专用的。从0到1023的互联网协议族端口号特指大多数广泛使用的网络服务的众所周知的端口。端口1024到49151是由互联网数字分配机构(IANA)为特定服务分配的已注册端口。一些应用协议非正式地采用端口,并且通过管理和广泛使用变得与它们采用的端口号同义。端口与相关联的应用协议的列表参见IANA“Service Name andTransport Protocol Port Number Registry”(2014,参见www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt)。
在另选的实施方式中,分析器522可观察到的网络连接的进一步的特征可以用来确定应用协议。例如,未加密的连接建立信息或协议专用信息、数据或报头公开为网络连接的部分。
协议信息存储部524中的每个协议在流量部分定义存储部526中具有关联的一个或更多个部分。流量部分定义526包括用于由熵估计器504的熵估计的评估的网络流量的部分的定义。如上面描述的,每个流量部分定义526将网络流量的连续子集识别为对应于网络流量的应用协议连接建立部分的网络流量窗口。流量部分定义526是预定义的,并且可以基于应用协议的定义或者对使用中的应用协议的观察。在一实施方式中,部分定义526包括TCP连接建立之后的流量的量的定义,诸如在网络流量中的基准起始点开始的分段、分组、消息或字节的数量。因此,在一个实施方式中,每个部分是在传输协议握手之后并且直到预定端点的网络流量的子集。在另选实施方式中,部分定义526包括一序列网络流量中的起始点(诸如起始字节或分段)的定义,以及结束点(诸如结束字节或分段、或者字节或分段数量)的定义。最优选地,存储部926中的每个流量部分定义是协议专用的,使得流量的一部分的定义对于协议信息存储部924中的特定协议专用。在所有情况下,所述部分被定义为网络流量的连续的、未中断的子集,其被定义为针对网络连接传送的网络流量的一些窗口。尽管协议信息存储部524和流量部分定义526被例示为不同和单独的数据存储部,对于本领域的技术人员显而易见的是,协议信息和流量部分定义可以另选地存储在通用数据存储部中。
熵估计器504适于基于由分析器522确定的网络流量的协议从流量部分定义526中检索网络流量的一部分的一个或更多个定义。熵估计器504还适于根据检索的流量部分定义526将网络连接的熵的量度估计为所述连接的流量的每个部分的熵的估计量度。如上面描述地估计熵的量度。当针对一协议检索到多个流量部分定义526时,这样的部分定义将构成网络流量的多个窗口,这些窗口可以在网络流量的流中交叠或相邻地发生。因此,所检索的流量部分定义526中的每一个的熵的量度的估计的评估可以涉及多个评估,其以不同的程度覆盖相同的网络流量:使得针对构成检索到的流量部分定义526中的每一个的全部流量窗口发生评估。在一实施方式中,这通过接收、侦听、嗅探、记录或者另外地访问覆盖全部检索的流量部分定义926的窗口的连接的网络流量窗口中的网络流量来有效地实现。随后,各个流量部分定义926可以应用于这样访问的网络流量以便对于每个部分单独地进行熵评估。在这样的实施方式中,只从网络访问一次网络流量是有必要的,随后处理估计的熵的多个量度的评估。
熵比较器506适于从估计器504接收网络连接的熵的估计量度,并且将熵的估计量度与字典数据存储部508中记录的熵量度进行比较。字典数据存储部508存储一个或更多个熵量度的字典,其中每个熵量度与一类恶意传送(诸如恶意程序或利用)相关联。字典508中的熵量度是预先确定的,并且优选地基于已知恶意加密网络流量的熵的评估的估计量度。值得注意的是,基于与由熵估计器504用于新连接建立的部分一致的特定应用协议的网络流量的一部分来对字典508中的熵量度进行评估。因此,最优选地基于已知恶意加密流量的流量部分定义526来对字典508中的熵量度进行评估。如上面关于图2中的熵的基准量度描述的,字典508中的熵量度可以确定的量度、量度范围、或允许一定程度的偏差以识别量度相似性的量度。已知恶意加密网络流量包括已知包含恶意加密载荷的网络流量,诸如传送加密恶意程序的网络流量。另外,已知恶意加密网络流量包括已知与来自网络连接的恶意端点的通信有关的加密网络流量,诸如产生于或发生在已安装恶意程序组件之间的网络流量。另外,已知恶意加密网络流量包括与恶意实体之间的通信有关的加密网络流量,诸如恶意软件应用、和真正的(非恶意)软件应用,其中真正的软件应用易受漏洞影响,并且恶意软件应用与真正的软件应用通信以利用这样的漏洞。恶意加密网络流量的其它类型、形式和分类将对于本领域的技术人员已知,并且这些类型的恶意加密网络流量中的任何或全部适合作为定义与恶意加密网络连接的网络流量的一部分相关联的熵量度的基础。
值得注意的是,加密恶意网络流量将包括未加密的部分,诸如加密恶意网络流量的连接建立部分的至少一部分。因此,对于本领域的技术人员清楚的是,与恶意加密网络连接的网络流量的一部分相关联的熵量度将包括未加密的部分中的至少一部分。这是因为恶意网络连接主要对网络连接的实质载荷(例如,经由网络连接传送的加密的恶意程序或恶意程序连接)加密。
例如,字典数据存储部508可以包括不同的恶意程序或利用的记录(X和Y),提供了表示这样的恶意程序的熵量度的范围,诸如:
恶意程序或利用 部分 熵的量度
X 部分n a到b
Y 部分m c到d
值得注意的是,“部分”是协议专用的,并且相应地暗指特定协议。在恶意程序通过潜在的多个应用协议通信或利用潜在的多个应用协议的情况下,则多个恶意程序条目可以出现在包含构成不同协议的不同部分的条目的字典508中。字典508的另选的形成将对于本领域的技术人员显而易见。
图6a例示了根据本发明的实施方式的示例性数据规划648。数据规划648包括适合于存储用于图5中的实施方式的操作的数据的数据结构定义和关系。协议数据结构650包括唯一协议识别符,并且具有与协议标准652的一对一的关联。例如,标准652可以包括端口号。在另选实施方式中,协议650可以与唯一地定义特定应用网络协议的一个或更多个标准相关联。协议650还与任何数量的定义654相关联,每个部分具有唯一识别符。每个部分由与具有窗口定义的窗口660的关联定义。例如,窗口可以由网络连接数据流中的起始点与结束点的字节偏差来定义。用于定义网络连接数据流中的窗口的其它适合机制将对于本领域的技术人员显而易见。部分654还具有与熵数据结构656的一对一关联。在图6a的示例性实施方式中,熵数据结构656包括熵范围,诸如低的熵量度到高的熵量度。可以另选地采用用于记录部分654的一个或多个熵量度或者熵量度范围的其他适合机制。例如,可以在熵数据结构656中记录中点熵量度,并且可以采用可配置的或预定的相似度标准的定义(诸如距中点熵的最大距离)来参考熵数据结构656确定熵的相似量度。熵数据结构656具有与恶意程序记录658的一对一的关联。恶意程序记录与具有唯一识别符的特定恶意程序或特定利用有关。在另选实施方式中,熵数据结构656被一组傅里叶变换系数或系数指示器替代或补充,诸如:系数的阵列;系数范围的阵列;系数高值、低值、平均值、中位值、或众数值的阵列;系数的阵列,其中每个系数与一个或多个偏差值或比例相关联等。
在一个实施方式中,使用关系型数据存储装置(诸如关系型数据库)来实施数据规划648。在这样的实施方式中,协议信息存储部524具有如下的表定义:
协议ID(主键) 标准(外来键)
另外,流量部分定义存储部526可以具有如下的表定义:
协议ID(主键) 协议ID(外来键) 窗口
诸如图6a中例示的规划提供了网络流量的一部分的每协议、每恶意程序的定义。应该理解,这样的安排可以提供用于为每个协议定义的潜在多个部分作为用于识别由多个恶意程序和/或利用引起的恶意加密传送的存在的最适合部分。
图6b是根据本发明的实施方式的图5中的恶意加密流量检测器500的方法的流程图。最初,在步骤602,监控器520监控网络502上的网络流量来检测新的网络连接。这样的检测可以通过识别网络连接建立消息(诸如TCP“SYN”、“SYN/ACK”、“ACK”分段)来做出。在步骤604,分析器522识别网络连接的特征来确定网络连接的协议。在步骤606,基于在步骤604识别的协议来检索部分网络流量的定义。应该理解,可以另选地检索多个部分定义,在该情况下,对于每个部分重复后续步骤。在步骤608,基于在步骤606检索到的部分定义(或多个定义)对网络连接中的网络流量的部分进行熵的估计量度的评估。在步骤610,将熵的估计量度与字典数据存储部508中的熵的量度进行比较,以确定是否在步骤612检测到恶意加密流量。当在步骤612检测到恶意加密流量时,方法继续到步骤614以促使保护性和/或补救性措施保护一个或多个计算机系统免受恶意网络流量和/或与恶意网络流量相关联的恶意软件的负面作用。在另选实施方式中,步骤608和610可以另外地或另选地对网络流量的一部分的要素(诸如字节)的傅里叶变换系数进行评估(步骤608),并且将评估的系数与恶意加密网络流量的系数集合的字典比较(步骤610)。
以这种方式,即使在网络连接的载荷被完全加密的情况下并且在网络流量展现出加密连接的期望的熵或傅里叶变换特征的情况下(诸如,例如对于真正的(非恶意的)加密流量所预期的,连接的熵趋向于随机源的熵的趋势),本发明的实施方式也识别恶意加密网络流量。本发明的实施方式利用应用协议连接建立特征的特有性质作为估计网络连接的熵或对网络连接的系数进行评估的基础作为网络连接的区分特征。连接建立协商、协议选择、参数选择、包括密文或算法选择以及参数、密钥交换等的加密选项全部构成应用协议的连接建立部分的表征特征。值得注意的是,这样的特征在通信之间将是一致的,使得恶意程序将很大程度上采用应用协议建立中的相似的或等同的特征。对于要求一致的通信建立的恶意程序可以存在约束——诸如对于作为在本地与远程系统之间兼容并且因此不能显著变化的通信建立的方法的需要。例如,寻求与客户端处安装的恶意程序传送的服务器处的恶意程序将采用具有已知与客户端处安装的恶意程序兼容或期望兼容的连接建立特征的网络连接。另外,特定系统漏洞的利用可以要求特定的通信配置,包括应用协议建立。相应地,对于恶意程序的连接建立特征的可变性的约束产生了应用协议的连接建立过程作为恶意加密传送的好的区分特征。
适于本发明的实施方式的检测的加密传送的类型特别包括受恶意程序感染的系统之间的传送,诸如恶意程序-到-恶意程序传送。另外,传送可以包括为了恶意程序的利用和安装/传输的目的(诸如感染)从恶意程序服务器到客户端计算机系统的传送。下面关于图7、图8a和图8b研究这些类型的传送。
Chen等人在“Spatial-Temporal Modeling of Malware Propagation inNetworks”(IEEE,2005)中研究了经由计算机网络在整个计算机系统中传播恶意程序。Chen等人确定了针对恶意程序传播的多个观察到的方法,包括:随机扫描,其中,恶意程序感染寻求随机地感染目标;以及拓扑扫描,其中,恶意程序检查本地网络配置文件来检测恶意程序感染的网络邻居候选。图7是自传播的恶意程序的传播树的图。恶意程序的源被例示为由一圆形示出的联网的计算机系统。受到恶意程序感染的并且还感染了其它联网计算机系统的每个联网计算机系统由矩形示出。受恶意程序感染的、还没有感染其它系统的每个联网的计算机系统由三角形描绘。从图7中可以看到,自传播的恶意程序可以快速导致跨宽网络范围的大量受感染的系统。当传播模式是按照网络传送中的加密恶意程序的传播时,每个传播(图7中的每个箭头)可以对应于感染系统与目标系统之间的网络连接,加密恶意流量可以穿过所述网络连接传送。本发明的实施方式监控这些网络连接来检测恶意加密网络流量,以阻止恶意程序感染、保护免遭恶意程序感染或修复恶意程序感染。
图8a是图7中的自传播恶意程序的传播树的一部分,并且指示了额外的网络传送。图8a中的虚线指示受感染的系统与恶意程序的源(诸如恶意程序母舰(由圆形指示))之间的可能的网络连接。这些网络连接中的每一个都可以用来共享关于受感染系统的信息、传送从受感染的系统提取、偷窃或者另外地访问的数据、命令或控制受感染的系统等。相应地,这些传送中的每一个可以通过使用加密应用协议以加密形式进行,并且这些传送可以被本发明的实施方式监控来检测恶意加密网络流量以阻止恶意程序感染、保护免遭恶意程序感染或修复恶意程序感染。
图8b是图7中的自传播恶意程序的传播树的一部分,并且指示了额外的网络传送。图8b中的虚线指示受感染的系统之间的可能的网络连接。恶意程序可以利用彼此传送的受感染的系统进行操作来分发一系列地址,在所述地址之间恶意程序向一组不可预测的和相异的地址传送作为避开检测的手段。因此,只有小组的受恶意程序感染的系统可以直接与恶意程序源通信。图8b中的每个网络连接都可以用来共享关于受感染的系统的信息、传送从受感染的系统提取、偷窃或者另外地访问的数据、命令或控制受感染的系统等。相应地,这些传送中的每一个可以通过使用加密应用协议以加密形式进行,并且这些传送可以被本发明的实施方式监控来检测恶意加密网络流量以阻止恶意程序感染、保护免遭恶意程序感染或修复恶意程序感染。
在一个实施方式中,基于已知恶意加密流量的熵的估计量度和系数集的相似度的一致程度从网络流量的多个可能窗口中选择网络流量的部分,所述部分的熵的估计量度和/或傅里叶变换系数被评估。也就是说,在特定的实施方式中,用于评估的部分是发生在特定窗口内的已知恶意流量的连续子集,其呈现多个值的熵的一贯地相似的量度或傅里叶变换系数的范围,使得该部分构成表征恶意流量的有效基础。相应地,该部分构成检测恶意流量的有效基础。
图9是根据本发明的实施方式的适于确定恶意程序948的流量部分定义926的恶意加密流量检测器900的组件图。检测器900是能够利用计算机网络902操作的软件、硬件或固件组件,并且可以构成全部、部分、或适配类型的检测器(诸如上面关于图2和图5描述的那些)。通信端点932a和932b可以是联网设备,诸如计算机系统、普及型设备、网络家电等。另选地,通信端点932a和932b可以是软件组件,诸如在计算机系统内工作的虚拟计算机系统(诸如虚拟机、仿真机或在计算机系统内执行的应用)。至少通信端点932b包括恶意程序948作为恶意组件,诸如适于使用加密网络流量与端点932a通信的恶意软件组件。恶意程序948和网络902按照恶意加密流量检测器900可观察到的方式工作。在检测器900的使用中,在操作中多次观察到恶意程序948经由多个加密网络连接9301、9302、930n建立和传送。例如,可以重复执行恶意程序948,或者可以执行恶意程序的多个实例。恶意程序948通过网络连接9301、9302、930n的传送可以特别用于:与同样安装在端点932a的恶意程序交换数据;识别、测试或利用端点932a的漏洞;向端点932a传送加密软件或shellcode(诸如多态shellcode)。从端点932a接收信息(诸如数据);或者如对于本领域的技术人员显而易见的其它原因。
在一个实施方式中,网络连接9301、9302、930n可以是在单个计算设备上执行的软件组件之间的回送网络连接。例如,在联网协议可工作为构成网络902的方面,网络902可以是虚拟网络,尽管网络连接9301、9302、930n的传送没有离开计算设备而在物理网络媒体上传播或无线地在计算设备外传播。
大体上如此前关于图5描述的,检测器900包括分析器922、熵估计器904和协议信息存储部924。在另选实施方式中,检测器另外包括如先前描述的傅里叶变换系数评估器,其可以附加于或另选于熵估计器904(此后对用于熵的估计量度的评估的熵估计器904的揭示相等地应用于用于系数的评估的傅里叶变换系数评估器)。检测器900还包括用于记录在网络连接9301、9302、930n上传送的网络流量960的网络流量记录器950,所述记录是根据由分析器922确定的网络连接的应用协议的网络流量窗口定义956进行的。网络流量窗口定义956将网络流量的窗口定义为用于由记录器950记录的网络流量的候选部分。候选部分用来选择一部分作为用于根据例如此前关于图5描述的实施方式的恶意程序的检测的流量部分定义926。每个网络流量窗口定义956是对于网络协议专用的。在一个实施方式中,一个或更多个网络流量窗口定义956还可以专用于特定的恶意程序948或鉴于特定的恶意程序948定义,诸如鉴于包括应用协议连接建立特征和/或漏洞利用特征在内的特定恶意程序的已知的、观察到的或理解的特征。
图10描绘了根据本发明的实施方式的示例性网络连接1000的应用协议的流量窗口定义的示例性集合1008。经由图10中的网络连接1000传送的数据总体上划分为三个部分,每个部分具有在图10中指示的估计的大小(纯例示性)并且包括:传输协议握手部分,被估计为通常构成部分1002;应用协议连接建立部分,被估计为通常构成部分1004;以及实质加密数据载荷部分,被估计为通常构成部分1006。图10中的示例网络连接的每个部分的确切大小、长度或范围可以出于很多原因是未知的。传输握手1002的确切性质可以是未知的,因为握手可以在从通信终点之间交换的消息或分段的最低数量到最大延伸的数量范围内变化。相似地,应用协议连接建立1004的确切性质和范围也可以是未知的,因为连接建立的部分可以是加密的,并且应用协议的确切性质可以是未知的,和/或连接建立的范围可以从最小到延伸的范围内变化。另外,应用协议建立可以构成利用目标系统932a的漏洞的恶意程序948的部分或全部利用过程,并且相应地这样的连接建立的性质可以是非典型的。因此,应用协议连接建立1004的起始点、结束点和范围可以不是确切已知的。相应地,多个视窗定义1008是预先确定的,使得每个视窗都定义网络连接的网络流量的不同子集,旨在所有窗口都寻求覆盖用于网络连接的网络流量的应用协议连接建立部分1004的至少一部分。每个窗口可以通过起始点1010和结束点1012来定义,起始点和结束点中的每一个表示用于网络连接的网络流量中的位置,诸如网络流量中的字节、消息、分段或分组偏移。另选地,起始点1010和范围、长度、或大小1014可以定义窗口。如图10中描绘的,窗口1008通常被定义为跨网络流量的不同的连续子集,覆盖应用协议连接建1004的估计位置的至少一部分,以便提供用于将最有可能的窗口识别为用于由恶意加密流量检测器900识别加密网络流量的协议和/或恶意程序的一部分网络流量提供的有用基础。
在一个实施方式中,定义主窗口,从该主窗口得出多个窗口1008。这样的主窗口被定义为具有基于应用协议连接建立的大小的预定估计的大小和位置,并且其中,多个窗口1008中的每一个窗口具有从小于主窗口大小的第一预定的delta大小到大于主窗口大小的第二预定的delta大小的大小范围内的大小。
回到图9,网络流量记录器950针对流量窗口定义956中定义的每个适用的窗口记录在网络连接上接收到的网络流量960的子集。适用窗口是与用于网络连接的协议相关联的窗口。因此,在使用中,记录器950针对恶意程序网络连接9301、9302、930n中的每一个记录网络流量960的多个子集。针对网络连接而记录的网络流量960的每个子集与特定的流量窗口定义相关联。在一个实施方式中,网络流量记录器950只访问网络连接9301、9302、930n的网络流量一次,并且根据适用的流量窗口定义956复制所访问的网络流量的子集来生成网络流量960的多个子集。例如,网络流量记录器950可以记录从所有适用窗口定义中的最早点到所有适用窗口定义中的最晚点的网络流量,使得随后特定的窗口定义可以用来提取所记录的流量的子集以存储每个窗口定义的网络流量子集960。
图9中的熵估计器904(以及/或者傅里叶变换系数评估器)适于对针对9301、9302、930n连接中的每一个记录的网络流量960的每个子集评估熵的估计量度(“H”)954(和/或系数)。图11是针对多个网络连接9301、9302、930n的多个流量窗口定义956评估的熵的估计量度的示例性例示。图11例示了传送加密网络流量的恶意程序的三个示例性网络连接A、B和C的熵量度。每个连接都具有一组窗口的评估的熵量度(H)的分布,每个窗口由窗口识别符标识(本示例中范围1到8中的“窗口id”)。每个连接的窗口是相同的,从而可以比较多个连接之间的网络流量的离散窗口的熵量度。
回到图9,检测器还包括作为软件、硬件或固件组件的窗口选择器958,窗口选择器958用于将窗口识别为用于流量部分定义存储部926中的存储的网络流量部分定义。流量部分定义存储部926大体上如此前关于图5描述的那样。从恶意程序948的一组适用窗口识别窗口,即,与网络连接9301、9302、930n的协议相关联并且由熵估计器904评估所述网络连接的熵的估计量度H的窗口。一窗口被窗口选择器958识别为跨多个网络连接9301、9302、930n的熵的估计量度最相似的窗口。在一个实施方式中,窗口选择器958针对跨多个网络连接9301、9302、930n的每个窗口对熵的量度的相似度量度进行评估,以识别具有最一致相似的熵量度的窗口。因此,在这样的实施方式中,窗口可以按相似度量度排序以识别最一致相似的窗口。用于测量熵量度之间的相似度的技术将对于本领域的技术人员显而易见,并且可以包括例如相似度函数或反距离度量(inverse distance metrics),诸如基于欧氏距离的相似度量度。还可以采用聚类算法来测定多个熵量度的相似度。值得注意的是,当使用多于两个网络连接用来评估窗口熵量度时,窗口的熵量度之间的相似度程度的一致性或偏差变得相关。也就是说,可以测量窗口的所有熵量度的相对相似度,并且由窗口选择器958识别具有总体上最相似的熵量度的窗口。就这一点而言,本发明的实施方式采用聚类算法(特别诸如k均值算法、基于分布的聚类算法和/或基于密度的聚类算法)来在窗口的全部熵量度之中识别熵量度的聚类。这样的聚类算法可以适于将具有最紧密聚类的熵量度的窗口识别为具有最一致相似的熵量度的窗口。例如,窗口的可以被全部聚类到单个聚类中的熵量度构成相似的熵量度。针对熵量度之间的相似度的程度或一致性,可以测量具有这样的相似熵量度的窗口。用于实现这点的一种技术涉及测量聚类中的熵量度的变量或偏差。例如,来自中央的、平均的、均值的或中位的熵量度的最大的、平均的或最频繁的偏差可以用作窗口的聚类中的全部熵量度的相似度的程度或一致性的量度。用于测量和比较窗口的熵量度的相似度和一致性的相对程度的其它合适技术将对于本领域的技术人员显而易见。
因此,窗口选择器958识别被确定为具有跨多个恶意程序网络连接9301、9302、930n的熵量度的最大程度的一致相似度的窗口。回到图11,示出了跨所有网络连接的每个窗口的相似度量度的图示S1008。可以看到,最一致相似的窗口1110由窗口选择器958识别,并且用来生成新的流量部分定义926。实际上,这样的识别的窗口对于恶意加密网络流量和真正的或非恶意的网络流量二者而言可以是一致相似的。例如,窗口可以由对于特定应用协议的全部网络连接(无论是或不是恶意的)总是相同的窗口选择器958识别。这样的窗口不适于用于恶意加密网络流量的检测,因为这样的窗口将总是呈现一致的特征,并且不管网络连接的性质如何,熵的量度可以大体上保持相同。相应地,优选的是,窗口选择器958进一步进行由窗口选择器958识别的窗口的消除过程,以按照某个预定程度的相似度或聚类从所述识别中排除具有与已知的非恶意加密流量的熵量度相似的已知恶意流量的熵量度的窗口。消除的过程基于与使用与已知恶意网络流量的应用协议相同的应用协议的通信有关的非恶意流量。因此,对作为窗口的部分的识别可以基于窗口的估计熵量度的评估在恶意加密网络流量与非恶意网络流量之间不一致的确定,使得从作为用于恶意加密网络流量检测的部分的选择中消除其估计的熵量度对于恶意的和非恶意的流量大体上相似的窗口。
在窗口选择器958识别了一部分时,生成流量部分定义926,以供此前描述的检测网络上的恶意加密网络流量的方法和设备使用。另外,窗口选择器958识别流量部分定义926的窗口的过程还包括发生在窗口中的加密网络流量的典型熵值的识别。相应地,窗口选择器958的所述部分识别还适于将字典数据存储部508中的记录定义为参照图5描述的熵的基准量度或基准范围。具体来说,基于所识别的窗口的熵量度或熵量度的范围,可以针对应用协议和恶意程序948定义字典数据存储部508中的基准熵量度。因此,窗口选择器958还优选地在字典508中存储与恶意软件组件948的识别符相关联的熵的基准量度,所述基准量度从网络连接9301、9302、930n中的每一个的所识别的窗口的熵的估计量度中导出。
窗口的全部熵量度的相关相似度程度还提供当在恶意加密流量的识别中采用流量部分定义926时允许的相似度程度、或者差数或误差的信息。也就是说,在定义流量部分定义926时跨多个网络连接9301、9302、930n的窗口的熵量度一致相似的程度告知了加密网络流量的连接建立部分的熵量度必须相似于流量部分熵量度的程度以推断连接是恶意的确定。因此,当窗口选择器958将已知恶意程序948的网络流量的窗口的熵量度评估为具有高度相似度时,随后将窗口使用为流量部分定义926以检测生产环境中的恶意流量将要求与字典中的熵的基准量度相对应地高相似度。
图12是根据本发明的实施方式的用于定义恶意程序948的流量部分定义926的图9中的检测器的方法的流程图。最初,在步骤1202,将流量窗口定义956定义为网络流量的子集。在步骤1204,分析器922参考协议信息存储部924识别由恶意程序948建立的网络连接9301、9302、930n的特征,以确定网络连接9301、9302、930n的协议。在步骤1206,记录器950记录对应于适合于每个网络连接9301、9302、930n的确定的协议的每个窗口的网络流量的子集960。在步骤1208,熵估计器904评估网络流量的每个记录的子集的熵的估计量度954。在步骤1210,窗口选择器958将恶意加密网络流量的一部分识别为与使用用于表征恶意网络连接的应用协议的恶意网络连接的连接建立部分大体上对应的窗口。所述部分存储在流量部分定义926中。在步骤1214,基于跨多个网络连接9301、9302、930n的所识别的窗口的熵的估计量度,恶意程序948的恶意加密网络流量的部分的熵的基准量度(或量度范围)被添加到字典508中。在另选实施方式中,图12中的方法适于另外地或另选地包括在步骤12208的每个记录的网络流量集合中的多个元素(例如字节)中的每一个的傅里叶变换系数的评估;并且适于基于在步骤1214评估的傅里叶变换系数将恶意程序的系数的基准集合存储在字典中。
图13是根据本发明的实施方式的图9中的恶意加密流量检测器900的组件图,恶意加密流量检测器900被配置成识别经由计算机网络902传送的恶意加密网络流量。具体来说,图13中的检测器900还包括大体上如此前关于图5描述的监控器920和字典数据存储部908。因此,完成用于潜在多个已知恶意程序组件或利用的图12中的方法,生成流量部分定义926以及字典908,以便可以通过将熵的估计量度与字典908中存储的基准量度的比较,针对恶意加密网络流量评估经由网络902传送的受监控的网络流量。根据由比较器906对恶意加密网络流量的识别,生成用于触发或促使补救性、预防性、交流性或保护性措施的恶意流量事件910,下面进一步描述其示例。
图14是根据本发明的实施方式的恶意加密流量抑制器1401的组件图,恶意加密流量抑制器1401被配置为识别和抑制经由计算机网络1402传送的恶意加密网络流量。发起经由计算机网络1402的网络连接1410,以在恶意端点1422与目标端点1420之间传送包括网络消息1412(诸如分组、分段等)的恶意加密网络流量。恶意端点1422是执行用于利用其它计算机系统(诸如目标端点1420)中的漏洞的恶意软件(诸如恶意程序)的计算机系统。恶意端点1422可以自身具有恶意活动的目标(诸如漏洞利用),导致其状态为恶意端点1422。恶意加密流量抑制器1401是可操作为拦截、嗅探或者另外地访问经由计算机网络1402传送的消息1412的联网软件、硬件或固件组件。恶意加密网络抑制器1401包括诸如已经在此前大量实施方式(特别包括关于图2、图5和图9)中描述的恶意加密网络检测器1400。另外,恶意加密流量抑制器1401包括作为恶意加密流量抑制器1401的一部分、与恶意加密流量抑制器1401相关联、或者可访问恶意加密流量抑制器1401的软件、硬件或固件组件的连接特征提取器1462、加密载荷数据提取器1464和消息生成器1462。
连接特征提取器1462可响应于恶意加密流量检测器1400而操作,以从网络连接1410的网络流量中提取连接特征。具体来说,连接特征包括适于与网络连接1410的恶意端点1422传送的信息。在一个实施方式中,网络连接包括经由传输协议(诸如传输控制协议(TCP))操作的应用网络协议。TCP通信被实行为具有报头部分和载荷(主体)部分的一系列分段。连接特征被维持在TCP分段的报头部分中,并且包括分段的源端点和目的端点的地址信息。此外,TCP工作为顺序协议,使得网络连接的每个分段中的每个字节按顺序编号。以这种方式,在接收端点处接收到的TCP消息可以按正确顺序聚合,并且可以识别缺失的、丢失的或延迟的消息以重新发送。这可以通过在每个TCP分段的报头中包括标识分段中的第一字节的网络连接的序列号的序列号字段(SEQ)来实现。另外,每个TCP分段包括表示预期来自远程端点的下一字节的序列号的确认(ACK)字段。以这种方式,SEQ和ACK字段结合此前描述的TCP握手的同步过程用来提供经由TCP网络连接传送的字节和消息的正确排序。相应地,这样的字段连同网络地址信息一起构成了网络连接1410的连接特征。这些连接特征适于与恶意端点1422通信,因为它们提供了端点的地址信息连同最新的顺序信息。因此,借助于从由此访问的消息提取的连接特征,恶意加密流量抑制器1401具有参与网络连接1410(另外在恶意端点1422与目标端点1420之间建立)所需要的信息。如本领域的技术人员应该熟悉的,由不是网络连接的端点或参与方的实体进行这样的通信称为TCP/IP劫持。TCP/IP劫持是通常具有恶意意图进行的攻击或利用的形式。与此相反,本发明的实施方式采用了与用于抑制参与传送加密网络流量的恶意软件的分发、操作或网络传送的机制相似的技术。
加密载荷数据提取器1464可响应于恶意加密流量检测器1400而操作,以从网络连接1410的网络流量中至少提取加密载荷数据的样本或子集。例如,这样的加密载荷可以承载在一个或更多个消息1412的载荷或数据段(诸如一个或更多个TCP消息分段)中。例如,在加密载荷的熵的估计量度将趋向于随机样本的熵(趋向于最大不确定性)的基础上,可以基于载荷数据的熵的估计量度来识别加密载荷。优选地,提取加密恶意载荷的可调大小的或完整的样本,其具有适合于作为一个或更多个网络消息(诸如TCP分段)的传输的大小。优选地,以二进制的形式提取完整的加密数据载荷信息。将加密网络流量载荷解密不是必要的,因为其目的是构成由消息生成器1466生成的并且被传送到恶意端点1422的新消息的全部载荷或部分载荷。当被传送到恶意端点1422时,加密载荷将能够至少在目前情况下被恶意端点1422识别,因为加密载荷是使用恶意端点1422可识别的加密方案、机制、密钥或过程加密的,因为加密载荷源于恶意端点1422与目标端点1420之间的现有通信的一部分。因此,显而易见的是,对于恶意端点1422合理的是,包含加密数据的消息是作为恶意端点1422与目标端点1420之间的网络连接的一部分的预期网络流量。在一个实施方式中,加密载荷数据提取器1464提取源于目标端点1420的加密载荷。如果可能或已知在恶意端点1422与目标端点1420之间的通信中使用非对称加密方案,则这是特别有益的。在针对恶意加密网络流量采用对称加密方案的情况下,来自恶意端点1422或来自目标端点1420的加密载荷是适合的。
图15是根据本发明的实施方式的恶意端点1422与目标端点1420之间的TCP网络连接的示意图。恶意加密流量抑制器1401(METI)可操作为访问经由TCP网络传送的TCP分段。由目标端点1420传输的初始消息1502包括TCP头部,TCP头部具有:源(SRC)和目的地(DST)地址;序列号字段(SEQ);确认字段(ACK);以及长度(LEN)。由恶意端点1422传输的第二消息1504包括相似的头部以及包含加密恶意数据(诸如恶意软件)、加密溢出代码和利用代码、或者其它恶意加密数据的更实质的载荷(以阴影表示)。恶意加密流量抑制器1401的连接特征提取器适于从接收自恶意端点1422的消息1504的头部中检索连接特征1506。另外,加密载荷数据提取器适于从接收自恶意端点1422的消息1504的载荷中检索加密载荷1508的样本。以这种方式,恶意加密流量抑制器1401具有生成用于向将看起来合理地涉及恶意端点1422与目标端点1420之间的网络连接的恶意端点1422传输的消息所需要的信息。也就是说,这样的消息可以至少包括相关的和适合的地址、序列(SEQ)、确认(ACK)信息,并且还可以包括使用可识别为与网络连接有关的加密方案加密的载荷数据。
回到图14,消息生成器1466可响应于恶意加密流量检测器1400而操作,以生成用于向恶意端点1422的传输的多个网络消息。生成的网络消息包括基于由连接特征提取器1462提取出的连接特征或从所述连接特征导出的特征,并且还包括作为基于由加密载荷数据提取器1464提取出的数据或从所述数据导出的加密恶意网络流量的载荷数据。相应地,对于恶意端点1422而言,由消息生成器1466生成的消息将看上去合理地涉及用于传送恶意加密网络流量的网络连接。最优选地,消息生成器1466生成足够的消息,当向恶意端点1422传输所述消息时,鉴于所述消息合理地与网络连接有关并且每一个都需要接收、解密和潜在响应,恶意端点1422大体上被处理所述消息的需要所消耗。在这一点上,平衡可以被用于向恶意端点1422传输的消息数(数量)和各个消息的大小(长度)(每个消息的大小由加密载荷的大小决定)打破。
图16是根据本发明的实施方式的恶意端点1422与恶意加密流量抑制器1401之间的TCP网络连接的示意图。图16中例示的消息在图15中的消息和出现之后发生。在图16中,恶意加密流量抑制器1401的消息生成器1466生成多个消息1602,每个消息都包括恶意端点1422与目标端点1420之间的网络连接的适合的SRC和DST地址信息。另外,每个消息都包括准确的和最新的SEQ和ACK字段。每个消息都包括具有基于由加密载荷数据提取器1464提取的数据或者从所提取的数据复制的加密载荷数据的载荷部分。因此,在使用中,恶意端点1422接收合理地涉及与目标端点1420建立的网络连接的相当大数量的TCP分段。每个分段都包括适合的地址和排序信息,并且每个载荷利用可识别的加密算法并且使用已知密钥来加密。相应地,在占用恶意端点1422以便通过消耗恶意端点1422的资源使恶意端点1422分心的过程中,恶意端点1422开始接收、记录、侦听和解密这些大量消息。与这种对恶意端点1422的资源的消耗并行地,恶意加密流量抑制器1401可以与恶意加密网络流量的目标端点1420通信或通知恶意加密网络流量的目标端点1420,和/或停止、阻止或触发保护免受进一步流量的过程。因此,凭借所有这些活动,恶意加密流量抑制器1401用于抑制恶意端点1422生成恶意加密网络流量并经由网络连接传送恶意加密网络流量的能力,至少直到消息生成器1466生成的消息停止传输为止。
基于在计算机网络上访问的恶意加密消息的加密网络流量的使用是特别有益的,并且是对用于影响远程联网计算机的已知拒绝服务类型方法的改进。现有的拒绝服务方法(诸如SYN洪泛、“死亡之ping”、“teardrop”、“ping洪泛”、放大攻击、以及这些中的任何项的分布式版本(分布式拒绝服务攻击))已很好地建立,并且用于保护免受这些攻击的方法越来越多流行(例如,Linux操作系统采用“syncookies”来阻止SYN洪水攻击)。然而,本发明的方法采用基于真实网络流量的消息来如此大幅地增加由恶意端点1422接收的传送的合理性,使得消息无法容易地被怀疑直到资源消耗的规模如此之大以至于资源消耗本身成为在恶意端点1422实现的拒绝服务类型作用的指示。值得注意的是,诸如恶意端点1422的恶意系统通常被开发为积极地与尽可能多的其它系统通信,以最大化分布式和正在执行的恶意程序的传播和效果。相应地,这样的恶意系统招致上面描述的类型的高容量消息(导致恶意程序在恶意程序的分发、或与恶意程序传送中不再高效)的倾向,致使本发明的实施方式的方法特别有利。
图17是根据本发明的实施方式的恶意加密流量抑制器1401的方法的流程图。图17中的方法通过扩展到此前关于图6b和图12描述的实施方式及图2、图5、图9和图14的布置也是可适用的。最初,在步骤1702,连接特征提取器1462从经由计算机网络传送的恶意加密网络流量(诸如消息、分组、分段等)中提取连接特征。在步骤1704,加密载荷数据提取器1464从经由计算机网络传送的恶意加密网络流量(诸如消息、分组、分段等)中至少提取加密载荷的样本。最后,在步骤1706,消息生成器1466生成用于传输到恶意端点1422的多个消息,每个消息都由所提取的连接特征来表征并且包含从加密载荷数据的提取的样本中导出的载荷以便利用合理地与恶意网络连接有关的消息来制服恶意端点1422,使得恶意端点1422基本上停止参与与目标端点1420的恶意网络流量传送。
如先前描述的,除了熵评估以外或作为熵评估的另选,可以评估傅里叶变换系数来基于所确定的流量窗口定义来检测潜在的恶意流量。傅里叶变换系数评估器可以使用以下公式来计算网络流量的系数:
Figure GDA0002493476880000301
其中:N是数据元素的数量,诸如流量窗口自中的字节的数量;x[n]是第n个字节的标识符(其中每个字节具有8位,因此存在2^8=256个可能组合);k=0,1,2,…(N-1);并且j是虚部单位或单位虚部。单位为Hz的频率是(+或-)k/N并且对应的傅里叶变换系数是Xk的值。
因此,在一个实施方式中,傅里叶变换系数评估器评估N个字节的数据流量窗口中的每个字节x[n]的系数。因此,考虑如下的3字节(N=3)的窗口:
字节 字节标识符(数值)
1 01010101(85)
2 00010000(16)
3 00000101(5)
使得x[n]={85,16,5},系数X可被评估为:
k X<sub>k</sub> X<sub>k</sub><sup>2</sup> 频率k/N
0 35.3 1246.09 0
1 74.5+j18 5874.25 1/3
2 74.5-j18 5874.25 2/3
X提供了对应于网络流量窗口中的元素(字节)的N个系数的集合(例如,阵列)。其中针对已知恶意网络流量评估并存储(诸如存储在存储部208或字典508中)这样的系数,这样的系数适于与针对网络流量相似地评估的系数比较,以识别潜在的恶意网络流量。值得注意的是,鉴于虚部单位j比较系数的平方值可以是有利的。
傅里叶系数的使用的一个特征是对于网络流量的选定部分中的每个元素(诸如每个字节)评估系数。这既是系数的基准集(诸如可以存储在字典中的)的情况也是对于要做出关于网络流量是否是恶意的确定的网络流量评估系数的情况。因此,对恶意网络流量的勾画可以在逐个字节的基础上发生。为了傅里叶变换系数评估,对离散序列的要求使流量部分的划分(诸如划分为字节)成为必须。值得注意的是,可以针对熵评估相等地采取相同的方法,使得字典以离散元素为基础(诸如逐个字节地)包含基准熵值,并且估计每个元素(例如,每字节)的熵以与这样的基准值进行比较。
图18例示了根据本发明的实施方式的过程的概述。首先提供了包括连接建立部分(并且因此与不同的网络连接有关)的网络分组的训练集(1)。网络分组的训练集与被加密以使得网络连接建立部分可以被部分地加密的已知恶意网络流量有关。每个连接建立部分(例如使用上面描述的技术识别的部分)对于被评估了傅里叶变换系数的(或者另选地被评估了熵量度的)每个字节(3)构成连接建立字节的阵列或矩阵(2)。这样的评估可以跨整个训练集发生。值得注意的是,评估可以针对生成训练集的特定已知恶意程序中的每一个发生,使得针对每个特定类型的恶意网络流量(诸如恶意程序的每个类型或项目)生成的简况图(profile)。随后,基于(3)的评估针对每个字节生成(4)简况。剖析可以采取大量示例性形式中的一种,包括:可以或不可以归一化的特定范围(系数/熵)的数值,诸如[0.5-0.7];特定偏差,使得针对特定恶意程序发生的网络流量的大量、部分或全部系数总是具有从不彼此偏差超过特定偏差的数值;中位值、平均值、众数(mode)、具有特定偏差的均值;规定的分布——诸如可以根据公式规定(诸如关于由多项表达式等建模或逼近的等式或分布规定的特定均值的偏斜的正态分布等等)。没有可被识别出的有意义的简况的字节可以是未定义的或被定义为具有最广泛的简况(例如,归一化范围[0.0-1.0])。
每个字节的简况可以用来生成或形成恶意流量(连接建立部分)的“图像”简况(或者简况矩阵)(6),其可以用来评估(8)具有连接建立部分(即,与特定端点的多个网络通信、在特定端口上、使用特定协议、具有特定应用等)一组网络分组是否在逐个字节的基础上符合简况矩阵(6),并且,如果它们确实符合(诸如以一定的预定程度或范围的符合度),则标记(9)潜在的恶意流量。
因此,连接建立部分中的每个字节的简况矩阵(6)具有诸如在(5)指示的并且上面描述的任何简况的简况。例如,矩阵可以是可以被归一化的系数或熵值范围的图像。这样的图像可以采用诸如灰度级的像素特征,使得灰度级值表示这样的范围,意指最广泛范围[0-1]的白色(即,没有显著的简况图谱)以及意指较窄范围的接近黑色的阴影(即,更加特定的值)。在一个实施方式中,可以采用像素的颜色,和/或像素强度归因于表示连接建立部分中的字节的简况(诸如系数/熵的特定值、中位值、偏差、平均值、均值、众数、范围、最小值、最大值等)。
图19a例示了根据本发明的实施方式的恶意网络流量的连接建立部分中的一系列字节中的每一个的示例性简况图像1900。简况图像1900是诸如栅格或位图图像的矩阵,其中,每个像素由红色(R)1902、绿色(G)1904和蓝色(B)1908分量的组合表示,使得每个像素具有得到的红/绿/蓝(RGB)色,每个颜色分量都具有0至255的范围。R、G和B的特定值对应于连接建立部分中的字节(像素与之对应)的不同的简况属性。例如:数值R可以对应于归一化到范围0到255中的均值傅里叶变换系数值;数值G可以对应于与范围0到255中归一化的均值的最大负偏差;并且数值B可以对应于与范围0到255中归一化的均值的最大正偏差。另选的意义可以应用于RGB像素的每个颜色分量。在一个实施方式中,RGB数值的多种不同的配置取决于恶意流量的连接建立部分中的每个不同字节的适合的简况。例如,第一字节通常可以呈现关于均值为100的归一化的系数/熵值,其中最大偏差为10。这样的字节可以通过简单地识别均值和偏差值来勾画。在像素R值对应于均值并且像素G值对应于偏差的情况下,采用均值和偏差值的简况可以被识别为简况1。简况识别器自己可以以像素B值编码,从而在运行时间,可以确定R值和G值的意义。因此,可以在相同的简况矩阵(图像)内采用由像素B值本身区分的其它另选的简况类型。
图19b例示了根据本发明的实施方式的示出恶意网络流量的连接建立部分中的一系列字节中的每一个的不同颜色分量的示例性简况图像。图19a中的不同的暗影或斜线旨在表示不同的RGB配置。
采用简况矩阵或图像来表示系数或逐字节的熵值的基准集的一个优点是可以容易地采用机器学习算法来表示恶意程序简况并且参考网络通信的连接建立部分快速地识别新的网络通信中的潜在恶意程序。图20是根据本发明的实施方式的恶意加密流量检测器的组件图。检测器2000包括作为软件、硬件、固件或组合组件的简况图像生成器2006,简况图像生成器2006用于生成在端点2008与2012(至少一个受恶意软件(诸如恶意程序)感染)之间传送的恶意网络流量2010的连接建立部分的简况矩阵或图像。简况图像生成器2006生成一图像,其中每个像素表示连接建立部分中的单个字节的熵或傅里叶系数的评估值。以这种方式,由简况图像生成器2006生成的图像与关于图19a和图19b描绘和描述的那些不同,因为由生成器2006生成的图像中不存在剖析。剖析基于下面描述的多个图像通过机器学习技术得来。简况图像生成器的示例方法通过以下伪代码概述:
生成新的简况图图像,初始化每个像素;
针对当前连接的连接建立部分中的每个字节,并且针对简况图像中的每个像素:
评估当前字节的熵/傅里叶系数;
编码简况图像中的当前像素中的熵/系数值;
结束;
简况图像生成器2006被多次执行以便生成多个简况图像。如果环境特征保持静态,则由简况图像生成器2006生成的简况图像中的每一个可以是非常相似或实际上等同的。这样的环境特征包括:端点2008、2012的布置和数量;连接端点2008、2012的网络的性质;端点2008、2012的配置(诸如端点中采用和/或部署的操作系统、联网库、网络设施等);网络的特征(诸如网络拓扑、中间实体(诸如路由器、交换机等)、网络媒介或媒体(诸如有线、无线、蜂窝等))。相应地,在一些实施方式中,修改这些特征中的一个或更多个,诸如通过修改一个或更多个端点2008、2012或其间的网络,以便引出或至少承认恶意网络流量的性质、内容和/或特征(并且具体来说,网络流量的连接建立部分)中的变化,以便生成不等同但是保留连接建立部分的典型特征的简况图像,从而表征恶意网络流量的连接建立部分。因此简况图像生成器2006生成多个(优选地为很多)简况图像。
随后,作为软件、硬件、固件或组合组件的机器学习算法2004接收多个简况图像,并且生成习得的简况2002。在优选的实施方式中,机器学习算法2004是通过由简况图像生成器生成的简况图像训练的受监督的神经网络算法,使得习得的简况2002是适合于对图像进行分类、识别或辨识的训练好的学习算法。例如,深度信念网络可以用来形成用于后续图像识别的数字图像的生成模型(例如参见“A Fast Learning Algorithm for Deep BeliefNets”,Hinton等人,Neural Computation 18,1527–1554(2006))。在形成能够识别、分类或提取图像中的辨识出的特征的图像分类器、图像识别和受监督的学习算法时对限制型Botzmann机器的使用被很好的记录在文献中。例如,“To Recognize Shapes,First Learnto Generate Images”((Hinton,Department of Computer Science 6 King’s CollegeRd,University of Toronto,2006)描述了由二进制像素组成的图像如何可以通过使用“受限Boltzmann机”(RBM)来修改,所述RBM使用一层二进制特征检测器来建模像素之间的更高阶的相关性。另外,在“Deep Boltzmann Machines”(Salakhutdinov and Hinton,Proceedings of the 12th International Conference on Artificial Intelligenceand Statistics(AISTATS)2009,Clearwater Beach,Florida)中描述了利用图像分类的预先训练对RBM的改进。在“Modeling Pixel Means and Covariances Using FactorizedThird-Order Boltzmann Machines”(Ranzato and Hinton,IEEE Conference onComputer Vision and Pattern Recognition,2010)描述了用于学习自然图像的生成模型的算法的技术,其用于提取捕捉兴趣规则性的特征。论文“Using Very Deep Autoencodersfor Content-Based Image Retrieval”(Krizhevsky and Hinton,European Symposiumon Artificial Neural Networks-ESANN,2011)描述了如何学习彩色图像上的很多层特征并且使用这些特征来初始化深度自动编码器。因此,习得的简况2002可以基于由简况图像生成器2006生成的所有简况图像来采用教导的受监督的学习算法的形式。相应地,习得的简况2002(诸如深度信仰网络或一系列相互连接的RBM)可以用来基于来自简况图像生成器2006的简况图像的训练集来识别或分类输入的图像。
例如,在一个实施方式中,习得的简况2002是由一序列受限Boltzmann机(RBM)构成的深度信仰网络。以这种方式实施的深度信仰网络在本领域中已知。每个RBM可以是包括可见单元v1到va以及隐藏单元h1到hb的概率性人造神经网络。每个可见单元经由无向连接而连接到隐藏单元中的每一个。隐藏单元不连接到其它隐藏单元并且可见单元不连接到其它可见单元是RBM的特征。RBM中的可见单元和隐藏单元中的每一个具有相关联的状态,序列中的第一RBM具有一组可见单元,其中每个可见单元适于存储线性状态信息(例如,状态∈
Figure GDA0002493476880000341
)。第一RBM的一组隐藏单元、以及序列中的每个后续RBM的可见单元和隐藏单元适于存储二进制状态信息。
每个RBM中的可见单元与隐藏单元之间的连接中的每一个都具有可配置为教导过程的一部分的关联的连接权重。每个RBM中的可见单元和隐藏单元具有定义单元的状态并且由每个连接的单元的状态和与每个对应的连接相关联的权重评估的激活函数。在优选的实施方式中,激活函数是S型函数。习得的简况2002的一序列RBM被组织为使得基于在习得的简况2002的训练期间接收到的数字图像数据来定义第一RBM的可见单元中的每一个的状态。这样的数字图像数据是来自如位图或栅格图像的数字图像的像素信息,诸如由简况图像生成器2006生成的简况图像。针对该序列中的每个后续RBM,之前的RBM的隐藏单元的评估的状态形成对后续RBM的可见单元的输入。
所述序列通过基于简况图像的训练集对RBM中的每一个的重复训练来配置。随后,习得的简况2002可操作为至少在序列中的最后RBM处生成向序列中的第一RBM提供的输入图像的二进制码。使用对于连接中的每一个以随机权重开始的对比散度来训练每个RBM。在第一步骤中,隐藏单元的状态基于已连接的可见单元的状态和通过激活函数的评估的对应连接权重来确定。在第二步骤中,在第一步骤之后根据隐藏单元的确定的状态重构可见单元的状态。在第三步骤中,从重构的可见单元状态重新计算隐藏单元的状态。然后,在第一步骤和第三步骤之后,基于两个单元的状态之间的差异来更新两个单元之间的连接的连接权重。针对每个图像并且针对训练集中的很多图像重复这样的训练。
图21是根据本发明的实施方式的恶意加密网络流量检测器2000的组件图。在图21的布置中,遵循基于由简况图像生成器2006生成的简况图像的机器学习算法2004的训练的习得的简况2002可操作为从网络端点2108、2112之间的网络流量2110接收由连接建立图像生成器2100生成的新图像,以便识别可以指示恶意网络传送的网络流量。连接建立图像生成器2100基于具有网络流量2110的网络连接的连接建立部分生成位图或栅格图像。由连接建立图像生成器2100使用的方法可以与上面描述的简况图像生成器2006相似或相同。在任何情况下,由连接建立图像生成器2100和简况图像生成器2006生成的图像必须具有相同的结构,以便它们是可比较的。然后,由连接建立图像生成器2100生成的图像被呈现给习得的简况2002分类机器,以确定该图像是否匹配习得的简况2002。在图像与习得的简况2002匹配的情况下,恶意加密流量检测器2000将恶意网络流量2110识别为潜在恶意的,并且可选地执行先前描述的针对检测到的恶意流量的一个或更多个修复或响应动作。
在所描述的本发明的实施方式是使用软件控制的可编程处理设备(诸如微处理器、数字信号处理器或其它处理设备、数据处理装置或系统)至少部分地可实施的情况下,显而易见的是,用于将可编程设备、装置或系统配置为实施前述方法的计算机程序作为本发明的一方面是直观的。计算机程序可以具体实施为源代码或经受用于在处理设备、装置或系统上实施的编译,或者可以例如具体实施为目标代码。
适合地,计算机程序存储在机器或设备可读形式的载体介质(例如固态存储器、磁性存储器(诸如磁盘或磁带)、光或磁光可读存储器(诸如光盘或数字多功能光盘)等)上,并且处理设备利用程序或其一部分来配置它用于操作。计算机程序可以从具体实施为通信介质(诸如电子信号、射频载波或光学载波)的远程源提供。这样的载体介质作为本发明的一部分也是直观的。
本领域的技术人员应该理解的是,虽然关于上面描述的示例实施方式描述了本发明,但是本发明不受限于所述示例实施方式,并且存在落在本发明的保护范围内的很多可能的变化和修改。
本发明的保护范围包括在此公开的任何新型特征或特征组合。申请人在此给出了通告,在进行本申请期间可以对于这样的特征或特征组合、或者任何由其推导出的这样进一步的应用规划新的权利要求。具体来说,参考所附权利要求,从属权利要求中的特征可以与独立权利要求中的特征结合,并且相应的独立权利要求中的特征可以以任何适合的方式组合而不仅是以权利要求中列举的特定组合。

Claims (11)

1.一种用于识别恶意加密网络流量的方法,所述恶意加密网络流量与经由网络传送的恶意程序组件相关联,所述方法包括:
针对恶意程序,定义网络流量的包括在所述恶意程序的网络传送中按预定义偏移发生的多个连续字节的部分;
提取用于所述恶意程序的多个相异网络连接中的每一个的网络流量的所定义的部分;
评估每个提取部分中的每个字节的度量;
将矩阵数据结构的每个提取部分表示为像素的图像,其中,每个像素对应于所述提取部分的字节;
基于所述提取部分的所述图像来训练神经网络,使得后续网络流量能够被所述神经网络分类,以基于为表示所述后续网络流量的所定义的部分生成的图像来识别与所述恶意程序相关联的恶意网络流量。
2.根据权利要求1所述的方法,其中,所述度量是傅里叶变换系数。
3.根据权利要求1所述的方法,其中,所述度量是作为字节的不确定性程度的量度的熵的量度。
4.根据任一前述权利要求所述的方法,其中,网络流量的所定义的部分是所述网络流量的子集,所述子集在传输协议握手之后并且直到一预定端点。
5.根据权利要求4所述的方法,其中,所述预定端点被选择为对应于网络流量的应用协议连接建立部分的结束。
6.根据权利要求1所述的方法,该方法还包括:响应于识别到恶意网络流量,触发保护性组件相对于所述恶意加密网络流量保护所述网络连接的端点。
7.根据权利要求6所述的方法,其中,所述保护性组件能够工作为进行以下中的一项或更多项:终止所述网络连接;发起针对安装在端点计算机系统上的恶意程序的扫描;以及调整端点计算机系统或网络连接的安全级别。
8.根据权利要求2所述的方法,其中,网络流量的所述部分被定义为使得恶意程序网络传送的加密恶意网络流量的所述部分的评估的傅里叶变换系数集将所述恶意程序网络传送与非恶意程序网络传送区分开。
9.根据权利要求1所述的方法,其中,所述网络连接经由传输控制协议TCP连接提供,并且所述部分被定义为在TCP握手部分之后并且直到所述网络连接上的网络流量的流中的所述流量被全部加密的点发生在所述网络连接上的流量的连续子集。
10.一种用于识别恶意加密网络流量的系统,所述恶意加密网络流量与经由网络传送的恶意程序软件组件相关联,所述系统包括存储器和处理器,其中,所述处理器适配于执行以下步骤:
针对恶意程序,定义网络流量的包括在所述恶意程序的网络传送中按预定义偏移发生的多个连续字节的部分;
提取用于所述恶意程序的多个相异的网络连接中的每一个的网络流量的所定义的部分;
评估每个提取部分中的每个字节的度量;
将矩阵数据结构的每个提取部分表示为像素的图像,其中,每个像素对应于所述提取部分的字节;
基于所述提取部分的所述图像来训练神经网络,使得后续网络流量能够被所述神经网络分类,以基于为表示所述后续网络流量的所定义的部分生成的图像来识别与所述恶意程序相关联的恶意网络流量。
11.一种包括计算机程序代码的计算机程序元件,当所述计算机程序代码被加载到计算机系统中并且在其上执行时,使计算机执行如权利要求1到9中任一项所述的方法的步骤。
CN201680028405.3A 2015-03-17 2016-03-15 识别恶意加密网络流量的方法与系统以及计算机程序元件 Active CN107637041B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15275068.3 2015-03-17
EP15275068 2015-03-17
PCT/EP2016/055506 WO2016146609A1 (en) 2015-03-17 2016-03-15 Learned profiles for malicious encrypted network traffic identification

Publications (2)

Publication Number Publication Date
CN107637041A CN107637041A (zh) 2018-01-26
CN107637041B true CN107637041B (zh) 2020-09-29

Family

ID=52774153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680028405.3A Active CN107637041B (zh) 2015-03-17 2016-03-15 识别恶意加密网络流量的方法与系统以及计算机程序元件

Country Status (4)

Country Link
US (1) US10594707B2 (zh)
EP (1) EP3272096B1 (zh)
CN (1) CN107637041B (zh)
WO (1) WO2016146609A1 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9491070B2 (en) * 2013-04-12 2016-11-08 Symantec Corporation Apparatus and method for utilizing fourier transforms to characterize network traffic
WO2015128609A1 (en) 2014-02-28 2015-09-03 British Telecommunications Public Limited Company Profiling for malicious encrypted network traffic identification
WO2015128613A1 (en) 2014-02-28 2015-09-03 British Telecommunications Public Limited Company Malicious encrypted network traffic identification
EP3111613B1 (en) 2014-02-28 2018-04-11 British Telecommunications public limited company Malicious encrypted traffic inhibitor
US20160078365A1 (en) * 2014-03-21 2016-03-17 Philippe Baumard Autonomous detection of incongruous behaviors
US10778700B2 (en) 2015-03-17 2020-09-15 British Telecommunications Public Limited Company Malicious encrypted network traffic identification using fourier transform
EP3394784B1 (en) 2015-12-24 2020-10-07 British Telecommunications public limited company Malicious software identification
EP3394783B1 (en) 2015-12-24 2020-09-30 British Telecommunications public limited company Malicious software identification
WO2017109135A1 (en) 2015-12-24 2017-06-29 British Telecommunications Public Limited Company Malicious network traffic identification
WO2017109129A1 (en) 2015-12-24 2017-06-29 British Telecommunications Public Limited Company Software security
WO2017109128A1 (en) 2015-12-24 2017-06-29 British Telecommunications Public Limited Company Detecting malicious software
US11194901B2 (en) 2016-03-30 2021-12-07 British Telecommunications Public Limited Company Detecting computer security threats using communication characteristics of communication protocols
US11159549B2 (en) 2016-03-30 2021-10-26 British Telecommunications Public Limited Company Network traffic threat identification
US10270787B2 (en) * 2016-05-23 2019-04-23 Battelle Memorial Institute Method for securing a network using cyber economic network transaction security (CENTS)
GB2554980B (en) 2016-08-16 2019-02-13 British Telecomm Mitigating security attacks in virtualised computing environments
EP3500969A1 (en) 2016-08-16 2019-06-26 British Telecommunications Public Limited Company Reconfigured virtual machine to mitigate attack
US10645100B1 (en) * 2016-11-21 2020-05-05 Alert Logic, Inc. Systems and methods for attacker temporal behavior fingerprinting and grouping with spectrum interpretation and deep learning
US10771483B2 (en) 2016-12-30 2020-09-08 British Telecommunications Public Limited Company Identifying an attacked computing device
JP6956624B2 (ja) 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム
US11677757B2 (en) 2017-03-28 2023-06-13 British Telecommunications Public Limited Company Initialization vector identification for encrypted malware traffic detection
US10440037B2 (en) * 2017-03-31 2019-10-08 Mcafee, Llc Identifying malware-suspect end points through entropy changes in consolidated logs
US10685284B2 (en) * 2017-04-03 2020-06-16 Royal Bank Of Canada Systems and methods for malicious code detection
IL251683B (en) 2017-04-09 2019-08-29 Yoseph Koren A system and method for dynamic management of private data
US10594725B2 (en) * 2017-07-27 2020-03-17 Cypress Semiconductor Corporation Generating and analyzing network profile data
US11381583B1 (en) * 2017-11-03 2022-07-05 DimensionalMechanics, Inc. Systems and methods for detecting anomalous system or network behavior
CN108234500A (zh) * 2018-01-08 2018-06-29 重庆邮电大学 一种基于深度学习的无线传感网入侵检测方法
WO2019140554A1 (zh) * 2018-01-16 2019-07-25 Oppo广东移动通信有限公司 一种数据验证方法、网络设备、ue及计算机存储介质
US10694221B2 (en) 2018-03-06 2020-06-23 At&T Intellectual Property I, L.P. Method for intelligent buffering for over the top (OTT) video delivery
US11429891B2 (en) * 2018-03-07 2022-08-30 At&T Intellectual Property I, L.P. Method to identify video applications from encrypted over-the-top (OTT) data
US11055411B2 (en) * 2018-05-10 2021-07-06 Acronis International Gmbh System and method for protection against ransomware attacks
EP3623980B1 (en) * 2018-09-12 2021-04-28 British Telecommunications public limited company Ransomware encryption algorithm determination
EP3623982B1 (en) 2018-09-12 2021-05-19 British Telecommunications public limited company Ransomware remediation
EP3850514B1 (en) 2018-09-12 2023-09-20 British Telecommunications public limited company Encryption key seed determination
CN109714343B (zh) * 2018-12-28 2022-02-22 北京天融信网络安全技术有限公司 一种网络流量异常的判断方法及装置
WO2020193331A1 (en) * 2019-03-23 2020-10-01 British Telecommunications Public Limited Company Feature detection with neural network classification of images representations of temporal graphs
US20210197967A1 (en) * 2019-04-12 2021-07-01 Embry-Riddle Aeronautical Univesrity, Inc. Uas detection and negation
US11949711B2 (en) * 2019-07-08 2024-04-02 Caci International, Inc. Systems and methods for securing information
CN110222795B (zh) * 2019-07-26 2021-10-01 广东工业大学 基于卷积神经网络的p2p流量的识别方法及相关装置
CN110378126B (zh) * 2019-07-26 2021-03-26 北京中科微澜科技有限公司 一种漏洞检测方法及系统
TWI779245B (zh) * 2019-10-31 2022-10-01 安碁資訊股份有限公司 異常流量偵測方法與異常流量偵測裝置
WO2021133791A1 (en) * 2019-12-23 2021-07-01 Boon Logic Inc. Method for network traffic analysis
CN111031071B (zh) * 2019-12-30 2023-01-24 杭州迪普科技股份有限公司 恶意流量的识别方法、装置、计算机设备及存储介质
CN113542196B (zh) * 2020-04-16 2023-03-24 北京威努特技术有限公司 一种数据报文加密判定方法、装置、系统及存储介质
CN113542195B (zh) * 2020-04-16 2023-05-05 北京观成科技有限公司 一种恶意加密流量的检测方法、系统和设备
CN113806204B (zh) * 2020-06-11 2023-07-25 北京威努特技术有限公司 一种报文字段相关性的评估方法、装置、系统及存储介质
CN111988237A (zh) * 2020-07-31 2020-11-24 中移(杭州)信息技术有限公司 流量识别方法、装置、电子设备及存储介质
CN112003870B (zh) * 2020-08-28 2022-10-14 国家计算机网络与信息安全管理中心 一种基于深度学习的网络加密流量识别方法及装置
CN112153045B (zh) * 2020-09-24 2023-03-28 中国人民解放军战略支援部队信息工程大学 一种私有协议的加密字段的识别方法及系统
CN112217834B (zh) * 2020-10-21 2021-06-18 北京理工大学 一种基于图结构的互联网加密流量交互特征提取方法
FR3116980A1 (fr) * 2020-12-01 2022-06-03 Orange Procédé de détermination de quantités pour la détection d’attaques dans un réseau de communication, dispositif de détermination associé
CN113222930A (zh) * 2021-05-08 2021-08-06 厦门服云信息科技有限公司 基于图像分析的恶意流量检测方法、终端设备及存储介质
CN113472809B (zh) * 2021-07-19 2022-06-07 华中科技大学 一种加密恶意流量检测方法、检测系统及计算机设备
CN113612767B (zh) * 2021-07-31 2022-09-20 中山大学 基于多任务学习增强的加密恶意流量检测方法及系统
CN114499941B (zh) * 2021-12-22 2023-08-04 天翼云科技有限公司 流量检测模型的训练、检测方法及电子设备
CN114785567B (zh) * 2022-04-01 2024-06-11 绿盟科技集团股份有限公司 一种流量识别方法、装置、设备及介质
CN114866246B (zh) * 2022-04-12 2023-07-04 东莞职业技术学院 基于大数据的计算机网络安全入侵检测方法
CN114579970B (zh) * 2022-05-06 2022-07-22 南京明博互联网安全创新研究院有限公司 一种基于卷积神经网络的安卓恶意软件检测方法及系统
CN115086055B (zh) * 2022-06-24 2023-07-18 电子科技大学 一种针对安卓移动设备加密恶意流量的检测装置及方法
CN115134142B (zh) * 2022-06-28 2023-09-22 南京信息工程大学 一种基于文件分割的信息隐藏方法及系统
CN115801338B (zh) * 2022-10-28 2023-07-07 航科广软(广州)数字科技有限公司 基于加密流量控制网关的数据处理方法及系统
KR102502475B1 (ko) * 2022-11-15 2023-02-23 주식회사 시큐어링크 인공지능 기반 암호 트래픽내 악성 패킷 판단 장치 및 방법
CN115883263B (zh) * 2023-03-02 2023-05-09 中国电子科技集团公司第三十研究所 基于多尺度载荷语义挖掘的加密应用协议类型识别方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1965306A (zh) * 2003-09-10 2007-05-16 菲德利斯安全系统公司 高性能网络内容分析平台

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069317A1 (en) 2000-12-01 2002-06-06 Chow Yan Chiew E-RAID system and method of operating the same
US7681032B2 (en) 2001-03-12 2010-03-16 Portauthority Technologies Inc. System and method for monitoring unauthorized transport of digital content
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7503071B1 (en) 2003-10-01 2009-03-10 Symantec Corporation Network traffic identification by waveform analysis
US7546471B2 (en) * 2005-01-14 2009-06-09 Microsoft Corporation Method and system for virus detection using pattern matching techniques
US8069484B2 (en) 2007-01-25 2011-11-29 Mandiant Corporation System and method for determining data entropy to identify malware
JP2008292852A (ja) 2007-05-25 2008-12-04 Hitachi Ltd ディスクアレイ制御装置とディスクアレイ制御方法およびストレージシステム
US20090034423A1 (en) * 2007-07-30 2009-02-05 Anthony Terrance Coon Automated detection of TCP anomalies
AU2008281314A1 (en) 2007-07-30 2009-02-05 Michael Kefaloukos A computer-implemented security method and system
US8091093B2 (en) * 2007-10-05 2012-01-03 Equilibrium Networks, Incorporated System and method for information assurance based on thermal analysis techniques
US8341724B1 (en) 2008-12-19 2012-12-25 Juniper Networks, Inc. Blocking unidentified encrypted communication sessions
US8245301B2 (en) 2009-09-15 2012-08-14 Lockheed Martin Corporation Network intrusion detection visualization
US8707440B2 (en) 2010-03-22 2014-04-22 Tenable Network Security, Inc. System and method for passively identifying encrypted and interactive network sessions
GB2484279B (en) 2010-10-04 2014-11-12 Airspan Networks Inc Apparatus and method for controlling a wireless feeder network
GB2484278A (en) 2010-10-04 2012-04-11 Airspan Networks Inc Suppressing co-channel interference in dependence upon probabilities of establishing a link between a base station and a terminal via resource blocks
US8689328B2 (en) 2011-02-11 2014-04-01 Verizon Patent And Licensing Inc. Maliciouis user agent detection and denial of service (DOS) detection and prevention using fingerprinting
US9122877B2 (en) 2011-03-21 2015-09-01 Mcafee, Inc. System and method for malware and network reputation correlation
IL212344A (en) 2011-04-14 2015-03-31 Verint Systems Ltd A system and method for selectively controlling encrypted traffic
US9106680B2 (en) 2011-06-27 2015-08-11 Mcafee, Inc. System and method for protocol fingerprinting and reputation correlation
US20150304346A1 (en) 2011-08-19 2015-10-22 Korea University Research And Business Foundation Apparatus and method for detecting anomaly of network
US9122870B2 (en) 2011-09-21 2015-09-01 SunStone Information Defense Inc. Methods and apparatus for validating communications in an open architecture system
US8677487B2 (en) 2011-10-18 2014-03-18 Mcafee, Inc. System and method for detecting a malicious command and control channel
US9197606B2 (en) * 2012-03-28 2015-11-24 Bmc Software, Inc. Monitoring network performance of encrypted communications
WO2013187963A2 (en) 2012-03-30 2013-12-19 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for rapid filtering of opaque data traffic
US20130326494A1 (en) 2012-06-01 2013-12-05 Yonesy F. NUNEZ System and method for distributed patch management
US8953584B1 (en) 2012-06-05 2015-02-10 Juniper Networks, Inc. Methods and apparatus for accessing route information in a distributed switch
US9176838B2 (en) 2012-10-19 2015-11-03 Intel Corporation Encrypted data inspection in a network environment
US20140157405A1 (en) 2012-12-04 2014-06-05 Bill Joll Cyber Behavior Analysis and Detection Method, System and Architecture
US9491070B2 (en) * 2013-04-12 2016-11-08 Symantec Corporation Apparatus and method for utilizing fourier transforms to characterize network traffic
US9547588B1 (en) 2013-09-10 2017-01-17 Violin Memory Inc. System and method of data storage in flash memory
US9288220B2 (en) 2013-11-07 2016-03-15 Cyberpoint International Llc Methods and systems for malware detection
KR101468336B1 (ko) 2013-11-25 2014-12-04 성균관대학교산학협력단 데이터 압축률 예측 기법에 기반한 데이터 분산 저장 방법, 이를 이용한 저장 장치 및 시스템
WO2015128613A1 (en) 2014-02-28 2015-09-03 British Telecommunications Public Limited Company Malicious encrypted network traffic identification
EP3111613B1 (en) 2014-02-28 2018-04-11 British Telecommunications public limited company Malicious encrypted traffic inhibitor
WO2015128609A1 (en) 2014-02-28 2015-09-03 British Telecommunications Public Limited Company Profiling for malicious encrypted network traffic identification
EP3158706B1 (en) 2014-06-20 2020-06-03 British Telecommunications public limited company Ineffective network equipment identification
US10778700B2 (en) 2015-03-17 2020-09-15 British Telecommunications Public Limited Company Malicious encrypted network traffic identification using fourier transform
WO2017109135A1 (en) 2015-12-24 2017-06-29 British Telecommunications Public Limited Company Malicious network traffic identification
EP3394783B1 (en) 2015-12-24 2020-09-30 British Telecommunications public limited company Malicious software identification
EP3394784B1 (en) 2015-12-24 2020-10-07 British Telecommunications public limited company Malicious software identification
US10771483B2 (en) 2016-12-30 2020-09-08 British Telecommunications Public Limited Company Identifying an attacked computing device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1965306A (zh) * 2003-09-10 2007-05-16 菲德利斯安全系统公司 高性能网络内容分析平台

Also Published As

Publication number Publication date
EP3272096A1 (en) 2018-01-24
WO2016146609A1 (en) 2016-09-22
US10594707B2 (en) 2020-03-17
US20180115567A1 (en) 2018-04-26
EP3272096B1 (en) 2020-09-30
CN107637041A (zh) 2018-01-26

Similar Documents

Publication Publication Date Title
CN107637041B (zh) 识别恶意加密网络流量的方法与系统以及计算机程序元件
CN107646190B (zh) 恶意加密流量检测器、识别方法以及计算机程序元件
US11677757B2 (en) Initialization vector identification for encrypted malware traffic detection
EP3111614B1 (en) Malicious encrypted network traffic identification
EP3111613B1 (en) Malicious encrypted traffic inhibitor
US10891377B2 (en) Malicious software identification
US11201876B2 (en) Malicious software identification
EP3111612B1 (en) Profiling for malicious encrypted network traffic identification
US10931689B2 (en) Malicious network traffic identification
US20200050760A1 (en) Initialization vector identification for malware detection
EP3395035B1 (en) Malicious network traffic identification
GB2545744A (en) Malicious network traffic identification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant