一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于使用DNS消息以选择性地收集计算机取证数据的系统及方法与流程

2022-03-05 06:10:51 来源:中国专利 TAG:

用于使用dns消息以选择性地收集计算机取证数据的系统及方法


背景技术:

1.本发明涉及用于对抗恶意软件的系统及方法,且特定来说涉及选择性地收集网络流量样本用于取证分析。
2.恶意的软件(也被称为恶意软件)影响着全世界大量计算机系统。以其许多形式(例如计算机病毒、特洛伊木马、间谍软件及勒索软件),恶意软件给数百万计算机用户带来严重的风险,使其容易丢失数据及敏感信息,容易被身份盗用,并可能丧失生产效率等。
3.被非正式地称为物联网(iot)的各种各样的装置越来越多地连接到通信网络及因特网。此类装置尤其包含智能电话、智能手表、电视及其它多媒体装置、游戏机、家用电器及各种家用传感器,例如恒温器。随着更多此类装置上线,其变得暴露于如恶意软件及入侵的安全威胁。因此,越来越需要保护此类装置免受恶意软件影响,以及保护来往于此类装置的通信。随着物联网的出现,关注点已更新的一个特定领域包含存取控制应用程序,例如家长控制及防止机密信息经由iot装置传输。
4.恶意软件不断演变,给计算机安全提供者跟上不断变化的威胁形势带来挑战。此努力的一部分涉及及时发现及分析新出现的恶意软件。一种特定类别的反恶意软件方法(通常称为行为检测)依赖于根据一组规则监测装置及/或软件组件的活动。一些活动模式(例如,硬件或软件事件的序列)对应于相应装置的正常、合法使用,而其它可指示恶意。对异常、恶意软件指示行为模式的可靠识别通常需要从受感染装置采集足够量的取证数据。在检测到恶意软件指示数据流量的情况下,学习此类模式可能需要存取到及/或来自受感染iot装置的网络流量。然而,在出现未知威胁的情况下,犯罪装置不容易识别。
5.因此,开发从各种装置类型收集取证数据的系统及方法,且特别是选择性地收集到及/或来自iot装置的网络流量的系统及方法受到极大关注。


技术实现要素:

6.根据一个方面,一种方法包括采用计算机系统的至少一个硬件处理器以拦截在所述计算机系统处接收的域名服务(dns)应答消息,所述dns应答消息包括指示远程资源的网络位置的目标因特网协议(ip)地址,所述dns应答消息进一步包括服务激活旗标。所述方法进一步包括采用所述计算机系统的至少一个硬件处理器以根据所述服务激活旗标的值确定安全服务是否为活动的,及作为响应,如果所述服务激活旗标指示所述安全服务为活动的,那么通过用虚拟ip地址替换所述目标ip地址来修改所述dns应答消息。所述方法进一步包括采用所述计算机系统的至少一个硬件处理器以拦截经引导朝向目的地ip地址的电子通信,以确定所述目的地ip地址是否与所述虚拟ip地址匹配,且响应于确定所述目的地ip地址是否与所述虚拟ip地址匹配,如果所述目的地ip地址与所述虚拟ip地址匹配,那么根据所述电子通信执行计算机安全程序。所述方法进一步包括采用所述计算机系统的至少一个硬件处理器,响应于确定所述目的地ip地址是否与所述虚拟ip地址匹配,如果所述目的地ip地址与所述虚拟ip地址不匹配,那么将所述电子通信转发到所述目的地ip地址。
7.根据另一方面,一种计算机系统包括至少一个硬件处理器,所述至少一个硬件处理器经配置以执行域名服务(dns)代理及通信管理器。所述dns代理经配置以拦截在所述计算机系统处接收的域名服务(dns)应答消息,所述dns应答消息包括指示远程资源的网络位置的目标因特网协议(ip)地址,所述dns应答消息进一步包括服务激活旗标。所述dns代理进一步经配置以根据所述服务激活旗标的值确定安全服务是否为活动的,及作为响应,如果所述服务激活旗标指示所述安全服务为活动的,那么通过用虚拟ip地址替换所述目标ip地址来修改所述dns应答消息。所述通信管理器经配置以拦截经引导朝向目的地ip地址的电子通信,确定所述目的地ip地址是否与所述虚拟ip地址匹配,且作为响应,如果所述目的地ip地址与所述虚拟ip地址匹配,那么根据所述电子通信来执行计算机安全程序。所述通信管理器进一步经配置,响应于确定所述目的地ip地址是否与所述虚拟ip地址匹配,如果所述目的地ip地址与所述虚拟ip地址不匹配,那么将所述电子通信转发到所述目的地ip地址。
8.根据另一方面,一种存储指令的非暂时性计算机可读媒体,所述指令在由计算机系统的至少一个硬件处理器执行时,致使所述计算机系统形成域名服务(dns)代理及通信管理器。所述dns代理经配置以拦截在所述计算机系统处接收的域名服务(dns)应答消息,所述dns应答消息包括指示远程资源的网络位置的目标因特网协议(ip)地址,所述dns应答消息进一步包括服务激活旗标。所述dns代理进一步经配置以根据所述服务激活旗标的值确定安全服务是否为活动的,及作为响应,如果所述服务激活旗标指示所述安全服务为活动的,那么通过用虚拟ip地址替换所述目标ip地址来修改所述dns应答消息。所述通信管理器经配置以拦截经引导朝向目的地ip地址的电子通信,以确定所述目的地ip地址是否与所述虚拟ip地址匹配,及作为响应,如果所述目的地ip地址与所述虚拟ip地址匹配,那么根据所述电子通信执行计算机安全程序。所述通信管理器进一步经配置,响应于确定所述目的地ip地址是否与所述虚拟ip地址匹配,如果所述目的地ip地址与所述虚拟ip地址不匹配,那么将所述电子通信转发到所述目的地ip地址。
9.根据另一方面,一种服务器计算机系统从事与多个客户端系统的域名服务(dns)事务,所述服务器计算机系统包括至少一个硬件处理器,所述至少一个硬件处理器经配置,响应于从所述多个客户端系统的客户端系统接收dns查询消息,所述dns查询消息包括目标域名,以根据所述dns查询消息识别所述客户端系统。所述至少一个硬件处理器进一步经配置,响应于识别所述客户端系统,以根据所述域名并进一步根据所述客户端系统的身份来确定是否满足客户端选择条件。所述至少一个硬件处理器进一步经配置,响应于确定是否满足所述客户端选择条件,如果满足所述客户端选择条件,那么向所述客户端系统传输dns应答消息,所述dns应答消息包括与所述目标域名相关联的目标因特网协议(ip)地址,所述dns应答消息进一步经配置以包含服务激活旗标。所述至少一个硬件处理器进一步经配置,响应于确定是否满足所述客户端选择条件,如果不满足所述客户端选择条件,那么向所述客户端系统传输另一dns应答消息,所述另一dns应答消息包括所述目标ip地址,并且进一步经配置以不包含所述服务激活旗标。所述客户端系统经配置以将接收到所述服务激活旗标解释为用于根据经引导到所述目标ip地址或从所述目标ip地址传入的电子通信来执行计算机安全程序的触发。
附图说明
10.在阅读以下详细描述时且在参考图式时,本发明的上述方面及优点将变得更好理解,其中:
11.图1展示根据本发明的一些实施例的针对计算机安全威胁进行保护的一组示范性客户端装置。
12.图2-a展示现有技术中已知的典型域名服务(dns)事务。
13.图2-b说明根据本发明的一些实施例的经修改dns事务。
14.图3展示根据本发明的一些实施例的示范性标记dns查询。
15.图4展示根据本发明的一些实施例的示范性加旗标dns应答。
16.图5-a展示其中客户端装置向安全服务器传输取证数据的示范性实施例,所述取证数据包括客户端装置与内容服务器之间的网络流量的摘要。
17.图5-b展示其中客户端装置与内容服务器之间的网络流量的至少一部分经由安全服务器重新路由的替代实施例。
18.图6说明根据本发明的一些实施例在客户端装置上执行的示范性软件。
19.图7展示根据本发明的一些实施例的由在客户端装置上执行的dns代理执行的示范性步骤序列。
20.图8展示由通信管理器执行以处理出站通信的示范性步骤序列,所述通信管理器根据本发明的一些实施例在客户端系统上执行。
21.图9展示根据本发明的一些实施例的由通信管理器实行以处理入站通信的示范性步骤序列。
22.图10展示根据本发明的一些实施例由dns服务器执行的示范性步骤序列。
23.图11说明根据本发明的一些实施例的可编程以实行方法及算法的计算机系统的示范性硬件配置。
具体实施方式
24.在以下描述中,应理解结构之间的所有所陈述连接可为直接操作连接或通过中间结构的间接操作连接。一组元素包含一或多个元素。元素的任何陈述被理解为指代至少一个元素。多个元素包含至少两个元素。除非另有要求,否则任何所描述方法步骤未必一定以特定所说明顺序执行。从第二元素派生的第一元素(例如,数据)涵盖相同于第二元素的第一元素,以及通过处理第二元素及任选地其它数据产生的第一元素。根据参数进行确定或决策涵盖根据参数及任选地根据其它数据进行确定或决策。除非另有规定,一些数量/数据的指示符可为数量/数据本身,或为与数量/数据本身不同的指示符。计算机程序是实行任务的处理器指令序列。本发明的一些实施例中描述的计算机程序可为其它计算机程序的独立软件实体或子实体(例如,子程序、库)。域名是识别网络地址的标签/别名。术语

