定位内网中的受控主机的方法、设备及系统与流程

文档序号:15624963发布日期:2018-10-09 22:45阅读:772来源:国知局
本申请实施例涉及网络安全
技术领域
,特别涉及一种定位内网中的受控主机的方法、设备及系统。
背景技术
:高级持续性威胁(advancedpersistentthreat,apt)攻击是指一些专业且有组织的黑客利用先进的攻击手段对特定目标进行长期持续性网络攻击的一种攻击手段。一些重点机构(如政府、企业、机关单位等)的网络在遭受apt攻击之后,位于外网的控制主机可以通过命令和控制(commandandcontrol,c&c)指令对内网中的受控主机(以下称为“受控内网主机”)进行控制,例如控制受控内网主机更新本地文件、探测内网中的其它主机等。基于域名系统(domainnamesystem,dns)协议流量的c&c异常检测方法能够识别出处于外联阶段的受控内网主机,外联阶段是指受控内网主机正在与控制主机进行通讯的阶段。该方法主要通过对dns协议流量进行分析,以检测c&c通讯异常。为了确保重点机构的网络的安全性,互联网安全监控机构(如公安网监)会从互联网服务提供商(internetserviceprovider,isp)的dns服务器中镜像所有的dns流量,通过对该dns流量进行分析,以检测上述重点机构的网络是否遭受apt攻击。进一步地,在检测出重点机构的网络遭受到apt攻击的情况下,互联网安全监控机构需要溯源定位出重点机构内网中的受控内网主机的互联网协议(internetprotocol,ip)地址,及时发出安全监控报告通报给重点机构的负责人,责令其对网络进行整改,提高安全防护能力。在一些重点机构的网络中,经常会在网络内部部署dns代理(proxy)服务器,并且在网络边界部署网络地址转换(networkaddresstranslation,nat)设备。因此,受控内网主机使用的地址是内网ip地址,受控内网主机发送的dns请求报文的源ip地址在经过两次转换后,才会到达外网。其中一次转换是由dns代理服务器将受控内网主机发出的dns请求报文中的源ip地址由受控内网主机的内网ip地址转换为dns代理服务器的ip地址,另一次转换是由nat设备对上述经dns代理服务器转换后的dns请求报文中的源ip地址进行内外网地址转换,由dns代理服务器的ip地址转换为公网ip地址。这样,互联网安全监控机构中相关的分析设备需要收集上述nat设备的nat日志和dns代理服务器的业务日志,对上述日志做关联分析后才能溯源到受控内网主机的ip地址。具体来讲,相关的分析设备首先基于nat日志溯源得到dns代理服务器的ip地址,然后基于dns代理服务器的业务日志溯源得到受控内网主机的ip地址。因此,上述现有技术提供的定位内网中的受控主机的方法,至少存在如下技术问题:第一,效率低且实时性差;相关的分析设备需要做2次日志溯源分析才能定位到受控内网主机的ip地址,对日志进行分析需要耗费较多时间,且由于安全隔离网闸(gap)的存在,不能保证日志能够实时传递到上述分析设备;第二,兼容性差;由于不同厂商的日志格式不统一,因此分析设备很难兼容适配不同厂商的nat设备生成的nat日志、也很难兼容适配不同厂商的dns代理设备生成的业务日志。技术实现要素:本申请实施例提供了一种定位内网中的受控主机的方法、设备及系统,用以解决现有技术提供的定位内网中的受控主机的方法所存在的效率低、实时性差以及兼容性差的问题。一方面,本申请实施例提供一种定位内网中的受控主机的方法,该方法包括:外网的检测设备获取内网主机向外网中的dns服务器发送的dns请求报文中携带的目标域名和内网主机的标识替代信息,内网主机的标识替代信息用于替代内网主机的标识信息;检测设备在检测出目标域名为恶意域名且内网主机为受控内网主机的情况下,向内网中的查询设备发送查询请求,其中,受控内网主机是指被具有目标域名的控制主机控制的内网主机,查询请求包括:目标域名和受控内网主机的标识替代信息,查询请求用于请求查询受控内网主机的标识信息;查询设备接收检测设备发送的查询请求,根据目标域名和受控内网主机的标识替代信息,查询映射表获取与目标域名和受控内网主机的标识替代信息对应的受控内网主机的标识信息,并向检测设备发送受控内网主机的标识信息。此外,上述映射表由查询设备生成,映射表包括至少一个条目,每一个条目用于存储内网主机请求访问的域名、该内网主机的标识信息和该内网主机的标识替代信息三者之间的对应关系。本申请实施例提供的方案中,检测设备在对中招的受控内网主机进行定位时,根据受控内网主机请求访问的目标域名和受控内网主机的标识替代信息,可以从查询设备中快速地查询获取受控内网主机的标识信息。这样,一方面通过标识替代信息替代标识信息携带在dns请求报文中,可以避免内网主机的标识信息在isp网络中传输,确保了内网主机的标识信息的安全性;另一方面能够解决现有技术中采用分析日志的方式溯源定位受控内网主机所存在的相关技术问题,达到了快速地定位获取到受控内网主机的标识信息的技术效果,处理效率高且实时性较好,且无需考虑不同厂商的日志格式之间的兼容性,方案的适用性更广、自由度更大。在一个可能的设计中,查询设备根据目标域名和受控内网主机的标识替代信息,查询映射表获取与目标域名和受控内网主机的标识替代信息对应的受控内网主机的标识信息,包括:从映射表中查询获取包含受控内网主机的标识替代信息的条目;若查找到一条包含受控内网主机的标识替代信息的条目,则从上述查找到的条目中获取内网主机的标识信息作为受控内网主机的标识信息;若查找到至少两条包含受控内网主机的标识替代信息的条目,则从上述查找到的条目中选取包含目标域名的条目,并从选取的条目中获取内网主机的标识信息作为受控内网主机的标识信息。本申请实施例提供的方案中,查询设备先基于受控内网主机的标识替代信息查询映射表得到相应的标识信息,在标识替代信息出现重复的几率较小的情况下,查表得到的包含受控内网主机的标识替代信息的条目通常仅有一个,因此即可快速地确定出受控内网主机的标识信息。在一个可能的设计中,内网主机的标识替代信息包括:第一业务标识和第二业务标识的组合。其中,第一业务标识由内网主机随机生成,第二业务标识由内网中的dns代理服务器随机生成。在一个可能的设计中,内网主机的标识信息为内网主机的ip地址。查询设备生成映射表,包括:接收内网主机发送的第一dns请求报文;其中,第一dns请求报文的源ip地址字段中携带内网主机的ip地址、目的ip地址字段中携带dns代理服务器的ip地址、业务标识字段中携带第一业务标识、请求域名字段中携带内网主机请求访问的域名;在映射表中添加目标条目,该目标条目包括:内网主机请求访问的域名、内网主机的ip地址和第一业务标识之间的对应关系;向dns代理服务器转发第一dns请求报文,以使得dns代理服务器将第一dns请求报文的源ip地址字段中携带的内网主机的ip地址修改为dns代理服务器的ip地址、将目的ip地址字段中携带的dns代理服务器的ip地址修改为dns服务器的ip地址、将业务标识字段中携带的第一业务标识修改为第二业务标识,得到第二dns请求报文;接收dns代理服务器发送的第二dns请求报文;在映射表的目标条目中添加第二业务标识;在第二dns请求报文中添加第一业务标识,得到第三dns请求报文;向外网中的dns服务器发送第三dns请求报文。在一个可能的设计中,查询设备在第二dns请求报文的伪资源记录的option-data字段中添加第一业务标识,得到第三dns请求报文。在本申请实施例提供的方案中,借助于dns请求报文中的业务标识来替代表示内网主机的标识信息(例如ip地址),并通过edns将内网主机对应的第一业务标识附加在去往dns服务器的dns请求报文中,实现了标识替代信息的携带与传输。该方案仅需采用edns在原有dns请求报文格式的基础上做少量扩展和修改,易于实施。在一个可能的设计中,查询设备在映射表中添加目标条目之后,还包括:当目标条目超过有效期时,查询设备在映射表中删除目标条目。通过上述方式,对映射表中存储的数据量进行控制,避免浪费查询设备的存储资源。在一个可能的设计中,查询设备为防火墙。防火墙本身具备一定的处理和存储能力,且能够很好地支持建表和查表功能。另一方面,本申请实施例提供一种查询设备,该查询设备具有实现上述方法示例中查询设备侧行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或者单元。在一个可能的设计中,查询设备的结构中包括处理器和通信接口,所述处理器被配置为支持查询设备执行上述方法中相应的功能。所述通信接口用于支持查询设备与其它设备之间的通信。进一步的,查询设备还可以包括存储器,所述存储器用于与处理器耦合,其保存查询设备必要的程序指令和数据。又一方面,本申请实施例提供一种检测设备,该检测设备具有实现上述方法示例中检测设备侧行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或者单元。在一个可能的设计中,检测设备的结构中包括处理器和通信接口,所述处理器被配置为支持检测设备执行上述方法中相应的功能。所述通信接口用于支持检测设备与其它设备之间的通信。进一步的,检测设备还可以包括存储器,所述存储器用于与处理器耦合,其保存检测设备必要的程序指令和数据。又一方面,本申请实施例提供一种定位内网中的受控主机的系统,该系统包括上述方面所述的查询设备和检测设备。再一方面,本申请实施例提供一种计算机存储介质,用于储存为上述查询设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。再一方面,本申请实施例提供一种计算机存储介质,用于储存为上述检测设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。相较于现有技术,本申请实施例的方案中,检测设备在对中招的受控内网主机进行定位时,根据受控内网主机请求访问的目标域名和受控内网主机的标识替代信息,可以从查询设备中快速地查询获取受控内网主机的标识信息。这样,一方面通过标识替代信息替代标识信息携带在dns请求报文中,可以避免内网主机的标识信息在isp网络中传输,确保了内网主机的标识信息的安全性;另一方面能够解决现有技术中采用分析日志的方式溯源定位受控内网主机所存在的相关技术问题,达到了快速地定位获取到受控内网主机的标识信息的技术效果,处理效率高且实时性较好,且无需考虑不同厂商的日志格式之间的兼容性,方案的适用性更广、自由度更大。附图说明图1是本申请一个实施例提供的应用场景的示意图;图2是本申请一个实施例提供的定位内网中的受控主机的方法的流程图;图3是本申请一个实施例提供的dns请求报文的发送过程的流程图;图4a是本申请一个实施例提供的原ednsopt报文格式的示意图;图4b是本申请一个实施例提供的修改后的ednsopt报文格式的示意图;图5a是本申请另一个实施例提供的定位内网中的受控主机的方法的流程图;图5b是图5a实施例涉及的dns请求报文的发送过程的信息流向图;图5c是图5a实施例涉及的受控内网主机的定位过程的信息流向图;图6a是本申请一个实施例提供的电子设备的示意性框图;图6b是本申请一个实施例提供的电子设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。在对本申请提供的技术方案进行介绍说明之前,首先对“外网”和“内网”做简单介绍。外网也称为公网,是指广域网,也即通常所说的因特网(internet)。内网也称为私有网络,是指局域网,局域网相对于广域网而言,主要是指在小范围内的计算机互联网络,如政府、企业、机关单位、高校、商场、家庭等内部建立的网络。外网和内网可以使用不同的地址空间,通常而言外网和内网之间传输的报文需要通过隔离设备进行转发。本申请实施例描述的系统架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。请参考图1,其示出了本申请实施例提供的一种可能的应用场景的示意图。该应用场景可以包括:内网10、isp网络20和互联网安全监控机构的网络30。可选地,内网10是政府、企业、机关单位等对网络安全要求较高的重点机构的局域网。内网10中包括:内网主机11、dns代理服务器12、nat设备13和查询设备14。内网主机11是指部署在内网10中的主机。内网主机11的数量通常为多个。示例性地,内网主机11可以是台式计算机、便携式计算机、笔记本电脑、移动终端(如手机、平板电脑、个人数字助理等)、服务器(如物理服务器、虚拟服务器等)。内网主机11还可以是pos(pointofsales)机、银行的自动柜员机(automatictellermachine,atm)、物联网(internetofthings,iot)终端、智能电表、传感器等。内网主机11具备标识信息,该标识信息用于在内网访问内唯一标识内网主机11。在同一个内网中,不同的内网主机11对应于不同的标识信息。可选地,内网主机11的标识信息为内网主机11的ip地址。dns代理服务器12对内作为dns服务端的角色,接收所有内网主机11发送的dns请求报文,并对其进行应答;对外作为dns客户端(dnsclient)的角色,代替内网主机11向isp网络20中的dns服务器21发送dns请求报文。dns请求报文也称为dns查询(query)报文,是指dns客户端向dns服务端发送的dns报文。nat设备13部署在内网10的边界,用于内外网地址转换。可选地,nat设备13为集成了nat功能的防火墙(firewall,fw)设备。查询设备14部署在dns代理服务器12的前端,用于转发并解析dns查询报文。在本申请实施例中,查询设备14包括如下功能:(1)建立映射表,该映射表包括至少一个条目,每一个条目包括:内网主机11请求访问的域名、内网主机11的标识信息和内网主机11的标识替代信息之间的对应关系;其中,内网主机11的标识替代信息用于替代内网主机11的标识信息,其具体可参见下文实施例中的介绍说明;(2)修改dns请求报文:通过dns的扩展机制(extensionmechanismsfordns,edns),将内网主机11发送的原始dns请求报文中携带的业务标识附加在去往isp网络20中的dns服务器21的dns请求报文中。查询设备14可以是防火墙,也可以是服务器,或者其它具备计算和存储能力的设备。isp网络20中包括:dns服务器21和分光器22。dns服务器21主要用于负责对dns查询请求进行应答。分光器22部署在isp网络20的光纤链路中,用于对光纤链路中的dns业务流量进行分光,以达到流量复制的目的。互联网安全监控机构的网络30中包括:流探针设备31和网络安全智能系统(cybersecurityintelligentsystem,cis)32。上述互联网安全监控机构可以是公安机关的网络监控机构,可称为“公安网监”。流探针设备31与分光器22之间具有通信连接。流探针设备31作为安全探测器的角色,接收分光器22的原始流量(包括dns业务流量),对流量分析汇总后生成元数据(metadata),并将元数据上报到cis32做进一步分析。其中,元数据中包括dns请求报文的关键信息,上述关键信息包括内网主机11请求访问的域名、内网主机11的标识替代信息。cis32接收流探针设备31提供的元数据,对元数据进行分析定位出中招的受控内网主机,并进一步确定受控内网主机的标识信息(如ip地址)。可选地,cis32中的设备称为检测设备,该检测设备用于实现上述cis32的功能。内网主机的标识信息(例如ip地址)作为隐私数据,不应当在isp网络中传输,如果被他人恶意获取进行内网窥探和渗透攻击,会导致内网的安全性急剧降低。因此,在对内网中的受控内网主机进行定位时,需要在保证隐私数据的安全性的前提下,尽可能快速地定位获取到受控内网主机的标识信息(例如ip地址)。在本申请实施例中,查询设备对内网主机发送的dns请求报文进行分析,从中获取内网主机请求访问的域名、内网主机的标识信息和内网主机的标识替代信息,并将上述信息对应存储;检测设备在对中招的受控内网主机进行定位时,根据受控内网主机请求访问的目标域名和受控内网主机的标识替代信息,可以从查询设备中快速地查询获取到受控内网主机的标识信息。这样,既可以避免内网主机的标识信息在isp网络中传输,确保了内网主机的标识信息的安全性;并且,能够解决现有技术中采用分析日志的方式溯源定位受控内网主机所存在的相关技术问题,达到了快速地定位获取到受控内网主机的标识信息的技术效果,且无需考虑不同厂商的日志格式之间的兼容性,方案的适用性更广。下面将基于上面所述的本申请实施例涉及的共性方面,对本申请实施例进一步详细说明。请参考图2,其示出了本申请一个实施例提供的定位内网中的受控主机的方法的流程图。该方法可应用于图1所示的应用场景中。该方法可以包括如下几个步骤。步骤201,查询设备生成映射表。查询设备位于内网中,例如,查询设备位于图1所示应用场景的内网中。映射表包括至少一个条目。每一个条目用于存储内网主机请求访问的域名、内网主机的标识信息和内网主机的标识替代信息之间的对应关系。内网主机的标识信息用于在内网访问内唯一标识内网主机。在同一个内网中,不同的内网主机对应于不同的标识信息。可选地,内网主机的标识信息为内网主机的ip地址。其中,ip地址可以是基于互联网协议第四版(internetprotocolversion4,ipv4)的地址,也可以是基于互联网协议第六版(internetprotocolversion6,ipv6)的地址。内网主机的标识替代信息用于替代内网主机的标识信息。内网主机的标识替代信息可以由内网主机和/或dns代理服务器随机生成,也可以由内网主机和/或dns代理服务器按照某种预设算法或规则生成。另外,在内网主机向dns服务器发送dns请求报文的阶段,查询设备生成映射表。dns请求报文也称为dns查询(query)报文。有关查询设备生成映射表的具体过程可参见下文图3实施例中的介绍说明。步骤202,检测设备获取内网主机向外网中的dns服务器发送的dns请求报文中携带的目标域名和内网主机的标识替代信息。检测设备位于外网中,例如,检测设备位于图1所示应用场景中的cis系统中。dns请求报文中携带目标域名和内网主机的标识替代信息。目标域名是指内网主机发送的dns请求报文所请求访问的域名。在本申请实施例中,仅以内网主机的标识信息为内网主机的ip地址为例,因为内网主机发出的dns请求报文的源ip地址字段中即携带其ip地址。但本申请实施例并不限定内网主机的标识信息还可以是其它信息,如内网主机的介质访问控制(mediumaccesscontrol,mac)地址或者其它可用于唯一标识内网主机的标识符。步骤203,检测设备在检测出目标域名为恶意域名且内网主机为受控内网主机的情况下,向内网中的查询设备发送查询请求。受控内网主机是指被具有该目标域名的控制主机控制的内网主机。检测设备对目标域名进行分析检测,确定该目标域名是否为恶意域名。恶意域名也称为非法域名,是指一些黑客为发起网络攻击而使用的域名。在通常情况下,这些恶意域名是随机生成的,且与合法域名之间存在一些明显的区别。恶意域名具有如下特征:恶意域名的字符组成有一定规律,例如字母和数字的数量固定;恶意域名由于是随机生成的,其包含的字母不具备拼写特征(即无法组成拼音或英文单词);恶意域名中包含的各种类型的字符数量较为均等,例如字母和数字的数量较为均等。基于恶意域名存在的上述特征,可以训练得到用于辨别恶意域名和合法域名的检测模型,通过该检测模型确定目标域名是否为恶意域名。在目标域名为恶意域名的情况下,可以确定内网主机是被具有该恶意域名的控制主机控制的受控内网主机。检测设备向查询设备发起查询请求,用于请求查询受控内网主机的标识信息,以实现对该受控内网主机进行定位。查询请求包括:目标域名和受控内网主机的标识替代信息。相应地,查询设备接收检测设备发送的查询请求。另外,在内网中包括nat设备的情况下,检测设备向nat设备发送查询请求,nat设备将查询请求转发给查询设备。在本申请实施例中,对检测设备与nat设备之间的连接形式不作限定。可选地,检测设备与nat设备之间的连接为通用的安全版超文本传输协议(hypertexttransferprotocoloversecuresocketlayer,https)加密连接,有助于确保检测设备与nat设备之间传输数据的安全性。步骤204,查询设备根据目标域名和受控内网主机的标识替代信息,查询映射表获取与目标域名和受控内网主机的标识替代信息对应的受控内网主机的标识信息。在一种可能的实现方式中,步骤204包括如下几个子步骤:1、查询设备从映射表中查询获取包含受控内网主机的标识替代信息的条目;在上文已经介绍,映射表包括至少一个条目。每一个条目包括:域名(内网主机请求访问的域名)、内网主机的标识信息和内网主机的标识替代信息之间的对应关系。2、若查找到一条包含受控内网主机的标识替代信息的条目,则从上述查找到的条目中获取内网主机的标识信息作为受控内网主机的标识信息;3、若查找到至少两条包含受控内网主机的标识替代信息的条目,则从上述查找到的条目中选取包含目标域名的条目,并从选取的条目中获取内网主机的标识信息作为受控内网主机的标识信息。在内网主机的标识替代信息是由内网主机和/或dns代理服务器随机生成的情况下,对于两个dns请求报文来说,存在一定几率携带相同的标识替代信息。该几率与标识替代信息所占用的比特数有关,当标识替代信息所占用的比特数较大时,该几率较小。在本申请实施例中,查询设备先基于受控内网主机的标识替代信息查询映射表得到相应的标识信息,在标识替代信息出现重复的几率较小的情况下,查表得到的包含受控内网主机的标识替代信息的条目通常仅有一个,因此即可快速地确定出受控内网主机的标识信息。另外,在查询设备查表得到的包含受控内网主机的标识替代信息的条目为至少两个时,结合受控内网主机请求访问的目标域名确定出受控内网主机的标识信息。进一步地,如果上述至少两个条目中,包含目标域名的条目仍然不止一个,则将该多个包含目标域名的条目中存储的内网主机的标识信息均确定为受控内网主机的标识信息。步骤205,查询设备向检测设备发送受控内网主机的标识信息。相应地,检测设备接收查询设备发送的受控内网主机的标识信息。可选地,在内网中包括nat设备的情况下,查询设备向nat设备发送受控内网主机的标识信息,nat设备向查询设备转发受控内网主机的标识信息。可选地,查询设备和/或nat设备按照预设加密规则对受控内网主机的标识信息加密后发送给检测设备;相应地,检测设备在接收到加密后的信息之后,按照与上述预设加密规则对应的预设解密规则对加密后的信息进行解密,得到受控内网主机的标识信息。通过上述方式,能够提高受控内网主机的标识信息在传输时的安全性。可选地,查询设备还可从映射表中查询获取包含目标域名的所有条目,获取上述查询到的所有条目中存储的内网主机的标识信息(也即获取与目标域名相对应的所有标识信息),并将上述与目标域名相对应的所有标识信息发送给检测设备,这样,检测设备即可获取到内网中所有请求访问目标域名的内网主机的标识信息。本申请实施例提供的方案,检测设备在对中招的受控内网主机进行定位时,根据受控内网主机请求访问的目标域名和受控内网主机的标识替代信息,可以从查询设备中快速地查询获取受控内网主机的标识信息。这样,一方面通过标识替代信息替代标识信息携带在dns请求报文中,可以避免内网主机的标识信息在isp网络中传输,确保了内网主机的标识信息的安全性;另一方面能够解决现有技术中采用分析日志的方式溯源定位受控内网主机所存在的相关技术问题,达到了快速地定位获取到受控内网主机的标识信息的技术效果,处理效率高且实时性较好,且无需考虑不同厂商的日志格式之间的兼容性,方案的适用性更广、自由度更大。可选地,对于任意一台内网主机,内网主机的标识替代信息包括:第一业务标识和第二业务标识的组合。其中,第一业务标识由内网主机随机生成,第二业务标识由内网中的dns代理服务器随机生成。可选地,上述业务标识为dns请求报文的transactionid字段中携带的标识符,该标识符用于表示业务的流水编号。transactionid字段中的标识符由请求方(也即dns请求报文的发送方)随机生成,应答方(也即dns请求报文的接收方)在向请求方反馈dns应答报文时,需要在transactionid字段中携带同样的标识符,这样dns应答报文才会被请求方接受。transactionid字段的长度为2字节(byte),也即16比特(bit)。在内网主机的标识信息为内网主机的ip地址的情况下,如图3所示,dns请求报文的发送过程包括如下步骤,在dns请求报文的发送过程中,查询设备生成或更新映射表:步骤301,查询设备接收内网主机发送的第一dns请求报文。第一dns请求报文的源ip地址字段中携带内网主机的ip地址、目的ip地址字段中携带dns代理服务器的ip地址、业务标识字段中携带第一业务标识、请求域名字段中携带内网主机请求访问的域名。在一个示例中,第一dns请求报文的报文格式内容如下表-1所示:源ip地址目的ip地址transactionid请求域名ip_aip_dns_proxytransaction_id_clientdomain-name表-1其中,ip_a表示内网主机的ip地址,ip_dns_proxy表示dns代理服务器的ip地址,transaction_id_client表示由内网主机随机生成的第一业务标识,domain-name表示内网主机请求访问的域名。步骤302,查询设备在映射表中添加目标条目。查询设备在接收到第一dns请求报文之后,对该第一dns请求报文进行解析,从中提取内网主机请求访问的域名、内网主机的ip地址和第一业务标识,并在映射表中添加目标条目。目标条目包括:内网主机请求访问的域名、内网主机的ip地址和第一业务标识之间的对应关系。步骤303,查询设备向dns代理服务器转发第一dns请求报文。dns代理服务器接收到第一dns请求报文之后,将第一dns请求报文的源ip地址字段中携带的内网主机的ip地址修改为dns代理服务器的ip地址、将目的ip地址字段中携带的dns代理服务器的ip地址修改为dns服务器的ip地址、将业务标识字段中携带的第一业务标识修改为第二业务标识,得到第二dns请求报文,并将第二dns请求报文发送给查询设备。在一个示例中,第二dns请求报文的报文格式内容如下表-2所示:源ip地址目的ip地址transactionid请求域名ip_dns_proxyip_dns_server_isptransaction_id_proxydomain-name表-2其中,ip_dns_proxy表示dns代理服务器的ip地址,ip_dns_server_isp表示isp网络中的dns服务器的ip地址,transaction_id_proxy表示由dns代理服务器随机生成的第二业务标识,domain-name表示请求访问的域名。步骤304,查询设备接收dns代理服务器发送的第二dns请求报文。步骤305,查询设备在映射表的目标条目中添加第二业务标识。查询设备在接收到第二dns请求报文之后,对该第二dns请求报文进行解析,从中提取请求访问的域名和第二业务标识,根据请求访问的域名获取目标条目,并在目标条目中添加第二业务标识。在添加第二业务标识之后,目标条目包括:内网主机请求访问的域名、内网主机的ip地址、第一业务标识和第二业务标识之间的对应关系。步骤306,查询设备在第二dns请求报文中添加第一业务标识,得到第三dns请求报文。在一个示例中,第三dns请求报文的报文格式内容如下表-3所示:源ip地址目的ip地址transactionid请求域名附加的dns内容ip_dns_proxyip_dns_server_isptransaction_id_proxydomain-nametransaction_id_client表-3可选地,查询设备在第二dns请求报文的伪资源记录(resourcerecord)的option-data字段中添加第一业务标识,得到第三dns请求报文。上述伪资源记录即是指opt(option,选项)资源记录。在本申请实施例中,通过dns的扩展机制(也即edns),在dns请求报文的伪资源记录中,扩展使用edns0optioncode,用于将第一业务标识附加在dns请求报文中。结合参考图4a和图4b,原ednsopt报文格式如图4a所示,其中包含固定部分和可变部分,图4a中用阴影表示的字段为可变部分,其余为固定部分。在可变部分中,包括option-code字段、option-length字段和option-data字段。option-code字段的值由互联网数字分配机构(theinternetassignednumbersauthority,iana)分配,option-length字段的值用于表示option-data字段的长度,option-data字段可根据实际需求进行定义。option-code字段的长度为2字节,option-length字段的长度也为2字节。在本申请实施例中,通过对可变部分中的字段进行修改和扩展,修改后的ednsopt报文格式如图4b所示。option-code字段的取值为14至65000之间的任意值,例如取值16。option-length字段的值用于表示option-data字段的长度,在本申请实施例中取值2。option-data字段的长度固定为2字节,用于携带第一业务标识。步骤307,查询设备向外网中的dns服务器发送第三dns请求报文。可选地,在内网中还包括nat设备的情况下,查询设备向nat设备发送第三dns请求报文,nat设备对第三dns请求报文的源ip地址字段进行内外网地址转换,得到第四dns请求报文,并向isp网络中的dns服务器发送第四dns请求报文。在一个示例中,第四dns请求报文的报文格式内容如下表-4所示:源ip地址目的ip地址transactionid请求域名附加的dns内容ip_natip_dns_server_isptransaction_id_proxydomain-nametransaction_id_client表-4其中,ip_nat表示经nat设备进行内外网地址转换后的源ip地址。isp网络中的分光器将第四dns请求报文分光复制后,传输给互联网安全监控机构的网络中的流探针设备。流探针设备对第四dns请求报文进行解析,从中提取关键信息,该关键信息包括:内网主机请求访问的域名、第一业务标识和第二业务标识。之后,流探针设备将上述关键信息发送给cis系统中的检测设备,由检测设备检测内网主机请求访问的域名是否为恶意域名,并在检测出内网主机请求访问的域名为恶意域名的情况下,采用上述图2所示实施例介绍的方案对受控内网主机的ip地址进行定位。可选地,为了对映射表中存储的数据量进行控制,为映射表中的条目设置有效期。该有效期是预先设定的经验值,例如1分钟。以目标条目为例,当目标条目超过有效期时,查询设备在映射表中删除目标条目。本申请实施例提供的方案,借助于dns请求报文中的业务标识来替代表示内网主机的标识信息(例如ip地址),并通过edns将内网主机对应的第一业务标识附加在去往dns服务器的dns请求报文中,实现了标识替代信息的携带与传输。该方案仅需采用edns在原有dns请求报文格式的基础上做少量扩展和修改,易于实施。请参考图5a,其示出了本申请另一个实施例提供的定位内网中的受控主机的方法的流程图。该方法可应用于图1所示的应用场景中。该方法可以包括如下几个步骤。其中,有关dns请求报文的发送过程可结合参考图5b所示的信息流向图,有关受控内网主机的定位过程可结合参考图5c所示的信息流向图。在图5b和图5c中,圆圈中表示的信息流向1-18分别对应下述步骤501-518。步骤501,内网主机向查询设备发送第一dns请求报文。第一dns请求报文可以是dnsquery报文。第一dns请求报文的源ip地址字段中携带内网主机的ip地址、目的ip地址字段中携带dns代理服务器的ip地址、业务标识字段中携带第一业务标识、请求域名字段中携带内网主机请求访问的域名。在本实施例中,为简化表述,将内网主机请求访问的域名称为目标域名。在一个例子中,假设目标域名为abcdghdy123.org,内网主机的ip地址为192.168.1.123,第一业务标识为1a86(以十六进制表示)。相应地,查询设备接收内网主机发送的第一dns请求报文。步骤502,查询设备在第一映射表中添加目标条目。目标条目包括:目标域名、内网主机的ip地址和第一业务标识之间的对应关系。在一个例子中,将第一映射表称为“dnsclientquery表”。dnsclientquery表的结构如下表-5所示:表-5其中,“域名”表项用于记录内网主机请求访问的目标域名,“client_ip”表项用于记录内网主机的ip地址,“transaction_id_client”表项用于记录内网主机对应的第一业务标识,“原始dns请求报文到达查询设备的时间”表项用于记录内网主机发送的dns请求报文达到查询设备的时间。步骤503,查询设备向dns代理服务器转发第一dns请求报文。相应地,dns代理服务器接收查询设备转发的第一dns请求报文。步骤504,dns代理服务器将第一dns请求报文的源ip地址字段中携带的内网主机的ip地址修改为dns代理服务器的ip地址、将目的ip地址字段中携带的dns代理服务器的ip地址修改为dns服务器的ip地址、将业务标识字段中携带的第一业务标识修改为第二业务标识,得到第二dns请求报文。在一个例子中,假设第二业务标识为28a9(以十六进制表示)。步骤505,dns代理服务器向查询设备发送第二dns请求报文。相应地,查询设备接收dns代理服务器发送的第二dns请求报文。步骤506,查询设备在第二映射表中添加目标条目,并在第二dns请求报文中添加第一业务标识得到第三dns请求报文。目标条目包括:目标域名、内网主机的ip地址、第一业务标识和第二业务标识之间的对应关系。在一个例子中,将第二映射表称为“dnsquery映射表”。dnsquery映射表的结构如下表-6所示:表-6其中,“域名”表项用于记录内网主机请求访问的目标域名,“transaction_id_client”表项用于记录内网主机对应的第一业务标识,“transaction_id_proxy”表项用于记录内网主机对应的第二业务标识,“client_ip”表项用于记录内网主机的ip地址,“原始dns请求报文到达查询设备的时间”表项用于记录内网主机发送的dns请求报文达到查询设备的时间,“dns代理服务器发送的dns请求报文到达查询设备的时间”表项用于记录dns代理服务器发送的dns请求报文达到查询设备的时间。在本实施例中,通过记录原始dns请求报文到达查询设备的时间和/或dns代理服务器发送的dns请求报文到达查询设备的时间,能够对映射表中的条目的有效期进行监控,删除超过有效期的条目。在本实施例中,仅以建立第一映射表和第二映射表两个映射表为例,在实际应用中,也可仅建立一个映射表,用以保存表6所示的信息。另外,有关生成第三dns请求报文的过程可参见上述图3实施例步骤306中的介绍说明,本实施例对此不再赘述。步骤507,查询设备向nat设备发送第三dns请求报文。相应地,nat设备接收查询设备发送的第三dns请求报文。步骤508,nat设备对第三dns请求报文的源ip地址字段进行内外网地址转换,得到第四dns请求报文。步骤509,nat设备向isp网络中的dns服务器发送第四dns请求报文。相应地,dns服务器接收nat设备发送的第四dns请求报文。步骤510,isp网络中的分光器将第四dns请求报文分光复制后,传输给互联网安全监控机构的网络中的流探针设备。相应地,流探针设备接收第四dns请求报文。步骤511,流探针设备对第四dns请求报文进行解析,从中提取关键信息,该关键信息包括:目标域名、第一业务标识和第二业务标识。仍然以上述例子为例,流探针设备提取的关键信息包括:目标域名“abcdghdy123.org”、第一业务标识“1a86”和第二业务标识“28a9”。步骤512,流探针设备将上述关键信息发送给cis系统中的检测设备。例如,流探针设备生成元数据(metadata),元数据中包含关键信息。相应地,检测设备接收流探针设备发送的关键信息。步骤513,检测设备检测目标域名是否为恶意域名。步骤514,检测设备在检测出目标域名为恶意域名且内网主机为受控内网主机的情况下,向nat设备发送查询请求。受控内网主机是指被具有目标域名的控制主机控制的内网主机。查询请求用于请求查询受控内网主机的ip地址。查询请求包括:目标域名和受控内网主机的标识替代信息。受控内网主机的标识替代信息包括第一业务标识和第二业务标识。仍然以上述例子为例,查询请求中包括:目标域名“abcdghdy123.org”、第一业务标识“1a86”和第二业务标识“28a9”。相应地,nat设备接收检测设备发送的查询请求。另外,检测设备在检测出目标域名不是恶意域名(也即目标域名为合法域名)的情况下,结束流程,不执行下述步骤。步骤515,nat设备向查询设备转发查询请求。相应地,查询设备接收nat设备转发的查询请求。步骤516,查询设备根据目标域名和受控内网主机的标识替代信息,查询映射表获取受控内网主机的ip地址。查询设备查找本地的dnsquery映射表,查询获取受控内网主机的ip地址为192.168.1.123。步骤517,查询设备向nat设备发送受控内网主机的ip地址。查询设备向nat设备发送对应于查询请求的查询响应,该查询响应中携带受控内网主机的ip地址。相应地,nat设备接收查询设备发送的受控内网主机的ip地址。步骤518,nat设备向检测设备转发受控内网主机的ip地址。相应地,检测设备接收nat设备转发的受控内网主机的ip地址。需要补充说明的一点是,在上述实施例中,仅以内网主机的标识替代信息包括第一业务标识和第二业务标识的组合为例。采用第一业务标识和第二业务标识这两项信息的组合作为标识替代信息,来替代表示内网主机的标识信息(例如ip地址),可以尽可能地避免标识替代信息出现重复。当然,在其它可能的实现形式中,也可以仅采用第一业务标识或者第二业务标识其中一项信息作为标识替代信息,来替代表示内网主机的标识信息(例如ip地址)。例如,当仅采用第二业务标识作为标识替代信息来替代表示内网主机的标识信息时,虽然标识替代信息出现重复的几率会有所提高,但可无需对dns请求报文格式做扩展和修改,实现更为简单。需要补充说明的另一点是,本申请实施例中提及的查询设备可以是防火墙。防火墙本身具备一定的处理和存储能力,且能够很好地支持建表和查表功能。另外,防火墙可以是硬件防火墙,也可以是软件虚拟防火墙,本申请实施例对此不作限定。在上述方法实施例中,仅从查询设备和检测设备的交互角度对本申请提供的技术方案进行介绍说明。上述有关查询设备侧的步骤可以单独实现成为查询设备侧的定位内网中的受控主机的方法,有关检测设备侧的步骤可以单独实现成为检测设备侧的定位内网中的受控主机的方法。可以理解的是,电子设备(例如查询设备、检测设备)为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块(或单元)。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。本申请实施例可以根据上述方法示例对电子设备(例如查询设备、检测设备)进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在采用集成的单元的情况下,图6a示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。电子设备600包括:处理单元602和通信单元603。处理单元602用于对电子设备600的动作进行控制管理。例如,当电子设备600为查询设备时,处理单元602用于支持电子设备600执行图2中的步骤201、步骤204和205,图3中的步骤301至307,图5a中的步骤502、503、506、507、516和517,和/或用于执行本文所描述的技术的其它步骤。当电子设备600为检测设备时,处理单元602用于支持电子设备600执行图2中的步骤202和203,图5a中的步骤513和514,和/或用于执行本文所描述的技术的其它步骤。通信单元603用于支持电子设备600与其它设备的通信。电子设备600还可以包括存储单元601,用于存储电子设备600的程序代码和数据。例如,当电子设备600为查询设备时,存储单元601中存储有上文介绍的映射表,比如第一映射表“dnsclientquery表”和第二映射表“dnsquery映射表”。其中,处理单元602可以是处理器或控制器,例如可以是中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信单元603可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如查询设备与nat设备之间的接口,又例如检测设备与nat设备之间的接口。存储单元601可以是存储器。当处理单元602为处理器,通信单元603为通信接口,存储单元601为存储器时,本申请实施例所涉及的电子设备可以为图6b所示的电子设备。参阅图6b所示,该电子设备610包括:处理器612、通信接口613、存储器611。可选地,电子设备610还可以包括总线614。其中,通信接口613、处理器612以及存储器611可以通过总线614相互连接;总线614可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。所述总线614可以分为地址总线、数据总线、控制总线等。为便于表示,图6b中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。上述图6a或图6b所示的电子设备可以是查询设备或检测设备。结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块(或单元)组成,软件模块(或单元)可以被存放于随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(readonlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablerom,eprom)、电可擦可编程只读存储器(electricallyeprom,eeprom)、寄存器、硬盘、移动硬盘、只读光盘(cd-rom)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于电子设备中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。以上所述的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1