域名系统中恶意域名的检测方法与检测装置与流程

专利检索2022-05-10  203


本发明涉及一种信息安全技术,尤其涉及一种域名系统(Domain Name System,DNS)中恶意域名的检测方法与检测装置。

背景技术

网域名称(亦称为域名)系统是互联网的一项服务,其可作为将域名与互联网协定(Internet Protocol,IP)地址相互对映的一个分散式数据库,使人们更方便地存取互联网。然而,由于域名本身的成长速度太快,每天都有数以万计的域名产生,而这些域名除了大量且正常使用的网域名称(亦称为良性域名)外,同时也会有被用来进行具有危害行为的域名(亦称为恶意域名)。其中恶意域名称常用于钓鱼(Phishing)攻击与恶意程序(Malware)的散播。钓鱼网站通常是指会伪装成银行网站、线上购物或是存储个人重要信息的网站等类型的非官方网站,它试图诱骗用户在钓鱼网站中输入的用户的真实帐号和密码,藉此取得该用户在该网站的存取权限。在攻击成功后将对该用户的个人隐私和财产造成一定的威胁、冲击与伤害。此外,若恶意程序被安装至用户计算机,则攻击者可利用该恶意程序控制受害用户的计算机或取得受害用户的重要信息。

一般来说,计算机鉴识(Computer Forensics)人员可通过逆向工程(Reverse Engineering)来找寻恶意域名。但通过人工分析与鉴定是需要花费不少的时间成本。即使不断地取得、更新与掌握恶意域名清单,但这样的速度仍然远跟不上产生新的域名的速度。因此,实有需要针对恶意域名提出更为有效的检测机制。



技术实现要素:

本发明提供一种域名系统中恶意域名的检测方法与检测装置,可有效提高自动化恶意域名检测的检测效率。

本发明的实施例提供一种域名系统中恶意域名的检测方法,其包括:获得电子装置的网络连线数据;从所述网络连线数据中获取与至少一域名有关的日志数据;分析所述日志数据以产生与所述至少一域名有关的至少一数值特征;将所述至少一数值特征输入至多类型预测模型,其包括第一类数据模型与第二类数据模型,其中第一类数据模型是基于与恶意程序有关的第一类恶意特征所建立,且第二类数据模型是基于与钓鱼网站有关的第二类恶意特征所建立;以及由所述多类型预测模型根据所述至少一数值特征预测所述至少一域名中是否存在与所述恶意程序或所述钓鱼网站有关的恶意域名。

本发明的实施例另提供一种检测装置,其用以检测域名系统中的恶意域名。所述检测装置包括网络界面与处理器。所述网络界面用以获得电子装置的网络连线数据。所述处理器连接至所述网络界面。所述处理器用以从所述网络连线数据中获取与至少一域名有关的日志数据。所述处理器还用以分析所述日志数据以产生与所述至少一域名有关的至少一数值特征。所述处理器还用以还用以将所述至少一数值特征输入至多类型预测模型,其包括第一类数据模型与第二类数据模型。所述第一类数据模型是基于与恶意程序有关的第一类恶意特征所建立。所述第二类数据模型是基于与钓鱼网站有关的第二类恶意特征所建立。所述处理器还用以运行所述多类型预测模型以根据所述至少一数值特征预测所述至少一域名中是否存在与所述恶意程序或所述钓鱼网站有关的恶意域名。

基于上述,在获得电子装置的网络连线数据后,与至少一域名有关的日志数据可从所述网络连线数据中获取出来。接着,可对述日志数据进行分析以产生与所述至少一域名有关的至少一数值特征并将所述数值特征输入至多类型预测模型。特别是,所述多类型预测模型包括第一类数据模型与第二类数据模型。所述第一类数据模型是基于与恶意程序有关的第一类恶意特征所建立。所述第二类数据模型是基于与钓鱼网站有关的第二类恶意特征所建立。接着,所述多类型预测模型可根据所述至少一数值特征预测所述至少一域名中是否存在与所述恶意程序或所述钓鱼网站有关的恶意域名。藉此,可有效提高自动化恶意域名检测的检测效率。

