用于经由域名服务流量分析来检测恶意软件感染的系统和方法与流程

文档序号:14960181发布日期:2018-07-18 00:22阅读:142来源:国知局

病毒、特洛伊木马、间谍软件和其它类型的恶意软件对任何需要网络连接的计算设备都是一个持续的威胁。存在许多不同类型的安全系统来对付这些威胁,范围从浏览器插件程序到病毒扫描程序到防火墙等等。每天都会创建无数的新实例和恶意软件排列,需要不断更新安全系统。尽管有这种警惕性,计算设备仍然会受到各种类型的威胁的感染。一段恶意软件可能会绕过几层安全系统而不被检测到,然后可能会继续联系命令与控制服务器以确定下一步要采取的措施。

许多用于修复恶意软件的传统系统可能会尝试识别或甚至拦截从恶意软件到命令与控制服务器的消息。这已使得恶意软件创建者寻找更多有创意的手段来将通信隐藏在恶意应用程序和服务器之间。攻击者使用的一种解决方案是使用域名服务(dns)查找请求来查找并连接到指向命令与控制服务的域的恶意软件。某些恶意软件可能使用域名生成算法进行编码,从而使恶意软件能够连接到不断移动的命令与控制服务器,以避免被反恶意软件系统检测到。因此,本公开明确并解决了对用于经由dns流量分析来检测恶意软件感染的另外的以及改进的系统和方法的需求。



技术实现要素:

如将在下文中更详细描述的,本公开描述了用于经由dns流量分析来检测恶意软件感染的各种系统和方法,所述dns流量分析通过存储源自相同计算建议的失败dns查找的记录并分析该记录以确定恶意软件是否可能已生成失败的查找。

在一个示例中,用于经由dns流量分析来检测恶意软件感染的计算机实现的方法可包括(1)在计算设备上检测源自计算设备的失败的dns请求,(2)创建包括关于失败的域名请求的信息和计算设备的静态唯一标识符的记录,(3)将该记录与关于源自具有静态唯一标识符的计算设备的失败dns请求的一组先前记录相关联,以及(4)基于将该记录与该组的先前记录相关联,确定计算设备被生成了失败的dns请求的恶意软件感染。

在一个实施方案中,创建记录可包括从计算设备向网络级分析系统发送消息,并且将该记录与该组的先前记录相关联可包括由网络级分析系统将该消息与由具有静态唯一标识符的计算设备发送的一组先前消息相关联。在该实施方案中,确定计算设备被恶意软件感染可包括由网络级分析系统确定计算设备被恶意软件感染。

在一个示例中,关于源自具有静态唯一标识符的计算设备的失败dns请求的该组的先前记录可包括源自在一组不同的网络上具有静态唯一标识符的计算设备的失败dns请求的记录。在一些示例中,确定计算设备被恶意软件感染可包括确定具有静态唯一标识符的计算设备已经生成的失败dns请求的百分比超过了失败dns请求的良性百分比的预定阈值。在一个实施方案中,失败dns请求的良性百分比的预定阈值可包括在一组计算设备中的失败dns请求的统计标准。

在一些示例中,计算机实现的方法还可包括基于确定计算设备被恶意软件感染,在具有静态唯一标识符的计算设备上执行恶意软件修复动作。在一个实施方案中,静态唯一标识符可包括未被网络分配给计算设备并且只能由管理员改变的标识符。

在一个实施方案中,用于实现上述方法的系统可包括(1)存储在存储器中的检测模块,该检测模块在计算设备上检测源自该计算设备的失败的dns请求,(2)存储在存储器中的创建模块,该创建模块创建包括关于失败的域名请求的信息和计算设备的静态唯一标识符的记录,(3)存储在存储器中的关联模块,该关联模块将该记录与关于源自具有静态唯一标识符的计算设备的失败dns请求的一组先前记录相关联,(4)存储在存储器中的确定模块,该确定模块基于将该记录与该组的先前记录相关联,确定计算设备被生成了失败的dns请求的恶意软件感染,以及(5)至少一个物理处理器,该至少一个物理处理器被配置成执行检测模块、创建模块、关联模块和确定模块。

在一些示例中,可将上述方法编码为非暂态计算机可读介质上的计算机可读指令。例如,计算机可读介质可包括一个或多个计算机可执行指令,这些指令在由计算设备的至少一个处理器执行时可以使计算设备(1)在计算设备上检测源自该计算设备的失败的dns请求,(2)创建包括关于失败的域名请求的信息和计算设备的静态唯一标识符的记录,(3)将该记录与关于源自具有静态唯一标识符的计算设备的失败dns请求的一组先前记录相关联,以及(4)基于将该记录与该组先前记录相关联,确定计算设备被生成了失败的dns请求的恶意软件感染。