数据库’在本文用于表示数据的任何有组织集合。计算机可读媒体涵盖非暂时性媒体,例如磁性、光学及半导体存储媒体(例如,硬盘驱动器、光盘、闪存、dram),以及通信链路,例如导电电缆及光纤链路。根据一些实施例,本发明尤其提供包括硬件(例如,一或多个处理器)的计算机系统,所述硬件经编程以执行本文描述的方法,以及用于执行本文描述的方法的计算机可读媒体编码指令。
25.以下描述通过实例且不一定以限制的方式说明本发明的实施例。
26.图1展示根据本发明的一些实施例的被保护不受计算机安全威胁的一组示范性客户端装置10a到f。示范性客户端系统10a到f包含个人计算机系统、公司大型计算机、移动计算平台(例如膝上型计算机、平板计算机、移动电话)、娱乐装置(例如,电视、游戏机)、可穿戴装置(例如,智能手表、健身手环)、家用电器(例如,冰箱、洗衣机),及包括处理器、存储器及使得相应装置能够与其它装置/计算机系统通信的通信接口的任何其它电子装置。示范性客户端装置可通过通信链路与远程内容服务器18交互,以交换例如网页内容、电子消息、各种文档等的数据。
27.在图1的示范性配置中,客户端装置10a到e通过本地网络13互连,例如局域网(lan)、家庭网络、公司网络等。装置10a到e可进一步连接到扩展网络15,例如广域网(wan)及/或因特网。在一些实施例中,客户端装置10a到e与扩展网络15之间的网络流量的至少一部分穿过网关12,例如路由器或网络集线器。另一示范性客户端装置10f可不连接到本地网络13,而取而代之连接到扩展网络15,例如通过移动电话网络或公共wifi热点。
28.在一些实施例中,域名服务(dns)服务器14与安全服务器16协作以选择性地从客户端装置10a到f采集计算机取证数据,如下文详细展示。例如,此取证数据可包含描述选定客户端与选定内容服务器之间的数据传输的元数据,及/或相应数据传输的实际有效载荷。本文的元数据表示除传输内容或有效载荷本身之外的传输的特征。示范性元数据尤其包含发送方及/或接收方的网络地址、有效载荷的大小以及指示相应传输的实际时间的时间戳。本文使用术语“取证”来指示相应数据可用于计算机安全目的,例如以确定相应客户端系统是否感染恶意软件,或者以前瞻性地识别特性化未知计算机安全威胁的网络流量模式。服务器14到16中的每一者通常表示一组通信耦合的计算机,其可彼此物理上靠近或可彼此物理上不靠近。所属领域的技术人员将知道,如本文描述的由服务器14到16执行的动作可在多个物理机器或处理器当中划分。
29.服务器14到16连接到客户端配置文件数据库19,并经配置以存取数据库19以实行选择性数据插入、数据检索及/或其它数据库管理操作。数据库19经配置以存储与客户端装置10a到f及/或与相应客户端装置的用户相关的多个客户端记录。在一些实施例中,每一客户端记录对应于相异客户端装置10a到f。在一个此实例中,客户端记录可存储相应客户端装置的一组标识符(例如,媒体存取控制-mac地址、国际移动装备身份-imei号等)、装置类型的指示符(例如,数码相机、恒温器、智能电话、平板计算机、路由器、汽车)、相应客户端装置的各种硬件配置指示符(例如,相应装置是否具有照相机等)、安装在相应装置上的软件应用程序的列表以及相应客户端装置的地理位置的指示符。存储在示范性客户端记录中的其它信息包括装置使用数据,例如由相应客户端装置进行的网络存取的统计数据,例如使用各种通信端口的相对频率、各种时间间隔期间的相对流量等。其它示范性客户端记录可包含描述由相应客户端装置传输或接收的网络流量的元数据。在一些实施例中,可根据例如来自因特网工程任务组的ip流信息导出(ipfix)或来自思科公司(cisco,inc)的netflow(r)的格式来组织此元数据。数据库19可根据所属领域已知的任何标准进行格式化及存储。示范性数据库格式包含关系数据库、可扩展标记语言(xml)数据库、电子表格及键值存储区等。
30.在一些实施例中,dns服务器14向客户端装置10a到f提供域名服务,相应服务尤其
包括将域名转译为网络地址及/或反之亦然。客户端装置与远程内容服务器之间的典型数据传输包括若干步骤。此传输需要了解内容服务器的网络地址(例如,因特网协议-ip地址)。出于各种原因,客户端通常不知道此地址。例如,可能存在多个镜像内容服务器机器,并且可根据每一镜像服务器的当前载荷或根据客户端装置的当前地理位置,将客户端动态地引导到最方便的镜像内容服务器机器。然而,客户端装置可知道包括未知网络地址的别名的域名。为建立到远程内容服务器的连接,在相应客户端装置上执行的软件实体因此可发出存取相应域名的请求,而不是ip地址自身。作为响应,客户端装置的另一软件实体(例如,操作系统)可尝试将别名/域名转译为实际网络地址,并随后将请求传输到正确网络位置。此转译可调用dns提供者,例如图1中的服务器14。图2-a说明根据所属领域已知的dns协议的典型消息交换。客户端装置10将dns查询22传输到dns服务器14,查询22包括域名的编码。作为响应,dns服务器14可向请求客户端返回dns应答24,应答24包含由相应域名/别名识别的网络地址的编码。示范性地址编码包含ipv4及ipv6格式等。
31.图2-b展示根据本发明的一些实施例的客户端装置10与dns服务器14之间的示范性dns交换。与常规dns交换(图2-a)相反,在一些实施例中,客户端装置10可将标记dns查询26传输到dns服务器14,所述标记查询包括相应客户端装置10的标识符。示范性标记查询26在图3中说明并且包含域名21及客户端id 25的编码。客户端id 25可包括使能够将客户端装置10与其它客户端装置区分开来的任何项。示范性客户端id包含散列、mac地址、imei号等。在一些实施例中,客户端id 25可能不允许个别地识别客户端装置10,但仍然指示相应客户端装置的群组身份。例如,客户端id 25可选择性地指示装置群组(例如,公司的某个部门内的装置、位于某个网络子域内的装置、属于某个家庭网络的装置、受某个服务合同保护的装置)、装置类型(例如,智能电话对比台式pc对比嵌入式)等。
32.在替代实施例中,客户端id 25可包括客户端装置配置文件的摘要。示范性装置配置文件信息可包含例如装置类型、操作系统、当前地理位置的编码,以及相应客户端装置的当前用户的标识符。此信息可由dns服务器14及/或安全服务器16使用以选择相应客户端装置用于安全服务的激活/取消激活,如下文更详细展示。
33.响应于接收到标记dns查询26,dns服务器14的一些实施例返回加旗标dns应答28,其实例在图4中展示。加旗标dns应答28包含网络地址23的编码及服务激活旗标27,所述服务激活旗标27指示特定安全服务对于相应请求客户端装置10是否为活动的。由旗标27选择性激活/取消激活的示范性安全服务包含取证数据收集、家长控制(例如,限制某些用户存取某些域)、应用程序控制(例如,禁止某些应用程序运行,例如facebook(r)、即时通讯、游戏等)、反欺诈、反恶意软件、流量内省等。
34.在替代实施例中,加旗标dns应答28可包含多个服务激活旗标,例如位图,其中每一位表示相异安全服务(例如,家长控制、流量内省、取证数据收集等)并且相应位的值指示相应服务是打开还是关闭。在另一实例中,加旗标dns应答28可包含一组服务参数值以及或代替简单服务激活旗标。在又一实例中,服务激活旗标27的相异值可指示目标客户端装置的相异操作模式。例如,一个值可指示客户端装置丢弃相应流量(例如,将dns应答28解释为nxdomain应答),而另一值可指示客户端装置强制超时,或将流量重定向到另一ip地址。
35.如客户端id 25及服务激活旗标27id的数据项可使用所属领域已知的任何方法编码并包含在客户端查询及/或服务器应答消息中。电子通信中使用的许多当前协议/数据格
式为非特定用途保留每一数据分组的一组选定位。各种实施例可使用此类保留位来编码客户端id 25及/或服务激活旗标27。在最简单实例中,相应消息的选定位可充当服务激活旗标;值1可指示服务打开,而值0可指示服务关闭或相应消息未加旗标。一些实施例使用根据当前使用的标准格式化的dns消息,例如在因特网工程任务组(ietf)评论请求(rfc)1035中描述的标准等。在一个此实例中,可将客户端id 25及/或服务激活旗标27作为dns查询或应答的额外资源记录或伪资源记录,例如,作为rdata字段的内容插入。
36.在一些实施例中,dns服务器14可通过仅为某些客户端装置及/或用户适当地设置服务激活旗标27的值来选择性地激活/取消激活安全服务。是开启还是关闭某个服务的决策可由安全服务器16根据发出相应标记dns查询的客户端装置的身份且进一步根据例如客户端装置的当前地理位置、装置类型、相应客户端装置的硬件及/或软件配置文件来作出。下文将展示决策算法及准则的实例。为启用此类决策算法,一些实施例从客户端装置收集装置配置文件信息,并将此配置文件信息传输至安全服务器16,所述安全服务器16可将其组织并存储在客户端配置文件数据库19中(参见图2-b)。
37.一些实施例使用服务激活旗标27来选择性地收集取证数据,如下文更详细展示。响应于选择客户端装置作为数据收集的目标,dns服务器14可用加旗标dns应答来响应从相应客户端装置接收的dns查询,其中服务激活旗标27经设置以指示数据收集打开。响应于接收到相应加旗标dns应答,在选定客户端装置上执行的安全应用程序可从选定装置收集取证信息,并将相应信息传输到安全服务器16用于分析。取证数据收集可根据若干情形继续进行。在图5-a中说明的一个实例中,在客户端装置10上执行的安全软件可确定客户端装置10与内容服务器18之间的通信的元数据及/或实际有效载荷,将此信息打包为取证数据30,并将其添加到出站消息队列用于传输到安全服务器16。在图5-b中说明的另一实例中,响应于接收到指示数据收集在活动的加旗标dns应答,在相应客户端装置上执行的安全软件可经由将客户端装置10连接到安全服务器16的通信隧道在客户端装置10与内容服务器18之间重新路由数据流量的至少一部分。此隧道的例子是虚拟专用网络(vpn)连接。换句话说,在图5-b中,取证数据收集包括经由安全服务器16路由到及/或来自选定客户端装置的实时通信,其中可分析相应流量。
38.图6展示根据本发明的一些实施例在客户端装置上执行的示范性软件组件。此软件可包含操作系统(os)50,所述操作系统(os)50可为任何广泛可用的操作系统,例如microsoft 或android等。os 50提供客户端装置10的硬件与包含客户端应用程序52及安全应用程序54的一组应用程序之间的接口。客户端应用程序52通常表示任何计算机程序,例如文字处理应用程序、电子表格应用程序、图像处理、游戏、电子通信、网页浏览及社交媒体应用程序等。安全应用程序54向客户端装置10提供计算机安全服务,例如反恶意软件、入侵检测及网络存取控制。
39.在一些实施例中,安全应用程序包括dns代理56、配置文件生成器57及通信管理器58。组件56到57到58可作为独立的可执行实体执行,或者可例如作为动态加载的库并入安全应用程序54中。所属领域的技术人员将理解,组件56到57到58的一些功能性可在网络网关12(参见图1),而不是客户端系统10上实施。
40.在一些实施例中,在dns代理54拦截及修改进入及/或离开客户端装置10的dns消息的流动及/或内容的意义上,dns代理56经配置为客户端装置10与dns服务器14之间的中
介。一些实施例配置os 50以经由dns代理56选择性地将出站流量路由到某些ip地址。此功能性可例如使用分离隧道vpn来实施。在一个此实例中,安全应用程序54将向os 50注册dns服务器14的ip地址,因此宣布服务器14作为针对相应客户端系统的dns的提供者。应用程序54可进一步配置客户端系统10的vpn接口,使得到相应ip地址的所有流量将穿过dns代理56。
41.图7展示根据本发明的一些实施例的由dns代理56执行的示范性步骤序列。本文描述的示范性算法实现对网络存取请求的选择性处理,其中以单个dns请求的粒度实现选择。
42.步骤202到204的序列拦截入站及出站dns消息。在步骤206中,dns代理确定拦截消息的类型。当消息是dns查询(例如,由客户端应用程序52存取特定域名的请求)时,在步骤208到210的序列中,dns代理56用相应客户端装置的客户端id标记相应dns查询,以产生标记dns查询26,并将查询26传输到dns服务器14。
43.当所拦截dns消息是应答时,步骤220解析所述消息以确定其是否加旗标,即,其是否含有服务激活旗标,以及所述旗标的值是否指示针对相应客户端装置10的安全服务是活动的。当否时,步骤222将相应的dns应答转发给请求软件实体(例如,客户端应用程序52或os 50)。
44.在一些实施例中,安全应用程序54维持为安全目的保留的预定虚拟网络地址的池。虚拟地址在本文用作由dns提供者返回的实际网络地址的替代物。虚拟地址可指示或可不指示实际在线资源的位置。安全应用程序54维持包括真实及虚拟地址之间的映射的地址关联表(例如,散列表),如下面展示。在一些实施例中,安全应用程序54进一步向客户端系统10的vpn接口注册虚拟ip地址,使得到及/或来自此类虚拟地址的所有流量将穿过安全应用程序54。这允许通信管理器58对此流量执行安全操作,例如以重定向或内省此流量,如下面进一步详述。相异虚拟地址可用于相异服务,例如家长控制、流量采样、存取控制等。
45.当所拦截dns消息是其中旗标的值指示安全服务在活动的加旗标应答时,在步骤224中,从池选择可用虚拟地址。一些实施例进一步根据服务激活旗标27的值来选择虚拟地址,例如当不同值指示不同服务的激活时。接下来,dns代理56可在相应虚拟地址与含在dns应答中的实际网络地址之间创建关联(例如,将虚拟地址映射到实际地址或反之亦然的散列表条目)。进一步步骤228可编辑加旗标dns应答,以用选定虚拟地址替换实际网络地址。在步骤228中,一些实施例进一步从相应dns消息移除服务激活旗标以使其看起来像标准dns应答。此类混淆策略可帮助隐藏安全软件的动作不被在客户端装置10上执行的潜在恶意软件发现。进一步步骤230将经修改dns应答传输到请求软件实体(例如,客户端应用程序52或os 50)。
46.在一些实施例中,通信管理器58拦截及处理客户端装置10与内容服务器18之间的电子通信的至少一部分。如上文展示,一些实施例配置安全应用程序54以拦截来自及/或离开到一组预定ip地址的通信。图8展示由通信管理器58执行以处理传出通信的示范性步骤序列,例如对内容服务器18的超文本传送协议(http)请求。当检测到此通信时(步骤242到244),步骤246确定相应通信的目的地ip地址是否与由安全应用程序54维持的虚拟ip地址列表中的任何者匹配。如果否,那么通信管理器58可将通信转发到客户端系统10的通信接口用于传输给其预期接收者。
47.如果是,指示选择相应通信用于安全处理,那么步骤248根据相应通信执行一些安
全动作。示范性安全动作包含确定一组元数据,其包括例如与相应虚拟地址相关联的真实目的地ip地址、通信端口、有效载荷大小及通信的时间戳。另一安全动作可包括制作相应通信的有效载荷的副本。又一示范性安全动作包括检验通信的有效载荷以确定相应有效载荷是否被加密,或相应有效载荷是否包括特定类型的数据(例如,图像、可执行代码等)。在又一实例中,步骤248包括针对恶意代码扫描相应通信的有效载荷。在一些实施例中,步骤248进一步包括将关于/来自相应通信的所提取信息放入日志或队列中用于离线传输到安全服务器16。一些实施例根据虚拟地址确定安全动作的类型。例如,一些虚拟地址可能指示家长控制动作,而另一虚拟地址可指示恶意软件扫描。
48.在进一步步骤252中,通信管理器58可查找地址关联表以确定对应于由相应通信指示的虚拟地址的真实ip地址,并编辑相应通信以用真实ip地址替换虚拟地址。在一些实施例中,步骤252可进一步重新打包原始通信,以经由虚拟专用网络隧道将其重新路由到安全服务器16(参见图5-b)。然后,步骤254可将通信转发到客户端装置10的通信接口。
49.图9展示在处理传入通信时由通信管理器58执行的步骤的示范性序列。当接收到此通信时(步骤262到264),步骤266可查找地址关联表以确定通信的源ip地址是否与虚拟地址匹配。如果否,那么通信管理器58可将传入通信转发给其预期接收者(例如,应用程序52)。
50.如果是,指示选择相应的通信用于安全处理,那么步骤268根据传入通信执行一组安全动作。示范性安全动作包含确定一组通信元数据(例如,源ip地址、有效载荷大小、时间戳等)、复制相应通信的有效载荷、检验有效载荷以确定一组特征(例如,相应有效载荷是否加密、其是否含有可执行代码等),以及针对恶意软件扫描相应的有效载荷等。一些实施例可进一步将此信息传输到安全服务器16。
51.在步骤272中,通信管理器58随后可编辑传入通信以用相关联虚拟ip地址替换源ip地址。进一步步骤274随后可将经编辑通信转发给其预期接收者(例如,客户端应用程序52)。
52.在一些实施例中,配置文件生成器57(图6)经配置以确定客户端装置10的硬件及/或软件配置的各种特征,并以配置文件指示符29的形状将此数据传输到安全服务器16(图2-b)。示范性硬件特征可包含,例如相应客户端装置的装置类型(例如,智能电话、pc、平板计算机、恒温器)、识别特征(例如,mac地址、imei等)、各种组件的硬件规范(例如,制造商、型号)、相应客户端装置10是否具有特定硬件组件(例如,照相机、麦克风、指纹读取器、全球定位系统-gps传感器等)的指示符。其它示范性硬件特征包含当前正在使用的资源量(例如,cpu节流、ram及磁盘使用、活动屏幕时间)。示范性软件特征尤其包括os 50的类型及版本、当前安装的软件应用程序的列表,以及指示每一应用程序在相应装置上的使用量的统计数据。配置文件指示符29可进一步包含客户端装置的当前地理位置的指示符(例如,国家、地理位置坐标等)。响应于接收到配置文件指示符29,安全服务器16可将此信息存储在客户端配置文件数据库19中。在一些实施例中,客户端配置文件信息用于从多个客户端装置选择客户端装置用于安全服务,例如如下文描述的取证数据采集。例如,此配置文件信息可能提供有关哪些装置可能感染恶意软件的线索。
53.图10展示根据本发明的一些实施例的由dns服务器14执行的示范性步骤序列。步骤282到284的序列侦听dns查询。在一些实施例中,用客户端标识符标记此类查询(参见上
文关于图7的描述)。当接收到查询时,步骤286根据客户端id 25识别相应查询源起的客户端装置(例如,参见图3)。在进一步步骤288中,dns服务器14可在配置文件数据库19中查找相应客户端装置的客户端配置文件。
54.步骤290可进一步确定对于当前dns查询及相应客户端装置是否满足服务激活条件。换句话说,在步骤290中,服务器14可选择性地激活用于一些客户端及/或一些域名的安全服务。客户端选择可根据从数据库19检索的客户端配置文件数据继续进行。在其中dns代理56发送在标记dns查询26中编码的客户端配置文件数据的替代实施例中,服务器14可根据此数据选择相应客户端装置。在又一实施例中,由安全服务器16执行步骤288到290,所述安全服务器16接着将选定客户端装置的列表传输到dns服务器14。
55.在示范性取证数据采集实施例中,dns服务器14可选择与特定装置类型(例如,智能电话)匹配的客户端、来自特定地区或国家(例如,德国)的客户端、运行特定操作系统及/或版本(例如,安卓、ios 10)的客户端等。另一示范性客户端选择准则包括相应客户端装置是否正在运行特定应用程序,例如未知或可疑软件。在一个此实例中,存取与特定域名相关联以及从运行特定所监测应用程序的装置接收的ip地址的http请求将经由vpn复制或转移到安全服务器16。
56.其它客户端选择准则可包含客户端装置及/或dns查询的计数。例如,dns服务器14可在每一时间间隔期间选择预定数目个客户端装置(例如,每秒不超过100个相异客户端),或者预定数目个dns查询(例如,来自同一客户端的不超过50个相异dns查询)。在如图5-b中描绘的实施例中,其中客户端装置可根据服务激活旗标的值经由vpn隧道选择性地将某些通信重新路由到安全服务器16,另一示范性选择准则包含在安全服务器16上运行的vpn服务的当前载荷。在示范性家长控制实施例中,另一选择准则可包含相应客户端装置的当前用户(例如,仅当儿童正在使用装置时才选择性地激活家长控制规则)。个别选择准则可组合成涉及多个条件的复杂准则(例如,从比利时及荷兰的相异智能电话接收的100个dns请求)。
57.如果对于发出当前dns查询的客户端装置满足选择条件,那么步骤294可通过设置服务激活旗标27以指示安全服务是活动的来制定加旗标dns应答(例如,参见图4)。在一些实施例中,将旗标27设置为活动的有效地选择相应的客户端装置用于特定安全服务,例如取证数据收集、家长控制等。此选择在本文中每dns查询激活,并且可针对从同一客户端装置接收的后续查询关闭。
58.当对于相应客户端装置及当前dns查询不满足选择条件时,步骤296可通过设置激活旗标27以指示安全服务为不活动的来制定加旗标dns应答。在替代实施例中,步骤296可制定完全缺少服务激活旗标27的标准dns应答。进一步步骤298可将在步骤294或296中制定的dns应答传输到请求客户端装置。
59.以上描述展示执行根据本发明的一些实施例的各种方法的示范性计算机程序。此类计算机程序通常由多用途硬件处理器执行,但是所属领域的技术人员将理解,本文公开的方法及算法可使用专用硬件组件实施,例如专用集成电路(asic)或现场可编程门阵列(fpga)。图11说明可编程以实行本文描述的方法及算法的计算机系统的示范性硬件配置。图11展示通用计算机系统,其可表示例如客户端装置10a到f、dns服务器14及安全服务器16等中的任何者。所属领域的技术人员将理解,一些客户端系统(例如,移动电话、智能手表)
的硬件配置可能与图11中所说明的有所不同。
60.所说明计算机系统包括一组物理装置,包含硬件处理器32及存储器单元34。处理器32包括物理装置(例如,微处理器、形成在半导体衬底上的多核集成电路等),所述物理装置经配置以用一组信号及/或数据执行计算及/或逻辑操作。在一些实施例中,此类操作以处理器指令序列(例如,机器代码或其它类型的编码)的形式传递到处理器32。存储器单元34可包括易失性计算机可读媒体(例如,dram、sram),所述易失性计算机可读媒体存储由处理器32存取或产生的指令及/或数据。
61.输入装置36可包含计算机键盘、鼠标及麦克风等,包含允许用户将数据及/或指令引入相应计算机系统中的相应硬件接口及/或适配器。输出装置38可包含例如监视器的显示装置及扬声器等,以及例如图形卡的硬件接口/适配器,允许所说明计算机系统向用户传达数据。在一些实施例中,输入装置36及输出装置38共享共同一件硬件,如在触摸屏装置的情况下。存储装置42包含实现软件指令及/或数据的非易失性存储、读取及写入的计算机可读媒体。示范性存储装置42包含磁盘及光盘以及闪存装置,以及例如cd及/或dvd光盘及驱动器的可移除媒体。所述一组网络适配器44连同相关联通信接口使得所说明计算机系统能够连接到计算机网络及/或其它装置/计算机系统。控制器集线器40表示多个系统、外围装置及/或芯片组总线及/或实现处理器32与装置34、36、38、42及44之间的通信的所有其它电路系统。例如,控制器集线器40可包含存储器控制器、输入/输出(i/o)控制器及中断控制器等。在另一实例中,控制器集线器40可包括将处理器32连接到存储器34的北桥,及/或将处理器32连接到装置36、38、42及44的南桥。
62.上文描述的示范性系统及方法允许在异构客户端(如个人计算机及智能电话)以及物联网(iot)装置(如电视、恒温器、冰箱及可穿戴装置等)上选择性地执行计算机安全操作。本文的选择性表示精确地标定来自多个客户端装置当中的装置并在所述相应的装置上执行一些安全程序的能力,而不是在多个客户端装置上不加区别地实行相应安全程序。在一些实施例中,目标装置的选择集中在可通信地耦合到多个客户端装置的远程服务器计算机系统上。
63.在一些实施例中,安全应用程序在每一客户端装置上执行,并包括域名服务(dns)代理,所述域名服务(dns)代理拦截及处理在相应客户端装置与远程dns服务器之间交换的dns消息。为清楚及简单起见,上文公开使用术语

