CN105431828A - 用于检测受损计算系统的系统与方法 - Google Patents

用于检测受损计算系统的系统与方法 Download PDF

Info

Publication number
CN105431828A
CN105431828A CN201480006431.7A CN201480006431A CN105431828A CN 105431828 A CN105431828 A CN 105431828A CN 201480006431 A CN201480006431 A CN 201480006431A CN 105431828 A CN105431828 A CN 105431828A
Authority
CN
China
Prior art keywords
computing equipment
integer
grouping
sequence
data splitting
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.)
Granted
Application number
CN201480006431.7A
Other languages
English (en)
Other versions
CN105431828B (zh
Inventor
J·S·弗劳尔斯
R·C·埃弗斯
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.)
Yiwan X Co ltd
Original Assignee
TrustPipe LLC
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 TrustPipe LLC filed Critical TrustPipe LLC
Publication of CN105431828A publication Critical patent/CN105431828A/zh
Application granted granted Critical
Publication of CN105431828B publication Critical patent/CN105431828B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in 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
    • 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
    • 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
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种数字安全威胁管理系统被公开。该系统在网络上检测被未检测到的和/或未知的数字安全威胁所破坏的计算系统的存在。该数字安全威胁管理系统能识别来自已经被破坏的计算系统的特性散发物。因为已知威胁导致的特性散发物与未检测到的和/或未知威胁导致的特性散发物可以相同,如果该安全威胁管理系统能基于该计算系统的已知威胁从先前的攻击中识别特性散发物,数字安全威胁管理系统可以学习以检测已经被未知威胁破坏的计算系统。以这种方式,该系统可以检测被破坏的计算系统的存在,即使被破坏的原因仍然未被检测到和/或未知。适当的补救措施可以在检测中采取。

Description