来自上述实施方案中的任何一者的特征可根据本文所述的一般原理彼此结合地使用。通过结合附图和权利要求阅读下面的详细描述,将会更充分地理解这些和其它实施方案、特征和优点。

附图说明

附图示出了多个示例性实施方案并且为说明书的一部分。这些附图结合下面的描述展示并且说明本公开的各种原理。

图1是用于经由域名服务流量分析来检测恶意软件感染的示例性系统的框图。

图2是用于经由域名服务流量分析来检测恶意软件感染的附加示例性系统的框图。

图3是用于经由域名服务流量分析来检测恶意软件感染的示例性方法的流程图。

图4是示例性的失败dns查找记录的框图。

图5是用于经由域名服务流量分析来检测恶意软件感染的示例性计算系统的框图。

图6是能够实现本文描述和/或示出的实施方案中的一个或多个的示例性计算系统的框图。

图7是能够实现本文描述和/或示出的实施方案中的一个或多个的示例性计算网络的框图。

在全部附图中,相同引用字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施方案易受各种修改和替代形式的影响,但在附图中以举例的方式示出了特定实施方案并且将在本文详细描述这些实施方案。然而,本文所述的示例性实施方案并非旨在限于所公开的特定形式。相反,本公开涵盖落在所附权利要求范围内的所有修改形式、等同形式和替代形式。

具体实施方式

本公开整体涉及用于经由域名服务流量分析来检测恶意软件感染的系统和方法。如将在下文中更详细阐释的,通过使用计算设备的静态唯一标识符来关联失败的dns请求,可以在网络上跟踪失败的请求,并且还可以在计算设备的互联网协议(ip)地址改变时跟踪失败的请求。以这种方式关联失败的dns请求允许本文所述的系统和方法更有效地识别被恶意软件感染的计算设备。

下面将参考图1、图2和图5提供用于经由域名服务流量分析来检测恶意软件感染的示例性系统的详细描述。还将结合图3提供对应计算机实现的方法的详细描述。将结合图4提供对应的示例性的失败dns查找记录的详细描述。此外,将分别结合图6和图7提供能够实现本文所述实施方案中的一个或多个的示例性计算系统和网络体系结构的详细描述。

图1是经由dns流量分析来检测恶意软件感染的示例性系统100的框图。如该图所示,示例性系统100可包括用于执行一个或多个任务的一个或多个模块102。例如,以及如将在下文中更详细阐释的,示例性系统100可包括检测模块104,该检测模块在计算设备上检测源自该计算设备的失败的dns请求。示例性系统100可另外包括创建模块106,该创建模块创建包括关于失败的域名请求的信息和计算设备的静态唯一标识符的记录。示例性系统100还可包括关联模块108,该关联模块将该记录与关于源自具有静态唯一标识符的计算设备的失败dns请求的一组先前记录相关联。示例性系统100可另外包括确定模块110,该确定模块基于将该记录与该组的先前记录相关联,确定计算设备被生成了失败的dns请求的恶意软件感染。尽管被示为独立元件,但图1中的模块102中的一者或多者可表示单个模块或应用程序的部分。

在某些实施方案中,图1中的模块102中的一者或多者可表示一个或多个软件应用程序或程序,所述软件应用程序或程序在被计算设备执行时,可使计算设备执行一个或多个任务。例如,以及如将在下面更加详细地描述,模块102中的一者或多者可表示存储在一个或多个计算设备上并且被配置为在所述计算设备上运行的软件模块,所述计算设备诸如图2中的计算设备202、图6中的计算系统610和/或图7中的示例性网络体系结构700的部分。图1中的模块102中的一者或多者还可表示被配置为执行一个或多个任务的一台或多台专用计算机的全部或部分。

如图1所示,示例性系统100还可包括一个或多个数据库,诸如数据库120。在一个示例中,数据库120可被配置为存储先前的失败dns请求的记录,诸如先前的记录124。

数据库120可表示单个数据库或计算设备的组成部分或者多个数据库或计算设备。例如,数据库120可表示图2中的服务器206的一部分、图6中的计算系统610和/或图7中的示例性网络体系结构700的部分。作为另外一种选择,图1中的数据库120可表示能够通过计算设备访问的一个或多个物理独立的设备,诸如图6中的计算系统610和/或图7中的示例性网络体系结构700的部分。

图1中的示例性系统100可用多种方式来实现。例如,示例性系统100的全部或一部分可表示图2中的示例性系统200的部分。如图2所示,系统200可包括计算设备202。在一个示例中,计算设备202可用模块102中的一者或多者进行编程和/或可存储数据库120中的数据的全部或一部分。