附图说明

图1是根据本发明的一实施例所示出的域名分析系统的示意图;

图2是根据本发明的一实施例所示出的分析网络连线数据的示意图;

图3是根据本发明的一实施例所示出的根据数值特征产生预测结果的示意图;

图4是根据本发明的实施例所示出的域名系统中恶意域名的检测方法的流程图。

具体实施方式

现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。

图1是根据本发明的一实施例所示出的域名分析系统的示意图。请参照图1,域名分析系统包括检测装置1与电子装置12。电子装置12可经由互联网101连接至服务器13(1)~13(n)的至少其中之一。特别是,电子装置12可通过一或多个域名来连接至服务器13(1)~13(n)的至少其中之一。一个域名可以是一串用一或多个点所分隔的字元组成(例如www.google.com)。

当电子装置12欲连接至某一个域名时,通过域名系统的解析,此域名可以被指向服务器13(1)~13(n)中的某一个服务器13(i)的IP地址。此时,电子装置12可根据此IP地址连接至服务器13(i)。相较于存储服务器13(i)的IP地址,服务器13(i)所使用的域名可更方便用户存储。

在一实施例中,检测装置1可自动分析电子装置12的网络连线数据。然后,检测装置1可根据分析结果自动预测服务器13(1)~13(n)中的任一者所使用的域名是否为恶意域名。需注意的是,在图1的实施例中,检测装置1与电子装置12是各自独立的电子装置(或计算机装置)。然而,在另一实施例中,检测装置1亦可以通过软件或硬件的型式设置于电子装置12内部。

在一实施例中,检测装置1包括网络界面111、存储装置112、处理器113及预测模型114。网络界面111可用以连接至电子装置12,以获得电子装置12的网络连线数据。例如,网络界面111可包括网络界面卡。存储装置112用以存储所获得的网络连线数据与预测模型114。例如,存储装置112可包括易失性存储电路与非易失性存储电路。易失性存储电路可包括随机存取存储器(Random Access Memory,RAM)。非易失性存储电路可包括快闪存储器或传统硬盘(Hard Disc Drive,HDD)。

预测模型114可包括一或多个人工智能模型、一或多个机器学习模型和/或一或多个深度学习模型。例如,预测模型114可包括XGBoost模型等多决策树模型或其他类型的算法模型。预测模型114可用以自动根据从电子装置12的网络连线数据中获取出来的数据检测某一域名是否为恶意域名。在一实施例中,预测模型114可进一步识别所测得的恶意域名的类型是属于恶意程序或钓鱼网站。若某一恶意域名属于恶意程序,则电子装置12连接至使用此恶意域名的服务器后就可能从此服务器下载一或多个恶意程序而成为受感染的装置。尔后,电子装置12随时可能成为殭尸计算机而受骇客操控。此外,若某一恶意域名属于钓鱼网站,则电子装置12连接至使用此恶意域名的服务器后,使用者传送至此服务器的机敏信息都可能会被收集并用于盗取使用者的个资或钱财等。

在一实施例中,预测模型114亦称为多类型预测模型。预测模型114可包括多种类型的数据模型。预测模型114中的每一个数据模型可根据特定类型的恶意特征所建立并可用以检测属于特定类型的恶意域名。在一实施例中,预测模型114中的每一个数据模型可独立运作。在一实施例中,预测模型114中的多个数据模型也可相互合作。

在一实施例中,预测模型114至少包括第一类数据模型与第二类数据模型。第一类数据模型主要是基于与恶意程序有关的恶意特征(亦称为第一类恶意特征)所建立。第二类数据模型主要是基于与钓鱼网站有关的恶意特征(亦称为第二类恶意特征)所建立。例如,在使用大量与恶意程序有关的恶意特征来训练预测模型114中的某一数据模型后,此第一类数据模型可被建立并可专用于检测属于恶意程序的恶意域名。类似地,在使用大量与钓鱼网站有关的恶意特征来训练预测模型114中的某一数据模型后,此第二类数据模型可被建立并可专用于检测属于钓鱼网站的恶意域名。需注意的是,在其他实施例中,预测模型114还可以包括其他类型的数据模型,以检测其他类型的恶意域名。