用于检测受损计算系统的系统与方法
相关申请交叉引用
本申请要求于2013年1月28日的提交美国专利申请序列号13/752,268利益和优先权,其发明内容通过引用整体并入本文。
背景技术
1.技术领域
本发明一般涉及数字安全领域,并且更具体地检测已经被数字安全威胁破坏的计算系统。
2.发明内容
计算技术的扩散在数字安全领域继续存在挑战。众所周知,恶意实体可以使用一台网络计算机(即,网络节点)传播恶意计算机数据到其它网络节点,并由此造成系统中断和经济损失。受损的网络节点可能进一步传播恶意计算机数据到额外的网络节点并造成额外的伤害。
本领域的普通技术人员将理解网络计算机(或更一般地,计算系统)可能容易受到攻击,例如那些基于计算机病毒、恶意软件、蠕虫、特洛伊木马、机器人、侵入(例如,未经授权的访问)、漏洞(例如,特权升级和违反保密)、基于时间的攻击(例如,拒绝服务)或类似物。术语“威胁”是用来描述一种或多种这些类型的攻击。
数字安全技术可以用于通过检测和/或从计算系统去除恶意计算机数据来应对这些类型的攻击。本领域的普通技术人员将理解数字安全技术可以驻留在不同的网络节点,可以以硬件和/或软件形式进行打包,并包括松散地被称为“反病毒软件”、“恶意软件检测”、“入侵预防”、“抗攻击”、防火墙或类似物等技术,虽然术语含义并不相同。更广泛的术语,“统一威胁管理”(“UTM”)也被用于描述一个或多个数字安全技术的这些实现。
传统的数字安全技术通常使用对应于特定威胁的签名检测威胁,这意味着威胁的检测依赖于特定威胁的先验知识以及该特定威胁签名的可用性。例如,传统的数字安全技术可以利用给定的计算机病毒的签名来扫描计算系统以检测给定的计算机病毒是否存在于计算系统中。这些类型技术的一个缺点是签名尚不可用的威胁不能被检测到。
发明概述
在一个示例性实施方案中,用于检测被未检测到的攻击破坏的计算设备的计算机实现方法包括从网络获取多个网络数据包。所获取的多个网络数据包包括分类为传输控制协议(TCP)分组和因特网协议(IP)分组的网络数据包。所获取的多个网络数据包包括含有基于已知威胁计算设备的攻击的网络数据包,其中已知威胁不同于未被检测到的威胁。所获取的多个网络数据包还包括来自被攻击前的计算设备的网络数据包和来自被攻击后的计算设备的网络数据包。多个组合数据包至少由多个TCP分组和IP分组的子集创建,其中多个组合数据包中的第一组合数据包包括至少一个TCP分组中的一部分和至少一个IP分组中的一部分,并且其中多个组合数据包中的第二组合数据包包括至少一个TCP分组中的一部分和至少一个IP分组中的一部分。第二组合数据包不同于第一组合数据包。第一序列是通过把第一组合数据包的至少一部分内容按位转换为第一组多个整数而创建的,其中第一序列包括第一组多个整数。第二序列是通过把第二组合数据包的至少一部分内容按位转换为第二组多个整数而创建的,其中第二序列包括第二组多个整数。相似性量度是根据第一序列和第二序列之间的距离函数来确定的。第三序列基于相似性量度被创建,其中第三序列是在第一顺序包括常见于第一序列和第二序列的第三组多个整数。第四序列被创建,其中第四序列是在第一顺序包括第三列表的第三组多个整数的子集的元表达式并代表该计算设备是被威胁破坏。元表达式被存储,并且所存储的元表达式被用来检测计算设备已经被未检测到的威胁破坏。
在一个示例性实施方案中,用于检测被未检测到的攻击破坏的网络计算装置的网络设备包括用于连接到网络基础设施的网络端口,其中网络端口适于获取多个网络数据包,并且其中所获取的多个网络数据包包括分类为传输控制协议(TCP)分组和因特网协议(IP)分组的网络数据包。所获取的多个网络数据包包括:包含计算设备上已知攻击的网络数据包,已知攻击不同于未知攻击,来自已知攻击之前的计算设备的网络数据包和来自已知攻击后的计算设备的网络数据包。网络设备还包括连接到网络端口的处理器,其中处理器适于产生多个组合数据包,来自至少多个TCP分组和IP分组的子集,其中多个组合数据包的第一组合数据包包含至少一个TCP分组的一部分和至少一个IP分组的一部分,并且多个组合数据包的第二组合数据包包括至少一个TCP分组的一部分和至少一个IP分组的一部分,其中第二组合数据包不同于第一组合数据包。第一序列是通过把第一组合数据包的至少一部分内容按位转换为第一组多个整数而创建的,其中第一序列包括第一组多个整数。第二序列是通过把第二组合数据包的至少一部分内容按位转换为第二组多个整数而创建的,其中第二序列包括第二组多个整数。相似性量度是根据第一序列和第二序列之间的距离函数来确定的。第三序列基于相似性量度被创建,其中第三序列是在第一顺序包括常见于第一序列和第二序列的第三组多个整数。第四序列被创建,其中第四序列是在第一顺序包括第三列表的第三组多个整数的子集的元表达式并代表该计算设备被攻击破坏。元表达式被存储,并且所存储的元表达式被用来检测计算设备已经被未检测到的攻击破坏。
在一个示例性实施方案中,具有计算机可执行指令的非临时性计算机可读存储介质用于检测被未检测到的攻击破坏的计算设备,该计算机可执行指令由一个或多个处理器执行使得一个或多个处理器执行从网络获取多个网络数据包的行为,其中所获取的多个网络数据包包括分类为传输控制协议(TCP)分组和因特网协议(IP)分组的网络数据包。所获取的多个网络数据包包括含有已知攻击的计算设备的网络数据包,已知攻击不同于从未被检测到的攻击,来自已知攻击之前的计算设备的网络数据包和来自已知攻击之后的计算设备的网络数据包。计算机可执行指令还包括用于从多个TCP分组和IP分组的子集创建多个组合数据包的指令,其中多个组合数据包的第一组合数据包包含至少一个TCP分组的一部分和至少一个IP分组的一部分,并且多个组合数据包的第二组合数据包包括至少一个TCP分组的一部分和至少一个IP分组的一部分,其中第二组合数据包不同于第一组合数据包。计算机可执行指令还包括用于通过一个或多个处理器把第一组合数据包的至少一部分内容按位转换为第一组多个整数来创建第一序列的指令,其中第一序列包括第一组多个整数。计算机可执行指令还包括用于通过一个或多个处理器把第二组合数据包的至少一部分内容按位转换为第二组多个整数来创建第二序列的指令,其中第二序列包括第二组多个整数。计算机可执行指令还包括用于确定基于距离函数的第一序列和第二序列之间的相似性量度的指令。计算机可执行指令还包括基于相似性量度用于创建第三序列的指令,其中第三序列是在第一顺序包括常见于第一序列和第二序列的第三组多个整数。计算机可执行指令还包括用于创建第四序列的指令,其中第四序列是在第一顺序包括第三列表的第三组多个整数的子集的元表达式并代表该计算设备被攻击破坏。计算机可执行指令还包括用于存储元表达式的指令,其中所存储的元表达式被用来检测该计算设备被未检测到的攻击破坏。
附图说明
图1描绘了用于检测受损计算系统的示例性过程。
图2描绘了采用统一威胁管理系统(UTMS)的示例性实施方案的网络框图。
图3描绘了用于修整UTMS的示例性过程。
图4描绘了网络节点之间的网络数据包的示例性传输。
图5描绘了IP分组报头的布局。
图6描绘了TCP分组报头的布局。
图7描绘了在IP网络数据包报头中的示例性值。
图8描绘了在实施方案中距离函数的示例性过程。
图9(A)-(F)描绘了示例性网络数据包。
图10(A)-(C)描绘了示例性8位整数序列。
图11描绘了示例性8位整数序列。
图12描绘了示例性网络数据包的群组。
图13描绘了用于检测受损计算系统的示例性计算系统。
详细说明
下面提出的描述使本领域的普通技术人员能够制造和使用的各种实施方案。特定装置、技术和应用的描述仅作为示例被提供。对本文描述的实施方案的各种修改对于本领域中的普通技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他示例和应用,而不脱离各种实施方案的精神和范围。因此,各种实施方案并不意在限于本文中所描述和展出的示例,但要与权利要求的范围一致。
在计算系统中使用针对特定威胁签名来检测数字安全威胁的数字安全技术很容易受到未知漏洞的威胁,因为针对特定威胁签名是困难的,如果可能创建针对未知漏洞的威胁(以下简称“未知威胁”)。示例性未知威胁是“零日”漏洞。“零日”漏洞被那些本领域的普通技术人员理解为存在于计算机应用程序的代码基础但还没有被公开利用的漏洞。另一个示例性未知威胁是不与任何现有的计算机病毒相关的新计算机病毒。由于显而易见的原因,这些可以通过的未知威胁不能被依赖从威胁的先验知识创造的针对特定威胁签名的数字安全技术检测到。
虽然计算系统可能会屈从于避免检测的未知威胁,申请人已发现当受到破坏时计算系统能够给出指示计算系统受损情况的特性散发物。这些特性散发物是不由自主的,这意味着它们不受影响也不被攻击威胁控制;相较而言,特性散发物是独立于攻击威胁的起因。因此,通过监控计算系统的这些特性散发物,特别是在网络通信中和来自网络计算系统,在网络中受损的计算系统的存在可以被识别并迅速解决。例如,受损计算系统可以在网络中被隐形以使它不再访问远程的恶意实体。
值得注意的是响应于计算系统受损情况而采取的迅速补救行动可以减轻或消除实际破坏,即使该受损本身不能避免。例如考虑恶意用户在数据服务器的安全壳的安全通信隧道(例如,SSH)中使用零日漏洞获取对数据服务器的非法访问的情况。虽然一旦受到破坏数据服务器的通信隧道提供给恶意用户升级的服务器访问,受损的数据服务器也传送特性散发物到网络,其可以由在网络上几分之一秒内操作的威胁管理系统进行检测(例如,防火墙)。紧随其后,威胁管理系统可以从网络隐藏受损数据服务器以防止包括来自恶意用户的任何额外的网络通信到达受损数据服务器。因此,即使恶意用户成功获取未经授权的访问,访问被迅速切断从而给恶意用户如果有的话只留下很少的时间去加以破坏。
本文所描述的实施方案包括用于从已经被数字安全威胁破坏的计算系统识别特性散发物和用于执行适当的响应动作的方法。
“网络通信”和“网络数据包”的概念在本领域是公知这里不再详述。作为示例,“网络通信”包含“网络数据包”如以太网分组,传输控制协议(TCP)分组、互联网协议(IP)分组或类似物。术语“特性散发物”在这里用来指包含在网络数据包中的计算机数据,即表示计算系统受损状况。例如,受损计算系统可传递非路由以及包含零位值字符串的异常网络数据包。异常网络数据包内容的一个或多个方面对于特定计算系统可以是特性散发物。回想一下如上所述,特性散发物指示计算系统的受损状况并且特性散发物是独立于受损的起因。
计算系统根据计算系统受损的部分可以产生不同的特性散发物。一般而言,在某些情况下特性散发物可能被绑定到计算系统的硬件配置。另外,在一些情况下特性散发物可能被绑定到计算系统的软件配置。例如系统的软件结构包括特定的服务和正在运行在该计算系统上特定的操作系统。更具体地,计算系统可以承载各种服务,如SSH的特定版本、远程登录、HTTP、数据库监听器等等。这些服务可以在一个版本的操作系统的特定的内核(多个)运行,诸如MICROSOFTWINDOWSSERVER2012、ORACLESOLARIS11或类似物。
更具体地,例如由受损计算系统产生的特性散发物可以取决于受损的服务和正在支持受损服务的操作系统。也就是说,当其SSH通信隧道被破坏时基于SOLARIS的服务器可以提供一种特性散发物,同样当其JAVA客户受损时可以提供另一种特性散发物。以此类似,当其数据库监听器受损时基于WINDOWS的服务器可以提供另一种不同的特性散发物。
1.概览
图1示出了在网络通信中从所包括的计算系统中通过识别特性散发物来检测联网已经受损的计算系统的示例性过程100。在过程100内,方框110可以被称为训练过程,而方框120-140可被统称为运行时间过程。
如本文所用,术语“统一威胁管理系统”(UTMS)描述了执行过程100的计算机安全技术,无论这些技术以软件形式被提供(例如,作为软件包)或以硬件形式(如特定应用电路或设备)被提供。过程100(即,方框110)的训练方面和过程100的运行时间方面(即,方框120-140)可以被实现到相同或到不同的UTMS。
此外,术语“培训”和“训练”是依照在英语中他们的简单含义。也就是说与它们的字典含义一致,术语“培训”和“训练”用于描述帮助UTMS达到识别指示受损计算系统存在的特性散发物的能力的过程。然而,术语“培训”和“训练”不应该被解释为过程100中的特定实现,其中巧合的是如支持向量机的实现有时与术语“训练”相关。
现在过程100的示例性实现参照图1来讨论。1.在方框110中,在网络通信中UTMS被训练来识别指示受损计算系统存在的内容。在方框110期间,UTMS设置一系列训练网络通信反映在:(ⅰ)两个计算系统之间的正常通信,(ii)成功地破坏了一个计算系统的已知威胁的引入,以及(iii)成功地受损后涉及受损计算系统的通信。成功破坏计算系统的已知威胁的引入使该计算系统产生指示其受损状态的特性散发物。在(ⅲ)中被发现的这些特性散发物对于训练过程是有用的,并且被用于方框110,随着(i)和(ii)去确定计算机数据的有界序列。计算机数据这些有界序列是重要的,因为通过UTMS它们稍后可以被用于使用网络通信无论该计算系统是否被相同的已知威胁还是被另一种未知威胁破坏都能检测受损计算系统的存在。
例如代表两个计算系统之间通信的网络通信可以由应用程序编程接口(“API”)捕获的网络数据包获取,如“pcap”。虽然API和/或存储库的名称可能随时变更,捕获网络通信的概念应在本领域的普通技术人员的掌握之中。另外,对于计算系统获取和引入已知威胁(例如,已知漏洞)也应该在本领域的普通技术人员掌握的范围内,因为许多计算机威胁可从软件库中以在计算系统上容易地执行的计算机可执行代码的形式(例如,“.EXE”文件)被利用。
在方框120中,UTMS使用计算机数据(从方框110获取)的有界序列来监视一组网络通信并确定该网络通信是否包含指示受损计算系统存在的特性散发物。即,UTMS使用方框110中获取的计算机数据的有界序列可确定网络中的网络节点是否已经受到破坏。
在判定框130中,UTMS决定特性散发物是否在一组被监视的网络通信中被发现。如果特性散发物被发现,这意味着受损计算系统存在于网络中,处理前进到方框140,其中UTMS产生一个或多个适当的反应。一种适当的反应可以是用户或系统警报。另一种适当的反应可能是从特性散发物的源头净化任何网络通信,即受损网络节点,以便攻击的网络节点不能继续接收来自受损网络节点的肯定响应。另一适当的反应可以是隐藏受损网络节点使得攻击的网络节点可以不再到达目标网络节点因而不能继续进行攻击。如果没有发现特性散发物,处理返回到方框120,UTMS监视另一组网络通信的特性散发物的存在。
过程100值得注意的有至少两种方式。首先,计算机数据的有界序列在方框110中创建关联到指示受损计算系统的特性散发物,但计算机数据的有界序列不必关联到受损的实际原因。因此,计算机数据的有界序列允许UTMS识别计算系统已经受损,而不管是什么原因造成受损。这一结果是有利的,因为如果受损的实际原因先前从未见过UTMS仍然可以操作。其次,过程100产生的数据有界序列相比使用(常规)的数字安全技术的签名文件在结构和大小上是有效的。这个结果也是有利的,因为过程100的UTMS的操作期间巨大的计算效率可以被实现。
图2是表示网络上的过程100(图1)的示例性部署的网络框图。如图2所示,台式机和笔记本电脑213-216通过电缆调制解调器210、防火墙211和路由器212连接到云网络201。移动电话222和平板电脑223通过移动服务提供商220无线连接到网络201。数据中心231通过调制解调器230连接到云网络201。过程100的部分可部署到网络设备(如防火墙211、路由器212)、端点(如计算机213-216)、网关设备(如调制解调器210、网关)、移动设备(例如移动电话222、平板计算机223)或类似物。换言之,过程100的各部分可以被部署到网络节点210-216、220-223和/或230-231的一个或多个。例如,过程100可以被集成到运行在移动电话222、平板计算机223和/或计算机213-216上的操作系统内核。过程100(图1)也可以被集成到电缆调制解调器210、UTMS211和/或路由器212的硬件。
2.训练
图3示出了用于训练UTMS的示例性过程300。在一个实施方案中,过程300执行方框110(图1)的功能。在方框310中,获取网络通信并且一系列在两个网络节点之间(即,到和从)被传送的网络数据包被组合在一起。组合的网络数据包的一部分或全部可以是连续的。如上所讨论的,用来训练UTMS的网络通信包括:(i)网络节点之一受损之前的正常两个网络节点之间的通信,(ii)成功地破坏网络节点中的一个的已知威胁的引入,和(iii)成功受损后涉及受损网络节点的通信,其包含来自受损网络节点的特性散发物。
在一些实施方案中,在方框310中两个网络节点之间的网络数据包的分组是双向的,因为既来自也到达一对网络节点的网络通信被组合在一起。双向网络通信通常由不同级别的通信组成,在两个网络节点之间从最初的握手到数据的充分转移。(双向)网络数据包这种分组是基于两个网络节点之间建立的通信的存在。两个网络节点之间建立的通信有时被称为“对话”。两个网络节点可请求通过一个信道建立通信。例如,主机和服务器可以在一个端口上握手。一旦建立通信,两个网络节点可以通过新创建的信道进一步通信。例如,主机和服务器可以通过TCP/IP上的与最初请求所建立通信的端口不同的其他端口进行通信。在一些实施方案中,在方框的网络通信中两个网络节点之间的网络数据包的分组是单向的,到达或来自,网络节点中的一个被分组在一起。
在一些实施方案中,在方框310中(双向)网络数据包的分组开始于网络通信中网络数据包的标识,它表示所建立的通信的开始,并且网络通信的另一网络数据包表示所建立的通信的结束。所建立的通信的开始可以是包含请求的网络数据包。所建立的通信的结束可以是包含相应确认的网络数据包。在一个实施方案中,附加的网络数据包可以被识别,例如代表“请求-应答”的网络数据包。在OSI模型不同层的网络数据包可以提供请求和送达确认信息。例如,HTTP网络数据包(即,在OSI应用层)和TCP网络数据包(即,在OSI传输层)都包含请求字段,其中任何一个都足够满足方框310的目的。以这种方式,方框310将对应于所建立的通信的双向网络数据包组合在一起而不依赖于源网络地址和目的地址。方框310还可以将对应于所建立的通信的双向网络数据包组合在一起而不依赖于源和目的端口号。
现在将参考图4讨论方框310。如图所示,网络数据包430-460代表网络节点410和420之间的一系列网络数据包。网络数据包430是由网络节点410传送到网络节点420,并且包括请求。因此,网络数据包430表示被组合在一起的一系列网络数据包的开头。在这种情况下,网络节点410可以被称为主机因为网络节点410发起请求,网络节点420可以被称为服务器因为网络节点420是请求的接收者。网络数据包440和450是分别由网络节点420和410传送,表示应当被组合在一起的两个网络节点之间的数据的双向通信。网络数据包460是由网络节点420传送到网络节点410以确认已接收到的数据的适当量。因此,网络数据包460表示要被分组在一起的一系列的网络数据包的末尾。以这种方式,在方框310(图3)中网络数据包430到460被组合在一起转换成网络数据包的有界分组。网络数据包的这组被称为“界限”因为分组数据有明确的开始和明确的结束。方框310可被重复以产生一对网络节点之间的双向网络数据包的另外分组。
由方框310进行分组的网络数据包内只有某些字段是与检测受损计算系统相关。在方框320中,相关信息被保留,而外来的信息被丢弃。现在将参考图5和图6讨论方框320。图5示出了IP网络分组的布局,带有与循环检测受损计算系统相关的字段。这些相关字段类型包括:服务类型(“TOS”)511、总长度512(IP网络数据包)、IP标记513、存活时间514、协议515,IP选项516和数据内容517。图6示出了TCP网络分组的布局,带有与循环检测受损计算系统相关的字段。这些字段包括序列号611、确认号612、偏移613、TCP标记614、窗口615、紧急指针616、TCP选项617、和数据内容618。以这种方式,方框310的输出被减小到只包含与检测受损计算系统相关的信息。此保留过程被应用到每个IP和TCP网络分组,其处于由方框310产生的网络数据包的组合中。方框320的输出被称为“重组的数据包”。
方框320中至少两个方面是值得注意的。首先,方框320在IP网络分组中不保留源或目标地址或在TCP网络分组中不保留源或目标端口号。因此,使用过程300的UTMS不需要依靠网络地址和端口信息以检测受损计算系统的存在(虽然网络地址和端口信息随后可以用于标识特定受损计算系统的精确网络位置)。其次,头长度(IHL)510(图5)被用来确定IP网络分组报头的长度使得IP网络分组中的相关字段可以正确被分组,但头长度(IHL)510本身并不被保留在方框320的输出中。
在方框330中,来自方框320的重组数据包(即,相关的信息)被按位转换为整数,从而产生对应于最初提供给处理300的信息子集的整数序列。在一个实施方案中,8位整数被使用。本领域的普通技术人员将理解IP和TCP网络分组包含小于8位、精确8位和超过8位长的字段。通过填充0到最显著输出位,跨度小于8位字段被转换为8位表示。例如,方框330变换比特“100”到“00000100”。TOS511和IP标记513(图5),其分别为4位和3位字段,分别以这种方式被转换。跨度超过8位字段转换为多个8位段。例如,方框330变换比特“0001001001001000”到“00010010”和“01001000”。数据内容517,其跨度多于8位的以这种方式被转换。
现在参照图7讨论方框320和330。图7示出IP网络分组的一部分。如上所述,在IP网络分组710中,TOS711和总长度712,除其他外,对于检测受损计算系统是有用的。因此,字段711和712被方框320保留并提供给方框330以转换为整数。重组数据包714表示由方框320保留的IP网络分组710的部分。方框330按位转换重组数据包714的内容为8位整数715、716和717。注意为简单起见,IP网络分组710只部分示于图7。在正常操作期间,方框320处理由方框310产生的全组的IP和TCP网络分组并且方框330依次处理由方框320保持的整组的IP和TCP网络分组。以这种方式,方框330产生的8位整数序列718含有整数“40183……”。可选地,8位整数序列718可以在长度上被限制为65536(8位)整数。
如这里所使用的术语“序列”描述了有序元素的列表,例如,整数。应当理解的是整数序列718内的元素顺序源于被方框310-320处理的双向网络通信的相关部分的排序和邻接。下面所讨论的响应在方框340-360的处理中被进一步被提取使之有助于检测未知系列网络通信的受损计算系统的存在。
在方框340中,距离函数是用来识别由方框330产生的整数序列的特性。该距离函数针对时间上邻近的整数序列被执行,这意味着由方框330(基于来自方框320的一组网络数据包)产生的整数序列与由方框330(基于来自方框320的下一个相邻分组的网络数据包)产生的下一个相邻的整数序列进行比较。
例如字符串距离函数的常规距离函数是本领域公知的并且在此没有详细讨论。作为示例,常规的字符串距离函数可以被用来确定字符串“abc”和“zbc”具有1的距离,因为字符串变化仅在前者的“a”被替换为后者的“z”,它代表了两个字符串之间的唯一区别。由方框330产生的网络数据包的组合利用距离函数提供给自己进行比较,因为方框330生成整数序列,其可以被视为距离函数的单个元素。然而传统的字符串距离函数不提供足以用于检测受损计算系统的距离度量。例如,这两个字符串相差为1的距离的知识在本发明的上下文中提供了很少的有用信息。
在一个实施方案中,方框340执行自定义距离函数,如下所述,其产生支持检测受损计算系统的简化的整数序列。为了说明的目的,方框340的自定义距离函数将参考图8和9来讨论。图8示出了在一个实施方案中用于执行自定义距离函数的示例性过程800。图9示出了在当前实施方案中由示例性过程800进行处理的网络数据包的示例性组合。
转到图8,在方框810中,自定义距离函数标识出现在方框340(图3)产生的相邻一对整数序列内的整数。图9A示出了910-919示例性整数序列。图9B示出了示例性整数“101”,它至少出现在910-911、911-912和912-913相邻对整数序列。(注意,为简单起见整数序列914-919未示出。)在方框810中,自定义距离函数还标识成对相邻整数序列中的所识别整数的第一个实例。图9C示出了“101”的第一个实例被识别在910-911、911-912和912-913的相邻整数序列中。
在方框820(图8)中,自定义距离函数对齐在成对相邻整数序列中所识别的整数的第一实例。图9D示出了在910-911、911-912和912-913的成对相邻整数序列中“101”的第一个实例的校准。
在方框830(图8)中,在某些条件下对于一对相邻整数序列,简化的整数序列可以被创建。对于成对相邻整数序列的组合如果一个或多个整数是共有的,那么简化的整数序列被创建(对于一对相邻整数序列):(ⅰ)在成对网络数据包的相邻组合中出现在相同的顺序,和(ii)在第一阈值距离内的成对网络数据包的相邻组合中具有位置。在一个实施方案中,第一阈值距离为4。如果被创建,简化的整数序列将包括满足如上所述的条件(i)和(ii)的整数(相对于成对邻近的整数序列)。
图9E示出了当“101”的第一个实例是在910和911整数序列之间被对齐,整数“48”和“52”满足如上所述的(i)和(ii)条件。具体地,在910和911的两个整数序列中整数“101”、“48”和“52”以相同顺序出现。进一步,整数“48”出现在第一阈值距离内的910和911的两个整数序列中(4,在本实施方案中)。因此,如图9F中所示,简化的整数序列920被创建并且包括整数序列“1014852”。此外,如图9F所示,整数序列911和912的整数“101”、“48”和“52”也满足如上所述的条件(i)和(ii)。因此,简化的整数序列921被创建并且包括“1014852”整数序列。此外如图9F所示,整数序列912和913的整数“53”和“101”在也满足如上所述的条件(i)和(ii)。因此,简化的整数序列922被创建并且包括整数序列“53101”。
对于出现在至少一对相邻整数序列内的其它整数,方框810-830重复执行。例如,整数“48”也出现在整数序列910-919之间的至少一对相邻整数序列。因此,对于8位整数“48”方框810-830被重复执行。
在方框830的实现中(这是在图3中方框340执行的示例性字符串功能),处理进行到方框350(图3)。在方框350中,在第二阈值距离内由方框330创建的网络数据包组合的简化的整数序列出现的频率被确定。第一和第二阈值距离可以是相同的也可以是不同的。在一个实施方案中,第二阈值距离为4。图10A示出了由方框330所创建的整数序列910-919。另外,图10B示出了出现在整数序列910-919中的简化的整数序列920-922(图9F)。如图所示,简化的整数序列920(“1014852”)出现在整数序列910-919的除了第八行的十行中(在示例第二阈值距离4的范围内)。因此,80%的频率与简化的整数序列920相关联。出于同样的原因,80%的频率与简化的整数序列921相关联。注意,简化的整数序列920和921没有出现在整数序列916的第二阈值距离内(4,在本实施方案中),因为整数“101”和“48”是被在网络数据包916的组合中的超过四个位置隔开。如图所示,简化的整数序列922(“53101”)出现(在示例第二阈值距离4的范围内)在网络数据包910-919的十组的第三组范围内。因此,30%的频率与简化的整数序列920-921相关联。与简化的整数序列922相关联的频率被示于图10B中。这些识别在网络数据包组合的阈值距离内顺序显示的与简化的整数序列相关的频率的值可以由术语“置信度值”引用。
在方框360(图3)中,具有置信度值低于阈值置信度值的简化的整数序列都将被丢弃。在一个实施方案中,阈值置信度值介于80-90%之间。图10C示出了简化的整数序列922的丢弃。此外,简化的整数序列920和921(其是相同的)被去重复以及维持为简化的整数序列1030。对于本发明的目的,简化的整数序列1030可以由术语“元表达式”引用。
元表达式1030表示通过网络通信足以检测受损计算系统的存在的信息。即使使用与被提供作为初始输入到过程300(图3)的被已知威胁不同的数字安全威胁破坏的计算系统,元表达式1030足以检测受损计算系统。回想一下输入到过程300(图3)的是一系列被用来获取元表达式的网络数据包,包括:(i)一个计算系统受损之前两个计算系统之间正常通信,(ⅱ)成功地破坏了一个计算系统的已知威胁的引入以及(iii)破坏计算系统之后涉及的通信,其包含来自受损计算系统的特性散发物。
对于运行不同的操作系统和应用程序服务的其它计算系统过程300(图3)可以被重复。例如,使用包含基于威胁A的攻击以显出基于SOLARIS的服务器上的SSH漏洞的网络通信,过程300可以被执行,使用包含基于威胁B的攻击以显出基于WINDOWS的计算机上的JAVA漏洞的网络通信,过程300可以被执行。实际上,对于操作系统和应用程序服务的不同组合,过程300可以被重复执行以确定可用于检测后面的操作系统和应用程序服务的不同组合所产生的破坏的元表达式。
图11示出了示例元表达式1101-1103。每个元表达式1101-1102可用于检测网络中的受损计算系统的存在。相比于传统的计算机安全技术这些元表达式的结构和最小尺寸提供了巨大的计算效率。
3.运行时间
现在讨论使用过程300所提供的元表达式检测受损计算系统的效率。回想一下过程300(图3)是可以由图1的方框110执行的示例性UTMS训练过程。因此,在完成过程300(图3)后则处理前进到图1的方框120。
在方框120中,UTMS利用元表达式来分析网络通信并检测网络通信是否包含标识网络中受损计算系统存在的特性散发物。为简单起见,当缺少标识受损计算系统存在的特性散发物时一组网络数据包被认为是“正常”。与此相反,当包含标识受损计算系统存在的特性散发物时一组网络数据包被认为是“异常”。
方框120的处理开始于两个网络节点之间的一系列双向通信的分组。为了这个目的,可以使用方框310(图3)的技术。接下来,为了相关信息,网络数据包的组合被过滤。为了这个目的,可以使用方框320(图3)的技术。接着,形成网络通信新组的重组数据包(包含相关的信息)将被转换成整数序列。在运行时间所使用的整数比特大小应该与训练期间所使用的整数比特大小是相同的。在一个实施方案中,整数是8位的大小。为了将重组数据包转换为整数序列,可以使用方框330(图3)的技术。
方框330产生的整数序列与一个或多个元表达式相比较以确定该网络通信是正常还是异常。当两个标准都满足时被分析的一组网络通信被认为是异常的:(ⅰ)元表达式中的每个整数都存在于对应网络通信的整数序列中,和(ii)每一整数在相应整数序列和元表达式中以相同顺序出现。值得注意的是,在第一个实例中UTMS可以得出推断一组网络数据包缺少特性散发物(并因此正常),其条件为(ⅰ)不保持为真,这意味着UTMS不必为了确定该组的网络数据包是正常的而总是处理整个组的网络数据包。这一结果是有利的,相比于为了确定该组的网络数据包是否是正常的而设计迭代处理一组网络数据包的每个网络数据包,因为它适合于UTMS高效操作。假的条件(ⅱ),用于确定一组网络数据包是否是正常或不正常尽管仍然有用但是效率较低,因为整数序列可以具有多个特定整数实例,并且所有实例必须满足假的条件(ii)为了作为整体假的条件(ii)。
当网络数据包的异常组被检测到时,UTMS跟随判定框130到方框140,其产生一个或多个适当的应答。当一组网络数据包被确定为正常时,UTMS返回到方框120并分析另外的网络通信。方框120-130将参考图12进行讨论。图12示出了网络数据包示例性组合1200-1209和示例性元表达式1210。元表达式1210可以是在训练期间(图1的方框110)创建的元表达式之一。为简单起见,元表达式1210的长度被缩短。如图所示,网络数据包1201、1202和1209的分组包含元表达式1210所有整数,整数以相同的顺序出现在元表达式1210中。因此,网络数据包1201、1202和1209的分组被视为异常在于其含有标识受损计算系统存在的特性散发物。网络数据包1200和1203-1208的分组不包含元表达式1210的所有有序整数。因此,网络数据包1200和1203-1208的分组被视为正常在于其缺乏标识受损计算系统存在的特性散发物。
如从前面的讨论中明显看出,在方框120中,UTMS执行许多整数比较。因此,整数比较的优化对于UTMS的效率是重要的。回想一下,第一个实例中元表达式的整数不存在于对应网络通信整数序列中时一组网络通信被认为是正常的。因此,如果早期的“正常”的确定可以给出就能够改进UTMS的性能。为此,结构化方框120的技术是有益的,使得一旦来自元表达式中的一个整数被标识为不存在整数序列中,整数序列和元表达式之间的整数比较终止。
在一个实施方案中,当任何一个返回嵌套级别中的“假”状态时,方框120采用返回整体值为“假”(例如,布尔值)的嵌套计算机编程语言表达式。因此,一旦UTMS标识没有一个整数时(在嵌套级别中的任何一个),其全部嵌套计算机编程语言表达式处理终止。因而网络通信的相应组被标识为正常(在这种情况下,不必要有额外的威胁检测)并且一组后续的网络通信将被分析。例如,如果表达式(A)、(B)、(C)和/或(D)中的任何一个为“假”,LISP计算机编程语言允许以((((A)(B))(C))(D))的嵌套表达式形式返回“假”的整体值。在本示例中,表达式(A)可以查询元表达式的第一个整数是否出现在整数序列中并且表达式(B)可以查询元表达式的第二整数是否出现整数序列中等等。
在方框140中,一个或多个适当的反应可能会生成。一个适当的反应可以是标识受损计算系统存在的用户或系统警报。受损计算系统的身份可以基于其中特性散发物被发现的该组网络数据包来确定。另一种适当的反应可能是从特性散发物的源头净化任何网络通信,即受损网络节点,以便攻击的网络节点不能继续接收来自受损网络节点的肯定响应。另一适当的反应可以是隐藏受损网络节点使得攻击的网络节点可以不再到达目标网络节点因而不能继续进行攻击。
过程100(图1)的部分可在图13所示的示例性计算系统1300中实现。在一些实施方案中,计算系统1300是网络设备,诸如路由器、网关和防火墙或类似物。在一些实施方案中,计算系统1300是网关设备,例如调制解调器或类似物。在一些实施方案中,计算系统1300是移动设备,诸如台式计算机、膝上型计算机、移动电话,平板电脑或类似物。在一些实施方案中,计算系统1300是网络接口“卡”。值得注意的是,过程100的训练方面(即,方框110)和过程100的运行时间方面(也就是,方框120-140)可以被相同或到不同的计算系统实现。
如图13所示,计算系统1300包括计算机主板1302带有连接I/O部分1304的总线1310、一个或多个中央处理单元(CPU)1306和存储部分1308。存储部分1308可以具有与它有关的存储器模块1320。例如存储器模块1320可以是闪速存储器和/或可移动存储装置。I/O部分1304被连接到网络接口1312,其接收和/或传送网络数据包。I/O部分1304可以被连接到显示器1314、输入装置1316和/或存储单元1318。存储部分1308、存储模块1320和/或存储单元1318可存储(例如有形实体)计算机可读介质,其包含使用CPU1306用于执行上述处理中的任何一个的计算机可执行指令和/或数据。计算机可执行指令可以被改写,例如使用通用的编程语言(例如,LISP、C)或一些专门针对特定应用的语言。输入设备1316可以是支持从USB兼容设备输入的USB端口,如键盘、鼠标、记忆棒或类似物。至少根据上述处理结果的一些值可以保存到存储器,例如存储器1308、存储模块1320和/或磁盘存储单元1318以供后续使用。
过程100(图1)的部分也可以通过具体布置集成电路(例如,专用集成电路)的方式被实现成处理器。在一些实施方案中,集成电路可以是设备主处理器的一部分,例如移动电话的主处理器。在一些实施方案中,集成电路可以是设备辅助处理器的一部分,例如连接到笔记本电脑主板的处理器。该集成电路可以包含用于执行上述处理中的任一项的计算机可执行指令和/或数据。该计算机可执行指令可以被改写,例如使用专门的应用程序特定(例如,处理器特定的)的语言。
在一些实施方案中,基于总量小于1MB的C编程语言的计算机可执行指令足以执行过程100(图1)。这些计算机可执行指令的执行需要不超过300KB(16位字节)运行时间存储器(例如,随机存取存储器)。现代计算系统和/或处理器都能够处理这种尺寸的计算机可执行指令。实际上,在这些实施方案中,网络接口带宽(即,输入带宽)而不是处理器速度,对于处理甚至更高容量的网络通信通常是限制因素。
在一些实施方案中,过程100(图1)的一个或多个部分可以连同数字安全威胁检测器实现,诸如美国专利号8347391中描述的检测器所关注的网络活动,其也由申请人所拥有。美国专利号8347391的部分涉及创建和使用的元表达式用于检测所关注的网络活动,如计算机病毒,在此为了所有目的通过参考并入本文。带有数字安全威胁检测器的过程100的实现是有利的,因为由数字安全威胁检测器避免检测的威胁(并因此成功破坏计算系统)可在以后使用过程100的一个或多个部分来解决。
虽然只有某些示例性实施方案已在上面详细地描述,本领域的技术人员将容易理解在不脱离本发明的新颖性教导和优点的情况下对示例性实施方案的许多修改是可能的。上面公开的实施方案的方面可以被组合到其它组合中以形成另外的实施方案。所有这些修改旨在被包括在本技术的范围之内。
例如,在一些实施方案中,上述技术可以被修改以检测未联网的受损计算系统。更具体地,当其服务之一受损时非网络计算系统仍可能以存储器中的数据形式产生特性散发物。上述技术因此适合于使用存储器转储,而不是捕获网络数据包,进而确定元表达式并利用元表达式识别系统受损。元表达式的确定和/或使用元表达式存储器内容的监视可以通过本地、非联网计算系统上的软件和/或硬件来执行。