在一个实施方案中,来自图1的模块102中的一者或多者在被计算设备202的至少一个处理器执行时,可使得计算设备202能够经由dns流量分析来检测恶意软件感染。例如,并且如将在下文中更详细描述的,检测模块104可以在计算设备202上检测源自计算设备202的失败的dns请求208。接下来,创建模块106可以创建包括关于失败的域名请求的信息和计算设备202的静态唯一标识符212的记录210。紧随其后或在稍后的时间,关联模块108可将记录210与关于源自具有静态唯一标识符212的计算设备202的失败dns请求的先前记录124相关联。最后,确定模块110可以基于将记录210与先前记录124相关联,确定计算设备202被生成了失败的dns请求208的恶意软件感染。

计算设备202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。计算设备202的示例包括但不限于笔记本电脑、平板电脑、台式机、服务器、蜂窝电话、个人数字助理(pda)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、游戏控制台、这些设备中一个或多个的组合、图6中的示例性计算系统610或任何其它合适的计算设备。

图3是用于经由域名服务流量分析来检测恶意软件感染的示例性计算机实现的方法300的流程图。图3中示出的步骤可通过任何合适的计算机可执行代码和/或计算系统来执行。在一些实施方案中,图3中示出的步骤可通过图1中的系统100、图2中的系统200、图6中的计算系统610和/或图7中的示例性网络体系结构700的部分的组件中的一个或多个执行。

如图3所示,在步骤302处,本文所述的系统中的一者或多者可在计算设备上检测源自该计算设备的失败的dns请求。例如,检测模块104作为图2中的计算设备202的一部分,可在计算设备202上检测源自计算设备202的失败的dns请求208。

如本文所用,术语“域名服务请求”或“dns请求”通常是指为了尝试连接到服务器而发送到集中式服务的任何请求。例如,dns请求可以是发送到dns服务以将域名转化成ip地址的请求。如本文所用,术语“失败的dns请求”通常是指不能返回指向合法网页的有效ip地址的任何dns请求。例如,失败的dns请求可能是对未解析为ip地址的域名的请求。在一些示例中,当针对未注册的域名提出dns请求时,可能导致失败的请求。在另一个示例中,dns服务可响应于对未注册域的所有请求返回默认网页(例如,广告页)。在一些示例中,一段恶意软件可以使用域生成算法来以编程方式生成大量域名,其中仅一部分可以指向恶意软件命令与控制服务器的有效ip地址。

检测模块104可以在多种设备场景中检测失败的dns请求208。例如,检测模块104可以监测所有传出的dns请求和/或所有传入的对dns请求的响应。在一个实施方案中,检测模块104可以是过滤和/或监测网络流量的防火墙的一部分。在另一个实施方案中,检测模块104可以是检查网络流量的安全应用的一部分。在一些示例中,检测模块104可以通过接收包括潜在的dns服务生成的默认网页的响应来检测失败的dns请求,发送对已知的未注册的域名的附加请求,响应于该附加请求而接收相同的网页,并且基于响应于这两个请求接收到默认网页来确定初始dns请求是失败的请求。

在步骤304,本文所述的系统中的一者或多者可创建包括关于失败的域名请求的信息和计算设备的静态唯一标识符的记录。例如,创建模块106可以作为图2中的计算设备202的一部分,创建包括关于失败的域名请求的信息和计算设备202的静态唯一标识符212的记录210。

如本文所用,术语“静态唯一标识符”通常是指唯一地描述计算设备、当计算设备改变网络时不改变和/或不受非手动改变的影响的任何标识符。在一些实施方案中,静态唯一标识符可以仅将计算设备与组中和/或网络上的其它计算设备唯一地区分开。例如,计算设备可以用诸如“会计桌面03”、“用户膝上型计算机”和/或“宁静”的名称来识别,该名称可以是由组织管理的计算设备中的唯一标识符,但可能不是所有计算设备中的全局唯一标识符。在其它实施方案中,静态唯一标识符可包括全局唯一标识符(guid)。在一个实施方案中,静态唯一标识符可包括未被网络分配给计算设备并且只能由管理员改变的标识符。相反,ip地址不是静态唯一标识符,因为ip地址可在没有管理员干预的情况下自动更改和/或可在计算设备切换网络时更改。

如本文所用,术语“记录”通常是指任何存储的关于失败的dns请求和发起请求的计算设备的静态唯一标识符的信息。如图4所示,在一些实施方案中,记录可包括计算设备的机器标识符、所请求的域名和/或该请求的时间戳。例如,记录402和404可以记录不同时间的失败的dns请求和源自具有相同机器标识符的计算设备的不同域。除此之外或另选地,记录可以存储关于在发生失败的dns请求时计算设备所连接的网络、失败的dns请求的延迟、生成失败的dns请求的应用程序的信息,和/或关于失败的dns请求的任何其它信息。

