僵尸网络识别方法、装置及终端设备与流程

文档序号:30500430发布日期:2022-06-24 22:22阅读:166来源:国知局
1.本技术涉及网络安全
技术领域
:,尤其涉及一种僵尸网络识别方法、装置及终端设备。
背景技术
::2.僵尸网络是一种复杂、灵活、高效的网络攻击平台,在互联网中分布非常广泛。僵尸网络使攻击者具备了实施大规模恶意活动的能力,如发动分布式拒绝服务攻击、发送垃圾邮件(spam)、网络钓鱼(phishing)以及窃取信息等,3.其中,僵尸网络的逻辑为黑客利用相应的手段攻破用户主机、企业服务器等,以实现自身的非法目的。僵尸网络的活动主要分为传播、命令与控制(c&c)、攻击三个阶段,其中命令与控制是僵尸网络工作的核心机制。例如图1所示,是一种基于中心c&c服务器的僵尸网络实现过程,其通过远控域名,建立c&c服务器与僵尸主机之间的联系,再通过下发指令,发动群体对受害主机或服务器的网络攻击。4.由于僵尸网络的危害严重,因此,如何有效识别并对抗僵尸网络已经成为网络安全研究的热点之一。但是,在僵尸网络在与安全组织和厂商的博弈过程中,为了解决僵尸网络的隐蔽性、生存性等问题,其也在不断地演化,从而呈现出如下的发展趋势。5.1、非中心化:非中心化结构因其在抗毁性方面的优势,正逐渐被越来越多的僵尸网络采用。6.2、小型化:僵尸网络的规模在一定程度上呈现出缩小的趋势。7.3、隔离化:更多的僵尸网络将会采用domain-flux(dga)技术来隔离僵尸结点与命令服务器的直接通信,以为命令服务器提供一层安全保护。8.针对僵尸网络出现的前述趋势,相关技术中已有的僵尸网络检测手段逐渐失去了自身的优势,导致僵尸网络识别效果差,无法有效对抗僵尸网络的攻击。技术实现要素:9.本技术实施例提供了一种僵尸网络识别方法、装置及终端设备,能够有效解决僵尸网络识别效果差,无法有效对抗僵尸网络攻击的问题。10.为了解决上述问题,本技术是这样实现的:11.第一方面,本技术实施例提供一种僵尸网络识别方法,所述方法包括:对待处理的dns报文日志进行风险识别,得到风险识别结果,所述dns报文日志中包括多个域名信息,每个所述域名信息包括域名以及所述域名对应的源ip;在所述风险识别结果指示所述dns报文日志疑似恶意流量的情况下,基于预配置的dga家族规则,确定所述dns报文日志中各域名信息所属的目标dga家族集合;基于所述dga家族集合以及所述源ip,对具有相同源ip的域名信息集进行聚类,得到多个目标流量组;分别统计各所述目标流量组中访问同一类dga家族集合的源ip的数量;在所述数量大于第一阈值、且访问无效返回占比大于第二阈值的情况下,确定所述源ip对应的网络为僵尸网络。12.第二方面,本技术实施例还提供一种僵尸网络识别装置,包括:识别模块,用于对待处理的dns报文日志进行风险识别,得到风险识别结果,所述dns报文日志中包括多个域名信息,每个所述域名信息包括域名以及所述域名对应的源ip;第一确定模块,用于在所述风险识别结果指示所述dns报文日志疑似恶意流量的情况下,基于预配置的dga家族规则,确定所述dns报文日志中各域名信息所属的目标dga家族集合;聚类模块,用于基于所述dga家族集合以及所述源ip,对具有相同源ip的域名信息集进行聚类,得到多个目标流量组;统计模块,用于分别统计各所述目标流量组中访问同一类dga家族集合的源ip的数量;第二确定模块,用于在所述数量大于第一阈值、且访问无效返回占比大于第二阈值的情况下,确定所述源ip对应的网络为僵尸网络。13.第三方面,本技术实施例还提供一种终端设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的僵尸网络识别方法的步骤。14.第四方面,本技术实施例还提供一种计算机可读存储介质,当所述存储介质中的指令由终端设备中的处理器执行时,使得终端设备能够执行第一方面所述的僵尸网络识别方法的步骤。15.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:16.本技术实施例中,利用预配置的dga家族规则对待处理的dns报文日志进行分析,以实现僵尸网络的有效识别,以用于有效对抗僵尸网络的攻击。17.上述说明仅是申请技术方案的概述,为了能够更清楚了解本技术的技术手段,可依照说明书的内容予以实施,并且为了让本技术的上述和其他目标、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。附图说明18.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:19.图1为根据一示例性实施例提供的僵尸网络识别方法的流程示意图。20.图2为根据另一示例性实施例提供的僵尸网络识别方法的流程示意图。21.图3为根据一示例性实施例提供的僵尸网络识别装置的框图。22.图4为根据一示例性实施例提供的终端设备的框图。具体实施方式23.为使本技术的目标、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。24.以下结合附图,详细说明本技术各实施例提供的技术方案。25.本技术提供一种僵尸网络识别方法、装置及终端设备,其中,该僵尸网络识别方法可以应用于终端设备,具体可由安装于所述终端设备中的硬件或/和软件执行。可选地,所述终端设备可以是但不限于手机、平板电脑(tabletpersonalcomputer)、膝上型电脑(laptopcomputer)或称为笔记本电脑、个人数字助理(personaldigitalassistant,pda)、掌上电脑、上网本、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、移动上网装置(mobileinternetdevice,mid)、可穿戴式设备(wearabledevice)或车载设备(vue)、行人终端(pue)等终端侧设备,可穿戴式设备包括:手环、耳机、眼镜等。需要说明的是,在本技术实施例并不限定终端11的具体类型。26.结合参阅图1,为本技术一示例性实施例提供的僵尸网络识别方法100的流程示意图,所述方法100至少包括如下步骤。27.s110,对待处理的域名系统(domainnamesystem,dns)报文日志进行风险识别,得到风险识别结果。28.其中,所述dns报文日志中包括多个域名信息,每个所述域名信息包括域名以及所述域名对应的源网协(internetprotocol,ip)。其中,所述dns报文日志可以是实时获取的,例如,可以通过旁路镜像方式获取交换机流量信息,然后通过dpi解析方法对所述交换机流量信息进行解析,得到所述dns报文日志。29.一种实现方式中,所述dns报文日志可以包括14个字段,各字段之间以符号“|”分隔,例如,所述dns报文日志可以表示为:时间戳|会话id|源ip|源端口|目标ip|目标端口|协议|数据长度|请求或响应|域名|qtype|qclass|rcode|rdata。30.需要注意的是,所述dns报文日志根据“请求或响应”字段的不同,分为两类,一类是dns请求,一类是dns响应,所述dns请求和所述dns响应可以分别表示如下。31.a.dns请求32.15412345677|1231231312123|10.1.1.1|3456|10.1.1.2|53|dns|80|q|www.a.com|a|in|。33.b.dns响应34.15412345677|1231231312123|10.1.1.1|3456|10.1.1.2|53|dns|80|a|www.a.com|a|in|noerror|10.1.1.1。35.s120,在所述风险识别结果指示所述dns报文日志疑似恶意流量的情况下,基于预配置的域名生成算法(domaingenerationalgorithm,dga)家族规则,确定所述dns报文日志中各域名信息所属的dga家族集合。36.其中,所述dga家族规则的获取过程可以包括:根据360等提供的每一个dga家族的字符规则,提取出判定域名为某类家族的规则集合,如mirai家族域名满足固定长度12,字符由a-y构成,于是得到mirai家族的判定sql语句。37.本实施例中,所述dga家族集合的获取过程可以包括:将疑似恶意流量的dns报文日志经与所述dga家族规则进行匹配,得到dns报文日志中每条域名信息对应的dga家族集合。38.应注意,如果某条恶意流量新增家族字段后内容为,15412345677|1231231312123|10.1.1.1|3456|10.1.1.2|53|dns|80|a|abcjiaucnoin.com|a|in|noerror|10.1.1.1|[mirai,tempedreve,tinba],可将该恶意流量的域名家族信息补充完整。[0039]s130,基于所述dga家族集合以及所述源ip,对具有相同源ip的域名信息集进行聚类,得到多个目标流量组。[0040]s140,分别统计各所述目标流量组中访问同一类dga家族集合的源ip的数量。[0041]s150,在所述数量大于第一阈值、且访问无效返回占比大于第二阈值的情况下,确定所述源ip对应的网络为僵尸网络。[0042]本实施例中,在s130至s150中,所述第一阈值和所述第二阈值可根据实际需求进行设定,例如,假设第一阈值为θ1、第二阈值分别为θ2,那么,作为一种可能的实现方式,以相同源ip的恶意流量(也即目标流量组)为一组,大小为nip,统计一组中源ip访问同一类dga家族集合的个数δ,如10.1.1.1访问mirai家族集合的域名个数,若δ》θ1,再判断源ip访问的该dga家族集合的无效返回占比η,若η》θ2,则可判定该源ip为僵尸网络。[0043]其中,所述无效返回占比η的计算方式可以如下表示。[0044][0045]其中,nip表示总的访问量,nip,rcode=nxdomain表示无效返回的数量。[0046]本实施例中,利用预配置的dga家族规则对待处理的dns报文日志进行分析,以实现僵尸网络的有效识别。此外,dga家族规则易于实现,且覆盖性、通用性高,经过测试,僵尸网络的识别准确率较高。[0047]结合参阅图2,为本技术一示例性实施例提供的僵尸网络识别方法200的流程示意图,所述方法200至少包括如下步骤。[0048]s210,获取待处理的dns报文日志。[0049]其中,s210中所述的dns报文日志的获取方式可参照前述s110的中的相关描述,为避免重复,在此不再赘述。[0050]s220,对所述dns报文日志包括的域名信息进行预处理,得到多个待识别语料。[0051]作为一种可能的实现方式,s220的实现过程可以包括:对所述dns报文日志中包括的各所述域名信息进行标准化处理;对标准化处理后的各所述域名进行分词处理,得到对应各所述域名信息的多个待识别语料。[0052]例如,假设域名信息为qq.com,那么,先对该域名信息进行大小写转换,如将字母q标准化为q,那么,对qq.com标准化处理后的域名信息为qq.com;然后,对标准化后的域名信息进行分词处理,也就是,将所述标准化处理后的域名信息按照每单个字母进行分词,例如,在对域名信息qq.com进行分词处理后,得到的待识别预料{qqcom}。[0053]作为另一种可能的实现方式,在得到待识别预料后,为了进一步提高僵尸网络的识别准确度,可将各所述待识别语料的长度处理为预定长度。例如,假设预配置的语料的预定长度为n(如32),那么,对于每个待识别语料,当待识别语料的长度超出所述预定长度,可对所述待识别语料进行截断,使得截断后的待识别语料的长度为所述预定长度,反之,当待识别语料的长度不足所述预定长度,可对所述待识别语料的长度进行补足,使得补足后的待识别语料的长度为所述预定长度。[0054]其中,关于所述待识别的补足方式或截断方式本实施例不做限制。[0055]s230,根据所述待识别语料中包括的每个域名字母查询预配置的词向量矩阵,得到待识别向量。[0056]其中,所述词向量矩阵可以基于通过word2vec模型获取。作为一种可能的实现方式,所述词向量矩阵的生成过程可从参照下述s240中的详细描述,在此不再赘述。[0057]s240,将所述待识别向量输入预训练的dga识别模型,得到风险识别结果。[0058]其中,所述dga识别模型可以但不限于基于textcnn模型等训练得到。作为一种可能的实现方式,所述dga识别模型的预训练过程可以包括如下(1)-(6)中所述。[0059](1)获取用于训练数据集构建的多个域名信息。[0060]其中,所述多个域名信息可以是实时获取的,也可以是从hdfs中获取。[0061]本实施例中,可获取具备样本标签的训练数据集,其中dga样本获取路径可以为https://data.netlab.360.com/dga/dga.txt,总计1223607。正常域名的获取路径可以为http://s3.amazonaws.com/alexa-static/top-1m.csv.zip,总计100万,由此,可以得到具备正负标签的样本数据集。[0062](2)对每个所述域名信息预处理,得到对应各所述域名的多个训练语料,每个所述训练语料包括域名样本和样本标签。[0063]其中,对于各所述域名信息进行预处理的预处理过程可参照前述s220中的详细描述,但与前述s220中不同的是,所述训练语料中包括用于表征训练样本的正负性的正负标签。[0064]例如,假设用于训练数据集构建的域名信息为qq.com、google.com、ntnipngh.com,那么,包含正负标签的训练语料可以为:[0065]qq.com:qqcom,0;[0066]google.com:googlecom,0;[0067]ntnipngh.com:ntnipnghcom,1;[0068]其中,标签0表示正常域名,标签1表示dga域名。[0069](3)分别根据各所述训练语料中包括的每一个域名字母,依次查询预配置的词向量矩阵,得到与所述训练语料一一对应的多个一维词向量。[0070]其中,所述词向量矩阵的获取过程包括:将各训练语料处理为一维向量,在将各所述一维向量依次通过word2vec模型,则可以到预定大小的词向量举证。例如,假设word2vec模型对应的一维词向量长度为64,那么,所述词向量举证可以为27x64(26个字母+补值)。[0071](4)对所述多个一维词向量进行拼接,得到所述训练语料对应的目标向量。[0072]其中,根据得到的词向量矩阵,将基于训练域名信息中的每一个字母查询词向量矩阵,得到的一维词向量进行拼接,得到每条训练语料的对应的目标向量。本实施例中,所述目标向量的长度可以为2048。[0073](5)基于各所述训练语料对应的目标向量,构建训练数据集。[0074](6)利用所述训练数据集对预定神经网络模型进行训练,得到dga识别模型。[0075]其中,在(5)-(6)中,可以将基于训练语料构建的训练数据集,输入textcnn模型,以对textcnn模型进行训练,得到最终用于预测的dga识别模型。[0076]需要注意的是,为了提高dga识别模型的识别准确性,可通过损失函数、更换训练样本等方式对所述dga模型进行多次训练,对此本实施例不再赘述。[0077]应注意的是,在利用dga识别模型得到风险识别结果后,可根据风险识别结果对各域名信息进行标记,例如,若该条dns报文日志中的域名标记为正常,则该条日志属于正常流量,若该条日志中的域名标记为dga,则该条日志属于恶意流量,并执行后续的s250-s280。[0078]s250,在所述风险识别结果指示所述dns报文日志疑似恶意流量的情况下,所述基于预配置的dga家族规则,确定待处理的dns报文日志中的各域名信息所属的dga家族集合。[0079]s260,基于所述dga家族集合以及所述源ip,对具有相同源ip的域名信息集进行聚类,得到多个目标流量组;[0080]s270,分别统计各所述目标流量组中访问同一类dga家族集合的源ip的数量;[0081]s280,在所述数量大于第一阈值、且访问无效返回占比大于第二阈值的情况下,确定所述源ip对应的网络为僵尸网络。[0082]其中,s250-s280中的详细描述,可参照方法100的相关描述,在此不做赘述。[0083]本实施例中,基于包括两个实施阶段的漏斗模型,筛选出疑似恶意流量的dga域名,再基于筛选结果,利用dga家族规则库,能够进一步精准识别出僵尸网络主机。此外,本实施例中基于词向量空间识别dga的手段,特征处理更加简易,避免了大量特征工程的干扰,识别准确率更高。[0084]如图3所示,为本技术的一示例性实施例提供的僵尸网络识别装置300,所述装置300包括识别模块310,用于对待处理的dns报文日志进行风险识别,得到风险识别结果,所述dns报文日志中包括多个域名信息,每个所述域名信息包括域名以及所述域名对应的源ip;第一确定模块320,用于在所述风险识别结果指示所述dns报文日志疑似恶意流量的情况下,基于预配置的dga家族规则,确定所述dns报文日志中的各域名信息所属的目标dga家族集合;;聚类模块330,用于基于所述dga家族集合以及所述源ip,对具有相同源ip的域名信息集进行聚类,得到多个目标流量组;统计模块340,用于分别统计各所述目标流量组中访问同一类dga家族集合的源ip的数量;第二确定模块350,用于在所述数量大于第一阈值、且访问无效返回占比大于第二阈值的情况下,确定所述源ip对应的网络为僵尸网络。[0085]关于本实施例中的僵尸网络识别装置300,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。[0086]请参阅图4,为根据一示例性实施例提供的一种终端设备400的框图,该终端设备400可至少包括处理器410,用于存储处理器410可执行指令的存储器420。其中,处理器410被配置为执行指令,以实现如上述实施例中的僵尸网络识别方法的全部步骤或部分步骤。[0087]处理器410、存储器420之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。[0088]其中,处理器410用于读/写存储器中存储的数据或程序,并执行相应地功能。[0089]存储器420用于存储程序或者数据,如存储处理器410可执行指令。该存储器420可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。[0090]进一步,作为一种可能的实现方式,终端设备400还可包括电源组件、多媒体组件、音频组件、输入/输出(i/o)接口、传感器组件以及通信组件等。[0091]电源组件为终端设备400的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源、以及其他与为终端设备400生成、管理和分配电力相关联的组件。[0092]多媒体组件包括在终端设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件包括一个前置摄像头和/或后置摄像头。当终端设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。[0093]音频组件被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当终端设备400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器420或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。[0094]i/o接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。[0095]传感器组件包括一个或多个传感器,用于为终端设备400提供各个方面的状态评估。例如,传感器组件可以检测到终端设备400的打开/关闭状态,组件的相对定位,例如组件为终端设备400的显示器和小键盘,传感器组件还可以检测终端设备400或终端设备400一个组件的位置改变,用户与终端设备400接触的存在或不存在终端设备400方位或加速/减速和终端设备400的温度变化。传感器组件可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。[0096]通信组件被配置为便于终端设备400和其他设备之间有线或无线方式的通信。终端设备400可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或4g),或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。[0097]在示例性实施例中,终端设备400可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。[0098]应当理解的是,图4所示的结构仅为终端设备400的结构示意图,该终端设备400还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。[0099]在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端设备中的处理器执行以完成上述僵尸网络识别方法。例如,非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。[0100]本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0101]需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。[0102]本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0103]以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1