Claims (35)

1.一种用于检测被未检测到的攻击破坏的计算设备的计算机实现方法,所述方法包括:
通过一个或多个处理器从网络获取多个网络数据包,其中所获取的多个网络数据包包括分类为传输控制协议(TCP)分组和因特网协议(IP)分组的网络数据包,其中所获取的多个网络数据包包括:
所述计算设备上包含已知攻击的网络数据包,所述已知攻击不同于所述未检测到的攻击,
来自所述计算设备的所述已知攻击之前的网络数据包,和
来自所述计算设备的所述已知攻击之后的网络数据包;
通过所述一个或多个处理器从所述多个TCP分组和IP分组的至少一个子集创建多个组合数据包的,其中:
所述多个组合数据包中的第一组合数据包包括至少一个所述TCP分组的一部分和至少一个所述IP分组的一部分,和
所述多个组合数据包中的第二组合数据包包括至少一个所述TCP分组的一部分和至少一个所述IP分组的一部分,其中所述第二组合数据包不同于所述第一组合数据包;
通过所述一个或多个处理器将所述第一组合数据包的至少一部分内容按位转换为第一组多个整数来创建第一序列,其中所述第一序列包括所述第一组多个整数;
通过所述一个或多个处理器将所述第二组合数据包的至少一部分内容按位转换为第二组多个整数来创建第二序列,其中所述第二序列包括所述第二组多个整数;
通过所述一个或多个处理器基于距离函数确定所述第一序列和所述第二序列之间的相似性度量;
通过所述一个或多个处理器基于所述相似性度量创建第三序列,其中在第一顺序所述第三序列包括共有于所述第一序列和所述第二序列的第三组多个整数;
通过所述一个或多个处理器创建第四序列,其中所述第四序列是元表达式,其:
包括在第一顺序上所述第三列表的第三组多个整数的子集,和
代表被攻击破坏的所述计算设备;和
存储所述元表达式,其中所存储的元表达式被用来检测被所述未检测到的攻击破坏的所述计算设备。
2.如权利要求1所述的计算机实现方法,其中:
在所述计算设备中未被检测到的攻击目标是漏洞,所述一个或多个处理器不知晓所述漏洞。
3.如权利要求1所述的计算机实现方法,其中所述第一组合数据包的所述创建包括:
识别所述多个网络数据包的第一TCP分组,表示请求;
识别所述多个网络数据包的第二TCP分组,表示确认,其中所述第二TCP分组:
出现在所述第一TCP分组之后,和
对应于所述第一TCP分组表示确认;和
识别所述多个网络数据包的第三TCP分组,其中所述第三TCP分组发生在所述第一TCP分组和所述第二TCP分组之间。
4.如权利要求1所述的计算机实现方法,其中:
所述相似性量度表示在所述第一序列中整数的位置和所述第二序列中整数的位置之间的差,和
如果所述差是在第一预定距离之内所述整数被包括在所述第三序列中。
5.如权利要求4所述的计算机实现方法,其中:
所述第一预定距离为4。
6.如权利要求1所述的计算机实现方法,其中:
在所述第一顺序中所述第四序列的整数出现在至少多个组合数据包之间的预定频率中,其中所述频率为80-90%百分比之间。
7.如权利要求1所述的计算机实现方法,其中:
所述第一、第二和第三组多个整数是8位整数。
8.如权利要求7所述的计算机实现方法,其中:
所述第一组合数据包的至少一部分内容按位转换为第一组多个整数包括分组所述第一组合数据包的至少一部分内容按位为8位整数。
9.如权利要求1所述的计算机实现方法,
其中所述计算设备是第一计算设备,
其中所述一个或多个处理器是第二计算设备的处理器,
其中所述所存储的元表达式存储在所述第二计算设备上,并且所述方法还包括:
通过所述第二计算设备的所述一个或多个处理器检测所述第一计算设备的受损情况。
10.如权利要求1所述的计算机实现方法,
其中所述计算设备是第一计算设备,
其中所述一个或多个处理器是第二计算设备的处理器,
其中所述所存储的元表达式存储在所述第二计算设备上,并且所述方法还包括:
从所述第二计算设备传送所述所存储的元表达式到第三计算设备,其中所述第二计算设备不同于所述第三计算设备;
通过所述第三计算设备存储所传送的元表达式;和
通过所述第三计算设备检测所述第一计算设备的受损情况。
11.一种用于检测被未检测到的攻击破坏计算设备的计算机实现方法,所述方法包括:
a)通过一个或多个处理器从网络获取多个网络数据包,其中所获取的多个网络数据包包括分类为传输控制协议(TCP)分组和因特网协议(IP)分组的网络数据包,其中所获取的多个网络数据包包括来自受损计算设备的传送;
b)通过所述一个或多个处理器创建获取自a)的所述多个TCP分组和IP分组的至少一个子集的组合数据包,其中所述组合数据包包括至少一个所述TCP分组的一部分和至少一个所述IP分组的一部分;
c)获取元表达式,其:
包括顺序的多个整数,和
所述计算设备被攻击破坏;
d)确定获取自c)中的元表达式是否出现在创建于b)中的组合数据包中;
e)如果获取自c)中的元表达式出现在创建于b)中的组合数据包中,然后开始操作。
12.如权利要求11所述的计算机实现方法,其中所述确定包括:
确定所述多个整数,其获取自c)中的元表达式的顺序是否与出现在创建于b)中的组合数据包的顺序相同。
13.如权利要求11所述的计算机实现方法,其中所述操作包括过滤TCP分组或IP分组。
14.如权利要求11所述的计算机实现方法,其中所述操作包括隐藏所述受损计算设备。
15.根据权利要求11所述的计算机实现方法,其中所述创建组合数据包包括:
标识表示请求的第一TCP分组;
标识表示确认的第二TCP分组,其中所述第二TCP分组:
出现在所述第一TCP分组之后,和
对应于所述第一TCP分组表示确认;和
标识第三TCP分组,其中所述第三TCP分组发生在所述第一TCP分组和所述第二TCP分组之间。
16.一种用于检测被未检测到的攻击破坏网络计算设备的网络设备,包括:
用于连接到网络基础设施的网络端口,其中所述网络端口适于获取多个网络数据包,其中所获取得的多个网络数据包包括分类为传输控制协议(TCP)分组和因特网协议(IP)分组的网络数据包,其中所述所获取的多个网络数据包包括:
在所述计算设备上包含已知攻击的网络数据包,所述已知攻击不同于所述未被检测到的攻击,
来自所述计算设备的所述已知攻击之前的网络数据包,和
来自所述计算设备的所述已知攻击之后的网络数据包;
连接到网络端口的处理器,其中所述处理器适于:
从所述多个TCP分组和IP分组的至少一个子集创建多个组合数据包,其中:
所述多个组合数据包中的第一组合数据包包括至少一个所述TCP分组的一部分和至少一个所述IP分组的一部分,和
所述多个组合数据包中的第二组合数据包包括至少一个所述TCP分组的一部分和至少一个所述IP分组的一部分,其中所述第二组合数据包不同于所述第一组合数据包;
通过将所述第一组合数据包的至少一部分内容按位转换为第一组多个整数来创建第一序列,其中所述第一序列包括所述第一组多个整数;
通过将所述第二组合数据包的至少一部分内容按位转换为第二组多个整数来创建第二序列,其中所述第二序列包括所述第二组多个整数;
基于距离函数确定所述第一序列和所述第二序列之间的相似性度量;
基于所述相似性度量创建第三序列,其中在第一顺序所述第三序列包括共有于所述第一序列和所述第二序列的第三组多个整数;和
创建第四序列,其中所述第四序列是元表达式,其:
包括在第一顺序上所述第三列表的第三组多个整数的子集,和
代表被攻击破坏的所述计算设备;和
连接到所述处理器的存储器,其中所述存储器适于存储所述元表达式,其中所存储的元表达式被用来检测被所述未检测到的攻击破坏的所述计算设备。
17.如权利要求16所述的网络设备,其中:
在所述计算设备中未被检测到的攻击目标是漏洞,所述网络设备不知晓所述漏洞。
18.如权利要求16所述的网络设备,其中所述第一组合数据包的创建包括:
识别所述多个网络数据包的第一TCP分组,表示请求;
识别所述多个网络数据包的第二TCP分组,表示确认,其中所述第二TCP分组:
出现在所述第一TCP分组之后,和
对应于所述第一TCP分组表示确认;和
识别所述多个网络数据包的第三TCP分组,其中所述第三TCP分组发生在所述第一TCP分组和所述第二TCP分组之间。
19.如权利要求16所述的网络设备,其中:
所述相似性量度表示在所述第一序列中整数的位置和所述第二序列中整数的位置之间的差,和
如果所述差是在第一预定距离之内所述整数被包括在所述第三序列中。
20.如权利要求19所述的网络设备:
所述第一预定距离为4。
21.如权利要求16所述的网络设备,其中:
在所述第一顺序中所述第四序列的整数出现在至少多个组合数据包之间的预定频率中,并且其中所述频率为80-90%百分比之间。
22.如权利要求16所述的网络设备,其中:
所述第一、第二和第三组多个整数是8位整数。
23.如权利要求16所述的网络设备,其中:
所述第一组合数据包的至少一部分内容按位转换为第一组多个整数包括分组所述第一组合数据包的至少一部分内容按位为8位整数。
24.如权利要求16所述的网络设备,其中所述处理器还适于:
检测所述计算设备的受损情况。
25.如权利要求16所述的网络设备,
其中所述计算设备是第一计算设备,
其中所述处理器还适于:
传送所述所存储的元表达式到第二计算设备,
其中所述所传送的元表达式由所述第二计算设备存储,和
其中所述所传送的元表达式被所述第二联网计算设备所使用以检测所述第一计算设备的受损情况。
26.一种具有计算机可执行指令的非临时性计算机可读存储介质,用于检测被未检测到攻击破坏的计算设备,当被一个或多个处理器执行的所述计算机可执行指令使所述一个或多个处理器来执行的行为:
从网络获取多个网络数据包,其中所述所获取的多个网络数据包包括分类为传输控制协议(TCP)分组和因特网协议(IP)分组的网络数据包,其中所获取的多个网络数据包包括:
在所述计算设备上包含已知攻击的网络数据包,所述已知攻击不同于所述未被检测到的攻击,
来自所述计算设备的所述已知攻击之前的网络数据包,和
来自所述计算设备的所述已知攻击之后的网络数据包;
从所述多个TCP分组和IP分组的一个子集创建多个组合数据包,其中
所述多个组合数据包中的第一组合数据包包括至少一个所述TCP分组的一部分和至少一个所述IP分组的一部分,和
所述多个组合数据包中的第二组合数据包包括至少一个所述TCP分组的一部分和至少一个所述IP分组的一部分,其中所述第二组合数据包不同于所述第一组合数据包;
通过所述一个或多个处理器将所述第一组合数据包的至少一部分内容按位转换为第一组多个整数来创建第一序列,其中所述第一序列包括所述第一组多个整数;
通过所述一个或多个处理器将所述第二组合数据包的至少一部分内容按位转换为第二组多个整数来创建第二序列,其中所述第二序列包括所述第二组多个整数;
基于距离函数确定所述第一序列和所述第二序列之间的相似性度量;
基于所述相似性度量创建第三序列,其中在第一顺序所述第三序列包括共有于所述第一序列和所述第二序列的第三组多个整数;
创建第四序列,其中所述第四序列是元表达式,其:
包括在第一顺序上所述第三列表的第三组多个整数的子集,和
代表被攻击破坏的所述计算设备;和
存储所述元表达式,其中所存储的元表达式被用来检测被所述未检测到的攻击破坏的所述计算设备。
27.如权利要求26所述的非临时性计算机可读介质,
其中未被检测到的攻击目标是在所述计算设备中的漏洞,和
其中所述一个或多个处理器不知晓所述漏洞。
28.如权利要求26所述的非临时性计算机可读介质,其中所述第一组合数据包的创建包括:
识别所述多个网络数据包的第一TCP分组,表示请求;
识别所述多个网络数据包的第二TCP分组,表示确认,其中所述第二TCP分组:
出现在所述第一TCP分组之后,和
对应于所述第一TCP分组表示确认;和
识别所述多个网络数据包的第三TCP分组,其中所述第三TCP分组发生在所述第一TCP分组和所述第二TCP分组之间。
29.如权利要求26所述的非临时性计算机可读介质,其中:
所述相似性量度表示在所述第一序列中整数的位置和所述第二序列中整数的位置之间的差,和
如果所述差是在第一预定距离之内所述整数被包括在所述第三序列中。
30.如权利要求29所述的非临时性计算机可读介质,其中:
所述第一预定距离为4。
31.如权利要求26所述的非临时性计算机可读介质,其中:
在所述第一顺序中所述第四序列的整数出现在至少多个组合数据包之间的预定频率中,并且其中所述频率为80-90%百分比之间。
32.如权利要求26所述的非临时性计算机可读介质,其中:
所述第一、第二和第三组多个整数是8位整数。
33.如权利要求32所述的非临时性计算机可读介质,其中
所述第一组合数据包的至少一部分内容按位转换为第一组多个整数包括分组所述第一组合数据包的至少一部分内容按位为8位整数。
34.如权利要求26所述的非临时性计算机可读介质,
其中所述计算设备是第一计算设备,
其中所述所存储的元表达式存储在第二计算设备上,和
其中所述计算机可执行指令包括指令用于:
通过所述第二计算设备检测所述第一计算设备的受损情况。
35.如权利要求26所述的非临时性计算机可读介质,
其中所述计算设备是第一计算设备,
其中所述所存储的元表达式存储在第二计算设备上,和
其中所述计算机可执行指令包括指令用于:
从所述第二计算设备传送所述所存储的元表达式到第三计算设备,
其中所述第二计算设备不同于所述第三计算设备,
其中所传送的元表达式由所述第三计算设备存储,和
其中所述所传送的元表达式被所述第三计算设备使用以检测所述第一计算设备的受损情况。
CN201480006431.7A 2013-01-28 2014-01-27 用于检测受损计算系统的系统与方法 Expired - Fee Related CN105431828B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/752,268 2013-01-28
US13/752,268 US8856324B2 (en) 2013-01-28 2013-01-28 System and method for detecting a compromised computing system
PCT/US2014/013136 WO2014117064A2 (en) 2013-01-28 2014-01-27 System and method for detecting a compromised computing system