在一些实施方案中,记录可以包括从计算设备发送到另一设备和/或系统的消息。例如,计算设备可以将关于失败的dns请求的信息发送到分析网络的dns流量的dns流量分析系统。在一些实施方案中,计算设备上的反恶意软件应用程序可以将关于失败的dns请求的信息发送到位于服务器上的后端反恶意软件系统。

创建模块106可以通过多种方式创建记录。例如,创建模块106可以创建记录,然后将该记录本地存储在数据库中。在另一个示例中,代替在本地存储记录或者除了在本地存储记录之外,创建模块106可以发送包括该记录的消息。

回到图3,在步骤306处,本文所述的系统中的一者或多者可将该记录与关于源自具有静态唯一标识符的计算设备的失败dns请求的一组先前记录相关联。例如,关联模块108可以作为图2中的计算设备202的一部分,将记录210与关于源自具有静态唯一标识符212的计算设备202的失败dns请求的先前记录124相关联。

关联模块108可以关联多种设备场景中的记录。例如,关联模块108可以将新记录与计算设备上其它本地存储的记录相关联。在另一个实施方案中,关联模块108可以托管在另外的计算设备上,并且可以将新记录与远程存储的其它记录相关联。

在一个实施方案中,关于源自具有静态唯一标识符的计算设备的失败dns请求的该组的先前记录可包括源自在多个不同网络上具有静态唯一标识符的计算设备的失败dns请求的记录。例如,关联模块108可以将在计算设备连接到咖啡店处的无线网络时发送的失败dns请求的记录与由家庭网络和/或办公网络所作出的先前的失败dns请求的记录相关联。

在步骤308,本文所述的系统中的一者或多者可以基于将该记录与该组的先前记录相关联,确定计算设备被生成了失败的dns请求的恶意软件感染。例如,确定模块110可以作为图2中的计算设备202的一部分,基于将记录210与先前记录124相关联,确定计算设备202被生成了失败的dns请求的恶意软件感染。

如本文所用,术语“恶意软件”通常是指计算设备上的任何不需要的文件、脚本和/或应用程序。在一些实施方案中,恶意软件可以执行恶意动作,包括但不限于删除文件、加密文件、窃取个人信息和/或记录动作。恶意软件的示例可包括但不限于特洛伊木马、间谍软件、广告软件和/或病毒。

确定模块110可以多种方式确定计算设备被恶意软件感染。例如,确定模块110可以通过确定计算设备已经生成的失败dns请求的百分比超过了失败dns请求的良性百分比的预定阈值来确定计算设备被恶意软件感染。

例如,对于dns请求,计算设备可具有80%的失败率,表明某个应用程序正在生成对大量无效域名的请求。在一个实施方案中,失败dns请求的良性百分比的预定阈值可包括在一组计算设备中的失败dns请求的统计标准。例如,由组织管理的计算设备上的失败dns请求的平均百分比可为10%,而阈值可为20%。在另一个示例中,网络上所有计算设备的失败dns请求的平均百分比可为5%,而阈值可为7%。在一些示例中,确定模块110可确定计算设备在经过预定时间段后已经超过了良性百分比阈值。例如,确定模块110可以分析一小时、一天和/或一周的dns流量数据,并确定该计算设备在该时间跨度内生成的失败dns请求的百分比。

在另一个实施方案中,如果计算设备在特定时间跨度内超过多个失败的域请求的阈值,则确定模块110可确定计算设备被恶意软件感染。例如,确定模块110可确定在一分钟内生成500个失败的dns请求的计算设备被恶意软件感染。在另一个示例中,确定模块110可确定在一小时内生成3000个失败的dns请求的计算设备被恶意软件感染。

除此之外或另选地,确定模块110可以通过还分析来自其它计算设备的dns请求来确定计算设备被恶意软件感染。例如,确定模块110可以确定计算设备已经生成了对与来自其它计算设备的失败dns请求匹配的域名的dns请求,因此所有计算设备都可能被恶意软件感染。在一些实施方案中,确定模块110可使用从计算设备接收的信息来生成将由其它计算设备使用的可疑域名的黑名单。

在一个实施方案中,确定模块110可以连同关联模块108和/或存储先前记录的数据库一起为网络级分析系统的一部分。如图5所示,计算设备502可经由网络504与分析系统506通信。分析系统506可表示托管在任何类型的计算设备上的任何类型的dns流量和/或恶意软件分析系统。在一些实施方案中,分析系统506可被托管在安全服务器、路由器和/或网络交换机上。在一个示例中,检测模块104可以检测由计算设备502生成的失败的dns请求508。关联模块108然后可以创建包括关于失败的dns请求508的信息以及计算设备502的唯一静态标识符512的消息510。

