CN108881129A - 一种高级持续性威胁攻击检测方法及装置 - Google Patents

一种高级持续性威胁攻击检测方法及装置 Download PDF

Info

Publication number
CN108881129A
CN108881129A CN201710344502.XA CN201710344502A CN108881129A CN 108881129 A CN108881129 A CN 108881129A CN 201710344502 A CN201710344502 A CN 201710344502A CN 108881129 A CN108881129 A CN 108881129A
Authority
CN
China
Prior art keywords
field
message
feature
matching
threatens
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.)
Withdrawn
Application number
CN201710344502.XA
Other languages
English (en)
Inventor
王静
戴震
程光
骆文
田甜
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.)
ZTE Corp
Southeast University
Original Assignee
ZTE Corp
Southeast University
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 ZTE Corp, Southeast University filed Critical ZTE Corp
Priority to CN201710344502.XA priority Critical patent/CN108881129A/zh
Publication of CN108881129A publication Critical patent/CN108881129A/zh
Withdrawn legal-status Critical Current

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/1433Vulnerability analysis
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种高级持续性威胁攻击检测方法及装置。该方法包括:获取高级持续性威胁攻击样本中高级持续性威胁病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文中的字段,建立字段的特征库;获取待检测的报文,从所述报文中提取一个或多个字段;将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。本发明实施例中,通过分析样本建立特征库,将待检测的报文与特征库进行匹配来判断报文是否为高级持续性威胁报文,能有效的检测出报文。另外,匹配的时候采取模糊匹配和精确匹配两次匹配操作,大大提高了检测效率和准确性。

Description