在一实施例中,预测模型114是以软件形式存储于存储装置112中。然而,在另一实施例中,预测模型114亦可以是以实作为硬件电路而以硬件形式设置于检测装置1中。此外,预测模型114可经由训练而提高预测精准度。

处理器113连接至网络界面111与存储装置112。处理器113负责分析电子装置12的网络连线数据并将分析结果传送至预测模型114进行恶意域名的预测。在一实施例中,处理器113亦可负责检测装置1的整体或部分运作。例如,处理器113可包括中央处理单元(CPU)、或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(Digital Signal Processor,DSP)、可编程控制器、特殊应用集成电路(Application Specific Integrated Circuits,ASIC)、可编程逻辑装置(Programmable Logic Device,PLD)或其他类似装置或这些装置的组合。

图2是根据本发明的一实施例所示出的分析网络连线数据的示意图。请参照图1与图2,在一实施例中,处理器113可使用封包侧录工具(例如Zeek)监测电子装置12的网络连线数据21并将网络连线数据21转换为日志(log)数据。处理器113可从此日志数据中获取与至少一个域名有关的日志数据(亦称为DNS日志数据)22。例如,DNS日志数据22可包含A、AA、MX、NS、CNAME及TXT等不同类型的DNS查询纪录与回应记录。

在一实施例中,处理器113可对DNS日志数据22执行数据筛选。数据筛选可用以过滤DNS日志数据22中的A记录与AAAA记录并产生DNS日志数据23。A记录反映至少一互联网通信协定第四版(IPv4)的地址数据。AAAA记录反映至少一互联网通信协定第六版(IPv6)的地址数据。通过对DNS日志数据22执行数据筛选,DNS日志数据22中A与AAAA类型的查询与回应记录可被保留于DNS日志数据23中,而其他类型的查询与回应记录(例如MX、NS、CNAME及TXT等)可被移除。

在一实施例中,处理器113可对DNS日志数据22执行白名单过滤。白名单过滤用以将DNS日志数据22中已知的良性域名的相关日志数据滤除,而只保留未记载于白名单上的其他域名的相关日志数据于DNS日志数据23中。藉此,可提高后续对于恶意域名的检测效率。

DNS日志数据23中的一笔日志数据可包含至少4个数据栏位,其分别记载时间、查询目标(即域名)、回应结果(即所查询的域名所对应的IP地址)及此笔DNS纪录的存活时间(Time To Live,TTL)。处理器113可分析DNS日志数据23以产生与至少一域名有关的至少一数值特征。例如,处理器113可分析DNS日志数据23中与至少一域名的查询行为、至少一域名与至少一IP地址的映射、至少一域名的字元组成、至少一域名的IP地址的变化及至少一域名的TTL的至少其中之一有关的数据,以获得所述数值特征。然后,处理器113可运行预测模型114以根据所述数值特征预测DNS日志数据23所涉及的域名中是否存在恶意域名。

图3是根据本发明的一实施例所示出的根据数值特征产生预测结果的示意图。请参照图1与图3,在一实施例中,处理器113可分析DNS日志数据23以获得属于类型31的评估值301(1)~301(a)、属于类型32的评估值302(1)~302(b)、属于类型33的评估值303(1)~303(c)、属于类型34的评估值304(1)~304(d)及属于类型35的评估值305(1)~305(e)。评估值301(1)~301(a)、302(1)~302(b)、303(1)~303(c)、304(1)~304(d)及305(1)~305(e)皆可以数值的形式来反映可能存在的恶意域名的恶意特征。此外,评估值301(1)~301(a)的总数、评估值302(1)~302(b)的总数、评估值303(1)~303(c)的总数、评估值304(1)~304(d)的总数及评估值305(1)~305(e)的总数皆可视实务需求加以调整,本发明不加以限制。