在该示例中,关联模块108可以在分析系统506上接收消息510和/或可以将消息510中的信息与先前的消息514相关联。确定模块110然后可以结合先前的消息514来分析消息,以便确定失败的dns请求508是否由恶意软件生成。

在一些示例中,本文所述的系统可以基于确定计算设备被恶意软件感染,在计算设备上执行恶意软件修复动作。在一些实施方案中,本文所述的系统可以指导用户运行恶意软件清理工具。在其它实施方案中,管理员可以在计算设备上远程运行反恶意软件实用程序。在一些实施方案中,因为当前运行的反恶意软件应用程序无法检测到恶意软件,因此本文所述的系统可以执行和/或提示用户执行积极的反恶意软件工具(例如,诺顿强力清除器(nortonpowereraser)、malwarebytes反恶意软件(malwarebytesantimalware)和/或科摩多病毒清除工具(omodocleaningessentials))。

在一些实施方案中,本文所述的系统可以被实现为两个基于web的系统,一个用于提交dns请求信息,并且另一个基于web的系统可由计算设备或计算设备的管理者查询以询问其自身或其管理域下的任何机器是否出现感染。唯一静态标识符可用作查询参数,并且在一些示例中,这可触发供最终用户运行更积极的反恶意软件和清理工具的工作流。除此之外或另选地,管理者可以在单个单元中或批量地查询其管理下的任何计算设备是否被感染,和/或触发管理工作流(其可包括最终用户工作流中的一些或全部)以触发积极的反恶意软件和/或清理工具。

如结合上面的方法300所阐释的,本文所述的系统和方法可通过分析dns流量来检测计算设备上先前未检测到的恶意软件。在一些实施方案中,本文所述的系统可以将关于失败的dns请求的信息发送到网络级分析系统,该网络级分析系统可分析连接到网络的多个计算设备的失败的dns请求。在这些实施方案中,本文所述的系统可以在失败的dns请求的报告中包括计算设备的静态唯一标识符,使得即使计算设备的ip地址改变或者当计算设备连接到不同的网络时发生失败的dns请求,仍可将来自同一计算设备的信息相关联。

图6为能够实现本文描述和/或例示的实施方案中的一个或多个的示例性计算系统610的框图。例如,计算系统610的全部或一部分可单独地或与其它元件结合来执行本文所述的步骤中的一个或多个(诸如图3所示的步骤中的一个或多个)和/或作为用于执行本文所述的步骤中的一个或多个的装置。计算系统610的全部或一部分也可执行本文描述和/或例示的任何其它步骤、方法或过程和/或作为用于执行本文描述和/或例示的任何其它步骤、方法或过程的装置。

计算系统610在广义上表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统610的示例包括但不限于:工作站、笔记本电脑、客户端方终端、服务器、分布式计算系统、手持设备或任何其它计算系统或设备。在其最基本的配置中,计算系统610可包括至少一个处理器614和系统存储器616。

处理器614通常表示能够处理数据或解译和执行指令的任何类型或形式的物理处理单元(例如,硬件实现的中央处理单元)。在某些实施方案中,处理器614可接收来自软件应用程序或模块的指令。这些指令可使处理器614执行本文描述和/或例示的示例性实施方案中的一个或多个的功能。

系统存储器616通常表示能够存储数据和/或其它计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器616的示例包括但不限于:随机存取存储器(ram)、只读存储器(rom)、闪存存储器或任何其它合适的存储器设备。尽管不是必需的,但在某些实施方案中,计算系统610可包括易失性存储器单元(诸如,例如,系统存储器616)和非易失性存储设备(诸如,例如,主存储设备632,如下详述)两者。在一个示例中,图1的模块102中的一个或多个可加载到系统存储器616中。

在某些实施方案中,除包括处理器614和系统存储器616之外,示例性计算系统610还可包括一个或多个组件或元件。例如,如图6所示,计算系统610可包括存储器控制器618、输入/输出(i/o)控制器620和通信接口622,它们中的每一个都可经由通信基础结构612互连。通信基础结构612通常表示能够促进计算设备的一个或多个组件之间的通信的任何类型或形式的基础结构。通信基础结构612的示例包括但不限于:通信总线(诸如工业标准体系结构(isa)、外围组件互连(pci)、pciexpress(pcie)或类似的总线)和网络。

存储器控制器618通常表示能够处理存储器或数据或者控制计算系统610的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施方案中,存储器控制器618可经由通信基础结构612来控制处理器614、系统存储器616和i/o控制器620之间的通信。

i/o控制器620通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,在某些实施方案中,i/o控制器620可控制或促进计算系统610的一个或多个元件之间的数据传输,这些元件是诸如处理器614、系统存储器616、通信接口622、显示适配器626、输入接口630和存储接口634。

