CN105938531B - 识别恶意网络基础设施 - Google Patents

识别恶意网络基础设施 Download PDF

Info

Publication number
CN105938531B
CN105938531B CN201610122518.1A CN201610122518A CN105938531B CN 105938531 B CN105938531 B CN 105938531B CN 201610122518 A CN201610122518 A CN 201610122518A CN 105938531 B CN105938531 B CN 105938531B
Authority
CN
China
Prior art keywords
server
invisible
computer
network
malice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610122518.1A
Other languages
English (en)
Other versions
CN105938531A (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN105938531A publication Critical patent/CN105938531A/zh
Application granted granted Critical
Publication of CN105938531B publication Critical patent/CN105938531B/zh
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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
    • 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
    • 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/1475Passive attacks, e.g. eavesdropping or listening without modification of the traffic monitored
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供识别恶意服务器。基于对应于网络流量重定向链中所包括的不可见服务器顶点的二分图中的确定的基于图的特征和对应于网络流量重定向链中所包括的不可见服务器顶点的确定的基于距离的特征确定对应于网络流量重定向链中所包括的可见服务器和不可见服务器的服务器顶点之间的恶意边缘。基于对应于网络流量重定向链中所包括的可见服务器和不可见服务器的服务器顶点之间的确定的恶意边缘识别二分图中的恶意服务器顶点。阻止客户端设备访问对应于二分图中的识别的恶意服务器顶点的恶意服务器。

Description

识别恶意网络基础设施
技术领域
本发明总体上涉及计算机网络安全,并且更具体地涉及基于网络服务器的可见性和网络服务器的网络流量重定向链的拓扑识别恶意网络基础设施中的恶意服务器。
背景技术
恶意网络活动是在线网络用户和他们的计算机的安全的主要威胁。这些恶意网络活动通过恶意网络基础设施安排,其使网络罪犯能够在网络上进行他们的犯罪活动并且利用恶意网络基础设施中的其他网络罪犯的资源。这样的恶意网络基础设施是如今的网络空间中的这些犯罪活动的支柱,在全球传递恶意内容(如恶意软件)并且每年导致数亿美元的损失。恶意软件,或简称有害软件,是用于例如破坏计算机操作、收集存储在计算机上的敏感信息或获得私人计算机系统和网络的访问权限的任何软件。恶意软件是表示各种恶意或侵扰软件的涵盖性术语,如计算机病毒、蠕虫病毒、特洛伊木马、勒索软件、间谍软件、广告软件、恐吓软件和其他恶意程序。
发明内容
根据一个示例性实施例,提供一种用于识别恶意服务器的计算机实现方法。计算机基于与网络流量重定向链中所包括的不可见服务器顶点对应的二分图中的确定的基于图的特征、和与网络流量重定向链中所包括的不可见服务器顶点对应的确定的基于距离的特征,确定与网络流量重定向链中所包括的可见服务器和不可见服务器对应的服务器顶点之间的恶意边缘。计算机基于与网络流量重定向链中所包括的可见服务器和不可见服务器对应的服务器顶点之间的确定的恶意边缘,识别二分图中的恶意服务器顶点。计算机阻止客户端设备访问对应于二分图中的识别的恶意服务器顶点的恶意服务器。根据其他示例性实施例,提供用于识别恶意服务器的计算机系统和计算机程序产品。
附图说明
图1是可以在其中实现示例性实施例的数据处理系统的网络的图形表示;
图2是可以在其中实现示例性实施例的数据处理系统的图示;
图3是根据示例性实施例的恶意网络基础设施检测应用程序的部件的例子的图示;
图4是根据示例性实施例的二分图的例子的图示;
图5是根据示例性实施例的机器学习分类器输入的具体例子;
图6是根据示例性实施例的传播图生成过程的例子的图示;
图7是示出根据示例性实施例的用于将网络中的服务器识别为可见服务器或不可见服务器的过程的流程图;
图8A和8B是示出根据示例性实施例的用于识别网络中的恶意服务器的过程的流程图;以及
图9是示出根据示例性实施例的用于将识别的恶意服务器的恶意和可见性评分传播到相邻的不可见服务器、以基于它们与识别的恶意服务器的相关性识别附加的恶意服务器的过程的流程图。
具体实施方式
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得存储在该计算机可读介质中的指令制造一个制品,其包括实现在流程图和/或框图中的一个或多个方框中指定的功能/动作的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
现在参照图1,并且特别地参照图1和2,提供示例性实施例可以在其中实现的数据处理环境的图示。应当领会图1和2仅仅表示作为例子并且不旨在断言或暗示关于不同实施例可以在其中实现的环境的任何限制。可以对所示的环境进行许多修改。
图1示出示例性实施例可以在其中实现的数据处理系统的网络的图形表示。网络数据处理系统100是示例性实施例可以在其中实现的计算机和其他设备的网络。网络数据处理系统100包含网络102,其可以是用于提供在网络数据处理系统100中连接在一起的计算机和其他设备之间的通信链接的介质。网络102可以包括诸如有线通信链接、无线通信链接和光纤电缆的连接。
在所示的例子中,服务器104和服务器106与存储装置108一起连接到网络102。服务器104和服务器106例如可以是具有到网络102的高速连接的服务器计算机。另外,服务器104可以将一个或多个服务的集合提供给连接到网络102的客户端设备。例如,服务器104可以将恶意网络基础设施检测服务提供给注册客户端设备。恶意网络基础设施检测服务是基于网络服务器的可见性和由网络服务器产生的网络流量重定向链的拓扑识别恶意网络基础设施中的恶意服务器的过程。恶意网络服务器试图将恶意内容(如恶意软件)传递到连接到恶意网络基础设施的计算机和其他数据处理系统设备,如智能手机。
客户端设备110、客户端设备112和客户端设备114也连接到网络102。客户端设备110、112和114是注册到服务器104的客户端。在所示的例子中,服务器104可以将诸如启动文件、操作系统图像和软件应用程序的信息提供给客户端设备110、112和114。
在该例子中,客户端设备110、112和114是与网络102有线或无线通信链接的计算机,如桌上型计算机或网络计算机。然而,应当注意客户端设备110、112和114仅仅旨在作为例子。换句话说,客户端设备110、112和114也可以包括例如膝上型计算机、平板计算机、手持式计算机、智能手机和个人数字助理。
存储装置108是能够以结构化格式或非结构化格式存储数据的网络存储设备。存储装置108可以提供存储多个不同的客户端设备用户名和关联的识别号;用户配置文件;以及与恶意网络基础设施检测服务关联的用户帐号信息。存储装置108也可以存储恶意网络基础设施检测服务应用程序、服务器域名白名单、搜索引擎、服务器域名搜索结果、可见服务器列表、可见和不可见服务器的二分图、机器学习分类器、服务器网络流量传播链图、群集程序、恶意服务器列表、盗用服务器列表等。此外,存储单元108可以存储其他数据,如认证或凭证数据,其可以包括用户名、密码和与多个用户和系统管理员关联的生物测量数据。应当注意存储单元108可以存储可以由恶意网络基础设施检测服务使用的任何数据。
另外,应当注意网络数据处理系统100可以包括任何数量的附加服务器设备、客户端设备和未显示的其他设备。位于网络数据处理系统100中的程序代码可以存储在计算机可读存储介质上并且下载到计算机或其他数据处理设备以便使用。例如,程序代码可以存储在服务器104上的计算机可读存储介质上并且在网络102上下载到客户端设备110以便在客户端设备110上使用。
在所示的例子中,网络数据处理系统100可以作为许多不同类型的通信网络实现,如因特网、内联网、局域网(LAN)和广域网(WAN)。图1旨在作为例子,并且不作为不同示例性实施例的架构限制。
现在参照图2,根据示例性实施例示出数据处理系统的图示。数据处理系统200是计算机的例子,如图1中的服务器104,执行示例性实施例的过程的计算机可读程序代码或指令可以位于其中。在该示例性例子中,数据处理系统200包括通信光纤202,其提供处理器单元204、存储器206、永久存储装置208、通信单元210、输入/输出(I/O)单元212和显示器214之间的通信。
处理器单元204用于实现可以加载到存储器206中的软件应用程序和程序的指令。取决于特定实现方式,处理器单元204可以是一个或多个硬件处理器设备的集合或者可以是多处理器内核。此外,处理器单元204可以使用一个或多个异构处理器系统实现,其中主处理器与次级处理器一起存在于单个芯片上。作为另一示例性例子,处理器单元204可以是包含相同类型的多个处理器的对称多处理器。
存储器206和永久存储装置208是存储设备216的例子。计算机可读存储设备是能够在瞬时基础和/或永久基础上存储信息的任何硬件,所述信息例如是、而不限于数据、呈函数形式的计算机可读程序代码和/或的其它合适的信息。此外,计算机可读存储设备排除传播介质。在这些例子中存储器206例如可以是随机存取存储器,或任何其他合适的易失性或非易失性存储设备。取决于特定实现方式,永久存储装置208可以采取各种形式。例如,永久存储装置208可以包含一个或多个设备。例如,永久存储装置208可以是硬盘驱动器、闪存、可重写光盘、可重写磁带或以上的一些组合。由永久存储装置208使用的介质可以是可移除的。例如,可移除硬盘驱动器可以用于永久存储装置208。
在该例子中,永久存储装置208存储恶意网络基础设施检测应用程序218。恶意网络基础设施检测应用程序218是基于多个服务器的每一个的可见性和由多个服务器中的一个或多个产生的网络流量重定向链的拓扑识别位于多个服务器的网络中的一个或多个恶意网络基础设施中的恶意服务器的服务的软件程序。在识别网络中的哪些服务器是恶意服务器之后,恶意网络基础设施检测应用程序218可以自动地采取行动,例如,阻止访问那些识别的恶意服务器并且通知网络安全人员或系统管理员确定是否需要进一步的行动,如通知有关当局网络犯罪活动。
通信单元210在该例子中经由网络(如图1中的网络102)提供与其他计算机、数据处理系统和设备的通信。通信单元210可以通过物理和无线通信链接两者的使用提供通信。物理通信链接例如可以使用电线、电缆、通用串行总线或任何其他物理技术以建立数据处理系统200的物理通信链接。无线通信链接例如可以使用短波、高频、超高频、微波、无线保真(Wi-Fi)、蓝牙技术、全球移动通信系统(GSM)、码分多址(CDMA)、第二代(2G)、第三代(3G)、第四代(4G)、4G长期演进(LTE)、LTE升级版或任何其他无线通信技术或标准以建立数据处理系统200的无线通信链接。
输入/输出单元212允许与可以连接到数据处理系统200的其他设备输入和输出数据。例如,输入/输出单元212可以提供连接以便用户通过小键盘、键盘、鼠标和/或一些其他合适的输入设备输入。显示器214提供向用户显示信息的机构并且例如可以包括触摸屏能力以允许用户通过用户界面进行屏上选择或输入数据。
用于操作系统、应用程序和/或程序的指令可以位于存储设备216中,所述存储设备通过通信光纤202与处理器单元204通信。在该示例性例子中,指令在永久存储装置208上呈函数形式。这些指令可以加载到存储器206中以便由处理器单元204运行。不同实施例的过程可以由处理器单元204使用可以位于存储器(如存储器206)中的计算机实现指令执行。这些指令称为可以由处理器单元204中的处理器读取和运行的程序代码、计算机可使用程序代码或计算机可读程序代码。程序代码在不同实施例中可以在不同物理计算机可读存储设备(如存储器206或永久存储装置208)上具体化。
程序代码220以函数形式位于选择性地可移除的计算机可读介质222上并且可以加载或转送到数据处理系统200以便由处理器单元204运行。程序代码220和计算机可读介质222形成计算机程序产品224。在一个例子中,计算机可读介质222可以是计算机可读存储介质226或计算机可读信号介质228。计算机可读存储介质226例如可以包括光盘或磁盘,其插入或置于作为用于转移到存储设备上的永久存储装置208的一部分的驱动器或其他设备中,如作为永久存储装置208的一部分的硬盘驱动器。计算机可读存储介质226也采取连接到数据处理系统200的永久存储装置的形式,如硬盘驱动器、拇指驱动器或闪存。在一些情况下,计算机可读存储介质226可以不从数据处理系统200可移除。
替代地,程序代码220可以使用计算机可读信号介质228传送到数据处理系统200。计算机可读信号介质228例如可以是包含程序代码220的传播数据信号。例如,计算机可读信号介质228可以是电磁信号、光信号和/或任何其他合适类型的信号。这些信号可以通信链接上传输,如无线通信链接、光纤电缆、同轴电缆、电线和/或任何其他合适类型的通信链接。换句话说,通信链接和/或连接在示例性例子中可以是物理的或无线的。计算机可读介质也可以采取非有形介质的形式,如包含程序代码的通信链接或无线传输。
在一些示例性实施例中,程序代码220可以在网络上从另一设备或数据处理系统通过计算机可读信号介质228下载到永久存储装置208以便在数据处理系统200中使用。例如,存储在数据处理系统中的计算机可读存储介质中的程序代码可以在网络上从数据处理系统下载到数据处理系统200。提供程序代码220的数据处理系统可以是服务器计算机、客户端计算机或能够存储和传输程序代码220的某个其他设备。
针对数据处理系统200示出的不同部件不意味着对不同实施例可以实现的方式提供架构限制。可以在包括作为针对数据处理系统200示出的附加或替代的部件的数据处理系统中实现不同的示例性实施例。图2中所示的其他部件可以不同于所示的示例性例子。可以使用能够执行程序代码的任何硬件设备或系统实现不同实施例。作为一个例子,数据处理系统200可以包括与无机部件集成的有机部件和/或完全由排除人的有机部件组成。例如,存储设备可以包括有机半导体。
作为另一例子,数据处理系统200中的计算机可读存储设备是可以存储数据的任何硬件装置。存储器206、永久存储装置208和计算机可读存储介质226是呈有形形式的物理存储设备。
在另一例子中,总线系统可以用于实现通信光纤202并且可以包括一个或多个总线,如系统总线或输入/输出总线。当然,可以使用提供附连到总线系统的不同部件或设备之间的数据的传送的任何合适类型的架构实现总线系统。另外,通信单元可以包括用于传输和接收数据的一个或多个设备,如调制解调器或网络适配器。此外,存储器例如可以是存储器206或诸如在可以存在于通信光纤202中的接口和存储器控制器集线器中出现的高速缓冲存储器。
在开发示例性实施例的过程中,发现网络罪犯利用恶意网络基础设施经由服务器网络流量重定向(server network traffic redirection)使他们的犯罪活动产业化,并且在他们的恶意网络基础设施中与其他网络罪犯共享资源。恶意网络基础设施已成为网络罪犯在全球范围内传递他们的恶意网络内容(例如,钓鱼网页)、利用将恶意有效载荷传递到受害者的计算机以盗取信息的工具包和利用计算机脆弱性和其他类型的恶意软件的主要媒介之一。为了避免检测,这些网络罪犯常常利用盗用善意网络服务器作为垫脚石将那些盗用善意网络服务器的访问者的网络流量可能通过多个驿站重定向到托管恶意网络内容的恶意服务器。而且,这些网络罪犯也利用各种其他方法来隐藏他们的恶意服务器免于检测,例如通过域名生成和快速通量。快速通量是用于将钓鱼和恶意软件传递网站隐藏在用作代理服务器的盗用服务器的不断变化的网络背后的域名系统技术。快速通量背后的基本思想是将多个因特网协议(IP)地址与单个注册域名关联,其中通过改变域名系统记录以高频率换入和换出IP地址。所以,关键是识别这些恶意网络基础设施的永久特征和性质以抵御这样的动态构造。
现有的解决方案通过分析恶意活动在每个攻击通道处如何操作(例如,欺骗托管基础设施和恶意广告网络)研究这些恶意网络基础设施。例如,现有的解决方案研究恶意网络基础设施的拓扑。这些现有的解决方案由于需要识别的恶意服务器的初始集合以将传播播种到服务器拓扑图上从而找到更多的恶意服务器而受到限制。
在检测恶意网络服务器方面,现有的解决方案分为两类:1)基于静态特征的检测;和2)基于动态特征的检测。基于静态特征的系统分析网页的内容并且提取特征,如统一资源定位器(URL)模式,某些危险标记或函数的存在,或恶意JavaScript代码的存在,其可以用于将恶意网页与善意网页区分。在另一方面,基于动态特征的系统用插装浏览器访问网站并且监测恶意网络活动的标志的所有运行时跟踪。尽管那些现有的解决方案可以检测恶意网络服务器,但是网络罪犯正在演进并且越来越多地采用各种手段(如模糊、隐匿等)来规避检测。例如,现有的解决方案从服务器重定向行为提取特征以检测恶意网络基础设施,包括网络流量重定向链长度、不同转介域、国家相似性等。然而,这些提取特征可以容易地由网络罪犯操纵。例如转介域可以由网络罪犯任意地设置并且可以通过在链的中间增加更多的盗用善意服务器改变网络流量重定向链的长度。另外,这些现有的解决方案也依赖于客户端特征,例如由客户端使用的浏览器的多样性和客户端所处的国家的多样性。这些现有的解决方案需要从大量客户端收集的信息并且当应用于企业网时是低效的。
相比之下,示例性实施例可以部署在企业网和因特网服务提供商(ISP)网络中,并且可以检测恶意网络基础设施,即使仅仅少量的客户端访问恶意网络基础设施。示例性实施例从新的视角利用恶意网络基础设施的永久特征和性质,其允许恶意网络基础设施的自动检测而不需要任何种子恶意网络服务器。示例性实施例通过影响网络中的服务器的可见性和服务器网络流量重定向链的拓扑检测恶意网络基础设施的这样的固有特征和性质。另外,示例性实施例使用服务器网络流量传播链来识别更多的恶意网络服务器和盗用善意网络服务器。
示例性实施例基于对搜索引擎的服务器可见性和可见服务器和不可见服务器之间的网络流量重定向链的拓扑检测恶意网络基础设施。尽管善意服务器通常是可见的并且可以通过使用搜索引擎搜索被发现,但是多数恶意服务器对于搜索引擎是不可见的,原因是网络罪犯可能有目的地阻止搜索引擎以防止可搜索或者原因是搜索引擎可能从它们的索引有意地移除恶意服务器以保护最终用户。更重要地,可见服务器和不可见服务器之间的网络流量重定向行为明显不同于恶意服务器之间的网络流量重定向行为。示例性实施例识别网络流量重定向链中的可见服务器到不可见服务器过渡的若干明显特征以精确地检测恶意网络基础设施中的恶意服务器并且生成服务器网络流量传播链图以识别检测到的恶意网络基础设施中的更多的盗用善意服务器和恶意服务器。
另外,示例性实施例减小需要分析以检测恶意服务器的网络流量的量,原因是示例性实施例仅仅分析网络中的可见服务器和不可见服务器之间的网络流量重定向,而不是分析整个重定向链的网络流量。因此,示例性实施例比现有的解决方案更高效并且适合于大企业网。此外,示例性实施例可以检测恶意网络基础设施,即使仅仅有少量的客户端访问恶意网络基础设施,而现有的解决方案需要大量和多样的客户端访问恶意网络基础设施。此外,在这些服务器由例如使用网络服务器的黑名单的现有的解决方案检测到之前,示例性实施例可以主动地识别隐藏恶意网络服务器和盗用善意网络服务器。
示例性实施例可以包括三个主要部件:1)服务器可见性检验部件;2)恶意基础设施检测部件;和3)恶意基础设施服务器传播链检测部件。服务器可见性检验部件自动地检验网络服务器白名单以确定网络中的每个网络服务器的二级域名是否位于一个或多个白名单中。白名单例如可以包括Alexa前100万服务器列表和EasyList服务器列表,原因是这些白名单包含多数已知的和流行的网络服务器域名。如果网络服务器位于白名单中,服务器可见性检验部件将网络服务器识别为可见服务器。如果在搜索的白名单的任何一个中未发现网络服务器,则服务器可见性检验部件将针对网络服务器域名查询搜索引擎的集合(如Google,Bing,Yahoo!,和Baidu)。服务器可见性检验部件例如可以选择来自搜索结果的前50域名。如果在搜索结果域名列表中发现在白名单中未发现的网络服务器,服务器可见性检验部件将网络服务器识别为可见服务器。如果在搜索结果域名列表中也未发现在白名单中未发现的网络服务器,服务器可见性检验部件将网络服务器识别为不可见服务器。
恶意基础设施检测部件确定从可见服务器到不可见服务器的网络流量重定向中所包括的网络服务器的所有对并且基于确定的网络流量重定向信息构建可见服务器和不可见服务器的二分图。首先,基于服务器可见性检验的结果,恶意基础设施检测部件将网络中的所有识别的服务器分类为可见服务器或不可见服务器。然后,恶意基础设施检测部件确定从可见服务器到不可见服务器的网络流量重定向链中所包括的二分图中的服务器顶点和边缘。对于网络流量重定向链中所包括的二分图中的每个边缘,恶意基础设施检测部件提取基于图的特征,例如,每个不可见服务器的出度,每个不可见服务器的入度,和网络流量重定向链中所包括的每个不可见服务器的出度和入度之间的比率。出度(out-degree)是离开特定服务器顶点的定向边缘的数量。入度(in-degree)是进入特定服务器顶点的定向边缘的数量。
另外,对于网络流量重定向链中所包括的二分图中的每个边缘,恶意基础设施检测部件也提取基于距离的特征,例如,可见服务器的每一个的IP地址号码之间的距离,不可见服务器的每一个之间的域名注册信息的差异,和不可见服务器的每一个之间的物理位置的距离。其后,恶意基础设施检测部件将提取的基于图的特征和提取的基于距离的特征输入针对已知恶意网络基础设施训练的机器学习分类器(例如,J48决策树算法)中以检测可见服务器顶点和不可见服务器顶点之间的恶意边缘。恶意基础设施检测部件使用可见服务器顶点和不可见服务器顶点之间的检测到的恶意边缘来识别恶意网络基础设施中的恶意服务器。
恶意基础设施服务器传播链检测部件构建网络流量传播链图并且然后将服务器的恶意评分传播到图上以基于它们与由恶意基础设施检测部件识别为恶意服务器的识别的恶意服务器的相关性识别附加的恶意服务器。首先,恶意基础设施服务器传播链检测部件构建通过基于重定向关系的重定向(例如,HTTP重定向、JavaScript重定向和Iframe重定向)访问的不可见服务器的网络流量传播链图。对于通过直接客户端设备访问进行访问的不可见服务器,恶意基础设施服务器传播链检测部件运行群集程序以分组共用某些特征(例如,共同或类似的IP地址,共同或类似的Whois信息,或共同或类似的访问客户端IP地址)的不可见服务器。Whois是用于查询对应于因特网资源(例如,域名、IP地址块和其他类似资源)的注册用户或受托人的数据库存储信息的查询和应答协议。然后,恶意基础设施服务器传播链检测部件生成相同群集中的那些不可见服务器之间的关系并且通过增加表示新关系的新边缘扩增网络流量传播链图。例如,如果两个不可见服务器共用类似的IP地址、Whois信息或访问客户端IP地址,恶意基础设施服务器传播链检测部件将增加那两个不可见服务器之间的边缘。
在构建网络流量传播链图之后,恶意基础设施服务器传播链检测部件针对网络流量传播链图中的每个服务器分配恶意评分(Smal)并且生成可见性评分(Svis)。对于由恶意基础设施检测部件检测为恶意服务器的每个服务器,恶意基础设施服务器传播链检测部件分配1的恶意评分(Smal=1)。对于所有其他服务器,恶意基础设施服务器传播链检测部件分配0的恶意评分(Smal=0)。恶意基础设施服务器传播链检测部件使用以下方程生成作为连接的不可见服务器的数量上的连接的可见服务器的数量的可见性评分:
然后,恶意基础设施服务器传播链检测部件将分配的恶意评分和生成的可见性评分注释到网络流量传播链图的相应服务器顶点上。其后,恶意基础设施服务器传播链检测部件将服务器顶点的恶意评分和可见性评分迭代地传播到相邻服务器顶点并且重新计算相邻服务器顶点的恶意评分和可见性评分。在评分传播到相邻服务器顶点的若干迭代之后,图将获得稳定状态,服务器顶点的新的恶意和可见性评分变化很小或根本不变化。对于其新的恶意评分大于预定恶意评分阈值(α)并且其新的可见性评分小于预定可见性评分阈值(β)的那些不可见服务器,恶意基础设施服务器传播链检测部件将那些不可见服务器识别为恶意服务器。对于其新的恶意评分大于预定恶意评分阈值(α)并且其新的可见性评分小于预定可见性评分阈值(β)的那些可见服务器,恶意基础设施服务器传播链检测部件将那些可见服务器识别为盗用服务器。
现在参照图3,根据示例性实施例示出恶意网络基础设施检测应用程序的部件的例子的图示。恶意网络基础设施检测应用程序300例如可以是图2中的恶意网络基础设施检测应用程序218。在该例子中,恶意网络基础设施检测应用程序300包括服务器可见性检验部件302、恶意基础设施检测部件304和恶意基础设施服务器传播链检测部件306。然而,应当注意恶意网络基础设施检测应用程序300可以包括比所示的更多或更少的部件。例如,一个或多个部件可以组合成一个部件。而且,恶意网络基础设施检测应用程序300的一个或多个部件可以在一个或多个计算机或数据处理系统中实现。
服务器可见性检验部件302自动地确定网络中的每个识别的服务器是可见服务器还是不可见服务器。可见服务器是由客户端设备直接访问并且对于访问客户端设备可见的网络服务器。不可见服务器是典型地由客户端设备经由可见服务器间接访问并且对于访问客户端设备不可见的网络服务器。然而,有时客户端设备可以直接访问不可见服务器。
在该例子中,服务器可见性检验部件302包括服务器白名单检验器308、搜索引擎的集合310、可见服务器的列表312和不可见服务器的列表314。首先,服务器可见性检验部件302使用服务器白名单检验器308确定服务器是否在服务器域名白名单的集合316上列出。服务器域名白名单的集合316可以存储在服务器可见性检验部件302中或者可以存储在一个或多个远程服务器设备上。服务器域名白名单的集合316是包含确定为善意或安全(即,非恶意)的服务器的域名的列表的一个或多个白名单的集合。如果服务器可见性检验部件302在服务器域名白名单的集合316中定位服务器,则服务器可见性检验部件302将该服务器识别为可见服务器并且将该服务器放置在可见服务器的列表312中。
如果服务器可见性检验部件302未在服务器域名白名单的集合316中定位特定服务器,则服务器可见性检验部件302使用搜索引擎的集合310以针对服务器的域名进行网络搜索。搜索引擎的集合310是生成服务器域名搜索结果的集合318的一个或多个网络搜索引擎的集合。服务器域名搜索结果的集合318是包含确定为善意或安全的服务器的域名的一个或多个网络搜索结果的集合。
如果服务器可见性检验部件302未在服务器域名白名单的集合316中定位特定服务器,但是在服务器域名搜索结果的集合318中定位该特定服务器,则服务器可见性检验部件302将该特定服务器识别为可见服务器并且将该特定服务器放置在可见服务器的列表312中。如果服务器可见性检验部件302未在服务器域名白名单的集合316中定位特定服务器并且未在服务器域名搜索结果的集合318中定位该特定服务器,则服务器可见性检验部件302将该特定服务器识别为不可见服务器并且将该特定服务器放置在不可见服务器的列表314中。
恶意基础设施检测部件304识别网络中的一个或多个恶意网络基础设施中的恶意服务器。在该例子中,恶意基础设施检测部件304包括二分图320和机器学习分类器322。恶意基础设施检测部件304使用由服务器可见性检验部件302生成的可见服务器的列表312和不可见服务器的列表314生成二分图320。二分图是其顶点可以分成两个不相交集合(即,可见服务器的集合和不可见服务器的集合)的图。在图4中示出二分图的例子。
在生成可见服务器顶点和不可见服务器顶点的二分图320之后,恶意基础设施检测部件304在二分图320中确定网络流量重定向链图中所包括的从可见服务器到不可见服务器的定向边缘。对于网络流量重定向链图中所包括的每个边缘,恶意基础设施检测部件304提取网络流量重定向链图中所包括的每个不可见服务器的基于图的特征,例如,出度,入度,和出度和入度之间的比率。另外,对于网络流量重定向链图中所包括的每个边缘,恶意基础设施检测部件304也提取网络流量重定向链图中所包括的每个不可见服务器的基于距离的特征,例如,IP地址号码(number)之间的距离,域名注册信息的差异,和物理位置的距离。
在提取网络流量重定向链图中所包括的不可见服务器的基于图和基于距离的特征之后,恶意基础设施检测部件304将提取的基于图和基于距离的特征(即,分类器输入324)输入机器学习分类器322中。机器学习分类器322例如可以是针对已知恶意网络基础设施训练的决策树算法。机器学习分类器322基于分类器输入324检测网络流量重定向链图中所包括的可见服务器顶点和不可见服务器顶点之间的恶意边缘。使用网络流量重定向链图中所包括的可见服务器顶点和不可见服务器顶点之间的检测到的恶意边缘,恶意基础设施检测部件304能够识别恶意服务器。
恶意基础设施服务器传播链检测部件306基于它们与先前由恶意基础设施检测部件304识别为恶意的服务器的相关性识别附加的恶意服务器。首先,恶意基础设施服务器传播链检测部件306使用通过重定向访问的不可见服务器的关系生成服务器网络流量传播链图326。对于通过直接客户端设备访问进行访问的不可见服务器,恶意基础设施服务器传播链检测部件306运行群集过程328以分组共用共同或相似特征(例如,IP地址,Whois信息,或客户端IP地址)的不可见服务器。在运行群集过程328之后,恶意基础设施服务器传播链检测部件306生成相同群集中的那些不可见服务器之间的关系并且通过增加表示新关系的新边缘扩增服务器网络流量传播链图326。
此外,恶意基础设施服务器传播链检测部件306针对网络流量重定向链中所包括的每个服务器分配恶意评分并且生成可见性评分。对于先前由恶意基础设施检测部件304识别为恶意的每个服务器,恶意基础设施服务器传播链检测部件306分配1的恶意评分。对于先前未识别为恶意的所有其他服务器,恶意基础设施服务器传播链检测部件306分配0的恶意评分。恶意基础设施服务器传播链检测部件306针对网络流量重定向链中所包括的每个服务器生成作为连接的不可见服务器的数量上的连接的可见服务器的数量的可见性评分。每个服务器的可见性评分可以存储在可见性评分332中。
其后,恶意基础设施服务器传播链检测部件306将分配的恶意评分和生成的可见性评分增加到服务器网络流量传播链图326中的每个相应服务器顶点。其后,恶意基础设施服务器传播链检测部件306将服务器顶点的恶意评分和可见性评分传播到相邻服务器顶点并且重新计算相邻服务器顶点的相应恶意评分和可见性评分。在将恶意和可见性评分迭代地传播到相邻服务器顶点之后,恶意基础设施服务器传播链检测部件306将具有大于恶意评分阈值334的新恶意评分并且具有小于可见性评分阈值336的新可见性评分的不可见服务器识别为恶意并且将那些不可见服务器增加到恶意服务器列表338。恶意基础设施服务器传播链检测部件306将具有大于恶意评分阈值334的新恶意评分并且具有小于可见性评分阈值336的新可见性评分的可见服务器识别为盗用并且将那些可见服务器增加到盗用服务器列表340。
现在参照图4,根据示例性实施例示出二分图的例子的图示。二分图400将网络中的多个服务器的每个服务器放置在服务器的两个不同集合中的一个中。服务器的一个集合是可见服务器402并且服务器的另一个集合是不可见服务器404。
在该例子中,可见服务器1 406和可见服务器2 408包括在服务器网络流量重定向链中。例如,可见服务器1 406将网络流量重定向到不可见服务器3 410,该不可见服务器将网络流量重定向到不可见服务器4 412,该不可见服务器又将网络流量重定向到不可见服务器5 414。类似地,可见服务器2 408将网络流量重定向到不可见服务器3 410,该不可见服务器将网络流量重定向到不可见服务器4 412,该不可见服务器又将网络流量重定向到不可见服务器5 414。另外,可见服务器2 408将其他网络流量重定向到不可见服务器6416。恶意基础设施检测部件(如图3中的恶意基础设施检测部件304)通过针对特定网络流量重定向链中所包括的每个不可见服务器提取基于图的特征和基于距离的特征分析网络流量重定向链中所包括的可见服务器和不可见服务器之间的关系。在该例子中,不可见服务器3 410的基于图的特征是1的出度,2的入度,和0.5的出度和入度之间的比率。
现在参照图5,根据示例性实施例示出机器学习分类器输入的具体例子。机器学习分类器输入500例如可以是图3中的分类器输入320。机器学习分类器输入500输入到机器学习分类器(例如,图3中的机器学习分类器322)中。在该例子中,机器学习分类器输入500包括格式502和例子504。
格式502表示机器学习分类器输入500的例子格式。在该例子中,格式是关系、出度、入度、出度和入度之间的比率、IP距离、注册信息距离和物理位置距离。然而,应当注意示例性实施例也可以使用其他格式。
使用格式502和来自图4的例子,例子504包括“visible_server_1→invisible_server_3”的关系,“1”的出度,“2”的入度,“0.5”的出度和入度之间的比率,“假”的IP距离,“假”的注册信息距离,和“假”的物理位置距离。在该例子中,假表示不相关并且真表示相关。例如,可见服务器1和不可见服务器3之间的IP地址距离分开太远以致于不能被认为相关。
现在参照图6,根据示例性实施例示出传播图生成过程的例子的图示。传播图生成过程600是用于生成服务器网络流量传播链图(例如,图3中的服务器网络流量传播链图322)的过程。在该例子中,传播图生成过程600包括生成来自网络跟踪的服务器的图602,生成基于重定向的服务器网络流量图604,和最后生成服务器网络流量传播链图606。
来自网络跟踪的服务器的图602是由服务器可见性检验部件(如图3中的服务器可见性检验部件302)生成的可见服务器和不可见服务器的二分图(如图4中的二分图400)。基于重定向的服务器网络流量图604是显示基于通过服务器重定向的访问608的服务器之间的边缘的图。服务器网络流量传播链图606是显示基于通过直接客户端访问的访问610的边缘的图。
现在参照图7,根据示例性实施例显示示出用于将网络中的服务器识别为可见服务器或不可见服务器的过程的流程图。图7中所示的过程可以在计算机(如图2中的数据处理系统200)中实现。
过程开始于计算机自动地搜索服务器域名白名单的集合以确定网络中的多个识别的服务器中的服务器是否在服务器域名白名单的集合中列出(步骤702)。计算机可以使用服务器白名单检验器部件(如图3中的服务器白名单检验器308)来搜索服务器域名白名单的集合(如图3中的服务器域名白名单的集合318)。另外,计算机查询搜索引擎的集合以确定网络中的多个识别的服务器中的服务器是否在服务器域名搜索结果中列出(步骤704)。搜索引擎的集合例如可以是图3中的搜索引擎的集合310。服务器域名搜索结果例如可以是图3中的服务器域名搜索结果的集合318。
其后,计算机关于网络中的多个识别的服务器中的服务器是否在服务器域名白名单的集合中列出做出确定(步骤706)。如果计算机确定网络中的多个识别的服务器中的服务器未在服务器域名白名单的集合中列出,步骤706输出否,则计算机关于网络中的多个识别的服务器中的服务器是否在服务器域名搜索结果中列出做出确定(步骤708)。如果计算机确定网络中的多个识别的服务器中的服务器未在服务器域名搜索结果中列出,步骤708输出否,则计算机将未在服务器域名白名单的集合中列出并且未在服务器域名搜索结果中列出的多个识别的服务器中的服务器识别为不可见服务器(步骤710)。计算机将未在服务器域名白名单的集合中列出并且未在服务器域名搜索结果中列出的服务器增加到不可见服务器列表(如图3中的不可见服务器的列表314)(步骤712)。其后,过程结束。
再次返回步骤706,如果计算机确定网络中的多个识别的服务器中的服务器在服务器域名白名单的集合中列出,步骤706输出是,则计算机将在服务器域名白名单的集合和服务器域名搜索结果中的至少一个中列出的多个识别的服务器中的服务器识别为可见服务器(步骤714)。计算机然后将在服务器域名白名单的集合和服务器域名搜索结果中的至少一个中列出的服务器增加到可见服务器列表(如图3中的可见服务器的列表312)(步骤716)。其后,过程结束。
再次返回步骤708,如果计算机确定网络中的多个识别的服务器中的服务器在服务器域名搜索结果中列出,步骤708输出是,则过程进入步骤714,其中计算机将服务器识别为可见服务器,并且在步骤716将服务器增加到可见服务器列表,其后过程结束。
现在参照图8A和8B,根据示例性实施例显示示出用于识别网络中的恶意服务器的过程的流程图。图8A和8B中所示的过程可以在计算机(如图2中的数据处理系统200)中实现。
过程开始于计算机生成网络中的多个识别的服务器中的可见服务器和不可见服务器的二分图(步骤802)。二分图例如可以是图4中的二分图400。计算机基于在可见服务器列表或不可见服务器列表中的一个中定位每个服务器将网络中的多个识别的服务器中的每个服务器放置在可见服务器和不可见服务器的二分图中(步骤804)。计算机也分析二分图中的网络中的从可见服务器到不可见服务器的网络流量重定向链(步骤806)。
其后,由计算机基于分析识别对应于从可见服务器到不可见服务器的网络流量重定向链中所包括的二分图中的可见服务器和不可见服务器的服务器顶点的集合(步骤808)。然后,对于对应于网络流量重定向链中所包括的二分图中的可见服务器和不可见服务器的服务器顶点之间的每个边缘,计算机确定对应于网络流量重定向链中所包括的不可见服务器顶点的每一个的二分图中的基于图的特征和对应于网络流量重定向链中所包括的不可见服务器顶点的每一个的基于距离的特征(步骤810)。
随后,计算机将对应于网络流量重定向链中所包括的不可见服务器顶点的每一个的二分图中的确定的基于图的特征和对应于网络流量重定向链中所包括的不可见服务器顶点的每一个的确定的基于距离的特征输入到机器学习分类器中(步骤812)。机器学习分类器例如可以是图3中的机器学习分类器322。计算机使用机器学习分类器基于输入到机器学习分类器中的对应于网络流量重定向链中所包括的不可见服务器顶点的每一个的二分图中的确定的基于图的特征和对应于网络流量重定向链中所包括的不可见服务器顶点的每一个的确定的基于距离的特征确定对应于网络流量重定向链中所包括的可见服务器和不可见服务器的服务器顶点之间的恶意边缘(步骤814)。
计算机然后基于对应于网络流量重定向链中所包括的可见服务器和不可见服务器的服务器顶点之间的确定的恶意边缘识别对应于网络流量重定向链中所包括的不可见服务器的二分图中的恶意服务器顶点(步骤816)。此外,计算机阻止访问对应于二分图中的识别的恶意服务器顶点的恶意服务器(步骤818)。计算机也关于阻止访问恶意服务器将警报发送到网络安全以便采取可能的进一步行动(步骤820)。其后,过程结束。
现在参照图9,根据示例性实施例显示示出用于将识别的恶意服务器的恶意和可见性评分传播到相邻的不可见服务器以基于它们与识别的恶意服务器的相关性识别附加的恶意服务器的过程的流程图。图9中所示的过程可以在计算机(如图2中的数据处理系统200)中实现。
过程开始于计算机基于不可见服务器之间的所有网络流量重定向关系生成包括经由网络流量重定向访问的每个不可见服务器的传播图(步骤902)。另外,计算机基于经由直接客户端访问进行访问的那些不可见服务器之间的共用的共同特征将经由直接客户端访问进行访问的那些不可见服务器群集到不同组中(步骤904)。此外,计算机生成相同组中的经由直接客户端访问进行访问的那些不可见服务器之间的关系(步骤906)。
其后,计算机增加相同组中的具有生成的关系的那些不可见服务器之间的边缘(步骤908)。计算机也将恶意评分分配给先前已由机器学习分类器(如图3中的机器学习分类器322)识别为恶意服务器的那些不可见服务器(步骤910)。此外,计算机生成先前已由机器学习分类器识别为恶意服务器的那些不可见服务器的可见性评分(步骤912)。
随后,计算机将分配的恶意评分和生成的可见性评分增加到传播图中的相应的服务器顶点(步骤914)。另外,计算机将相应的服务器顶点的分配的恶意评分和生成的可见性评分传播到传播图中的相邻服务器顶点(步骤916)。然后,计算机基于传播恶意和可见性评分生成传播图中的相邻服务器顶点的每一个的新恶意评分和新可见性评分(步骤918)。其后,计算机将对应于具有大于预定恶意评分阈值的生成的新恶意评分并且具有小于预定可见性评分阈值的生成的新可见性评分的传播图中的服务器顶点的每个服务器识别为恶意服务器(步骤920)。其后,过程结束。
因此,示例性实施例提供基于网络服务器的可见性和网络服务器的网络流量重定向链的拓扑识别恶意网络基础设施中的恶意服务器的计算机实现方法、计算机系统和计算机程序产品。本发明的各种实施例的描述为了举例说明而提出,并且不旨在是穷举的或限制到所公开的实施例。许多修改和变化对于本领域普通技术人员来说将是显而易见的而不脱离所述的实施例的范围和精神。本文中使用的术语选择为最佳地解释实施例的原理、实际应用或优于市场中发现的技术的技术改进,或者使本领域的其他普通技术人员能够理解这里公开的实施例。
图中的流程图和方框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能性和操作。在这方面,流程图或方框图中的每个方框可以表示包括用于实现(一个或多个)指定逻辑功能的一个或多个可执行指令的模块、段或代码的一部分。也应当注意在一些替代的实现方式中,方框中所述的功能可以不按照图中所述的顺序发生。例如,取决于所涉及的功能性,连续显示的两个方框实际上可以基本同时执行,或者方框有时可以按照相反顺序执行。也将注意方框图和/或流程图的每个方框和方框图和/或流程图的方框的组合可以由执行指定功能或动作的专用的基于硬件的系统或专用硬件和计算机指令的组合实现。