Publications (2)

Publication Number Publication Date
CN105431828A true CN105431828A (zh) 2016-03-23
CN105431828B CN105431828B (zh) 2019-09-20

Family

ID=51224590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480006431.7A Expired - Fee Related CN105431828B (zh) 2013-01-28 2014-01-27 用于检测受损计算系统的系统与方法

Country Status (4)

Country Link
US (5) US8856324B2 (zh)
CN (1) CN105431828B (zh)
DE (1) DE112014000578T5 (zh)
WO (1) WO2014117064A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200394330A1 (en) * 2017-10-10 2020-12-17 Hakuhodo Dy Holdings Inc. Information processing system, data provision system, and related method

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856324B2 (en) 2013-01-28 2014-10-07 TrustPipe LLC System and method for detecting a compromised computing system
US10015239B1 (en) 2015-08-12 2018-07-03 Evengx, Llc Self-organizing distributed computation grid
US20170279821A1 (en) * 2016-03-22 2017-09-28 TrustPipe LLC System and method for detecting instruction sequences of interest
US10692099B2 (en) 2016-04-11 2020-06-23 International Business Machines Corporation Feature learning on customer journey using categorical sequence data
US10534925B2 (en) 2016-10-05 2020-01-14 Microsoft Technology Licensing, Llc Detection of compromised devices via user states
CN109995704B (zh) * 2017-12-29 2021-10-12 腾讯科技(深圳)有限公司 广告拦截方法、装置、设备及计算机可读存储介质
US11363036B2 (en) * 2019-03-28 2022-06-14 Microsoft Technology Licensing, Llc Detecting a missing security alert using a machine learning model
US11061879B1 (en) 2020-07-01 2021-07-13 Morgan Stanley Services Group Inc. File indexing and retrospective malware detection system
US10860717B1 (en) 2020-07-01 2020-12-08 Morgan Stanley Services Group Inc. Distributed system for file analysis and malware detection
US10990676B1 (en) 2020-07-01 2021-04-27 Morgan Stanley Services Group Inc. File collection method for subsequent malware detection

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150954A1 (en) * 2005-12-27 2007-06-28 Tae-Shik Shon System and method for detecting network intrusion
US20080052774A1 (en) * 2003-05-19 2008-02-28 Radware Ltd. Dynamic network protection
US20080134329A1 (en) * 2006-12-01 2008-06-05 Sonus Networks Identifying Attackers on a Network
CN101350745A (zh) * 2008-08-15 2009-01-21 北京启明星辰信息技术股份有限公司 一种入侵检测方法及装置
CN101626322A (zh) * 2009-08-17 2010-01-13 中国科学院计算技术研究所 网络行为异常检测方法及系统
US20120227108A1 (en) * 2005-03-10 2012-09-06 Noel Steven E Intrusion Event Correlation System
US8347391B1 (en) * 2012-05-23 2013-01-01 TrustPipe LLC System and method for detecting network activity of interest

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280428A (en) 1992-07-14 1994-01-18 General Electric Company Method and apparatus for projecting diagnostic images from volumed diagnostic data accessed in data tubes
US5912986A (en) 1994-06-21 1999-06-15 Eastman Kodak Company Evidential confidence measure and rejection technique for use in a neural network based optical character recognition system
US5867221A (en) 1996-03-29 1999-02-02 Interated Systems, Inc. Method and system for the fractal compression of data using an integrated circuit for discrete cosine transform compression/decompression
US6016163A (en) 1997-03-12 2000-01-18 Scientific-Atlanta, Inc. Methods and apparatus for comparing blocks of pixels
US6028956A (en) 1997-04-04 2000-02-22 Kofile Inc. Object location and span determination method and apparatus which determines a location and span of an object in an image
US6298166B1 (en) 1998-03-30 2001-10-02 Seiko Epson Corporation Image transformations in the compressed domain
US6697061B1 (en) 1999-01-21 2004-02-24 Hewlett-Packard Development Company, L.P. Image compression featuring selective re-use of prior compression data
JP2000295406A (ja) 1999-04-09 2000-10-20 Canon Inc 画像処理方法、装置及び記憶媒体
JP2001034737A (ja) 1999-07-16 2001-02-09 Minolta Co Ltd 画像合成装置、画像合成処理方法および画像合成処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7336378B2 (en) 2000-08-07 2008-02-26 Minolta Co., Ltd. Image processing with recognized character codes
US6920504B2 (en) * 2002-05-13 2005-07-19 Qualcomm, Incorporated Method and apparatus for controlling flow of data in a communication system
US6654882B1 (en) 2002-05-24 2003-11-25 Rackspace, Ltd Network security system protecting against disclosure of information to unauthorized agents
AU2004303220B2 (en) 2003-09-11 2008-05-22 Bae Systems Plc Real-time network monitoring and security
US7223241B2 (en) 2004-12-16 2007-05-29 Aloka Co., Ltd. Method and apparatus for elasticity imaging
MX2007013025A (es) 2005-04-18 2008-01-11 Univ Columbia Sistemas y metodos para detectar e inhibir ataques mediante el uso de colmenas.
US8028160B1 (en) * 2005-05-27 2011-09-27 Marvell International Ltd. Data link layer switch with protection against internet protocol spoofing attacks
WO2007070838A2 (en) 2005-12-13 2007-06-21 Crossbeam Systems, Inc. Systems and methods for processing data flows
US7773618B2 (en) * 2006-11-08 2010-08-10 Sicortex, Inc. System and method for preventing deadlock in richly-connected multi-processor computer system using dynamic assignment of virtual channels
US9009829B2 (en) 2007-06-12 2015-04-14 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for baiting inside attackers
JP4998219B2 (ja) 2007-11-09 2012-08-15 富士通株式会社 帳票認識プログラム、帳票認識装置および帳票認識方法
JP5058898B2 (ja) 2008-06-27 2012-10-24 キヤノン株式会社 画像出力装置及び制御方法及びコンピュータプログラム
US8813220B2 (en) * 2008-08-20 2014-08-19 The Boeing Company Methods and systems for internet protocol (IP) packet header collection and storage
US8726382B2 (en) * 2008-08-20 2014-05-13 The Boeing Company Methods and systems for automated detection and tracking of network attacks
US8788841B2 (en) 2008-10-23 2014-07-22 Samsung Electronics Co., Ltd. Representation and verification of data for safe computing environments and systems
JP4737269B2 (ja) 2008-10-31 2011-07-27 富士ゼロックス株式会社 画像処理装置及びプログラム
JP4821869B2 (ja) 2009-03-18 2011-11-24 富士ゼロックス株式会社 文字認識装置、画像読取装置、およびプログラム
JP2011233039A (ja) 2010-04-28 2011-11-17 Sony Corp 画像処理装置、画像処理方法、撮像装置、およびプログラム
US9306902B2 (en) * 2012-08-29 2016-04-05 Qualcomm Incorporated Embedded thin DHCP for wi-fi direct to provide an IP address during connection establishment
US9483642B2 (en) 2012-10-30 2016-11-01 Gabriel Kedma Runtime detection of self-replicating malware
US8856324B2 (en) 2013-01-28 2014-10-07 TrustPipe LLC System and method for detecting a compromised computing system
US9886577B2 (en) 2014-09-26 2018-02-06 Mcafee, Llc Detection and mitigation of malicious invocation of sensitive code
US20160232347A1 (en) 2015-02-09 2016-08-11 Palo Alto Networks, Inc. Mitigating malware code injections using stack unwinding
US10229268B2 (en) 2015-03-28 2019-03-12 Leviathan, Inc. System and method for emulation-based detection of malicious code with unmet operating system or architecture dependencies
US9998483B2 (en) 2015-12-22 2018-06-12 Mcafee, Llc Service assurance and security of computing systems using fingerprinting
US20170279821A1 (en) 2016-03-22 2017-09-28 TrustPipe LLC System and method for detecting instruction sequences of interest

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052774A1 (en) * 2003-05-19 2008-02-28 Radware Ltd. Dynamic network protection
US20120227108A1 (en) * 2005-03-10 2012-09-06 Noel Steven E Intrusion Event Correlation System
US20070150954A1 (en) * 2005-12-27 2007-06-28 Tae-Shik Shon System and method for detecting network intrusion
US20080134329A1 (en) * 2006-12-01 2008-06-05 Sonus Networks Identifying Attackers on a Network
CN101350745A (zh) * 2008-08-15 2009-01-21 北京启明星辰信息技术股份有限公司 一种入侵检测方法及装置
CN101626322A (zh) * 2009-08-17 2010-01-13 中国科学院计算技术研究所 网络行为异常检测方法及系统
US8347391B1 (en) * 2012-05-23 2013-01-01 TrustPipe LLC System and method for detecting network activity of interest

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200394330A1 (en) * 2017-10-10 2020-12-17 Hakuhodo Dy Holdings Inc. Information processing system, data provision system, and related method
US11593513B2 (en) * 2017-10-10 2023-02-28 Hakuhodo Dy Holdings Inc. Information processing system, data provision system, and related method