通信接口622在广义上表示能够促进示例性计算系统610与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施方案中,通信接口622可促进计算系统610与包括附加计算系统的专用或公共网络之间的通信。通信接口622的示例包括但不限于:有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器和任何其它合适的接口。在至少一个实施方案中,通信接口622可经由与网络,诸如互联网的直接链接来提供与远程服务器的直接连接。通信接口622也可通过例如局域网(诸如以太网网络)、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其它合适的连接来间接提供此类连接。

在某些实施方案中,通信接口622还可表示主机适配器,该主机适配器被配置为经由外部总线或通信信道来促进计算系统610与一个或多个附加网络或存储设备之间的通信。主机适配器的示例包括但不限于:小型计算机系统接口(scsi)主机适配器、通用串行总线(usb)主机适配器、电气与电子工程师协会(ieee)1394主机适配器、高级技术附件(ata)、并行ata(pata)、串行ata(sata)和外部sata(esata)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口622还可允许计算系统610参与分布式或远程计算。例如,通信接口622可接收来自远程设备的指令或将指令发送到远程设备以供执行。

如图6所示,计算系统610还可包括至少一个显示设备624,该显示设备经由显示适配器626耦接到通信基础结构612。显示设备624通常表示能够以可视方式显示由显示适配器626转发的信息的任何类型或形式的设备。类似地,显示适配器626通常表示被配置为转发来自通信基础结构612(或来自帧缓冲器,如本领域中已知)的图形、文本和其它数据以在显示设备624上显示的任何类型或形式的设备。

如图6所示,示例性计算系统610还可包括经由输入接口630耦接到通信基础结构612的至少一个输入设备628。输入设备628通常表示能够向示例性计算系统610提供输入(由计算机或人生成)的任何类型或形式的输入设备。输入设备628的示例包括但不限于:键盘、指示设备、语音识别设备或任何其它输入设备。

如图6所示,示例性计算系统610还可包括主存储设备632和经由存储接口634耦接到通信基础结构612的备份存储设备633。存储设备632和633通常表示能够存储数据和/或其它计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备632和633可为磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口634通常表示用于在存储设备632和633与计算系统610的其它组件之间传输数据的任何类型或形式的接口或设备。在一个示例中,图1的数据库120可存储在主要存储设备632中。

在某些实施方案中,存储设备632和633可被配置为对被配置为存储计算机软件、数据或其它计算机可读信息的可移除存储单元执行读取和/或写入。合适的可移除存储单元的示例包括但不限于:软盘、磁带、光盘、闪存存储器设备等。存储设备632和633还可包括用于允许将计算机软件、数据或其它计算机可读指令加载到计算系统610中的其它类似结构或设备。例如,存储设备632和633可被配置为读取和写入软件、数据或其它计算机可读信息。存储设备632和633还可为计算系统610的一部分,或者可为通过其它接口系统进行访问的独立设备。

可将许多其它设备或子系统连接到计算系统610。相反地,无需图6中示出的所有组件和设备都存在,亦可实践本文描述和/或例示的实施方案。上文提及的设备和子系统还可通过不同于图6所示的方式互连。计算系统610还可采用任何数量的软件、固件和/或硬件配置。例如,本文所公开的示例性实施方案中的一个或多个可被编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。如本文所用,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于:传输型介质(诸如载波)和非暂态型介质(诸如磁存储介质,例如,硬盘驱动器、带驱动器和软盘)、光存储介质(例如,光盘(cd)、数字视频盘(dvd)和蓝光光盘)、电子存储介质(例如,固态驱动器和闪存介质)和其它分配系统。

可将包含计算机程序的计算机可读介质加载到计算系统610中。然后可将计算机可读介质上存储的全部或部分计算机程序存储在系统存储器616和/或存储设备632和633的各个部分中。当由处理器614执行时,加载到计算系统610中的计算机程序可使处理器614执行本文描述和/或例示的示例性实施方案中的一个或多个的功能和/或作为用于执行本文描述和/或例示的示例性实施方案中的一个或多个的功能的装置。除此之外或另选地,可在固件和/或硬件中实现本文描述和/或例示的示例性实施方案中的一个或多个。例如,计算系统610可被配置为用于实现本文所公开的示例性实施方案中的一个或多个的专用集成电路(asic)。

图7为示例性网络体系结构700的框图,其中客户端系统710、720和730以及服务器740和745可耦接到网络750。如上所详述,网络体系结构700的全部或一部分可单独地或与其它元件结合来执行本文所公开的步骤中的一个或多个(诸如图3所示的步骤中的一个或多个)和/或作为用于执行本文所公开的步骤中的一个或多个的装置。网络体系结构700的全部或一部分还可用于执行本公开中阐述的其它步骤和特征和/或作为用于执行本公开中阐述的其它步骤和特征的装置。