域名服务’来表示当前在因特网通信中使用的常规dns。然而,所属领域的技术人员将理解,本文描述的方法及系统可容易地适用于用于将域名映射到网络地址或反之亦然的任何其它格式及协议。
64.在一些实施例中,dns代理组件用相应客户端装置的标识符标记寻址到dns服务器的传出dns查询。作为响应,dns服务器可用包括服务激活旗标的加旗标dns应答进行响应。在一些实施例中,当向相应客户端发出dns应答时,dns服务器通过将服务激活旗标设置为预定值来选择特定客户端装置用于安全程序。继而,在客户端上执行的安全应用程序可将服务激活旗标的一些值解释为用于执行相应安全程序的触发。旗标的相异值可触发相异安全程序。在替代实施例中,dns应答中服务激活旗标的存在可触发安全程序,而不存在此旗标可指示安全应用程序不实行相应程序。
65.鉴于上述内容,上文描述的示范性系统及方法在个别dns消息的层级实现客户端选择性。换句话说,可通过相应客户端装置与dns服务器之间的任何个别dns交换来打开/关
闭安全程序。在一些常规计算机安全应用程序中,根据个别客户端订阅选项或根据软件配置参数,选择客户端用于某些程序。例如,一些客户端可能注册家长控制,而其它可能不会。类似地,安全软件可经由vpn隧道转移一些客户端的流量,但不转移其它。然而,此客户端选择性通常是预定的,并且不随时间改变,例如,来自特定客户端的所有存取请求通常根据相同规则/程序被处理。与此类常规系统相反,一些实施例允许在每dns消息的基础上进行更灵活的客户端选择。例如,这允许根据时间表、根据当前服务器载荷、根据客户端试图存取的域名、根据客户端的当前地理位置(例如,地理围栏)等选择客户端用于特定程序。
66.根据本发明的一些实施例选择性地激活的示范性安全程序尤其包含选择性地从客户端采集取证信息,选择性地经由安全服务器路由流量,家长控制(例如,选择性地监测及/或限制某些客户端/用户对某些在线内容的存取)、应用程序或存取控制(例如,选择性地监测及/或限制客户端使用选定应用程序及/或通信协议,例如facebook(r)及在线通讯)。
67.由本发明的一些实施例启用或促进的一类重要应用程序依赖于从客户端选择性地采集计算机取证数据。例如,对于及时发现新出现的计算机安全威胁(例如恶意软件),此采集可能是有用的。新恶意软件不断出现,且在缺乏关于其行为的信息的情况下,此软件可绕过常规安全措施且迅速传播。iot装置特别容易受到此类感染影响。因此,收集尽可能多的关于新出现的感染的信息,且理想地从已感染的装置选择性地收集此信息是重要的。一些恶意软件选择性地感染特定类型的装置(例如,手机)及/或运行特定类型操作系统(例如,)的装置。一些实施例实现客户端的此选择性标定,且因此出于安全目的的信息的有效收集。在一个此实例中,dns服务器可选择符合针对特定恶意软件(例如,来自特定国家的智能电话)的可能目标的配置文件的客户端装置。作为响应,在选定客户端装置上执行的安全软件可获取进/出相应客户端装置的数据流量的快照。通过启用数据采集的每dns消息选择性激活,一些实施例允许收集离开到所关注的特定因特网域或网络地址(例如,可疑的命令及控制服务器)或从所关注的特定因特网域或网络地址(例如,可疑的命令及控制服务器)进入的数据流量。
68.数据采集的替代实施例可将选定客户端装置与可疑因特网域或网络地址之间的通信重定向到安全服务器。例如,可使用vpn隧道启用此重定向。安全服务器可接着针对恶意的迹象对重定向的流量进行内省。重新路由及内省网络流量在计算机安全领域是已知的。然而,典型配置重新路由选定客户端的所有流量,因此确保其永久受保护免于在线威胁。从数千个受保护的客户端到少数vpn服务器的此大规模流量重新路由网络在装备成本及计算载荷方面相对昂贵,且可能负面地影响客户端侧的用户体验。与此类常规系统相反,在本发明的一些实施例中,每一客户端装置的流量可经由vpn选择性地重新路由。例如,在数据采集实施例中,仅到/来自被认为所关注的某些域的流量可被重定向到vpn服务器。另外,本文描述的系统及方法允许从符合特定配置文件的多个客户端装置(例如,运行ios(r)的智能电话及平板计算机)随机采样网络流量。此随机采样可确保没有特定的客户端装置不成比例地受到数据采集程序的影响,对用户体验的总体影响显著低于常规系统中。
69.一些实施例可使用加旗标dns应答作为用于收集其它取证数据的触发。在一个此实例中,响应于加旗标dns应答,安全软件可确定相应客户端装置的当前状态的参数(例如,得到各种os变量及/或注册键的当前值,获取存储器的特定部分的快照等)。此数据可传输
至安全服务器,并与网络流量数据一起用于取证调查。
70.本文描述的系统及方法的示范性用例场景包括主动检测间谍软件。在西欧中检测到影响运行操作系统的装置的新恶意软件的爆发。恶意代码经由google 商店传递,被打包为看起来真实的照片管理工具。然而,应用程序的隐藏意图是收集个人用户数据并将其提交给服务器。这在技术上符合间谍软件。
71.阶段i-触发恶意怀疑
72.根据本发明的一些实施例保护的客户端装置向dns服务器14及/或安全服务器16提交各种dns查询及客户端配置文件信息(参见图2-b)。客户端配置文件指示符29可包含当前安装在装置上的应用程序的列表。基于此信息,检测未知应用程序的安装。此外,从此客户端装置接收的dns查询的记录揭露对域名upload_application_name.serviceprovider.com的频繁存取请求。安全服务器16在dns日志上运行一系列恶意软件识别试探法,从而揭露域serviceprovider.com已由平台注册为服务(pas)提供者,并且针对相应域的dns查询以相对规则的时间间隔进行。这两个事实触发恶意怀疑,并且安全服务器16决定对在相应客户端装置与可疑域之间交换的网络流量进行采样及/或内省。
73.阶段ii-流量分析
74.为收集代表性流量样本,安全服务器16根据存储在配置文件数据库19中的装置配置文件,识别被认为代表此威胁的客户端装置的选定子集。例如,可根据候选装置的当前位置(例如,西欧国家)及操作系统(在此情况中为特定版本的)进行选择。安全服务器16可将选定装置的列表传输到dns服务器14。作为响应,dns服务器14可对包括serviceprovider.com域并从选定客户端接收的dns查询的至少一些dns应答加旗标,以指示在相应装置上激活取证数据收集服务。在一些实施例中,服务激活旗标27的值指示接收客户端装置上的安全软件通过vpn将流量转移到serviceprovider.com到安全服务器16。dns服务器14将跟踪每一选定客户端装置,例如记录从相应客户端装置接收到多少serviceprovider.com的dns查询,并将在收集到足够流量样本时停止从相应客户端装置的取证数据收集。为停止数据收集,dns服务器14可复位服务激活旗标27以指示数据收集服务为不活动的,或者可用完全缺少服务激活旗标27的标准dns应答进行响应。
75.接着,响应于接收到指示取证数据收集在活动的加旗标dns应答,在客户端装置上执行的安全软件用虚拟ip地址替换对应于serviceprovider.com的真实ip地址。此后,当可疑恶意软件试图与serviceprovider.com通信时,其将向虚拟ip发送连接请求。此请求可通过客户端装置的vpn接口重新路由到安全服务器16。重新路由通常包括用对应真实目的地ip地址替换虚拟ip地址,以及根据vpn协议重新打包网络流量。安全应用程序54的一些实施例进一步将一些元数据(例如,目的地端口、目的地ip地址、网络协议、时间戳等)附加到经转移流量。
76.在示范性流量分析场景中,安全服务器16的vpn组件记录附加到每一所接收网络分组的元数据,并将分组有效载荷的副本存储到磁盘用于稍后检验。然后,分组本身被转发到其真正的目的地ip地址。来自相应ip地址的任何响应分组将被重定向回到相应客户端装置。在一些实施例中,安全服务器16的vpn组件还将记录以相应客户端装置为目的地的传入流量,因此捕获可疑恶意软件与其远程服务提供者之间的完整交换。
77.使用本文描述的一些系统及方法,计算机安全分析师能够收集以下类型的信息:
78.·
遥测以识别新的潜在恶意应用程序的爆发;
79.·
由可疑域名识别的可疑网页服务;及
80.·
在新未知应用程序与可疑域名之间交换的数据的样本。
81.使用此数据,分析团队能够应用试探法来确定可疑域处的网页服务用于恶意命令及控制类型通信。根据分组交换的时序及周期、通信被加密的事实、加密密钥的所有者的身份以及通信有效载荷(相对较小的分组)的平均大小来进行恶意的此示范性确定。根据交换的不对称性(源自客户端装置的分组的有效载荷通常远大于传入分组的有效载荷),以及仅在一些受感染的客户端上看到此不对称流量,从而表明由命令及控制服务器以某种方式将相应的客户端选择为感兴趣的事实,另一组试探法将可疑域识别为恶意上传者(用户数据的收集者),。
82.使用dns消息来选择性地标定个别客户端用于特定服务的若干系统和方法在所属领域中是已知的。然而,在常规系统及方法中,通常执行相应服务的实体是dns服务器本身。在家长控制实例中,响应于接收到用客户端标识符标记的dns查询,dns服务器可根据客户端的身份及/或所请求域名选择性地选择返回ip地址或不返回ip地址。在载荷平衡实例中,dns服务器可根据请求客户端的当前地理位置在多个ip地址当中选择。
83.与此类常规系统相反,在本发明的一些实施例中,安全任务在dns服务器上执行的软件与客户端装置上执行的软件之间拆分。例如,选择客户端用于特定服务的任务由dns服务器执行,所述dns服务器通过加旗标dns应答与请求客户端装置通信。接着,在客户端上执行的安全软件实际上执行相应服务(例如,取证数据收集、将流量重定向到安全服务器、家长控制等)。此任务拆分有多种优点。一方面,将决策过程集中在服务器上允许统一管理安全信息,并对新出现威胁的最优速度响应。另一方面,在客户端本身上执行安全操作允许相应操作的增加的精度、复杂度及灵活性。因此,几乎可在客户端上实行任何操作,同时受益于如上文描述的每dns消息选择的优点。例如,使用本文描述的系统及方法,经由vpn将客户端的网络流量选择性重定向到安全服务器是可行的,而这无法单独由dns服务器完成,即,使用常规dns服务器中心安全模型。
84.尽管上文描述主要集中于其中安全软件(例如dns代理56及通信管理器58)在终端客户端装置(例如,智能电话、pc)上执行的实施例,但在替代实施例中,dns代理56及/或管理器58的至少一些功能性可在充当连接多个客户端装置的本地网络的网关的网络设备上实施。例如,参见图1中的网关12。在此类配置中,网关12可拦截进入及/或离开本地网络13的dns消息,并且可如上文展示那样对其进行修改。当网关12向客户端供应本地网络地址(例如,充当用于本地网络13的dhcp服务器)时,网关12在个别客户端装置当中区分,且因此可用相应客户端标识符标记传出dns查询。此外,网关12处于良好位置以拦截及选择性地路由本地网络上的客户端与外部ip地址之间的其它电子通信(例如,http请求)。因此,网关12可执行如本文展示的安全程序,例如选择性地获取取证数据、执行家长控制活动等。
85.一些实施例实施混合配置,其中一些客户端装置10a到f执行安全应用程序54的例子,而其它不执行。在一个此实例中,网关12可尝试将安全应用程序54自动提供到连接到本地网络13的所有客户端装置10a到e。一些此类装置(例如恒温器、智能手表等)可具有有限的硬件资源,且因此可能无法执行安全应用程序54的全面例子。一些实施例可接着使用在网关12上执行的软件以将如本文描述的安全服务扩展到此类装置。
86.在网关12上运行安全应用程序54的功能性的至少一部分,而不是如上文展示在终端客户端装置10a到f上运行可能有多个优点。一个优点是,在网关12上实行的操作(例如标记dns请求、检测服务激活旗标、修改ip地址等)实际上无法被客户端装置上执行的软件检测到。此外,在客户端装置上执行的恶意软件可能不干扰或破坏网关12的活动。另一优点是网关12可自行有效地收集及/或内省数据流量,即,无需将相应流量重定向到vpn服务器。在一个此实例中,网关12可确定流量元数据(例如,源及目的地ip地址、分组大小、时间戳),并将此元数据传输到安全服务器16用于分析。
87.其中安全应用程序54的至少一部分在网关12上执行的配置的又一优点是深入了解本地网络拓扑。在图1的实例中,dns服务器14通常不知晓客户端装置10a及10b连接到同一本地网络,但网关12知晓。因此,当拦截针对同一域名的多个dns查询时,网关12可通知服务器14相应dns查询是否来自同一网络的成员。此信息潜在地与计算机安全相关,例如在其中恶意软件从一个网络节点散播到其它节点的情形中。在另一示范性情形中,来自连接到家庭网络的相异装置类型(智能电话、pc、tv)的对同一域名的多个dns查询可指示例如或的在线娱乐服务的合法使用。在又一实例中,对来自运行相同os(例如,)的装置的同一域名的多个dns查询可指示将软件更新分发到公司网络上的多个装置的合法尝试。
88.然而,与个别客户端装置相反,在网关12上运行安全应用程序54的至少一部分也具有缺点。例如,自动装置发现(即,使用在网关12上执行的软件来确定每一客户端10a到f的装置类型)可能受到限制并且计算成本高。尽管一些类型指示客户端信息可能以mac地址等的形式可用,但是网关12可能完全无法存取例如资源使用及经安装软件的其它数据。
89.所属领域的技术人员将清楚,可在不脱离本发明的范围的情况下以许多方式改变上文实施例。因此,本发明的范围应由所附权利要求书及其合法等效物确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献