CN107145779A - 一种离线恶意软件日志的识别方法和装置 - Google Patents
一种离线恶意软件日志的识别方法和装置 Download PDFInfo
- Publication number
- CN107145779A CN107145779A CN201710157898.7A CN201710157898A CN107145779A CN 107145779 A CN107145779 A CN 107145779A CN 201710157898 A CN201710157898 A CN 201710157898A CN 107145779 A CN107145779 A CN 107145779A
- Authority
- CN
- China
- Prior art keywords
- rule
- malware
- network
- network log
- collection
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种离线恶意软件日志的识别方法,基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合;按相同源IP对备选网络日志集合中的网络日志进行分组,得到网络日志分组集合;根据恶意软件识别规则集合和可疑恶意软件哈希值集合对网络日志分组进行过滤,得到满足第一预设条件的网络日志子分组;确定网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且为与所述两条网络日志相对应的哈希值所对应的恶意软件。本发明还同时公开了一种离线恶意软件日志的识别装置。
Description
技术领域
本发明涉及网络安全技术,尤其涉及一种离线恶意软件日志的识别方法和装置。
背景技术
随着互联网的快速发展,网络安全问题逐步凸显,其中以木马、病毒、后门程序、广告软件等为代表的恶意软件在数量、更新速度、使用技术等方面较之前都有了突飞猛进的发展,并且给互联网用户造成的影响和损失也在逐年增加。上述情况使得传统的以文件哈希等静态分析方法为代表的恶意软件检测方法越来越难以满足要求,建立可以有效地对新型恶意软件进行识别和控制的体系成为当前网络安全最迫切的工作之一。
威胁情报是面向新的威胁形式,防御思路从过去的基于漏洞为中心的方法,进化成基于威胁为中心的方法的必然结果。威胁情报和大数据安全分析、基于攻击链的纵深防御等思想一起正在形成新一代防御体系的基石。目前,基本威胁情报主要是针对互联网协议(IP,Internet Protocol)地址、域名、统一资源定位符(URL,Uniform ResourceLocator)及软件哈希等安全观察对象的情报信息,比如软件的静态分析信息和运行信息等。此外,与恶意软件关联的IP地址、域名、URL等观察对象也包含特有的威胁情报。例如,IP的威胁情报中包含有以下信息:1)IP地址的地理信息和自治系统(AS,Autonomous System)信息;2)IP地址关联过的域名历史;3)与IP地址通信过的恶意软件及正常软件的文件哈希列表;4)IP地址关联的恶意网页地址。而域名的威胁情报中包含有以下信息:1)域名的whois信息;2)域名的工信部备案信息;3)域名的关联IP信息等。
针对恶意软件网络流量的识别,传统的恶意软件网络流量的识别特征方法主要有以下两种:
一是针对恶意软件文件的静态及沙盒分析识别方法,即通过反向工程分析恶意软件的软件运行逻辑,并通过沙盒运行获取实际的恶意软件网络行为和可用的签名特征;
二是采用传统的IP、端口及深度包检测(DPI,Deep Packet Inspection)技术的识别方法,即通过对恶意软件网络流量的抓包样本进行分析,以提取签名特征。
然而,以上两种传统的恶意软件网络流量识别方法存在以下共同的问题:
1)需要能够获取到恶意软件样本进行分析,然而恶意软件样本及变种数量庞大,更新迅速;
2)需要投入大量的人力进行样本分析,对资源需求量大,且效率较低;
3)当恶意软件绑定在正常软件上时,流量样本中包含大量正常流量,造成区分困难;
4)恶意软件变种较多且更新较快,以上方案不能满足及时性需求。
现有技术中,基于威胁情报的恶意软件识别方法主要是针对收集到的IP、域名等观察对象进行统计、过滤,形成IP和/或域名的黑名单,并根据黑名单进行实时或离线的威胁检测。这种方法通过对僵尸网络及恶意软件基础设施的识别,发挥了威胁情报的高效性及时效性的优势,但是同时存在以下问题:一方面,同一IP上可能同时关联有多个网站及服务,此IP的部分流量为恶意流量,而另一部分流量则为正常流量,需要区分识别,单以一个IP或域名作为识别标准容易产生误识别及假阳性(False Positive)的问题;另一方面,目前的僵尸网络及恶意软件网络设施变化很快,单一IP及域名的情报可能失效,从而易产生误识别及假阳性的问题。
发明内容
有鉴于此,本发明实施例提供了一种离线恶意软件日志的识别方法和装置,能够对离线恶意软件日志进行准确、快速的识别。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种离线恶意软件日志的识别方法,所述方法包括:
基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合;
按相同源IP对所述备选网络日志集合中的网络日志进行分组,得到网络日志分组集合;
根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组;
确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件。
上述方案中,所述基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合,包括:
基于每条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找;
当所述网络日志包含的第一目的IP及目的端口与所述IP及端口反向匹配规则集合中的IP及端口反向匹配规则匹配时,将所述网络日志加入备选网络日志集合,并将所述IP及端口反向匹配规则包含的恶意软件哈希值加入可疑恶意软件哈希值集合。
上述方案中,所述根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组,包括:
对于所述可疑恶意软件哈希值集合中的每个哈希值,获取所述哈希值在恶意软件识别规则集合中对应的第二目的IP及目的端口集合;
确定所述第二目的IP及目的端口集合中的所有第二目的IP及目的端口均包含在同一个网络日志分组中时,提取所述同一个网络日志分组中具有最短时间间隔的两个网络日志组成网络日志子分组。
上述方案中,所述基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中对所述获取的多条网络日志进行匹配查找之前,所述方法还包括:
获取至少一个恶意软件的威胁情报;
针对每个恶意软件的威胁情报,获取所述每个恶意软件的威胁情报对应的第一规则以及所有恶意软件的威胁情报对应的第一规则集;
根据第二预设条件对所述第一规则集进行挖掘,得到第二规则集;所述第二规则集包含每个恶意软件的威胁情报对应的第二规则;
根据预设域名白名单和第三预设条件对所述第二规则集进行过滤,得到第三规则集;
根据第四预设条件对所述第三规则集进行更新,得到由至少一个恶意软件识别规则组成的恶意软件识别规则集合;
基于所述恶意软件识别规则集合,获取由至少一个IP及端口反向匹配规则组成的IP及端口反向匹配规则集合。
上述方案中,
所述第二规则至少包含恶意软件所属家族信息和访问域名集合;
所述根据第二预设条件对所述第一规则集进行挖掘,得到第二规则集,包括:
根据第一规则包含的杀毒软件查杀结果,获取恶意软件所属家族信息;
根据第一规则包含的HTTP访问集合,获取访问域名集合。
上述方案中,所述根据预设域名白名单和第三预设条件对所述第二规则集进行过滤,得到第三规则集,包括:
确定第二规则包含的第二目的IP及目的端口集合中的所有第二目的IP均关联过预设域名白名单中的域名时,删除所述第二规则;或,
确定第二规则包含的访问域名集合中的所有域名都包含在预设域名白名单中时,删除所述第二规则。
本发明实施例提供了一种离线恶意软件日志的识别装置,所述装置包括:第一识别单元、第二识别单元、第三识别单元、第四识别单元;其中,
所述第一识别单元,用于基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合;
所述第二识别单元,用于按相同源IP对所述备选网络日志集合中的网络日志进行分组,得到网络日志分组集合;
所述第三识别单元,用于根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组;
所述第四识别单元,用于确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件。
上述方案中,所述第一识别单元,具体用于:
基于每条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找;
当所述网络日志包含的第一目的IP及目的端口与所述IP及端口反向匹配规则集合中的IP及端口反向匹配规则匹配时,将所述网络日志加入备选网络日志集合,并将所述IP及端口反向匹配规则包含的恶意软件哈希值加入可疑恶意软件哈希值集合。
上述方案中,所述第三识别单元,具体用于:
对于所述可疑恶意软件哈希值集合中的每个哈希值,获取所述哈希值在恶意软件识别规则集合中对应的第二目的IP及目的端口集合;
确定所述第二目的IP及目的端口集合中的所有第二目的IP及目的端口均包含在同一个网络日志分组中时,提取所述同一个网络日志分组中具有最短时间间隔的两个网络日志组成网络日志子分组。
上述方案中,所述装置还包括:威胁情报收集单元、第一规则生成单元、第二规则生成单元、第三规则生成单元、第四规则生成单元、第五规则生成单元;其中,
所述威胁情报收集单元,用于获取至少一个恶意软件的威胁情报;
所述第一规则生成单元,用于针对每个恶意软件的威胁情报,获取所述每个恶意软件的威胁情报对应的第一规则以及所有恶意软件的威胁情报对应的第一规则集;
所述第二规则生成单元,用于根据第二预设条件对所述第一规则集进行挖掘,得到第二规则集;所述第二规则集包含每个恶意软件的威胁情报对应的第二规则;
所述第三规则生成单元,用于根据预设域名白名单和第三预设条件对所述第二规则集进行过滤,得到第三规则集;
所述第四规则生成单元,用于根据第四预设条件对所述第三规则集进行更新,得到由至少一个恶意软件识别规则组成的恶意软件识别规则集合;
所述第五规则生成单元,用于基于所述恶意软件识别规则集合,获取由至少一个IP及端口反向匹配规则组成的IP及端口反向匹配规则集合。
上述方案中,
所述第二规则至少包含恶意软件所属家族信息和访问域名集合;
所述第二规则生成单元,具体用于:
根据第一规则包含的杀毒软件查杀结果,获取恶意软件所属家族信息;
根据第一规则包含的HTTP访问集合,获取访问域名集合。
上述方案中,所述第三规则生成单元,具体用于:
确定第二规则包含的第二目的IP及目的端口集合中的所有第二目的IP均关联过预设域名白名单中的域名时,删除所述第二规则;或,
确定第二规则包含的访问域名集合中的所有域名都包含在预设域名白名单中时,删除所述第二规则。
本发明实施例提供的离线恶意软件日志的识别方法和装置,基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合;按相同源IP对所述备选网络日志集合中的网络日志进行分组,得到网络日志分组集合;根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组;确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件。可见,本发明实施例通过基于成组形式的、且包含上下文感知信息的恶意软件识别规则对离线恶意软件日志进行识别,能够对离线恶意软件日志进行准确、快速的识别,解决了目前基于单一IP或域名的威胁情报检测恶意软件的误识别和准确性差的问题。
此外,通过对网络威胁情报的收集、加工及挖掘,将网络数据中的IP、协议、端口、域名、URL及DNS访问域名等安全元素与恶意软件进行关联,并提取包含上下文感知信息的恶意软件识别规则,进一步提高了识别的准确性和效率。
附图说明
图1为本发明实施例一离线恶意软件日志的识别方法的实现流程示意图;
图2为本发明实施例一离线恶意软件日志的识别装置的组成结构示意图;
图3为本发明实施例二中基于威胁情报上下文信息的恶意软件匹配规则生成方法的实现流程示意图;
图4为本发明实施例二中基于上下文感知的离线恶意软件流量日志匹配方法的实现流程示意图;
图5为本发明实施例二离线恶意软件网络流量的识别装置的组成结构示意图。
具体实施方式
实施例一
图1为本发明实施例一离线恶意软件日志的识别方法的实现流程示意图,该方法包括:
步骤101:基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合;
具体地,对于获取的多条网络日志中的每条网络日志进行如下处理,即:基于每条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中对所述网络日志进行匹配查找;当所述网络日志包含的第一目的IP及目的端口与所述IP及端口反向匹配规则集合中的IP及端口反向匹配规则匹配时,将所述网络日志加入备选网络日志集合,并将所述IP及端口反向匹配规则包含的恶意软件哈希值加入可疑恶意软件哈希值集合。
这里,所述多条网络日志为两条以上的网络日志,可以是从网络设备所记录的网络日志集合中获取的,且每一条网络日志包含网络行为的源IP、第一目的IP及目的端口;所述IP及端口反向匹配规则集合中包含多条IP及端口反向匹配规则,并且每条IP及端口反向匹配规则包含一个第三目的IP及目的端口、以及该第三目的IP及目的端口对应的恶意软件哈希值集合;在每条IP及端口反向匹配规则中,一个第三目的IP及目的端口对应的恶意软件哈希值可能有一个或多个,即每条IP及端口反向匹配规则中可能包含一个或一个以上恶意软件哈希值。
这里,所述多条IP及端口反向匹配规则为两条以上的IP及端口反向匹配规则;所述网络日志包含的第一目的IP及目的端口与所述IP及端口反向匹配规则集合中的IP及端口反向匹配规则匹配,为:在IP及端口反向匹配规则集合中存在一条IP及端口反向匹配规则、且该条IP及端口反向匹配规则中包含的第三目的IP及目的端口与所述网络日志包含的第一目的IP及目的端口相同。
在实际应用中,所述获取的网络日志的数量最好能够多一些,以使备选网络日志集合中所包含的网络日志的数量也尽量多;所述网络日志可以是流量日志、HTTP访问日志、DNS查询日志中的任意一种,当然也可以是除上述三种日志以外的日志。
进一步地,在步骤101之前,该方法还包括:
获取至少一个恶意软件的威胁情报;
针对每个恶意软件的威胁情报,获取所述每个恶意软件的威胁情报对应的第一规则以及所有恶意软件的威胁情报对应的第一规则集;
根据第二预设条件对所述第一规则集进行挖掘,得到第二规则集;所述第二规则集包含每个恶意软件的威胁情报对应的第二规则;
根据预设域名白名单和第三预设条件对所述第二规则集进行过滤,得到第三规则集;
根据第四预设条件对所述第三规则集进行更新,得到由至少一个恶意软件识别规则组成的恶意软件识别规则集合;
基于所述恶意软件识别规则集合,获取由至少一个IP及端口反向匹配规则组成的IP及端口反向匹配规则集合。
具体地,
通过收集网络中恶意软件的威胁情报以及本地沙盒运行恶意软件产生的威胁情报,获取至少一个恶意软件的威胁情报;
针对每个恶意软件的威胁情报,提取该恶意软件的威胁情报中所对应或包含的恶意软件哈希值、杀毒软件查杀结果、HTTP访问集合、第一DNS查询集合、第二目的IP及目的端口集合,作为该恶意软件的威胁情报对应的第一规则,而根据每个恶意软件的威胁情报分别对应的第一规则形成所有恶意软件的威胁情报对应的第一规则集;
针对每个恶意软件的威胁情报对应的第一规则,执行以下操作以扩充第一规则:根据第一规则包含的杀毒软件查杀结果,获取恶意软件所属家族信息;根据第一规则包含的HTTP访问集合,获取访问域名集合;然后,删除所述杀毒软件查杀结果和HTTP访问集合,将恶意软件哈希值、第一DNS查询集合、第二目的IP及目的端口集合、恶意软件所属家族信息、访问域名集合作为该恶意软件的威胁情报对应的第二规则,而根据每个恶意软件的威胁情报分别对应的第二规则形成所有恶意软件的威胁情报对应的第二规则集;
对于所述第二规则集中包含的每个第二规则,确定所述第二规则包含的第二目的IP及目的端口集合中的所有目的IP均关联过预设域名白名单中的域名时,删除所述第二规则;或者,确定所述第二规则包含的访问域名集合中的所有域名都包含在预设域名白名单中时,删除所述第二规则;如此,通过对所述第二规则集进行过滤,得到由第三规则组成的第三规则集;
对于所述第三规则集,将第二目的IP及目的端口集合和访问域名集合都相同的第三规则进行合并,并更新合并后所形成的新的规则包含的恶意软件所属家族信息以及DNS查询集合,从而形成恶意软件识别规则以及恶意软件识别规则集合;每条所述恶意软件识别规则包含恶意软件哈希值、第二DNS查询集合、第二目的IP及目的端口集合、更新后的恶意软件所属家族信息、访问域名集合;所述第二DNS查询集合为对需要合并的每两个第三规则包含的第一DNS查询集合进行更新后得到的;所述更新后的恶意软件所属家族信息为对需要合并的每两个第三规则包含的恶意软件所属家族信息进行更新后得到的;
基于所述恶意软件识别规则集合,收集所有恶意软件识别规则包含的第二目的IP及目的端口集合,并去除重复的第二目的IP及目的端口,形成第三目的IP及目的端口集合;针对所述第三目的IP及目的端口集合中的每个第三目的IP及目的端口,收集该第三目的IP及目的端口对应的恶意软件哈希值形成列表,以形成该第三目的IP及目的端口对应的IP及端口反向匹配规则,从而获取IP及端口反向匹配规则集合。
这里,第二规则包含的第二目的IP及目的端口集合中的所有目的IP是否均关联过预设域名白名单中的域名可通过第一DNS查询集合以及IP情报的域名关联历史信息进行确认。
这里,上述操作可看作是建立恶意软件识别规则集合以及IP及端口反向匹配规则集合;所述第三规则集所包含的第三规则其实是过滤后的第二规则,即所述第三规则集中不包含第二目的IP及目的端口集合中的所有第二目的IP均关联过预设域名白名单中的域名的第二规则以及访问域名集合中的所有域名都包含在预设域名白名单中的第二规则。
所述恶意软件识别规则集合既包含由满足要求的两个第三规则合并后所形成的恶意软件识别规则,也包含未经过合并的第三规则所形成的恶意软件识别规则;对于未经过合并的第三规则所形成的恶意软件识别规则,该恶意软件识别规则包含的第二DNS查询集合就是该第三规则原先包含的第一DNS查询集合、而更新后的恶意软件所属家族信息就是该第三规则原先包含的恶意软件所属家族信息;所述第二目的IP及目的端口对应的恶意软件哈希值是包含该第二目的IP及目的端口的恶意软件识别规则所包含的恶意软件哈希值。
此外,还可建立域名反向匹配规则,即:基于所述恶意软件识别规则集合,收集所有恶意软件识别规则包含的访问域名集合,并去除重复的域名;针对每个域名,收集该域名对应的恶意软件哈希值形成列表,以形成该域名对应的域名反向匹配规则,从而获取域名反向匹配规则集合;所述域名对应的恶意软件哈希值是包含该域名的恶意软件识别规则所包含的恶意软件哈希值。
步骤102:按相同源IP对所述备选网络日志集合中的网络日志进行分组,得到网络日志分组集合;
具体地,根据步骤101中得到的所述备选网络日志集合中的不同网络日志所对应的不同源IP,按相同源IP对所述备选网络日志集合中的网络日志进行分组,以得到包含至少一个具有相同源IP的网络日志分组的网络日志分组集合。
这里,所述具有相同源IP的网络日志分组中应至少包含两条具有相同源IP的网络日志;在分组完毕后,若在网络日志分组集合存在只包含一条网络日志的网络日志分组,可将该网络日志分组删除。
步骤103:根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组;
具体地,对于步骤101中获取到的所述可疑恶意软件哈希值集合中的每个哈希值,获取该哈希值在恶意软件识别规则集合中对应的第二目的IP及目的端口集合,确定所述第二目的IP及目的端口集合中的所有第二目的IP及目的端口均包含在同一个网络日志分组中时,提取所述同一个网络日志分组中具有最短时间间隔的两个网络日志组成网络日志子分组,从而得到所述网络日志分组对应的网络日志子分组,并将该哈希值作为所述网络日志子分组对应的哈希值。
这里,所述恶意软件识别规则集合是预先设置的,所述恶意软件识别规则集合中包含两条以上的恶意软件识别规则,每条恶意软件识别规则对应一个恶意软件哈希值;每条恶意软件识别规则包含一个第二目的IP及目的端口集合,且每个第二目的IP及目的端口集合中包含一个或一个以上第二目的IP及目的端口;所述确定所述第二目的IP及目的端口集合中的所有第二目的IP及目的端口均包含在同一个网络日志分组,为:确定所述第二目的IP及目的端口集合中的每一个第二目的IP及目的端口在同一个网络日志分组中至少匹配有一个网络日志,即在同一个网络日志分组包含的所有网络日志所对应的第一目的IP及目的端口集合中,所述第二目的IP及目的端口集合中的任意一个第二目的IP及目的端口都存在该第一目的IP及目的端口集合中,也就是说,所述第二目的IP及目的端口集合属于该第一目的IP及目的端口集合。
上述步骤103中的操作是循环的,即当对一个哈希值的处理完成后,接着处理下一个哈希值,以获取网络日志子分组集合;所述网络日志子分组集合中包含一个或一个以上的网络日志子分组,每个网络日志子分组对应一个哈希值,每一个网络日志子分组中包含属于同一个网络日志分组且具有最短时间间隔的两个网络日志。
这里,当同一个网络日志分组中具有最短时间间隔的网络日志有多个时,可随机选择两个具有最短时间间隔的网络日志作为该网络日志分组对应的网络日志子分组;此外,也可将恶意软件识别规则与哈希值之间的对应关系建立一个映射关系表,从而通过该映射关系表进行查询而获取恶意软件识别规则对应的哈希值。
步骤104:确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件。
具体地,对于步骤103中获取到的网络日志子分组集合中的每个网络日志子分组,确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件。
这里,所述与所述两条网络日志相对应的哈希值、为所述两条网络日志所在的网络日志子分组所对应的哈希值;所述预设阈值可根据实际情况需要进行设置,比如可设置为0.5秒、1秒等。
进一步地,在步骤104之后,该方法还包括:
计算所述与所述两条网络日志具有相同源IP的网络日志被恶意软件感染的可信度,并输出计算结果。
具体地,根据恶意软件识别规则的复杂度和外界影响因素,计算计算所述与所述两条网络日志具有相同源IP的网络日志被恶意软件感染的可信度,并将计算结果记录到日志检测结果中;所述计算结果可包含恶意软件哈希值、感染该恶意软件哈希值的源IP、提取的网络日志子分组及可信度。
如此,本发明实施例将原先威胁情报只根据单一IP或域名作为IOC(Indicator ofCompromise)进行恶意软件日志匹配变为一组IP或域名作为IOC进行匹配,提高了匹配效率,解决了单一IP或域名匹配方法误识别和准确性差的问题;能够实现自动化大规模的恶意软件识别特征库生产,解决资源投入大的问题;采用威胁情报,无需提供恶意软件文件样本,解决恶意软件样本收集困难问题;能够有效区分并过滤因恶意软件绑定正常软件而产生的正常非恶意流量;识别方案针对恶意软件的基础设施的识别,因基础设施的变化较恶意软件变种的变化频率低,故能够有效解决恶意软件变种较多较快造成的分析效率及时效性问题;增加流量上下文匹配,解决单一IP或域名匹配方法误识别和准确性差的问题;基于MapReduce思想,支持Hadoop等大数据处理框架,能极大提高匹配的效率,而且该方法同样可应用于HTTP访问日志、DNS查询日志的匹配,并且多种日志类型匹配配合可进一步提高检测准确率。
为实现上述方法,本发明实施例还提供了一种离线恶意软件日志的识别装置,图2为本发明实施例一离线恶意软件日志的识别装置的组成结构示意图,该装置包括:第一识别单元11、第二识别单元12、第三识别单元13、第四识别单元14;其中,
所述第一识别单元11,用于基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合;
所述第二识别单元12,用于按相同源IP对所述备选网络日志集合中的网络日志进行分组,得到网络日志分组集合;
所述第三识别单元13,用于根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组;
所述第四识别单元14,用于确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件。
其中,所述第一识别单元11,具体用于:对于获取的多条网络日志中的每条网络日志进行如下处理,即基于每条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中对所述网络日志进行匹配查找;当所述网络日志包含的第一目的IP及目的端口与所述IP及端口反向匹配规则集合中的IP及端口反向匹配规则匹配时,将所述网络日志加入备选网络日志集合,并将所述IP及端口反向匹配规则包含的恶意软件哈希值加入可疑恶意软件哈希值集合。
这里,所述多条网络日志为两条以上的网络日志,可以是从网络设备所记录的网络日志集合中获取的,且每一条网络日志包含网络行为的源IP、第一目的IP及目的端口;所述IP及端口反向匹配规则集合中包含多条IP及端口反向匹配规则,并且每条IP及端口反向匹配规则包含一个第三目的IP及目的端口、以及该第三目的IP及目的端口对应的恶意软件哈希值集合;在每条IP及端口反向匹配规则中,一个第三目的IP及目的端口对应的恶意软件哈希值可能有一个或多个,即每条IP及端口反向匹配规则中可能包含一个或一个以上恶意软件哈希值。
这里,所述多条IP及端口反向匹配规则为两条以上的IP及端口反向匹配规则;所述网络日志包含的第一目的IP及目的端口与所述IP及端口反向匹配规则集合中的IP及端口反向匹配规则匹配,为:在IP及端口反向匹配规则集合中存在一条IP及端口反向匹配规则、且该条IP及端口反向匹配规则中包含的第三目的IP及目的端口与所述网络日志包含的第一目的IP及目的端口相同。
在实际应用中,所述获取的网络日志的数量最好能够多一些,以使备选网络日志集合中所包含的网络日志的数量也尽量多;所述网络日志可以是流量日志、HTTP访问日志、DNS查询日志中的任意一种,当然也可以是除上述三种日志以外的日志。
所述第二识别单元12,具体用于:根据获得的所述备选网络日志集合中的不同网络日志所对应的不同源IP,按相同源IP对所述备选网络日志集合中的网络日志进行分组,以得到包含至少一个具有相同源IP的网络日志分组的网络日志分组集合。
这里,所述具有相同源IP的网络日志分组中应至少包含两条具有相同源IP的网络日志;在分组完毕后,若在网络日志分组集合存在只包含一条网络日志的网络日志分组,可将该网络日志分组删除。
所述第三识别单元13,具体用于:对于获取到的所述可疑恶意软件哈希值集合中的每个哈希值,获取该哈希值在恶意软件识别规则集合中对应的第二目的IP及目的端口集合,确定所述第二目的IP及目的端口集合中的所有第二目的IP及目的端口均包含在同一个网络日志分组中时,提取所述同一个网络日志分组中具有最短时间间隔的两个网络日志组成网络日志子分组,从而得到所述网络日志分组对应的网络日志子分组,并将该哈希值作为所述网络日志子分组对应的哈希值。
这里,所述恶意软件识别规则集合是预先设置的,所述恶意软件识别规则集合中包含两条以上的恶意软件识别规则,每条恶意软件识别规则对应一个恶意软件哈希值;每条恶意软件识别规则包含一个第二目的IP及目的端口集合,且每个第二目的IP及目的端口集合中包含一个或一个以上第二目的IP及目的端口;所述确定所述第二目的IP及目的端口集合中的所有第二目的IP及目的端口均包含在同一个网络日志分组,为:确定所述第二目的IP及目的端口集合中的每一个第二目的IP及目的端口在同一个网络日志分组中至少匹配有一个网络日志,即在同一个网络日志分组包含的所有网络日志所对应的第一目的IP及目的端口集合中,所述第二目的IP及目的端口集合中的任意一个第二目的IP及目的端口都存在该第一目的IP及目的端口集合中,也就是说,所述第二目的IP及目的端口集合属于该第一目的IP及目的端口集合。
上述第三识别单元13的操作是循环的,即当第三识别单元13对一个哈希值的处理完成后,接着处理下一个哈希值,以获取网络日志子分组集合;所述网络日志子分组集合中包含一个或一个以上的网络日志子分组,每个网络日志子分组对应一个哈希值,每一个网络日志子分组中包含属于同一个网络日志分组且具有最短时间间隔的两个网络日志。
这里,当同一个网络日志分组中具有最短时间间隔的网络日志有多个时,可随机选择两个具有最短时间间隔的网络日志作为该网络日志分组对应的网络日志子分组;此外,也可将恶意软件识别规则与哈希值之间的对应关系建立一个映射关系表,从而通过该映射关系表进行查询而获取恶意软件识别规则对应的哈希值。
所述第四识别单元14,具体用于:对于所述第三识别单元13获取到的网络日志子分组集合中的每个网络日志子分组,确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件;如此,本发明实施例将原先威胁情报只根据单一IP或域名作为IOC(Indicator of Compromise)进行恶意软件日志匹配变为一组IP或域名作为IOC进行匹配,提高了匹配效率,解决了单一IP或域名匹配方法误识别和准确性差的问题。
这里,所述与所述两条网络日志相对应的哈希值、为所述两条网络日志所在的网络日志子分组所对应的哈希值;所述预设阈值可根据实际情况需要进行设置,比如可设置为0.3秒、1秒。
进一步地,该装置还包括:威胁情报收集单元15、第一规则生成单元16、第二规则生成单元17、第三规则生成单元18、第四规则生成单元19、第五规则生成单元20;其中,
所述威胁情报收集单元15,用于获取至少一个恶意软件的威胁情报;
所述第一规则生成单元16,用于针对每个恶意软件的威胁情报,获取所述每个恶意软件的威胁情报对应的第一规则以及所有恶意软件的威胁情报对应的第一规则集;
所述第二规则生成单元17,用于根据第二预设条件对所述第一规则集进行挖掘,得到第二规则集;所述第二规则集包含每个恶意软件的威胁情报对应的第二规则;
所述第三规则生成单元18,用于根据预设域名白名单和第三预设条件对所述第二规则集进行过滤,得到第三规则集;
所述第四规则生成单元19,用于根据第四预设条件对所述第三规则集进行更新,得到由至少一个恶意软件识别规则组成的恶意软件识别规则集合;
所述第五规则生成单元20,用于基于所述恶意软件识别规则集合,获取由至少一个IP及端口反向匹配规则组成的IP及端口反向匹配规则集合。
所述威胁情报收集单元15,具体用于:通过收集网络中恶意软件的威胁情报以及本地沙盒运行恶意软件产生的威胁情报,获取至少一个恶意软件的威胁情报。
所述第一规则生成单元16,具体用于:针对每个恶意软件的威胁情报,提取该恶意软件的威胁情报中所对应或包含的恶意软件哈希值、杀毒软件查杀结果、HTTP访问集合、第一DNS查询集合、第二目的IP及目的端口集合,作为该恶意软件的威胁情报对应的第一规则,而根据每个恶意软件的威胁情报分别对应的第一规则形成所有恶意软件的威胁情报对应的第一规则集。
所述第二规则生成单元17,具体用于:针对每个恶意软件的威胁情报对应的第一规则,执行以下操作以扩充第一规则,即根据第一规则包含的杀毒软件查杀结果,获取恶意软件所属家族信息;根据第一规则包含的HTTP访问集合,获取访问域名集合;然后,删除所述杀毒软件查杀结果和HTTP访问集合,将恶意软件哈希值、第一DNS查询集合、第二目的IP及目的端口集合、恶意软件所属家族信息、访问域名集合作为该恶意软件的威胁情报对应的第二规则,而根据每个恶意软件的威胁情报分别对应的第二规则形成所有恶意软件的威胁情报对应的第二规则集。
所述第三规则生成单元18,具体用于:对于所述第二规则集中包含的每个第二规则,确定所述第二规则包含的第二目的IP及目的端口集合中的所有目的IP均关联过预设域名白名单中的域名时,删除所述第二规则;或者,确定所述第二规则包含的访问域名集合中的所有域名都包含在预设域名白名单中时,删除所述第二规则;如此,通过对所述第二规则集进行过滤,得到由第三规则组成的第三规则集。
所述第四规则生成单元19,具体用于:对于所述第三规则集,将第二目的IP及目的端口集合和访问域名集合都相同的第三规则进行合并,并更新合并后所形成的新的规则包含的恶意软件所属家族信息以及DNS查询集合,从而形成恶意软件识别规则以及恶意软件识别规则集合;每条所述恶意软件识别规则包含恶意软件哈希值、第二DNS查询集合、第二目的IP及端口集合、更新后的恶意软件所属家族信息、访问域名集合;所述第二DNS查询集合为对需要合并的每两个第三规则包含的第一DNS查询集合进行更新后得到的;所述更新后的恶意软件所属家族信息为对需要合并的每两个第三规则包含的恶意软件所属家族信息进行更新后得到的。
所述第五规则生成单元20,具体用于:基于所述恶意软件识别规则集合,收集所有恶意软件识别规则包含的第二目的IP及目的端口集合,并去除重复的第二目的IP及目的端口,形成第三目的IP及目的端口集合;针对所述第三目的IP及目的端口集合中的每个第三目的IP及目的端口,收集该第三目的IP及目的端口对应的恶意软件哈希值形成列表,以形成该第三目的IP及目的端口对应的IP及端口反向匹配规则,从而获取IP及端口反向匹配规则集合。
这里,所述第三规则生成单元18判断第二规则包含的第二目的IP及目的端口集合中的所有目的IP是否均关联过预设域名白名单中的域名可通过第一DNS查询集合以及IP情报的域名关联历史信息进行确认。
这里,上述威胁情报收集单元15、第一规则生成单元16、第二规则生成单元17、第三规则生成单元18、第四规则生成单元19、第五规则生成单元20的操作可看作是建立恶意软件识别规则集合以及IP及端口反向匹配规则集合;所述第三规则集所包含的第三规则其实是过滤后的第二规则,即所述第三规则集中不包含第二目的IP及目的端口集合中的所有第二目的IP均关联过预设域名白名单中的域名的第二规则以及访问域名集合中的所有域名都包含在预设域名白名单中的第二规则。
所述恶意软件识别规则集合既包含由满足要求的两个第三规则合并后所形成的恶意软件识别规则,也包含未经过合并的第三规则所形成的恶意软件识别规则;对于未经过合并的第三规则所形成的恶意软件识别规则,该恶意软件识别规则包含的第二DNS查询集合就是该第三规则原先包含的第一DNS查询集合、而更新后的恶意软件所属家族信息就是该第三规则原先包含的恶意软件所属家族信息;所述第二目的IP及目的端口对应的恶意软件哈希值是包含该第二目的IP及目的端口的恶意软件识别规则所包含的恶意软件哈希值。
此外,所述第五规则生成单元20还可建立域名反向匹配规则,即:基于所述恶意软件识别规则集合,收集所有恶意软件识别规则包含的访问域名集合,并去除重复的域名;针对每个域名,收集该域名对应的恶意软件哈希值形成列表,以形成该域名对应的域名反向匹配规则,从而获取域名反向匹配规则集合;所述域名对应的恶意软件哈希值是包含该域名的恶意软件识别规则所包含的恶意软件哈希值。
进一步地,该装置还可包括:处理单元,用于计算所述与所述两条网络日志具有相同源IP的网络日志被恶意软件感染的可信度,并输出计算结果。
具体地,处理单元根据恶意软件识别规则的复杂度和外界影响因素,计算计算所述与所述两条网络日志具有相同源IP的网络日志被恶意软件感染的可信度,并将计算结果记录到日志检测结果中;所述计算结果可包含恶意软件哈希值、感染该恶意软件哈希值的源IP、提取的网络日志子分组及可信度。
如此,本发明实施例将原先威胁情报只根据单一IP或域名作为IOC进行恶意软件日志匹配变为一组IP或域名作为IOC进行匹配,提高了匹配效率,解决了单一IP或域名匹配方法误识别和准确性差的问题;;能够实现自动化大规模的恶意软件识别特征库生产,解决资源投入大的问题;采用威胁情报,无需提供恶意软件文件样本,解决恶意软件样本收集困难问题;能够有效区分并过滤因恶意软件绑定正常软件而产生的正常非恶意流量;识别方案针对恶意软件的基础设施的识别,因基础设施的变化较恶意软件变种的变化频率低,故能够有效解决恶意软件变种较多较快造成的分析效率及时效性问题;增加流量上下文匹配,解决单一IP或域名匹配方法误识别和准确性差的问题;基于MapReduce思想,支持Hadoop等大数据处理框架,能极大提高匹配的效率,而且该方法同样可应用于HTTP访问日志、DNS查询日志的匹配,并且多种日志类型匹配配合可进一步提高检测准确率。
在实际应用中,所述第一识别单元11、第二识别单元12、第三识别单元13、第四识别单元14、威胁情报收集单元15、第一规则生成单元16、第二规则生成单元17、第三规则生成单元18、第四规则生成单元19、第五规则生成单元20均可由位于终端的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
实施例二
下面通过一个具体示例对本发明实施例一作进一步地的说明,图3为本发明实施例二中基于威胁情报上下文信息的恶意软件匹配规则生成方法的实现流程示意图,该方法包括:
步骤201:收集恶意软件的威胁情报,并存储在威胁情报库;
具体地,基于通过网络收集的恶意软件的威胁情报以及恶意软件在本地沙盒运行过程中产生的威胁情报,将所述威胁情报存储在威胁情报库中,以构建本地海量威胁情报库,并将后续通过网络或本地沙盒收集到的恶意软件的威胁情报也存储在所述威胁情报库中。
本实施例中,所述恶意软件在本地沙盒运行过程中产生的威胁情报,包含:
1)软件的静态分析信息,如文件大小、引用库、运行系统、签名、各种哈希算法值;
2)软件运行时的文件操作信息,如创建、读、写、修改等;
3)软件运行时的创建的进程及服务等;
4)软件运行时的网络行为,如HTTP访问、DNS查询、TCP/UDP连接等。
步骤202:收集白域名,建立域名白名单;
这里,所述白域名是未感染恶意软件的域名;所述域名白名单可依据历史人为经验以及设定的评判标准进行收集和获取。
步骤203:获取恶意软件的每条威胁情报对应的第一规则,形成第一规则集;
具体地,针对威胁情报库中恶意软件的每条威胁情报,提取该恶意软件的威胁情报中包含的杀毒软件查杀结果、HTTP访问集合、DNS查询集合、TCP连接目的IP及端口集合作为该恶意软件的威胁情报对应的第一规则,以形成由威胁情报库中所有恶意软件的威胁情报对应的第一规则所组成的第一规则集。
这里,所述HTTP访问集合、DNS查询集合、TCP连接目的IP及端口集合都以数组形式表示。
步骤204:根据所述第一规则集,获取恶意软件的每条威胁情报对应的第二规则,形成第二规则集;
具体地,基于步骤203中获取到的恶意软件的每条威胁情报对应的第一规则,根据以下计算规则对所述恶意软件的每条威胁情报对应的第一规则进行扩充,即:根据恶意软件的威胁情报中的杀毒软件查杀结果,确认该恶意软件所属家族;根据恶意软件的威胁情报中的HTTP访问集合,通过计算获取该恶意软件域名访问集合;如此,扩充后的第一规则中包含杀毒软件查杀结果、HTTP访问集合、DNS查询集合、TCP连接目的IP及端口集合、恶意软件所属家族、域名访问集合等信息;然后,删除扩充后的第一规则中所包含的杀毒软件查杀结果、HTTP访问集合,将DNS查询集合、TCP连接目的IP及端口集合、恶意软件所属家族、域名访问集合作为恶意软件的威胁情报对应的第二规则,以形成由威胁情报库中所有恶意软件的威胁情报对应的第二规则所组成的第二规则集。
步骤205:根据预设条件删除不可识别的第二规则,形成第三规则集;
具体地,对于每一条第二规则,判断TCP连接目的IP及端口集合中所有IP是否均关联过域名白名单中的域名,若是,则判定所述第二规则不可识别,否则判定所述第二规则可识别;或者,对于每一条第二规则,判断域名访问集合中的域名是否均包含在域名白名单内,且无除HTTP之外的TCP连接,若是,则判定所述第二规则不可识别,否则判定所述第二规则可识别;将所述可识别的第二规则作为第三规则,以形成由威胁情报库中所有恶意软件的威胁情报对应的第三规则所组成的第三规则集。
这里,所述TCP连接目的IP及端口集合中所有IP是否均关联过域名白名单中的域名可通过DNS查询集合以及IP情报的域名关联历史信息确认。
步骤206:合并TCP连接目的IP及端口集合和域名访问集合都相同的第三规则,形成恶意软件识别规则集合;
具体地,针对所述第三规则集中的任意两条第三规则,只要这两条第三规则满足TCP连接目的IP及端口集合和域名访问集合都相同,则合并这两条第三规则,以获取恶意软件识别规则,并统计更新恶意软件识别规则中的恶意软件所属家族等信息;根据所有的恶意软件识别规则,形成恶意软件识别规则集合。
这里,与第三规则所包含的内容相比,恶意软件识别规则中包含更新后的DNS查询集合、TCP连接目的IP及端口集合、更新后的恶意软件所属家族、域名访问集合,并且每条恶意软件识别规则对应一个恶意软件哈希值。
本实施例中,将恶意软件识别规则集合输出为json格式的可匹配规则,下面是一条json格式的恶意软件识别规则,如下所示:
其中,键值为恶意软件哈希值,内容为tcp、fqdn、dns的匹配规则,及该恶意软件的可能基本信息(possibility)如可信度、恶意软件家族可能性、提供者等。
步骤207:基于恶意软件识别规则集合,获取“IP:端口”及“域名”的反向匹配规则库;
具体地,收集恶意软件识别规则集合中所有恶意软件识别规则中的“IP:端口”集合,进行去重操作处理后,以每个“IP:端口”为键值,收集包含该“IP:端口”的恶意软件哈希值形成列表,以获取“IP:端口”的反向匹配规则,并根据每个“IP:端口”的反向匹配规则形成“IP:端口”的反向匹配规则库;收集恶意软件识别规则集中所有恶意软件识别规则中的“域名”集合,进行去重操作处理后,以每个“域名”为键值,收集包含该“域名”的恶意软件哈希值形成列表,获取“域名”的反向匹配规则,并根据每个“域名”的反向匹配规则形成“域名”的反向匹配规则库。
这里,所述“IP:端口”集合是恶意软件识别规则中包含的TCP连接目的IP及端口集合,也可以说是TCP的匹配规则。
本实施例中,将“IP:端口”的反向匹配规则库输出为json格式的可匹配规则,下面是一条json格式的“IP:端口”的反向匹配规则,如下所示:
将“域名”的反向匹配规则库输出为json格式的可匹配规则,下面是一条json格式的“域名”的反向匹配规则,如下所示:
本实施例提供的恶意软件匹配规则生产方法能够实现自动化大规模的恶意软件识别特征库生产,解决资源投入大的问题;采用威胁情报,无需提供恶意软件文件样本,解决恶意软件样本收集困难问题。
图4为本发明实施例二中基于上下文感知的离线恶意软件流量日志匹配方法的实现流程示意图,所述基于上下文感知的离线恶意软件流量日志匹配方法的实现需要基于上述恶意软件匹配规则生成方法;假设用户的流量日志以连接为记录对象,每条日志内容包含但不限于以下内容:时间戳、协议(TCP、UDP等)、源IP、源端口、目的IP、目的端口;用户的HTTP访问日志以请求为记录对象,每条日志内容包含但不限于以下内容:时间戳、URL、源IP、源端口、目的IP、目的端口;本实施例仅以网络流量日志为例进行说明,本实施例所述的方法也同样可用于对除网络流量日志以外的日志进行匹配,该方法包括:
步骤301:收集网络流量日志形成流量日志库;
步骤302:从流量日志库中读取一条日志;
这里,当步骤302被重复执行时,每一次从流量日志库中读取到的日志是不相同的。
步骤303:判断日志的目的IP:端口是否在“IP:端口”的反向规则库中,若是,执行步骤304;若否,返回步骤302;
具体地,判断步骤302中读取的日志的目的IP:端口是否为“IP:端口”的反向匹配规则库中的键值,如果不是,则返回步骤302以继续处理下一条日志;如果是,则进入步骤304。
步骤304:将所述目的IP:端口对应的恶意软件哈希值列表加入到可疑恶意软件哈希集合;
具体地,将“IP:端口”的反向匹配规则库中与该条日志的目的IP:端口的键值对应的恶意软件哈希值列表加入到可疑恶意软件哈希集合。
步骤305:将所述日志加入到备选流量日志集合;
步骤306:判断流量日志库中的日志是否处理完,若是,则执行步骤307,否则返回步骤302;
步骤307:备选流量日志根据源IP进行分组,形成源IP日志分组集合;
具体地,根据源IP对备选流量日志集合中的备选流量日志进行分组,形成源IP日志分组集合。
步骤308:读取可疑恶意软件哈希集合中的一个哈希值MHASH;
具体地,从可疑恶意软件哈希集合中任意读取一个哈希值,以MHASH表示。
这里,当步骤308被重复执行时,每一次从可疑恶意软件哈希集合中读取到的哈希值是不相同的。
步骤309:从恶意软件识别规则集合中读取该MHASH对应的恶意软件识别规则;
具体地,根据MHASH从恶意软件识别规则集中读取该MHASH对应的恶意软件识别规则。
步骤310:读取源IP日志分组集合中的一个日志分组SIP_TG;
具体地,从源IP日志分组集合中读取任意一个日志分组,以SIP_TG表示;所述日志分组为源IP相同的日志分组。
步骤311:判断所述恶意软件识别规则是否匹配所述日志分组,若是,则执行步骤312,否则返回步骤310;
具体地,提取步骤310中获取的该MHASH在恶意软件识别规则中的TCP识别规则,判断所述TCP识别规则中的每个IP:端口是否均能以目的:IP的形式匹配所述日志分组SIP_TG中的至少一条记录,若是,则执行步骤312,否则返回步骤310。
步骤312:获取具有最短时间间隔的日志子分组;
具体地,当所述恶意软件识别规则匹配所述日志分组时,从所述日志分组中获取一组匹配TCP识别规则的日志子分组,且保证该日志子分组的时间间隔是最小的。
这里,对于同一个日志分组,可能有多个日志子分组,将每个日志子分组的日志记录按时间戳排序,取首尾时间戳差值最小的一个日志子分组。
步骤313:判断所述时间间隔是否小于预定的阈值,若是,则执行步骤314;否则返回步骤310;
具体地,判断所述日志子分组的首尾日志时间间隔是否小于预定的阈值,如果否,则认为匹配不可信返回步骤310以继续处理下一个日志分组;如果是,则执行步骤314。
步骤314:确认所述源IP感染了MHASH对应的恶意软件,计算匹配结果可信度;
具体地,根据步骤313的结果确认该日志分组对应的源IP满足MHASH对应的恶意软件的网络流量上下文,并确认所述日志分组对应的源IP感染了MHASH对应的恶意软件;根据匹配规则复杂程度及相关因素,计算匹配结果的可信度,并将匹配结果以及可信度等信息加入到最终的匹配结果中。
步骤315:判断是否处理完所有的日志分组,若否,则返回步骤310继续处理下一条日志分组,否则继续执行步骤316;
步骤316:判断是否处理完可疑恶意软件哈希集合中的所有恶意软件哈希值,若否,则返回步骤308以继续处理下一个恶意软件哈希值,否则执行步骤317。
步骤317:存储匹配结果。
这里,将匹配结果以json格式进行存储,下面是一条json格式的匹配结果,如下所示:
本实施例提供的离线恶意软件流量日志匹配方法能够有效区分并过滤因恶意软件绑定正常软件而产生的正常非恶意流量;识别方案针对恶意软件的基础设施的识别,因基础设施的变化较恶意软件变种的变化频率低,故能够有效解决恶意软件变种较多较快造成的分析效率及时效性问题;增加流量上下文匹配,解决单一IP或域名匹配方法误识别和准确性差的问题;基于MapReduce思想,支持Hadoop等大数据处理框架,能极大提高匹配的效率,而且该方法同样可应用于HTTP访问日志、DNS查询日志的匹配,并且多种日志类型匹配配合可进一步提高检测准确率。
为实现上述方法,本发明实施例还提供了一种离线恶意软件网络流量的识别装置,图5为本发明实施例二离线恶意软件网络流量的识别装置的组成结构示意图,该装置包括:威胁情报收集单元1、威胁情报存储单元2、规则生成单元3、规则存储单元4、识别单元5、日志存储单元6、日志收集单元7;其中,
威胁情报收集单元1收集网络威胁情报及本地沙盒运行恶意软件获取情报,并将收集到的情报存储于威胁情报存储单元2;规则生成单元3基于威胁情报存储单元2存储的威胁情报进行过滤和挖掘,生成恶意软件网络流量识别规则,并将输出的识别规则存储于规则存储单元4;
客户设备为用户日常使用的个人电脑、服务器及移动设备等,通过日志收集单元7与互联网进行网络交互访问;日志收集单元7将收集到的日志数据周期性同步到日志存储单元6中;识别单元5读取规则存储单元4中的识别规则,并对日志存储单元6中的日志数据进行匹配,以完成恶意软件流量的识别。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (12)
1.一种离线恶意软件日志的识别方法,其特征在于,所述方法包括:
基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合;
按相同源IP对所述备选网络日志集合中的网络日志进行分组,得到网络日志分组集合;
根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组;
确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件。
2.根据权利要求1所述的方法,其特征在于,所述基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合,包括:
基于每条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找;
当所述网络日志包含的第一目的IP及目的端口与所述IP及端口反向匹配规则集合中的IP及端口反向匹配规则匹配时,将所述网络日志加入备选网络日志集合,并将所述IP及端口反向匹配规则包含的恶意软件哈希值加入可疑恶意软件哈希值集合。
3.根据权利要求1所述的方法,其特征在于,所述根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组,包括:
对于所述可疑恶意软件哈希值集合中的每个哈希值,获取所述哈希值在恶意软件识别规则集合中对应的第二目的IP及目的端口集合;
确定所述第二目的IP及目的端口集合中的所有第二目的IP及目的端口均包含在同一个网络日志分组中时,提取所述同一个网络日志分组中具有最短时间间隔的两个网络日志组成网络日志子分组。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中对所述获取的多条网络日志进行匹配查找之前,所述方法还包括:
获取至少一个恶意软件的威胁情报;
针对每个恶意软件的威胁情报,获取所述每个恶意软件的威胁情报对应的第一规则以及所有恶意软件的威胁情报对应的第一规则集;
根据第二预设条件对所述第一规则集进行挖掘,得到第二规则集;所述第二规则集包含每个恶意软件的威胁情报对应的第二规则;
根据预设域名白名单和第三预设条件对所述第二规则集进行过滤,得到第三规则集;
根据第四预设条件对所述第三规则集进行更新,得到由至少一个恶意软件识别规则组成的恶意软件识别规则集合;
基于所述恶意软件识别规则集合,获取由至少一个IP及端口反向匹配规则组成的IP及端口反向匹配规则集合。
5.根据权利要求4所述的方法,其特征在于,所述第二规则至少包含恶意软件所属家族信息和访问域名集合;
所述根据第二预设条件对所述第一规则集进行挖掘,得到第二规则集,包括:
根据第一规则包含的杀毒软件查杀结果,获取恶意软件所属家族信息;
根据第一规则包含的HTTP访问集合,获取访问域名集合。
6.根据权利要求4所述的方法,其特征在于,所述根据预设域名白名单和第三预设条件对所述第二规则集进行过滤,得到第三规则集,包括:
确定第二规则包含的第二目的IP及目的端口集合中的所有第二目的IP均关联过预设域名白名单中的域名时,删除所述第二规则;或,
确定第二规则包含的访问域名集合中的所有域名都包含在预设域名白名单中时,删除所述第二规则。
7.一种离线恶意软件日志的识别装置,其特征在于,所述装置包括:第一识别单元、第二识别单元、第三识别单元、第四识别单元;其中,
所述第一识别单元,用于基于获取的多条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找,得到备选网络日志集合和可疑恶意软件哈希值集合;
所述第二识别单元,用于按相同源IP对所述备选网络日志集合中的网络日志进行分组,得到网络日志分组集合;
所述第三识别单元,用于根据恶意软件识别规则集合和所述可疑恶意软件哈希值集合对网络日志分组进行过滤,得到所述网络日志分组中满足第一预设条件的网络日志子分组;
所述第四识别单元,用于确定所述网络日志子分组所包含的两条网络日志的首尾时间间隔小于预设阈值时,判定与所述两条网络日志具有相同源IP的网络日志被恶意软件感染、且所述恶意软件为与所述两条网络日志相对应的哈希值所对应的恶意软件。
8.根据权利要求7所述的装置,其特征在于,所述第一识别单元,具体用于:
基于每条网络日志包含的第一目的IP及目的端口,在IP及端口反向匹配规则集合中进行匹配查找;
当所述网络日志包含的第一目的IP及目的端口与所述IP及端口反向匹配规则集合中的IP及端口反向匹配规则匹配时,将所述网络日志加入备选网络日志集合,并将所述IP及端口反向匹配规则包含的恶意软件哈希值加入可疑恶意软件哈希值集合。
9.根据权利要求7所述的装置,其特征在于,所述第三识别单元,具体用于:
对于所述可疑恶意软件哈希值集合中的每个哈希值,获取所述哈希值在恶意软件识别规则集合中对应的第二目的IP及目的端口集合;
确定所述第二目的IP及目的端口集合中的所有第二目的IP及目的端口均包含在同一个网络日志分组中时,提取所述同一个网络日志分组中具有最短时间间隔的两个网络日志组成网络日志子分组。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述装置还包括:威胁情报收集单元、第一规则生成单元、第二规则生成单元、第三规则生成单元、第四规则生成单元、第五规则生成单元;其中,
所述威胁情报收集单元,用于获取至少一个恶意软件的威胁情报;
所述第一规则生成单元,用于针对每个恶意软件的威胁情报,获取所述每个恶意软件的威胁情报对应的第一规则以及所有恶意软件的威胁情报对应的第一规则集;
所述第二规则生成单元,用于根据第二预设条件对所述第一规则集进行挖掘,得到第二规则集;所述第二规则集包含每个恶意软件的威胁情报对应的第二规则;
所述第三规则生成单元,用于根据预设域名白名单和第三预设条件对所述第二规则集进行过滤,得到第三规则集;
所述第四规则生成单元,用于根据第四预设条件对所述第三规则集进行更新,得到由至少一个恶意软件识别规则组成的恶意软件识别规则集合;
所述第五规则生成单元,用于基于所述恶意软件识别规则集合,获取由至少一个IP及端口反向匹配规则组成的IP及端口反向匹配规则集合。
11.根据权利要求10所述的装置,其特征在于,所述第二规则至少包含恶意软件所属家族信息和访问域名集合;
所述第二规则生成单元,具体用于:
根据第一规则包含的杀毒软件查杀结果,获取恶意软件所属家族信息;
根据第一规则包含的HTTP访问集合,获取访问域名集合。
12.根据权利要求10所述的装置,其特征在于,所述第三规则生成单元,具体用于:
确定第二规则包含的第二目的IP及目的端口集合中的所有第二目的IP均关联过预设域名白名单中的域名时,删除所述第二规则;或,
确定第二规则包含的访问域名集合中的所有域名都包含在预设域名白名单中时,删除所述第二规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710157898.7A CN107145779B (zh) | 2017-03-16 | 2017-03-16 | 一种离线恶意软件日志的识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710157898.7A CN107145779B (zh) | 2017-03-16 | 2017-03-16 | 一种离线恶意软件日志的识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107145779A true CN107145779A (zh) | 2017-09-08 |
CN107145779B CN107145779B (zh) | 2020-01-17 |
Family
ID=59783566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710157898.7A Active CN107145779B (zh) | 2017-03-16 | 2017-03-16 | 一种离线恶意软件日志的识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107145779B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763031A (zh) * | 2018-04-08 | 2018-11-06 | 北京奇安信科技有限公司 | 一种基于日志的威胁情报检测方法及装置 |
CN109617885A (zh) * | 2018-12-20 | 2019-04-12 | 北京神州绿盟信息安全科技股份有限公司 | 攻陷主机自动判定方法、装置、电子设备及存储介质 |
CN110198292A (zh) * | 2018-03-30 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 域名识别方法和装置、存储介质及电子装置 |
CN110704390A (zh) * | 2019-09-17 | 2020-01-17 | 平安科技(深圳)有限公司 | 获取服务器维护脚本的方法、装置、电子设备及介质 |
CN110866253A (zh) * | 2018-12-28 | 2020-03-06 | 北京安天网络安全技术有限公司 | 一种威胁分析方法、装置、电子设备及存储介质 |
CN111414402A (zh) * | 2020-03-19 | 2020-07-14 | 北京神州绿盟信息安全科技股份有限公司 | 一种日志威胁分析规则生成方法及装置 |
CN112580030A (zh) * | 2019-09-27 | 2021-03-30 | 奇安信科技集团股份有限公司 | 网络系统及半隔离网终端病毒查杀方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761458A (zh) * | 2011-12-20 | 2012-10-31 | 北京安天电子设备有限公司 | 一种反弹式木马的检测方法和系统 |
CN105825129A (zh) * | 2015-01-04 | 2016-08-03 | 中国移动通信集团设计院有限公司 | 一种融合通信中恶意软件鉴别方法和系统 |
CN105978871A (zh) * | 2016-05-09 | 2016-09-28 | 北京航天数控系统有限公司 | 一种针对数控系统的通信防护设备 |
-
2017
- 2017-03-16 CN CN201710157898.7A patent/CN107145779B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761458A (zh) * | 2011-12-20 | 2012-10-31 | 北京安天电子设备有限公司 | 一种反弹式木马的检测方法和系统 |
CN105825129A (zh) * | 2015-01-04 | 2016-08-03 | 中国移动通信集团设计院有限公司 | 一种融合通信中恶意软件鉴别方法和系统 |
CN105978871A (zh) * | 2016-05-09 | 2016-09-28 | 北京航天数控系统有限公司 | 一种针对数控系统的通信防护设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198292A (zh) * | 2018-03-30 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 域名识别方法和装置、存储介质及电子装置 |
CN110198292B (zh) * | 2018-03-30 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 域名识别方法和装置、存储介质及电子装置 |
CN108763031A (zh) * | 2018-04-08 | 2018-11-06 | 北京奇安信科技有限公司 | 一种基于日志的威胁情报检测方法及装置 |
CN109617885A (zh) * | 2018-12-20 | 2019-04-12 | 北京神州绿盟信息安全科技股份有限公司 | 攻陷主机自动判定方法、装置、电子设备及存储介质 |
CN109617885B (zh) * | 2018-12-20 | 2021-04-16 | 北京神州绿盟信息安全科技股份有限公司 | 攻陷主机自动判定方法、装置、电子设备及存储介质 |
CN110866253A (zh) * | 2018-12-28 | 2020-03-06 | 北京安天网络安全技术有限公司 | 一种威胁分析方法、装置、电子设备及存储介质 |
CN110866253B (zh) * | 2018-12-28 | 2022-05-27 | 北京安天网络安全技术有限公司 | 一种威胁分析方法、装置、电子设备及存储介质 |
CN110704390A (zh) * | 2019-09-17 | 2020-01-17 | 平安科技(深圳)有限公司 | 获取服务器维护脚本的方法、装置、电子设备及介质 |
CN112580030A (zh) * | 2019-09-27 | 2021-03-30 | 奇安信科技集团股份有限公司 | 网络系统及半隔离网终端病毒查杀方法和装置 |
CN112580030B (zh) * | 2019-09-27 | 2023-08-01 | 奇安信科技集团股份有限公司 | 网络系统及半隔离网终端病毒查杀方法和装置 |
CN111414402A (zh) * | 2020-03-19 | 2020-07-14 | 北京神州绿盟信息安全科技股份有限公司 | 一种日志威胁分析规则生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107145779B (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145779A (zh) | 一种离线恶意软件日志的识别方法和装置 | |
Mohaisen et al. | Unveiling zeus: automated classification of malware samples | |
Haddadi et al. | Benchmarking the effect of flow exporters and protocol filters on botnet traffic classification | |
CN105681250B (zh) | 一种僵尸网络分布式实时检测方法和系统 | |
CN102811162B (zh) | 用于有效率的网络流数据分析的方法和装置 | |
CN107645503A (zh) | 一种基于规则的恶意域名所属dga家族的检测方法 | |
CN107070929A (zh) | 一种工控网络蜜罐系统 | |
CN109842588B (zh) | 网络数据检测方法及相关设备 | |
CN110177114A (zh) | 网络安全威胁指标识别方法、设备、装置以及计算机可读存储介质 | |
Aburrous et al. | Associative classification techniques for predicting e-banking phishing websites | |
CN102833240A (zh) | 一种恶意代码捕获方法及系统 | |
CN107547671A (zh) | 一种url匹配方法及装置 | |
CN109194677A (zh) | 一种sql注入攻击检测方法、装置及设备 | |
CN102799814A (zh) | 一种钓鱼网站查找系统及方法 | |
CN105302815B (zh) | 网页的统一资源定位符url的过滤方法和装置 | |
Lu et al. | Botnet traffic detection using hidden markov models | |
CN103530337B (zh) | 识别统一资源定位符url中无效参数的设备及方法 | |
CN107395650A (zh) | 基于沙箱检测文件识别木马回连方法及装置 | |
CN107209834A (zh) | 恶意通信模式提取装置、恶意通信模式提取系统、恶意通信模式提取方法及恶意通信模式提取程序 | |
CN112788065B (zh) | 一种基于蜜罐和沙箱的物联网僵尸网络追踪方法及装置 | |
KR101048991B1 (ko) | 봇넷 행동 패턴 분석 시스템 및 방법 | |
CN102437936A (zh) | 基于双过滤机制的高速网络僵尸报文的检测方法 | |
Mohamed et al. | Alert correlation using a novel clustering approach | |
Vijayakumar et al. | Detection of network attacks based on multiprocessing and trace back methods | |
TWI634769B (zh) | Method for detecting domain name transformation botnet through proxy server log |
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 |