Claims (16)

1.一种用于识别恶意服务器的计算机实现方法,所述计算机实现方法包括:
由计算机搜索服务器域名白名单的集合以确定网络中的多个识别的服务器中的服务器是否在服务器域名白名单的集合中列出;
由所述计算机查询搜索引擎的集合以确定网络中的多个识别的服务器中的服务器是否在服务器域名搜索结果中列出;
响应所述计算机确定网络中的多个识别的服务器中的服务器未在服务器域名白名单的集合中列出并且未在服务器域名搜索结果中列出,由所述计算机将所述服务器识别为不可见服务器,并且由所述计算机将所述服务器增加到不可见服务器列表;
响应所述计算机确定网络中的多个识别的服务器中的服务器在服务器域名白名单的集合和服务器域名搜索结果中的至少一个中列出,由所述计算机将多个识别的服务器中的服务器识别为可见服务器,并且由所述计算机将所述服务器增加到可见服务器列表;
由所述计算机基于在可见服务器列表或不可见服务器列表中定位每个服务器,将网络中的多个识别的服务器中的每个服务器放置在二分图中;
由所述计算机基于与网络流量重定向链中所包括的可见和不可见服务器顶点对应的二分图中的确定的基于图的特征、和与网络流量重定向链中所包括的不可见服务器顶点对应的确定的基于距离的特征,确定与网络流量重定向链中所包括的可见服务器和不可见服务器对应的服务器顶点之间的恶意边缘;
由所述计算机基于与网络流量重定向链中所包括的可见服务器和不可见服务器对应的服务器顶点之间的确定的恶意边缘,识别所述二分图中的恶意服务器顶点;以及
由所述计算机阻止客户端设备访问与所述二分图中的识别的恶意服务器顶点对应的恶意服务器。
2.根据权利要求1所述的计算机实现方法,其还包括:
由所述计算机将与网络流量重定向链中所包括的不可见服务器顶点对应的二分图中的确定的基于图的特征、和与网络流量重定向链中所包括的不可见服务器顶点对应的确定的基于距离的特征输入到机器学习分类器中。
3.根据权利要求2所述的计算机实现方法,其中所述确定的基于图的特征是网络流量重定向链中所包括的每个不可见服务器的出度、入度和出度和入度之间的比率。
4.根据权利要求2所述的计算机实现方法,其中所述确定的基于距离的特征是不可见服务器的每一个的IP地址号码之间的距离,不可见服务器的每一个之间的域名注册信息的差异,和不可见服务器的每一个之间的物理位置的距离。
5.根据权利要求1所述的计算机实现方法,其还包括:
由所述计算机将恶意评分分配给识别为恶意的那些不可见服务器。
6.根据权利要求5所述的计算机实现方法,其还包括:
由所述计算机为识别为恶意的那些不可见服务器生成可见性评分。
7.根据权利要求6所述的计算机实现方法,其还包括:
由所述计算机将分配的恶意评分和生成的可见性评分增加到服务器网络流量传播链图中的相应的服务器顶点;以及
由所述计算机将相应的服务器顶点的分配的恶意评分和生成的可见性评分传播到服务器网络流量传播链图中的相邻的不可见服务器顶点。
8.根据权利要求7所述的计算机实现方法,其还包括:
由所述计算机基于恶意和可见性评分的传播,为服务器网络流量传播链图中的相邻的服务器顶点的每一个生成新恶意评分和新可见性评分;以及
由所述计算机将与具有大于预定恶意评分阈值的生成的新恶意评分、并且具有小于预定可见性评分阈值的生成的新可见性评分的传播图中的服务器顶点对应的每个服务器识别为恶意服务器。
9.一种用于识别恶意服务器的计算机系统,所述计算机系统包括:
总线系统;
连接到所述总线系统的存储设备,其中所述存储设备存储程序指令;以及
连接到所述总线系统的处理器,其中所述处理器执行所述程序指令以:
搜索服务器域名白名单的集合以确定网络中的多个识别的服务器中的服务器是否在服务器域名白名单的集合中列出;
查询搜索引擎的集合以确定网络中的多个识别的服务器中的服务器是否在服务器域名搜索结果中列出;
响应确定网络中的多个识别的服务器中的服务器未在服务器域名白名单的集合中列出并且未在服务器域名搜索结果中列出,将所述服务器识别为不可见服务器,并且将所述服务器增加到不可见服务器列表;
响应确定网络中的多个识别的服务器中的服务器在服务器域名白名单的集合和服务器域名搜索结果中的至少一个中列出,将多个识别的服务器中的服务器识别为可见服务器,并且将所述服务器增加到可见服务器列表;
基于在可见服务器列表或不可见服务器列表中定位每个服务器,将网络中的多个识别的服务器中的每个服务器放置在二分图中;
基于与网络流量重定向链中所包括的可见和不可见服务器顶点对应的二分图中的确定的基于图的特征、和与网络流量重定向链中所包括的不可见服务器顶点对应的确定的基于距离的特征,确定与网络流量重定向链中所包括的可见服务器和不可见服务器对应的服务器顶点之间的恶意边缘;
基于与网络流量重定向链中所包括的可见服务器和不可见服务器对应的服务器顶点之间的确定的恶意边缘,识别所述二分图中的恶意服务器顶点;以及
阻止客户端设备访问与所述二分图中的识别的恶意服务器顶点对应的恶意服务器。
10.一种用于识别恶意服务器的计算机系统,所述计算机系统包括具有在其上记载程序指令的计算机可读存储介质,所述程序指令由计算机可执行以导致所述计算机实现方法,所述方法包括:
由所述计算机搜索服务器域名白名单的集合以确定网络中的多个识别的服务器中的服务器是否在服务器域名白名单的集合中列出;
由所述计算机查询搜索引擎的集合以确定网络中的多个识别的服务器中的服务器是否在服务器域名搜索结果中列出;
响应所述计算机确定网络中的多个识别的服务器中的服务器未在服务器域名白名单的集合中列出并且未在服务器域名搜索结果中列出,由所述计算机将所述服务器识别为不可见服务器,并且由所述计算机将所述服务器增加到不可见服务器列表;
响应所述计算机确定网络中的多个识别的服务器中的服务器在服务器域名白名单的集合和服务器域名搜索结果中的至少一个中列出,由所述计算机将多个识别的服务器中的服务器识别为可见服务器,并且由所述计算机将所述服务器增加到可见服务器列表;
由所述计算机基于在可见服务器列表或不可见服务器列表中定位每个服务器,将网络中的多个识别的服务器中的每个服务器放置在二分图中;
由所述计算机基于与网络流量重定向链中所包括的可见和不可见服务器顶点对应的二分图中的确定的基于图的特征、和与网络流量重定向链中所包括的不可见服务器顶点对应的确定的基于距离的特征,确定与网络流量重定向链中所包括的可见服务器和不可见服务器对应的服务器顶点之间的恶意边缘;
由所述计算机基于与网络流量重定向链中所包括的可见服务器和不可见服务器对应的服务器顶点之间的确定的恶意边缘,识别所述二分图中的恶意服务器顶点;以及
由所述计算机阻止客户端设备访问与所述二分图中的识别的恶意服务器顶点对应的恶意服务器。
11.根据权利要求10所述的计算机系统,其还包括:
由所述计算机将与网络流量重定向链中所包括的不可见服务器顶点对应的二分图中的确定的基于图的特征、和与网络流量重定向链中所包括的不可见服务器顶点对应的确定的基于距离的特征输入到机器学习分类器中。
12.根据权利要求11所述的计算机系统,其中所述确定的基于图的特征是网络流量重定向链中所包括的每个不可见服务器的出度、入度和出度和入度之间的比率。
13.根据权利要求11所述的计算机系统,其中所述确定的基于距离的特征是不可见服务器的每一个的IP地址号码之间的距离,不可见服务器的每一个之间的域名注册信息的差异,和不可见服务器的每一个之间的物理位置的距离。
14.根据权利要求10所述的计算机系统,其还包括:
由所述计算机将恶意评分分配给识别为恶意的那些不可见服务器。
15.根据权利要求14所述的计算机系统,其还包括:
由所述计算机为识别为恶意的那些不可见服务器生成可见性评分。
16.根据权利要求15所述的计算机系统,其还包括:
由所述计算机将分配的恶意评分和生成的可见性评分增加到服务器网络流量传播链图中的相应的服务器顶点;以及
由所述计算机将相应的服务器顶点的分配的恶意评分和生成的可见性评分传播到服务器网络流量传播链图中的相邻的不可见服务器顶点。
CN201610122518.1A 2015-03-06 2016-03-04 识别恶意网络基础设施 Active CN105938531B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/640,658 2015-03-06
US14/640,658 US9571518B2 (en) 2015-03-06 2015-03-06 Identifying malicious web infrastructures