客户端系统710、720和730通常表示任何类型或形式的计算设备或系统,诸如图6中的示例性计算系统610。类似地,服务器740和745通常表示被配置为提供各种数据库服务和/或运行某些软件应用程序的计算设备或系统,诸如应用程序服务器或数据库服务器。网络750通常表示任何电信网络或计算机网络,包括例如,内联网、wan、lan、pan或互连网。在一个示例中,客户端系统710、720和/或730和/或服务器740和/或745可包括图1的系统100的全部或一部分。

如图7所示,一个或多个存储设备760(1)-(n)可直接附接到服务器740。类似地,一个或多个存储设备770(1)-(n)可直接附接到服务器745。存储设备760(1)-(n)和存储设备770(1)-(n)通常表示能够存储数据和/或其它计算机可读指令的任何类型或形式的存储设备或介质。在某些实施方案中,存储设备760(1)-(n)和存储设备770(1)-(n)可表示被配置为使用各种协议(诸如网络文件系统(nfs)、服务器消息块(smb)或通用互联网文件系统(cifs))与服务器740和745进行通信的附网存储(nas)设备。

服务器740和745还可连接到存储区域网络(san)架构780。san架构780通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或体系结构。san架构780可促进服务器740和745与多个存储设备790(1)-(n)和/或智能存储阵列795之间的通信。san架构780还可通过网络750以及服务器740和745以这样的方式促进客户端系统710、720和730与存储设备790(1)-(n)和/或智能存储阵列795之间的通信:设备790(1)-(n)和阵列795呈现为客户端系统710、720和730的本地附接设备。与存储设备760(1)-(n)和存储设备770(1)-(n)相同,存储设备790(1)-(n)和智能存储阵列795通常表示能够存储数据和/或其它计算机可读指令的任何类型或形式的存储设备或介质。

在某些实施方案中,并参照图6的示例性计算系统610,通信接口(诸如图6中的通信接口622)可用于在每个客户端系统710、720和730与网络750之间提供连接性。客户端系统710、720和730可能能够使用例如网页浏览器或其它客户端软件来访问服务器740或745上的信息。此类软件可允许客户端系统710、720和730访问由服务器740、服务器745、存储设备760(1)-(n)、存储设备770(1)-(n)、存储设备790(1)-(n)或智能存储阵列795托管的数据。尽管图7示出了使用网络(诸如互联网)来交换数据,但本文描述和/或例示的实施方案并非仅限于互联网或任何特定的基于网络的环境。

在至少一个实施方案中,本文所公开的示例性实施方案中的一个或多个中的全部或一部分可被编码为计算机程序并加载到服务器740、服务器745、存储设备760(1)-(n)、存储设备770(1)-(n)、存储设备790(1)-(n)、智能存储阵列795或它们的任意组合上并由其加以执行。本文所公开的示例性实施方案中的一个或多个中的全部或一部分也可被编码为计算机程序,存储在服务器740中,由服务器745运行,以及通过网络750分配到客户端系统710、720和730。

如上所详述,计算系统610和/或网络体系结构700的一个或多个组件可单独地或与其它元件结合来执行用于经由域名服务流量分析来检测恶意软件感染的示例性方法的一个或多个步骤,和/或作为用于执行该一个或多个步骤的装置。

虽然上述公开内容使用特定框图、流程图和示例阐述了各种实施方案,但每个框图组件、流程图步骤、操作和/或本文描述和/或例示的组件可使用多种硬件、软件或固件(或其任何组合)配置单独和/或共同地实现。此外,包含在其它组件内的组件的任何公开内容应当被视为在本质上是示例性的,因为可实施许多其它体系结构来实现相同功能。

在一些示例中,图1中的示例性系统100的全部或一部分可表示云计算环境或基于网络的环境的部分。云计算环境可通过互联网提供各种服务和应用程序。这些基于云的服务(例如软件即服务、平台即服务、基础结构即服务等)可通过网页浏览器或其它远程接口进行访问。本文所述的各种功能可通过远程桌面环境或任何其它基于云的计算环境提供。

在各种实施方案中,图1中的示例性系统100的全部或一部分可促进基于云的计算环境内的多租户应用。换句话讲,本文所述的软件模块可配置计算系统(例如,服务器)以促进用于本文所述功能中的一个或多个的多租户应用。例如,本文所述软件模块中的一者或多者可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作系统、处理系统和/或存储系统。本文所述模块中的一者或多者还可为每个顾客分割多租户应用程序的数据和/或配置信息使得一个顾客不能访问另一个顾客的数据和/或配置信息。