在一实施例中,处理器113可分析DNS日志数据23中与至少一域名的查询行为有关的数据(亦称为第一数据),以获得属于类型31的评估值301(1)~301(a)(亦称为查询行为评估值)。评估值301(1)~301(a)可分别反映电子装置12对至少一个域名的查询行为的统计特性。

在一实施例中,假设第一数据反映电子装置12在某一天(Day1)的每一个小时内对某一域名(亦称为第一域名)的查询次数纪录为[x1,x2,…,x24](例如x1为电子装置12在Day1的0:00~0:59内对第一域名的查询次数,x2为电子装置12在Day1的1:00~1:59内对第一域名的查询次数,依此类推),且电子装置12在另一天(Day2)的每一个小时内对第一域名的查询次数纪录为[y1,y2,…,y24](例如y1为电子装置12在Day2的0:00~0:59内对第一域名的查询次数,y2为电子装置12在Day2的1:00~1:59内对第一域名的查询次数,依此类推),则评估值301(1)可根据以下方程(1.1)产生:

评估值

评估值301(1)的数值越小,表示在以天为单位的多个时间范围内电子装置12对于同一个第一域名的查询行为越一致,且电子装置12有越高的机率已被恶意程序感染而反复与中继站连线。此外,在其他实施例中,亦可以是以多天(例如三天)、周、月或年等单位来进行上述计算,本发明不加以限制。

在一实施例中,处理器113可根据第一数据获得某一域名(例如第一域名)第一次出现的时间T1与最后一次出现的时间T2之间的差值(即时间差)。处理器113可根据此时间差产生评估值301(2)。例如,评估值301(2)可等于T1-T2。

在一实施例中,处理器113可根据第一数据获得电子装置12在一个时间范围内连线至某一域名(例如第一域名)的总次数并根据此总次数决定评估值301(3)。例如,假设DNS日志数据23反映电子装置12在一个月内连线至第一域名20次,则评估值301(3)可设为20。

在一实施例中,处理器113可根据第一数据获得多个第一时间范围内对于某一域名(例如第一域名)的平均连线(或查询)次数(亦称为第一次数)与多个第二时间范围内对于第一域名的平均连线(或查询)次数(亦称为第二次数)。例如,所述多个第一时间范围可以是指某一时间点之前的多个时间范围,而所述多个第二时间范围可以是此时间点之后的多个时间范围。处理器113可根据所述第一次数与所述第二次数之间的差异是否大于一个门槛值以判断是否存在变异点。假设在某一时间点之前的平均连线次数(即第一次数)与此时间点之后的平均连线次数(即第二次数)之间的差值大于一门槛值,则可判定在此时间点出现一个变异点。处理器113可根据一预设时间范围内出现的变异点的总数决定评估值301(4)。

在一实施例中,处理器113可根据第一数据获得不同天(或其他时间单位)中相同时间范围内(例如0:00~0:59)电子装置12对于单一或多个域名的总连线(或查询)次数并根据此总连线(或查询)次数决定评估值301(5)。例如,假设电子装置12在三天内的每天0:00~0:59分别连接至第一域名3次、5次及7次,则评估值301(5)可设为15(即15=3 5 7)。

在一实施例中,处理器113可分析DNS日志数据23中与至少一域名与至少一IP地址的映射有关的数据(亦称为第二数据),以获得属于类型32的评估值302(1)~302(b)(亦称为映射评估值)。评估值302(1)~302(b)可分别反映至少一个域名与至少一IP地址之间的映射的统计特性。

在一实施例中,处理器113可根据第二数据获得某一域名(例如第一域名)所映射的一或多个IP地址所属的国家的总数。处理器113可根据此总数决定评估值302(1)。

在一实施例中,处理器113可根据第二数据获得某一域名(例如第一域名)所映射的一或多个IP地址的总数。处理器113可根据此总数决定评估值302(2)。

在一实施例中,处理器113可根据第二数据获得某一域名(例如第一域名)所映射的多个IP地址。处理器113可获得此些IP地址所映射的域名的总数。处理器113可根据此总数决定评估值302(3)。