Also Published As

Publication number Publication date
US8856324B2 (en) 2014-10-07
US20140215606A1 (en) 2014-07-31
WO2014117064A2 (en) 2014-07-31
US9350707B2 (en) 2016-05-24
US10182070B2 (en) 2019-01-15
US20190132335A1 (en) 2019-05-02
US10862923B2 (en) 2020-12-08
US20150020187A1 (en) 2015-01-15
WO2014117064A3 (en) 2015-10-29
DE112014000578T5 (de) 2015-10-08
US20160315951A1 (en) 2016-10-27
US9787713B2 (en) 2017-10-10
US20180034830A1 (en) 2018-02-01
CN105431828B (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
CN105431828A (zh) 用于检测受损计算系统的系统与方法
Ajaeiya et al. Flow-based intrusion detection system for SDN
US11899786B2 (en) Detecting security-violation-associated event data
EP3716110B1 (en) Computer-security event clustering and violation detection
CN107667505B (zh) 用于监控和管理数据中心的系统及方法
Zhang et al. DDoS detection and prevention based on artificial intelligence techniques
US9985982B1 (en) Method and apparatus for aggregating indicators of compromise for use in network security
US9031959B2 (en) Method and apparatus for identifying application protocol
Sija et al. A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view
CN103259793B (zh) 基于后缀自动机正则引擎构造的深度包检测方法
Su et al. Detecting p2p botnet in software defined networks
US8347391B1 (en) System and method for detecting network activity of interest
US20170099304A1 (en) Automatic generation of cluster descriptions
EP4027276A1 (en) Anomaly detection based on an event tree
Alani et al. ARP-PROBE: An ARP spoofing detector for Internet of Things networks using explainable deep learning
KR101648033B1 (ko) 공격 패턴이 존재하지 않는 공격 시그니처 기반의 침입 탐지 방법 및 그를 위한 장치
Singh et al. A novel DDoS detection and mitigation technique using hybrid machine learning model and redirect illegitimate traffic in SDN network
Heenan et al. A survey of Intrusion Detection System technologies
KR102053781B1 (ko) 시그니처 추출 장치 및 방법
Giannuzzi Artificial Intelligence for Security Attacks Detection
Karimi Distributed machine learning based intrusion detection system
Yang et al. CACluster: A Clustering Approach for IoT Attack Activities Based on Contextual Analysis
Makori Machine learning based ddos attack detection for software-defined networks: Yazılım tanımlı ağlar için makine öğrenme esaslı ddos attack algılama
Dickens et al. Classifiers for the causes of data loss using packet-loss signatures
Ujjan et al. Entropy Based Features Distribution for Anti-DDoS Model in SDN. Sustainability 2021, 13, 1522

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180212

Address after: San Francisco

Applicant after: Yiwan X Co.,Ltd.

Address before: California, USA

Applicant before: Fun Site Pipe Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190920

Termination date: 20220127