一种高级持续性威胁攻击检测方法及装置
技术领域
本发明涉及通信技术,尤指一种高级持续性威胁攻击检测方法及装置。
背景技术
高级持续性威胁(Advanced Persistent Threat,简称APT),是指组织或者团体使用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。APT攻击的原理相对于其他攻击形式更为高级和先进,它融合了情报、黑客技术、社会工程等各种手段,针对有价值的信息资产发起复杂而专业的攻击。
APT攻击与传统攻击不同之处在于:它的攻击目的非常明确。通过精心策划,建立长期的攻击点,等待时机完成预定任务。专业人员精心组织,长期监控,攻击过程随着找到的防御弱点进行动态调整,更有效地实现攻击目的。APT攻击一般是专门设计的,攻击方法复杂,多利用0day漏洞(即已被发现但还没有相关补丁的漏洞),绕过基于代码的传统安全方案(如防病毒软件、防火墙、入侵防御系统(Intrusion Prevention System,简称IPS)等),并更长时间地潜伏在系统中,让传统防御体系难以侦测。
发明内容
本发明至少一实施例提供了一种高级持续性威胁攻击检测方法及装置,及时检测到高级持续性威胁攻击。
为了达到本发明目的,本发明至少一实施例提供了一种高级持续性威胁攻击检测方法,包括:
获取高级持续性威胁攻击样本中高级持续性威胁病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文中的字段,建立字段的特征库;
获取待检测的报文,从所述报文中提取一个或多个字段;
将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。
在本发明的一可选实施例中,所述字段包括:统一资源定位符字段、主机字段至少之一。
在本发明的一可选实施例中,所述字段的特征库包括该字段的用于模糊匹配的第一特征库和该字段的用于精确匹配的第二特征库;
所述将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文包括:
将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配;
如果至少一个字段与其对应的第一特征库匹配成功且与其对应的第二特征库匹配成功,则所述报文为高级持续性威胁报文。
在本发明的一可选实施例中,对任一字段:
其第一特征库通过如下方式获取:获取所述通信报文中该字段,生成特征字符串,对所述特征字符串进行哈希运算得到该字段对应的比特数组;
其第二特征库通过如下方式获取:对该字段的所述特征字符串进行正则运算得到该字段对应的正则表达式库;
所述将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配包括:
将提取的所述字段进行哈希运算,与其对应的比特数组进行匹配,如果匹配成功,将提取的所述字段进行正则处理,与其对应的正则表达式库进行匹配。
在本发明的一可选实施例中,所述方法还包括:
对判断为高级持续性威胁报文的报文,根据其地址和端口信息从存储的历史报文中查找相关的报文并输出。
本发明至少一实施例提供一种高级持续性威胁攻击检测装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,执行以下操作:
获取高级持续性威胁攻击样本中高级持续性威胁病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文中的字段,建立字段的特征库;
获取待检测的报文,从所述报文中提取一个或多个字段;
将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。
在本发明的一可选实施例中,所述字段包括:统一资源定位符字段、主机字段至少之一。
在本发明的一可选实施例中,所述字段的特征库包括该字段的用于模糊匹配的第一特征库和该字段的用于精确匹配的第二特征库;
所述将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文包括:
将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配;
如果至少一个字段与其对应的第一特征库匹配成功且与其对应的第二特征库匹配成功,则所述报文为高级持续性威胁报文。
在本发明的一可选实施例中,所述建立字段的特征库包括:
其第一特征库通过如下方式获取:获取所述通信报文中该字段,生成特征字符串,对所述特征字符串进行哈希运算得到该字段对应的比特数组;
其第二特征库通过如下方式获取:对该字段的所述特征字符串进行正则运算得到该字段对应的正则表达式库;
所述将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配包括:
将提取的所述字段进行哈希运算,与其对应的比特数组进行匹配,如果匹配成功,将提取的所述字段进行正则处理,与其对应的正则表达式库进行匹配。
在本发明的一可选实施例中,所述程序在被所述处理器读取执行时,还执行以下操作:
对判断为高级持续性威胁报文的报文,根据其地址和端口信息从存储的历史报文中查找相关的报文并输出。
与相关技术相比,本发明至少一实施例中,通过分析APT攻击样本的特征,建立特征库,将待检测的报文与该特征库进行匹配,根据匹配结果判断报文是否为APT报文。本申请提供的方案,能及时检测到APT攻击。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例一提供的APT攻击检测方法流程图;
图2为本发明实施例二提供的APT攻击检测方法流程图;
图3为本发明实施例二种第一特征库建立示意图;
图4为本发明实施例二中第二特征库建立示意图;
图5为本发明实施例二中初次特征匹配分析的示意图;
图6为本发明实施例二中二次特征匹配分析的示意图;
图7为本发明实施例三提供的APT攻击检测装置框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
APT攻击通常包括如下四个阶段:
初始感染,比如,攻击者会感染一个组织中用户经常通过域名系统(Domain NameSystem,简称DNS)访问的网站。一旦进入网络,它就能使用对等网络(Peer-to-Peer,简称P2P)通信去控制受感染的设备。
下载真实的APT,恶意软件执行的第一个重要操作就是使用DNS从一个远程服务器上下载真实的APT。在成功实现恶意目标方面,真实的APT比初始感染要强大许多。
传播和连回攻击源:一旦下载和安装之后,APT会禁用运行在已感染计算机上的反病毒软件或类似软件。然后,APT通常会收集一些基础数据,然后使用DNS连接一个命令与控制(Command&Control,简称C&C)服务器,接收下一步的指令。
进行数据盗取。
本申请中,经过分析发现,虽然APT攻击具有多变的攻击手段,但是APT攻击在进入了内网之后,还是会采用一定的手段与外网的C&C服务器进行通信,而且通信连接的建立基本采用超文本传输协议(HyperText Transfer Protocol,简称HTTP)连接的方式。此外,我们通过进一步归纳这些APT活动的共有特征,发现C&C服务器通信采用特定的格式进行编码,通信域名也有特定的范围。因此,通过总结出的通信特征,建立相应的特征库,对报文进行特征匹配分析,是一种检测APT攻击的可行的方法。下面通过具体实施例进一步说明本申请。
实施例一
本实施例提供一种高级持续性威胁攻击检测方法,如图1所示,包括:
步骤101,获取APT攻击样本中APT病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文的字段,建立字段的特征库;
步骤102,获取待检测的报文,从所述报文中提取一个或多个字段;
其中,可以通过在线或离线方式获取待检测的报文。通过在线方式获取待检测的报文时,可以将获取的报文进行存储,供后续离线使用。
步骤103,将提取的所述字段与对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。
其中,步骤101中,高级持续性威胁报文样本可以从以往的APT攻击活动的描述报告中获取,比如各大安全防护公司对主流APT活动的报告。在本发明一可选实施例中,通过阅读和分析发现APT报文样本中,在APT病毒和C&C服务器建立连接阶段的通信报文的某些字段(比如统一资源定位符(Uniform Resource Locator,简称URL)和主机(HOST)字段)满足特定的模式和范围,将这些模式和规律进行总结,得到字段的特征字符串,对特征字符串进行处理即可生成特征库。
在本发明一可选实施例中,所述字段包括:URL字段、HOST字段至少之一。即可以只为URL字段建立特征库,也可以只为HOST字段建立特征库,或者,为URL字段和HOST字段均建立特征库。当然,也可以为其他字段建立特征库。
在本发明的一可选实施例中,所述步骤102中,可以提取一个字段,也可以提取多个字段。比如,只提取URL字段,或者,只提取HOST字段,或者,URL字段和HOST字段都提取。
在本发明的一可选实施例中,步骤101中所述字段的特征库包括该字段的用于模糊匹配的第一特征库和该字段的用于精确匹配的第二特征库;
对需要建立特征库的任一字段:
其第一特征库通过如下方式获取:获取所述通信报文中该字段,生成特征字符串,对所述特征字符串进行哈希运算得到该字段对应的比特数组;
其第二特征库通过如下方式获取:对该字段的所述特征字符串进行正则运算得到该字段对应的正则表达式库。
各字段的第一特征库构成第一特征库集合,各字段的第二特征库构成第二特征库集合。
比如,对URL字段,其第一特征库通过如下方式获取:获取所述高级持续性威胁报文样本中APT病毒与C&C服务器建立连接阶段的通信报文的URL字段,生成URL字段的特征字符串,对URL字段的特征字符串进行哈希运算得到该URL字段对应的比特数组;URL字段的第二特征库通过如下方式获取:对URL字段的特征字符串进行正则运算得到对应的正则表达式库。
在本发明的一可选实施例中,步骤103中的匹配可以分为两步,模糊匹配(初次特征匹配)和精确匹配(二次特征匹配)。其中,初次特征匹配利用布隆过滤器(Bloom Filter)快速筛选掉部分报文,而对于初次特征匹配成功的报文再利用精确匹配(二次特征匹配)最终确定其是否为APT报文。最后把二次特征匹配成功的报文信息写入数据库。其中,模糊匹配和精确匹配可使用多种匹配方法,以下实施例中分别通过哈希映射和正则处理来进行匹配,但本申请不限于此。
具体的,所述将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文包括:
将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配;
如果至少一个字段与其对应的第一特征库匹配成功且与其对应的第二特征库匹配成功,则所述报文为高级持续性威胁报文。
在本发明的一可选实施例中,所述将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配包括:
将提取的所述字段进行哈希运算,与其对应的比特数组进行匹配,如果匹配成功,将提取的所述字段进行正则处理,与其对应的正则表达式库进行匹配。
在本发明的一可选实施例中,所述方法还包括:
对判断为高级持续性威胁报文的报文,根据其地址和端口信息从存储的历史报文中查找相关的报文并输出。其中,判断为高级持续性威胁报文的报文可写入数据库中。可选的,所述地址为IP(Internet Protocol,互联网协议)地址。输出的相关报文可供人工分析,以得到APT活动泄露的文件信息以及APT病毒与C&C服务器的通信控制信息,供后续简称APT攻击使用。
实施例二
图2为本发明实施例二提供的高级持续性威胁检测方法流程图。如图2所示,本实施例提供的高级持续性威胁检测方法包括:
步骤201,建立特征库;
本实施例中,对一个字段建立两个特征库,第一特征库和第二特征库。具体建立方法见后续描述。
步骤202,采集报文数据。
其中,如果检测采用的是在线模式,则可以对所监控的目标IP使用libpcap进行网络数据包的采集。如果检测采用的是离线模式,则对离线数据进行读取。其中,libpcap是unix/linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。当然,也可以采用其他方式获取网络数据包。
步骤203,对采集到的报文数据进行解析,获取摘要信息。
其中,根据网络数据包的组织格式,按照文件头->报头->以太网帧头->IP头->TCP(Transmission Control Protocol,传输控制协议)头->TCP数据段的流程对报文进行层层解析。对解析完的报文数据进行摘要信息的提取。主要提取的摘要信息包括:源IP、目的IP、源端口、目的端口、http方法类型、HOST字段、URL字段、User-Agent(用户代理)字段、http-connection(http连接)字段、载荷大小、时间戳。
步骤204,进行初次特征匹配。
将从摘要信息中提取的URL和HOST两个字段分别与其对应的第一特征库进行匹配,利用Bloom Filter快速筛选掉部分报文。
步骤205,进行二次特征匹配。
由于Bloom Filter有一定的错误率,所以对于初次特征匹配成功的报文需要再与第二特征库进行精确匹配,最终确定该报文是否为APT报文。
步骤206,将二次特征匹配成功的报文(即被判定为APT报文的报文)写入数据库进行存储。
步骤207,根据数据库保存的报文(即判定为APT报文的报文)的源IP和目的IP对存储在本地的报文进行筛选,获得相关报文并输出,供后续人工分析。具体筛选方法可以是,筛选出源IP和目的IP与判断为APT报文的报文相同的报文。
下面分别说明步骤201中特征库的具体建立过程。
如图3所示,为字段的第一特征库的建立过程,以URL字段对应的第一URL特征库的建立为例进行说明,包括:
步骤301,生成URL字段的原始URL特征串。
可以通过阅读安全防护公司对APT攻击活动的描述报告,总结归纳出APT病毒与C&C建立连接阶段URL字段的特征,形成原始URL特征串。
步骤302,将原始URL特征串进行哈希映射处理。
具体操作如下:首先创建一个长度为N的比特数组A,并将数组里所有元素都初始化为0,然后通过k1个相互独立的哈希函数f,分别将特征串的每个字符依次映射到比特数组的一个位置。对任意一个字符x,第i个哈希函数映射的位置hi(x)将会被置为1(1<=i<=k1)。
步骤303,进行冲突检查,由于哈希映射的过程中会产生两个哈希函数选中同一位置的情况,那么一个位置将多次被置为1,而规定一个位置只有第一次选中能起作用。因此对于任意字符x,查看第i个哈希函数fi映射的位置hi(x)的比特数组是否已经为1,如果已经是1,那么就发生冲突,否则不冲突。
步骤304,进行比特数组的赋值,根据步骤303的检查结果,对于任意字符x,第i个哈希函数映射的位置hi(x)如果没有发生冲突,则将比特数组的该位置赋值为1,如果冲突,则不进行该位置的赋值操作。
所有原始URL特征串都经过上述操作后,所形成的比特数组就是第一URL特征库。
上述操作是对URL特征串的处理,,HOST字段对应的第一HOST特征库的建立类似,不再详述,类似的,对原始HOST特征串进行处理获得第一HOST特征库。此时,利用k2个哈希函数g对比特数组B进行赋值,当所有原始HOST特征串都经过上述操作后,所形成的比特数组就是第一HOST特征库。
上述第一URL特征库和第一HOST特征库共同形成第一特征库集合。
需要说明的是,第一特征库集合中也可以只包括第一URL特征库,或者只包括第一HOST特征库。
如图4所示,为字段的第二特征库的建立过程。
步骤401,建立URL字段的原始URL特征串。
可以通过阅读安全防护公司(如卡巴斯基、趋势科技等)对APT攻击活动的描述报告,总结归纳出APT病毒与C&C建立连接阶段URL的特征,形成原始URL特征串。当然,也可以直接使用步骤301中生成的原始URL特征串。
步骤402,原始的URL特征串进行正则处理。将若干个具有相同结构的特征字符串合并,写成正则表达式的形式。经过正则化处理后的所有URL特征串构成第二URL特征库。
采用类似步骤,建立第二HOST特征库。第二URL特征库和第二HOST特征库共同构成第二特征库集合。
需要说明的是,第二特征库集合中也可以只包括第二URL特征库,或者只包括第二HOST特征库。
图5是步骤204中初次特征匹配分析处理的流程图,如图5所示,包括如下步骤:
步骤501,对摘要信息进行筛选。对于每条报文,从解析出来的摘要信息中筛选出URL字段和HOST字段;
步骤502,对报文的URL字段进行哈希运算。
对于每条报文的URL字段,存储为一个字符串,然后将该字符串从头开始的每个字符依次使用k1个哈希函数f进行哈希映射操作,对于任意一个字符y,第i个哈希函数fi映射的位置为hi(y)。
步骤503,使用第一URL特征库对报文的URL字段进行匹配。
对于URL串的任意一个字符y,检查比特数组A(第一URL特征库)的位置hi(y)的值是否为1,如果为1,就继续检查位置hi+1(y),否则结束检查,并标记为串匹配失败。对于任意一个字符y,如果k1个位置{h1(y),h2(y),…,hk1(y)}的比特数组值都为1,就表示字符y匹配成功,那么就继续检查y的下一个字符,否则结束检查,并标记为串匹配失败。如果对于一个URL串从头开始的所有字符都匹配成功,那么就表示该URL串匹配成功,标记为串匹配成功,否则标记为串匹配失败。
步骤504,对报文的HOST字段进行哈希运算。
对于每条报文的HOST字段,存储为一个字符串,然后将该字符串的每个字符依次使用k2个哈希函数g进行哈希映射操作,对于任意一个字符z,第i个哈希函数gi映射的位置为gi(z)。
步骤505,使用第一HOST特征库对报文HOST字段进行匹配。
类似于步骤503的方法,对于一个HOST字段的字符串,利用哈希函数g和比特数组B(第一HOST特征库)计算得出匹配结果。
步骤506,根据匹配结果进行后续处理。
对于每条待检测报文的URL和HOST字段,经由步骤501~505分别得到URL和HOST的串匹配结果。那么会产生以下四种情况:
1、URL和HOST都串匹配失败;
2、URL和HOST都串匹配成功;
3、URL串匹配成功,HOST串匹配失败;
4、HOST串匹配成功,URL串匹配失败。
对于情况1,该报文初次特征匹配失败,丢弃该报文;对于情况2,该报文初次特征匹配成功,对URL字段和HOST字段进行二次特征匹配;对于情况3,该报文初次特征匹配成功,对URL字段进行二次特征匹配;对于情况4,该报文初次特征匹配成功,对HOST字段进行二次特征匹配。
以上就是初次特征匹配分析处理的流程,利用了Bloom Filter的思想,对URL和HOST特征进行快速筛选,丢弃部分匹配失败的报文。该方法具有良好的时间和空间效率,但是有少量的错误率,即匹配成功的串不一定满足要求,因此针对初次匹配成功的串还需要进一步的精确匹配分析。
需要说明的是,步骤502~503,504~505之间无顺序关系,可以并行执行,也可以先执行步骤504~505,再执行步骤502~503。
另外,在本发明其他实施例中,可以只执行步骤502~503,不执行步骤504~505,或者,只执行步骤504~505,不执行步骤502~503。
图6是二次特征匹配分析处理的流程图,如图6所示,包括以下步骤:
步骤601,读取初次特征匹配的结果。针对每个待检测报文,初次特征匹配传递过来的信息字段主要有三种结果:URL和HOST、仅有URL、仅有HOST。
然后为初次特征匹配传递来的URL字段和HOST字段分别选择相应的特征库进行匹配。
步骤602,对URL字段进行二次特征匹配。
使用第二URL特征库对每一个URL串进行正则匹配。其中,可以利用regex类库执行匹配操作。
步骤603,对HOST字段进行二次特征匹配。
使用第二HOST特征库对每一个HOST串进行正则匹配。其中,可以利用regex类库执行匹配操作。
步骤604,根据二次特征匹配结果,判断待检测的报文是否为APT报文。
对于每一条待检测的报文,如果URL字段的二次特征匹配或者HOST字段的二次特征匹配两者至少有一个是匹配成功的,那么就标记该报文二次特征匹配成功,该报文为APT报文,否则标记该报文二次特征匹配失败,该报文为APT报文。
需要说明的是,根据初次特征匹配的结果,可能只执行步骤602和步骤603中其中一个步骤。比如,初次特征匹配只有URL字段通过初次匹配,则只执行步骤602,不执行步骤603,如果初次特征匹配只有HOST字段通过初次匹配,则只执行步骤603,不执行步骤602。
在本发明的其他实施例中,每个字段的匹配可以独立进行,即URL字段独立进行初次特征匹配和二次特征匹配,HOST字段独立进行初次特征匹配和二次特征匹配,而不像前述实施例中,在URL字段和HOST字段的初次特征匹配都执行完成后,才执行二次特征匹配。此时,根据URL字段和HOST字段的二次特征匹配结果最终进行是否APT报文的判定。比如,URL字段初次特征匹配成功,二次特征匹配成功,则可以判定报文为APT报文,这种情况下可以不进行HOST字段的匹配。如果URL字段二次特征匹配失败,则进行HOST字段的特征匹配过程。当然,也可以URL字段和HOST字段的特征匹配并行进行。
另外,在本发明其他实施例中,也可以只使用URL字段或者HOST字段其中之一进行匹配,比如,只使用URL字段进行匹配,则,初次特征匹配只对URL字段进行匹配,如果匹配成功,则对URL字段进行二次特征匹配,如果二次特征匹配成功,则该报文为APT报文;如果初次特征匹配失败,则丢弃报文。
在本发明其他实施例中,也可以只进行一次匹配。比如,只进行初次特征匹配或者只进行二次特征匹配。
在本发明其他实施例中,初次特征匹配可以使用其他模糊匹配的算法。二次特征匹配可以使用其他精确匹配算法。本实施例中的哈希映射和正则处理仅为示例。
本实施例提供的APT攻击检测方法,其中初次特征匹配采用Bloom Filter的思想,快速筛选掉不符合要求的报文,大大提高了检测效率。而二次特征匹配对初次匹配成功后的报文再进行精确匹配,弥补了初次匹配存在的错误率问题。初次特征匹配和二次特征匹配中都把URL和HOST匹配分开,让匹配算法的针对性提高,避免了大量的无效匹配。
实施例三
本实施例提供一种高级持续性威胁攻击检测装置,如图7所示,包括:
特征库建立模块701,设置为,获取高级持续性威胁攻击样本中高级持续性威胁病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文中的字段,建立字段的特征库;
字段提取模块702,设置为,获取待检测的报文,从所述报文中提取一个或多个字段;
匹配模块703,设置为,将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。
在本发明的一可选实施例中,还可包括,分析模块704,设置为,对判断为高级持续性威胁报文的报文,根据其地址和端口信息从存储的历史报文中查找相关的报文并输出。
在本发明的一可选实施例中,所述特征库建立模块建立的所述字段的特征库包括该字段的用于模糊匹配的第一特征库和该字段的用于精确匹配的第二特征库。
在本发明的一可选实施例中,所述匹配模块703包括初次匹配模块7031和二次匹配模块7032,其中:
所述初次匹配模块7031设置为:将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,如果匹配成功,将所述字段输入到所述二次匹配模块7032;
所述二次匹配模块7032设置为,将所述初次匹配模块7031输入的所述字段与其对应的第二特征库进行匹配,如果至少一个字段与其第二特征库匹配成功,则所述报文为高级持续性威胁报文。
在本发明的一可选实施例中,所述特征库建立模块701通过如下方式获取所述第一特征库和所述第二特征库:
字段的第一特征库通过如下方式获取:获取所述通信报文中的字段,生成特征字符串,对所述特征字符串进行哈希运算得到该字段对应的比特数组;
字段的第二特征库通过如下方式获取:对该字段的所述特征字符串进行正则运算得到该字段对应的正则表达式库;
所述初次匹配模块7031将提取的所述字段与其对应的第一特征库进行匹配包括:
将提取的所述字段进行哈希运算,与该字段对应的比特数组进行匹配;
所述二次匹配模块7032将所述初次匹配模块输入的所述字段与其对应的第二特征库进行匹配包括:
将输入的所述字段进行正则处理,与该字段对应的正则表达式库进行匹配。
需要说明的是,方法实施例中的实现细节可应用在该实施例中,此处不再赘述。
实施例四
本实施例提供一种高级持续性威胁攻击检测装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,执行以下操作:
获取高级持续性威胁攻击样本中高级持续性威胁病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文中的字段,建立字段的特征库;
获取待检测的报文,从所述报文中提取一个或多个字段;
将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。
实施例五
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
获取高级持续性威胁攻击样本中高级持续性威胁病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文中的字段,建立字段的特征库;
获取待检测的报文,从所述报文中提取一个或多个字段;
将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。
所述计算机可读存储介质包括但不限于:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
上述模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种高级持续性威胁攻击检测方法,其特征在于,包括:
获取高级持续性威胁攻击样本中高级持续性威胁病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文中的字段,建立字段的特征库;
获取待检测的报文,从所述报文中提取一个或多个字段;
将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。
2.如权利要求1所述的高级持续性威胁攻击检测方法,其特征在于,所述字段包括:统一资源定位符字段、主机字段至少之一。
3.如权利要求1或2所述的高级持续性威胁攻击检测方法,其特征在于,
所述字段的特征库包括该字段的用于模糊匹配的第一特征库和该字段的用于精确匹配的第二特征库;
所述将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文包括:
将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配;
如果至少一个字段与其对应的第一特征库匹配成功且与其对应的第二特征库匹配成功,则所述报文为高级持续性威胁报文。
4.如权利要求3所述的高级持续性威胁攻击检测方法,其特征在于,对任一字段:
其第一特征库通过如下方式获取:获取所述通信报文中该字段,生成特征字符串,对所述特征字符串进行哈希运算得到该字段对应的比特数组;
其第二特征库通过如下方式获取:对该字段的所述特征字符串进行正则运算得到该字段对应的正则表达式库;
所述将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配包括:
将提取的所述字段进行哈希运算,与其对应的比特数组进行匹配,如果匹配成功,将提取的所述字段进行正则处理,与其对应的正则表达式库进行匹配。
5.如权利要求1或2所述的高级持续性威胁攻击检测方法,其特征在于,所述方法还包括:
对判断为高级持续性威胁报文的报文,根据其地址和端口信息从存储的历史报文中查找相关的报文并输出。
6.一种高级持续性威胁攻击检测装置,其特征在于,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,执行以下操作:
获取高级持续性威胁攻击样本中高级持续性威胁病毒与命令与控制服务器建立连接阶段的通信报文,根据所述通信报文中的字段,建立字段的特征库;
获取待检测的报文,从所述报文中提取一个或多个字段;
将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文。
7.如权利要求6所述的高级持续性威胁攻击检测装置,其特征在于,
所述字段包括:统一资源定位符字段、主机字段至少之一。
8.如权利要求6或7所述的高级持续性威胁攻击检测装置,其特征在于,
所述字段的特征库包括该字段的用于模糊匹配的第一特征库和该字段的用于精确匹配的第二特征库;
所述将提取的所述字段与其对应的特征库进行匹配,根据匹配结果判断所述报文是否为高级持续性威胁报文包括:
将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配;
如果至少一个字段与其对应的第一特征库匹配成功且与其对应的第二特征库匹配成功,则所述报文为高级持续性威胁报文。
9.如权利要求8所述的高级持续性威胁攻击检测装置,其特征在于,
所述建立字段的特征库包括:
其第一特征库通过如下方式获取:获取所述通信报文中该字段,生成特征字符串,对所述特征字符串进行哈希运算得到该字段对应的比特数组;
其第二特征库通过如下方式获取:对该字段的所述特征字符串进行正则运算得到该字段对应的正则表达式库;
所述将提取的所述字段与其对应的第一特征库进行匹配,如果匹配成功,将提取的所述字段与其对应的第二特征库进行匹配包括:
将提取的所述字段进行哈希运算,与其对应的比特数组进行匹配,如果匹配成功,将提取的所述字段进行正则处理,与其对应的正则表达式库进行匹配。
10.如权利要求6或7所述的高级持续性威胁攻击检测装置,其特征在于,所述程序在被所述处理器读取执行时,还执行以下操作:
对判断为高级持续性威胁报文的报文,根据其地址和端口信息从存储的历史报文中查找相关的报文并输出。
CN201710344502.XA 2017-05-16 2017-05-16 一种高级持续性威胁攻击检测方法及装置 Withdrawn CN108881129A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710344502.XA CN108881129A (zh) 2017-05-16 2017-05-16 一种高级持续性威胁攻击检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710344502.XA CN108881129A (zh) 2017-05-16 2017-05-16 一种高级持续性威胁攻击检测方法及装置