Publications (2)

Publication Number Publication Date
CN105938531A CN105938531A (zh) 2016-09-14
CN105938531B true CN105938531B (zh) 2018-10-19

Family

ID=56849994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610122518.1A Active CN105938531B (zh) 2015-03-06 2016-03-04 识别恶意网络基础设施

Country Status (2)

Country Link
US (1) US9571518B2 (zh)
CN (1) CN105938531B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967273B2 (en) * 2015-06-15 2018-05-08 Microsoft Technology Licensing, Llc. Abusive traffic detection
US10382478B2 (en) * 2016-12-20 2019-08-13 Cisco Technology, Inc. Detecting malicious domains and client addresses in DNS traffic
US10783239B2 (en) * 2017-08-01 2020-09-22 Pc Matic, Inc. System, method, and apparatus for computer security
CN113572721B (zh) * 2020-04-29 2023-03-21 深信服科技股份有限公司 一种异常访问检测方法、装置、电子设备及存储介质
CN112887307A (zh) * 2021-01-26 2021-06-01 山西三友和智慧信息技术股份有限公司 一种恶意web基础设施检测方法
CN113411306A (zh) * 2021-05-14 2021-09-17 郑州埃文计算机科技有限公司 一种基于数据挖掘的ip使用者发现方法
US11582247B1 (en) * 2022-04-19 2023-02-14 Palo Alto Networks, Inc. Method and system for providing DNS security using process information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078835A (zh) * 2011-10-03 2013-05-01 卡巴斯基实验室封闭式股份公司 用于限制到计算机网络中有害主机的路径的系统及方法
US8516585B2 (en) * 2010-10-01 2013-08-20 Alcatel Lucent System and method for detection of domain-flux botnets and the like

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213836B2 (en) 2000-05-28 2015-12-15 Barhon Mayer, Batya System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
GB2377783B (en) 2001-07-20 2005-04-27 Ibm A method, system and computer program for controlling access in a distributed data processing system
WO2008142710A2 (en) * 2007-05-24 2008-11-27 Iviz Techno Solutions Pvt. Ltd Method and system for simulating a hacking attack on a network
US8504504B2 (en) * 2008-09-26 2013-08-06 Oracle America, Inc. System and method for distributed denial of service identification and prevention
US7945565B2 (en) * 2008-11-20 2011-05-17 Yahoo! Inc. Method and system for generating a hyperlink-click graph
US8893274B2 (en) 2011-08-03 2014-11-18 Trend Micro, Inc. Cross-VM network filtering
US9032527B2 (en) * 2012-01-11 2015-05-12 Hewlett-Packard Development Company, L.P. Inferring a state of behavior through marginal probability estimation
US9195826B1 (en) * 2013-05-30 2015-11-24 Emc Corporation Graph-based method to detect malware command-and-control infrastructure
US20150188941A1 (en) * 2013-12-26 2015-07-02 Telefonica Digital Espana, S.L.U. Method and system for predicting victim users and detecting fake user accounts in online social networks
US9225730B1 (en) * 2014-03-19 2015-12-29 Amazon Technologies, Inc. Graph based detection of anomalous activity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516585B2 (en) * 2010-10-01 2013-08-20 Alcatel Lucent System and method for detection of domain-flux botnets and the like
CN103078835A (zh) * 2011-10-03 2013-05-01 卡巴斯基实验室封闭式股份公司 用于限制到计算机网络中有害主机的路径的系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Manh Cong Tran等.Abnormal Web Traffic Detection Using Connection Graph.《Bulletin of Networking,Computing,Systems,and software-www.bncss.org,ISSN 2186-5140》.2014,第3卷(第1期), *
Marios lliogotou等.Network monitoring using traffic dispersion graphs.《IMC "07 Proceedings of the 7th ACM SIGCOMM conference on Internet measurement》.2007, *