在一实施例中,处理器113可根据第二数据查询恶意信息共享平台(Malware Information Sharing Platform,MISP),以获得某一域名(例如第一域名)所映射的一或多个IP地址是否曾被用于恶意用途。处理器113可根据查询结果决定一个机率值,以反映第一域名属于恶意域名的机率。处理器113可根据此机率值决定评估值302(4)。

在一实施例中,处理器113可分析DNS日志数据23中与至少一域名的字元组成有关的数据(亦称为第三数据),以获得属于类型33的评估值303(1)~303(c)(亦称为域名评估值)。评估值303(1)~303(c)可分别反映至少一个域名中的字元组成的统计特性。

在一实施例中,处理器113可根据第三数据获得某一域名(例如第一域名)中出现数字的比例。处理器113可根据此比例决定评估值303(1)。

在一实施例中,处理器113可根据第三数据获得某一域名(例如第一域名)中最有意义的字串的长度占域名总长度的比例。处理器113可根据此比例决定评估值303(2)。以google.com为例,其中的google为最有意义的字串,则评估值303(2)可设为0.6(即6/10=0.6)。

在一实施例中,处理器113可根据第三数据获得某一域名(例如第一域名)的Top Domain占DNS日志数据23中所有域名的比例。处理器113可根据此比例决定评估值303(3)。以google.com为例,其Top Domain为com,处理器113可根据com为Top Domain的域名占所有域名中的比例并根据此比例决定评估值303(3)。

在一实施例中,处理器113可根据第三数据获得某一域名(例如第一域名)的Third Domain的长度。以x111.google.com为例,其中的Third Domain为x111,其长度为4。因此,处理器113可将评估值303(4)设为4。

在一实施例中,处理器113可根据第三数据获得某一域名(例如第一域名)的字串总长度。处理器113可根据此字串总长度决定评估值303(5)。

在一实施例中,处理器113可分析DNS日志数据23中与至少一域名的TTL有关的数据(亦称为第四数据),以获得属于类型34的评估值304(1)~304(d)(亦称为存活时间评估值)。评估值304(1)~304(d)可分别反映至少一个域名的存活时间的统计特性。

在一实施例中,处理器113可根据第四数据获得某一域名(例如第一域名)的平均存活时间。例如,假设DNS日志数据23中纪录第一域名的多个TTL数值分别为86400、86400及86400,则第一域名的平均存活时间可为86400。处理器113可根据此平均存活时间决定评估值304(1)。

在一实施例中,处理器113可根据第四数据获得某一域名(例如第一域名)的多个存活时间的标准差。处理器113可根据此标准差决定评估值304(2)。

在一实施例中,处理器113可根据第四数据获得某一域名(例如第一域名)的多个存活时间中的不同的存活时间的数目并根据此数目决定评估值304(3)。例如,假设DNS日志数据23中纪录第一域名的多个TTL数值分别为86400、82000及86400,表示第一域名有2个不同的存活时间。因此,处理器113可将评估值304(3)设为2。

在一实施例中,处理器113可根据第四数据获得某一域名(例如第一域名)的存活时间的改变次数。处理器113可根据此改变次数决定评估值304(4)。

在一实施例中,处理器113可根据第四数据获得某一域名(例如第一域名)的存活时间中小于一预设时间长度的存活时间的总数。例如,此预设时间长度可为100秒或其他时间差度。处理器113可根据此总数决定评估值304(5)。

在一实施例中,处理器113可分析DNS日志数据23中与至少一域名的IP地址的变化有关的数据(亦称为第五数据),以获得属于类型35的评估值305(1)~305(e)(亦称为地址变化评估值)。评估值305(1)~305(e)可分别反映至少一个域名的IP地址的变化的统计特性。

在一实施例中,处理器113可根据第五数据获得某一域名(例如第一域名)所使用过的IP地址中为一预设IP地址的总数。处理器113可根据此总数决定评估值305(1)。例如,此预设IP地址可为127.0.0.1、0.0.0.0和/或255.255.255.255。假设DNS日志数据23反映第一域名曾经使用过一次127.0.0.1,则评估值305(1)可设为1。