Publications (1)

Publication Number Publication Date
CN108881129A true CN108881129A (zh) 2018-11-23

Family

ID=64320943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710344502.XA Withdrawn CN108881129A (zh) 2017-05-16 2017-05-16 一种高级持续性威胁攻击检测方法及装置

Country Status (1)

Country Link
CN (1) CN108881129A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535973A (zh) * 2019-09-18 2019-12-03 北京明朝万达科技股份有限公司 一种sql注入威胁的检测方法及装置
CN110598735A (zh) * 2019-08-05 2019-12-20 深圳市大拿科技有限公司 一种访客信息提醒方法及装置
CN110855676A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN111800412A (zh) * 2020-07-01 2020-10-20 中国移动通信集团有限公司 高级可持续威胁溯源方法、系统、计算机设备及存储介质
CN111813827A (zh) * 2020-06-22 2020-10-23 中国工商银行股份有限公司 黑名单筛查方法和装置、电子设备以及存储介质
CN112910841A (zh) * 2021-01-14 2021-06-04 国网上海市电力公司 一种基于模糊匹配的工控网络入侵智能感知方法
CN113194058A (zh) * 2020-01-14 2021-07-30 深信服科技股份有限公司 Web攻击检测方法、设备、网站应用层防火墙及介质
CN113242258A (zh) * 2021-05-27 2021-08-10 安天科技集团股份有限公司 一种主机集群的威胁检测方法和装置
CN113377819A (zh) * 2021-07-07 2021-09-10 山东方寸微电子科技有限公司 一种哈希表滚动查找方法、系统及芯片
CN113660260A (zh) * 2021-08-13 2021-11-16 杭州安恒信息技术股份有限公司 一种报文检测方法、系统、计算机设备及可读存储介质
CN113726775A (zh) * 2021-08-30 2021-11-30 深信服科技股份有限公司 一种攻击检测方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620988B1 (en) * 2003-07-25 2009-11-17 Symantec Corporation Protocol identification by heuristic content analysis
CN102769607A (zh) * 2011-12-30 2012-11-07 北京安天电子设备有限公司 一种基于网络数据包检测恶意代码的方法和系统
CN103401863A (zh) * 2013-07-30 2013-11-20 北京奇虎科技有限公司 一种基于云安全的网络数据流分析方法和装置
CN103634306A (zh) * 2013-11-18 2014-03-12 北京奇虎科技有限公司 网络数据的安全检测方法和安全检测服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620988B1 (en) * 2003-07-25 2009-11-17 Symantec Corporation Protocol identification by heuristic content analysis
CN102769607A (zh) * 2011-12-30 2012-11-07 北京安天电子设备有限公司 一种基于网络数据包检测恶意代码的方法和系统
CN103401863A (zh) * 2013-07-30 2013-11-20 北京奇虎科技有限公司 一种基于云安全的网络数据流分析方法和装置
CN103634306A (zh) * 2013-11-18 2014-03-12 北京奇虎科技有限公司 网络数据的安全检测方法和安全检测服务器

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598735A (zh) * 2019-08-05 2019-12-20 深圳市大拿科技有限公司 一种访客信息提醒方法及装置
CN110598735B (zh) * 2019-08-05 2022-07-08 深圳市海雀科技有限公司 一种访客信息提醒方法及装置
CN110535973A (zh) * 2019-09-18 2019-12-03 北京明朝万达科技股份有限公司 一种sql注入威胁的检测方法及装置
CN110855676B (zh) * 2019-11-15 2021-08-31 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN110855676A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN113194058A (zh) * 2020-01-14 2021-07-30 深信服科技股份有限公司 Web攻击检测方法、设备、网站应用层防火墙及介质
CN113194058B (zh) * 2020-01-14 2023-03-21 深信服科技股份有限公司 Web攻击检测方法、设备、网站应用层防火墙及介质
CN111813827A (zh) * 2020-06-22 2020-10-23 中国工商银行股份有限公司 黑名单筛查方法和装置、电子设备以及存储介质
CN111800412B (zh) * 2020-07-01 2023-02-21 中国移动通信集团有限公司 高级可持续威胁溯源方法、系统、计算机设备及存储介质
CN111800412A (zh) * 2020-07-01 2020-10-20 中国移动通信集团有限公司 高级可持续威胁溯源方法、系统、计算机设备及存储介质
CN112910841A (zh) * 2021-01-14 2021-06-04 国网上海市电力公司 一种基于模糊匹配的工控网络入侵智能感知方法
CN113242258A (zh) * 2021-05-27 2021-08-10 安天科技集团股份有限公司 一种主机集群的威胁检测方法和装置
CN113242258B (zh) * 2021-05-27 2023-11-14 安天科技集团股份有限公司 一种主机集群的威胁检测方法和装置
CN113377819A (zh) * 2021-07-07 2021-09-10 山东方寸微电子科技有限公司 一种哈希表滚动查找方法、系统及芯片
CN113377819B (zh) * 2021-07-07 2023-02-03 山东方寸微电子科技有限公司 一种哈希表滚动查找方法、系统及芯片
CN113660260A (zh) * 2021-08-13 2021-11-16 杭州安恒信息技术股份有限公司 一种报文检测方法、系统、计算机设备及可读存储介质
CN113726775B (zh) * 2021-08-30 2022-09-30 深信服科技股份有限公司 一种攻击检测方法、装置、设备及存储介质
CN113726775A (zh) * 2021-08-30 2021-11-30 深信服科技股份有限公司 一种攻击检测方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108881129A (zh) 一种高级持续性威胁攻击检测方法及装置
CN105027510B (zh) 网络监视装置和网络监视方法
CN105681250B (zh) 一种僵尸网络分布式实时检测方法和系统
CN107454109A (zh) 一种基于http流量分析的网络窃密行为检测方法
Niu et al. Identifying APT malware domain based on mobile DNS logging
CN105933268A (zh) 一种基于全量访问日志分析的网站后门检测方法及装置
CN103023906B (zh) 针对远程过程调用协议进行状态跟踪的方法及系统
Singh et al. Detecting bot-infected machines using DNS fingerprinting
CN108111466A (zh) 一种攻击检测方法及装置
CN106470188B (zh) 安全威胁的检测方法、装置以及安全网关
CN113496033B (zh) 访问行为识别方法和装置及存储介质
CN109074454A (zh) 基于赝象对恶意软件自动分组
CN104954345B (zh) 基于对象分析的攻击识别方法及装置
CN109474568A (zh) 针对利用域前置技术实现恶意攻击的检测方法及系统
CN105262730B (zh) 基于企业域名安全的监控方法及装置
GhasemiGol et al. E‐correlator: an entropy‐based alert correlation system
WO2019193958A1 (ja) 情報処理装置及び情報処理方法
CN110135162A (zh) Webshell后门识别方法、装置、设备及存储介质
CN113849820A (zh) 一种漏洞检测方法及装置
JP5656266B2 (ja) ブラックリスト抽出装置、抽出方法および抽出プログラム
KR101072981B1 (ko) 분산 서비스 거부 공격의 방어 시스템
JP6538618B2 (ja) 管理装置及び管理方法
Zammit A machine learning based approach for intrusion prevention using honeypot interaction patterns as training data
Song et al. A comprehensive approach to detect unknown attacks via intrusion detection alerts
Saied et al. A comparative study of using boosting-based machine learning algorithms for IoT network intrusion detection

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20181123