Also Published As

Publication number Publication date
US9571518B2 (en) 2017-02-14
US20160261626A1 (en) 2016-09-08
CN105938531A (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
CN105938531B (zh) 识别恶意网络基础设施
Jain et al. Towards detection of phishing websites on client-side using machine learning based approach
US9578042B2 (en) Identifying malicious web infrastructures
TWI727202B (zh) 用於識別欺詐的發布商網路之方法與系統
Jain et al. A novel approach to protect against phishing attacks at client side using auto-updated white-list
Azeez et al. Identifying phishing attacks in communication networks using URL consistency features
Sadiq et al. A review of phishing attacks and countermeasures for internet of things‐based smart business applications in industry 4.0
CN107251037B (zh) 黑名单生成装置、黑名单生成系统、黑名单生成方法和记录介质
CA2859415C (en) System for detecting, analyzing, and controlling infiltration of computer and network systems
JP7494895B2 (ja) 攻撃状況可視化装置、攻撃状況可視化方法及びプログラム
Jøsang Robustness of trust and reputation systems: Does it matter?
Hu et al. Dating with scambots: Understanding the ecosystem of fraudulent dating applications
Vasek et al. Hacking is not random: a case-control study of webserver-compromise risk
CN111786966A (zh) 浏览网页的方法和装置
CN111371778B (zh) 攻击团伙的识别方法、装置、计算设备以及介质
US10505979B2 (en) Detection and warning of imposter web sites
Nirmal et al. Analyzing and eliminating phishing threats in IoT, network and other Web applications using iterative intersection
Jeong et al. Phishing detection on Twitter streams
Durey et al. FP-Redemption: Studying browser fingerprinting adoption for the sake of web security
Jain et al. APuML: an efficient approach to detect mobile phishing webpages using machine learning
Steinebach et al. Phishing detection on tor hidden services
Fu et al. Flowintent: Detecting privacy leakage from user intention to network traffic mapping
Liu et al. Learning based malicious web sites detection using suspicious URLs
Koide et al. It never rains but it pours: Analyzing and detecting fake removal information advertisement sites
Zhao et al. I know where you all are! exploiting mobile social apps for large-scale location privacy probing

Legal Events

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