在一实施例中,处理器113可根据第五数据获得一预设IP地址占某一域名(例如第一域名)所使用过的所有IP地址的比例。处理器113可根据此比例决定评估值305(2)。

在一实施例中,处理器113可根据第五数据获得预设IP地址在某一域名(例如第一域名)所使用过的所有IP地址中发生变化的次数。处理器113可根据此总数决定评估值305(3)。例如,假设DNS日志数据23反映第一域名曾经改变为使用127.0.0.1一次,则处理器113可将评估值305(3)设为1。

需注意的是,前述多个实施例中所提及的各类型的评估值的设定与产生方式仅为范例,而非用以限制本发明。在部分未提及的实施例中,更多类型的评估值可以根据DNS日志数据23中所记载的上述信息而产生,以反映一或多个域名所可能涉及的不同类型的恶意程序或钓鱼网站的运作手法。此外,图3中的评估值的类型也可以根据实务需求而增加或减少,本发明不加以限制。

在图3的实施例中,预测模型114可根据与某一域名(例如第一域名)有关的评估值301(1)~301(a)、302(1)~302(b)、303(1)~303(c)、304(1)~304(d)及305(1)~305(e)进行运算并产生预测结果36。例如,预测模型114可使用XGBoost模型来执行预测。预测结果36可反映第一域名是否被预测为恶意域名。例如,在综合考虑评估值301(1)~301(a)、302(1)~302(b)、303(1)~303(c)、304(1)~304(d)及305(1)~305(e)后,所产生的预测结果36可包括一个机率值。若此机率值高于一决策值(例如0.85),处理器113可判定第一域名为恶意域名。反之,若此机率值不高于此决策值,则处理器113可判定第一域名非为恶意域名。

在一实施例中,预测模型114还可进一步根据与某一域名(例如第一域名)有关的评估值301(1)~301(a)、302(1)~302(b)、303(1)~303(c)、304(1)~304(d)及305(1)~305(e)识别可能为恶意域名的第一域名的类型为恶意程序或钓鱼网站。换言之,在一实施例中,预测结果36还可反映第一域名的类型为恶意程序或钓鱼网站。

在一实施例中,被预测为恶意域名的域名(例如第一域名)可被记载于一个清单中,以供后续使用或验证。在一实施例中,被预测为恶意域名的域名可经由资安人员进行验证。处理器113可使用此验证结果来训练预测模型114,以提高预测模型114的预测精准度。

在一实施例中,处理器113亦可提取机率值落于一预设范围(例如0.4-0.6)的域名。所提取的域名可经由资安人员进行验证。处理器113可使用此验证结果来训练预测模型114。

图4是根据本发明的实施例所示出的域名系统中恶意域名的检测方法的流程图。请参照图4,在步骤S401中,获得电子装置的网络连线数据。在步骤S402中,从所述网络连线数据中获取与至少一域名有关的日志数据。在步骤S403中,分析所述日志数据以产生与所述至少一域名有关的至少一数值特征。在步骤S404中,将所述至少一数值特征输入至多类型预测模型,其包括第一类数据模型与第二类数据模型,其中第一类数据模型是基于与恶意程序有关的第一类恶意特征所建立,且第二类数据模型是基于与钓鱼网站有关的第二类恶意特征所建立。在步骤S405中,由所述多类型预测模型根据所述至少一数值特征预测所述至少一域名中是否存在与所述恶意程序或所述钓鱼网站有关的恶意域名。

然而,图4中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图4中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图4的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。

综上所述,本发明的实施例提出将与至少一域名有关的大量日志信息改为以数值特征的形式呈现,以反映或凸显可能存在的恶意域名的行为。此外,通过在多类型预测模型中分别设置专用于检测恶意程序与钓鱼网站的数据模型,则可增加对于恶意程序与钓鱼网站的预测准确率。虽然人工分析与寻找恶意域名的速度远远赶不上新的域名的产生速度,但经过预测模型对所述数值特征进行自动化分析后,恶意域名的检测效率可被有效提升。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

转载请注明原文地址:https://win.8miu.com/read-21.html

最新回复(0)