根据各种实施方案,图1中的示例性系统100的全部或一部分可在虚拟环境内实现。例如,本文所述模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常指由虚拟机管理器(例如,虚拟机监控程序)从计算硬件中抽象出来的任何操作系统环境。除此之外或另选地,本文所述的模块和/或数据可在虚拟化层内驻留和/或执行。如本文所用,术语“虚拟化层”通常指覆盖操作系统环境和/或从操作系统环境中抽象出来的任何数据层和/或应用层。虚拟化层可由软件虚拟化解决方案(例如,文件系统过滤器)管理,软件虚拟化解决方案将虚拟化层呈现为就好像它是底层基本操作系统的一部分。例如,软件虚拟化解决方案可将最初定向至基本文件系统和/或注册表内的位置的调用重定向至虚拟化层内的位置。

在一些示例中,图1中的示例性系统100的全部或一部分可表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实现,这些设备包括移动电话、平板电脑、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等)等等。在一些示例中,移动计算环境可具有一个或多个区别特征,包括例如对电池供电的依赖、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、(例如,由全球定位系统、陀螺仪、加速度计等提供的)位置和移动数据、限制对系统级配置的修改和/或限制第三方软件检查其它应用程序的行为的能力的受限平台、限制应用程序的安装的控制装置(例如,仅安装来源于经批准的应用程序商店的应用程序),等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。

此外,图1中的示例性系统100的全部或一部分可表示一个或多个信息管理系统的部分,与一个或多个信息管理系统交互,使用由一个或多个信息管理系统产生的数据和/或产生被一个或多个信息管理系统使用的数据。如本文所用,术语“信息管理”可指数据的保护、组织和/或存储。信息管理系统的示例可包括但不限于:存储系统、备份系统、存档系统、复制系统、高可用性系统、数据搜索系统、虚拟化系统等。

在一些实施方案中,图1中的示例性系统100的全部或一部分可表示一个或多个信息安全系统的部分,产生受一个或多个信息安全系统保护的数据和/或与一个或多个信息安全系统通信。如本文所用,术语“信息安全”可指对受保护数据的访问的控制。信息安全系统的示例可包括但不限于:提供受管理的安全服务的系统、数据丢失防护系统、身份认证系统、访问控制系统、加密系统、策略遵循系统、入侵检测与防护系统、电子发现系统等等。

根据一些示例,图1中的示例性系统100的全部或一部分可表示一个或多个端点安全系统的部分、与一个或多个端点安全系统通信和/或受一个或多个端点安全系统保护。如本文所用,术语“端点安全”可指保护端点系统免遭未经授权和/或非法使用、访问和/或控制。端点保护系统的示例可包括但不限于:反恶意软件系统、用户认证系统、加密系统、保密系统、垃圾邮件过滤服务,等等。

本文描述和/或例示的过程参数和步骤序列仅通过举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不一定需要按例示或讨论的顺序来执行。本文描述和/或例示的各种示例性方法也可省略本文描述或例示的步骤中的一个或多个,或除了包括所公开的那些步骤之外还包括另外步骤。

虽然在全功能计算系统的上下文中描述和/或例示了各种实施方案,但这些示例性实施方案中的一个或多个可作为各种形式的程序产品来分配,而不顾及用于实际执行分配的计算机可读介质的特定类型。本文所公开的实施方案也可使用执行某些任务的软件模块来实现。这些软件模块可包括脚本、批文件或可存储在计算机可读存储介质上或计算系统中的其它可执行文件。在一些实施方案中,这些软件模块可将计算系统配置为执行本文所公开的示例性实施方案中的一个或多个。

此外,本文所述模块中的一者或多者可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所述模块中的一者或多者可接收待转换的dns请求数据、将dns请求数据转换为记录、将转换的结果输出到关联模块、使用转换的结果来确定恶意软件是否生成一个或多个dns请求,以及将转换的结果存储到数据库。除此之外或另选地,本文所述模块中的一者或多者可通过在计算设备上执行、在计算设备上存储数据和/或以其它方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器、和/或物理计算设备的任何其它部分从一种形式转换为另一种形式。

提供前面描述的目的是使本领域的其它技术人员能够最好地利用本文所公开的示例性实施方案的各种方面。该示例性描述并非旨在是详尽的或局限于所公开的任何精确形式。在不脱离本公开的实质和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应当参考所附权利要求及其等同形式来确定本公开的范围。

除非另有说明,否则在本说明书和权利要求中使用的术语“连接到”和“耦接到”(以及其衍生形式)应该理解为允许直接和间接(即,经由其它元件或组件)连接。此外,在本说明书和权利要求中使用的术语“一个”或“一种”应当理解为表示“…中的至少一者”。最后,为了易于使用,在本说明书和权利要求中使用的术语“包括”和“具有”(以及其衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1