窃密nslookup

nslookup  时间:2021-04-18  阅读:()
第6卷第1期信息安全学报Vol.
6No.
12021年1月JournalofCyberSecurityJanuary,2021通讯作者:崔翔,博士,教授,主要研究领域为网络安全,E-mail:cuixiang@gzhu.
edu.
cn;王忠儒,博士,高级工程师,主要研究领域为人工智能、网络安全,E-mail:wangzhongru@bupt.
edu.
cn.
本课题得到广东省重点领域研发计划项目(No.
02019B010136003,No.
2019B010137004)和国家重点研发计划项目(No.
2018YFB0803504,No.
2019YFA0706404)资助.
收稿日期:2020-9-29;修改日期:2020-11-24;定稿日期:2020-11-25面向AI模型训练的DNS窃密数据自动生成冯林1,崔翔1,王忠儒2,甘蕊灵3,刁嘉文3,韩冬旭4,姜海51广州大学网络空间先进技术研究院广州中国5100062中国网络空间研究院北京中国1000103北京邮电大学网络空间安全学院北京中国1008764中国科学院信息工程研究所北京中国1000935北京丁牛科技有限公司北京中国100081摘要近年来,借助DNS协议良好的隐蔽性和穿透性实施数据窃取已成为诸多APT组织青睐的TTPs,在网络边界监测DNS流量进而精准发现潜在攻击行为已成为企事业单位急需建立的网络防御能力.
然而,基于DNS的APT攻击所涉及的恶意样本存在难获取、数量少、活性很低等现实问题,且主流的数据增强技术不适合移植到网络攻防这个语义敏感领域,这些问题制约了AI检测模型训练.
为此,本文基于DNS窃密攻击机理分析,并结合了大量真实APT案例和DNS工具,提出了一种基于攻击TTPs的DNS窃密流量数据自动生成及应用方法,设计并实现了DNS窃密流量数据自动生成系统—MalDNS,以生成大规模、高逼真度、完备度可调的DNS窃密数据集.
最后,通过实验验证了生成流量数据的有效性,以及对检测模型训练的有效支撑.
关键词DNS窃密;数据自动生成中图法分类号TP393.
08DOI号10.
19363/J.
cnki.
cn10-1380/tn.
2021.
01.
01AutomaticDataGenerationofDNS-BasedExfiltrationforAI-ModelTrainingFENGLin1,CUIXiang1,WANGZhongru2,GANRuiling3,DIAOJiawen3,HANDongxu4,JIANGHai51CyberspaceInstituteAdvancedTechnology,GuangzhouUniversity,Guangzhou510006,China2ChineseAcademyofCyberspaceStudies,Beijing100010,China3SchoolofCyberspaceSecunty,BeijingUniversityofPostsandTelecommunications,Beijing100876,China4InstituteofInformationEngineering,ChineseAcademyofSciences,Beijing100093,China5BeijingDigApisTechnologyCo.
,Ltd,Beijing100081,ChinaAbstractInrecentyears,ithasbecomethefavoriteTTPsofmanyAPTorganizationstoimplementdataexfiltrationbytakingadvantageofthegoodconcealabilityandpenetrationofDNSprotocol.
Therefore,it'simperativeforenterprisesandinstitutionstoestablishthedefensecapacitytomonitorDNStrafficatthenetworkboundarysoastoaccuratelydetectthepotentialattackbehavior.
However,datasetsofDNS-basedAPTcampaignsinvolvelotsofpracticalproblemssuchasdif-ficultytoobtain,smallquantity,andlowactivity.
Also,theavailabletechnologyofdataaugmentationisnotsuitablefortransplantingtosuchsemanticsensitivefield.
TheseproblemshaverestrictedthetrainingofAIdetectionmodels.
There-fore,basedontheanalysisofDNS-basedexfiltrationmechanism,combinedwithalargenumberofrealAPTcasesandDNS-basedexfiltrationtools,weproposeamethodthatcanautomaticallygeneratetrafficdatabasedonDNS-basedexfil-trationTTPs.
WedesignandestablishanautomaticgenerationsystemnamedMalDNStogenerateatargetDNS-basedexfiltrationdatasetwithlarge-scale,highfidelity,andadjustableintegrity.
Finally,ourexperimentsindicatethatthegener-ateddatasetiseffectiveandcansupportthetrainingofthedetectionmodelseffectively.
KeywordsDNS-basedexfiltration;datageneration2JournalofCyberSecurity信息安全学报,2021年1月,第6卷,第1期1引言目前,人工智能(ArtificialIntelligence,AI)技术的发展与应用进入第三次高潮,其解决实际问题的能力和应用潜能已得到广泛认可.
AI助力网络安全,给网络安全防御方(后文简称"防御方")带来了无限机遇和挑战;AI助力防御的应用潜能需要不断被发掘,从而有效提升防御方势能.
在AI算法趋于成熟、算力已经得到大幅提升的情况下,数据集已经成为限制网络安全类AI模型(后文简称"AI模型")性能的一个重要因素.
图1基于MITREATT&CK的DNS窃密事件统计Figure1TheStatisticsofDNS-basedexfiltrationcasesbasedonMITREATT&CK为了深入分析当前AI模型面临的数据集问题,需要选取特定的攻击类型.
本文基于MITREATT&CK[1]知识库调研发现,恶意利用标准应用层协议被越来越多的APT组织所采用,DNS是被恶意利用较多的标准协议之一.
进一步统计2014—2019年间恶意利用DNS完成数据窃取(后文简称"DNS窃密")的攻击案例情况如图1,统计结果表明DNS窃密攻击事件逐年增多、上升趋势明显.
2014年,ESET公开了有关Linux/Ebury后门软件[2]的技术分析报告,详细分析了该后门软件中所实现的DNS窃密技术细节.
DNS窃密技术逐渐被APT34(又名OilRig)、APT18(又名Wekby)、APT32、APT41、FIN7等APT组织所采用,整理2014–2019年间部分代表性DNS窃密攻击案例见表1.
其中,APT34是广泛使用DNS窃密技术的代表性APT组织,安全人员综合该组织相关攻击活动所使用的基础设施信息,确定APT34代表伊朗政府展开网络攻击活动.
国内外安全团队持续追踪并公开了多起由APT34组织、实施的攻击活动,代表性的攻击样本有Helminth、ISMAgent、BONDUPDATER、QUADAGENT、Glimpse等,这些攻击样本中均实现了DNS窃密技术.
2019年,Unit42公开的一篇专题技术分享[3],综合整理了APT34的代表性攻击样本及其DNS窃密技术的实现细节.
表12014—2019年间公开报告中的DNS窃密概况Table1OverviewofDNS-basedexfiltrationinpublicreportsfrom2014to2019序号恶意样本名称关联威胁组织DNS窃密概述1Linux/Ebury[2]——通过DNS窃密方式将截获的敏感内容,发送到指定IP的远程服务器2Pisloader[4]APT18恶意利用DNS隐蔽泄露受害主机系统、驱动等信息3Helminth[5]APT34恶意利用DNS泄露击键记录、剪贴板内容等4Glimpse[6]APT34恶意使用DNS窃取受害主机的指定数据内容5ISMAgent[7]APT34恶意利用DNS上传控制命令的执行结果、进行数据泄露6CobianRAT[8]CobaltGroup恶意利用DNS回传目标数据7Matroy-shka[9]CopyKit-tens恶意利用DNS完成数据窃取8Denis[10]APT32恶意利用DNS隐蔽泄露已收集到的主机信息、敏感数据等9ISMDoor[11]Green-bug恶意利用DNS泄露已收集到的数据,以及回传控制命令执行结果10POWERSO-URCE[12]FIN7恶意利用DNS完成关键信息内容的回传综合上述调研和分析结果,本文选定具备较高研究价值的DNS窃密攻击为突破口,深入分析可用数据集紧缺、完备度不足的痛点问题.
网络安全领域的特殊性,使得可用DNS窃密数据集紧缺的问题尤为突出.
从AI模型用户(后文简称"用户")的角度出发,大多面临一个共同的挑战:难以大批量获得一份高质量的数据集,来支撑AI模型的训练和测试.
针对AI模型训练阶段面临的数据集问题,本文明确了攻击机理在数据生成中的重要作用,提出基于攻击TTPs(Tactics,Techniques,Procedures)的数据自动生成及应用方法.
首先,基于大量公开的、内容详实的案例分析报告,参考开源项目和已有技术积累,梳理得到DNS窃密攻击TTPs.
然后,以攻击TTPs为理论基础,设计并实现DNS窃密流量数据自动生成系统.
该系统可以生成大规模、高度逼真、完备度可调的DNS窃密流量数据(后文简称"生成数据").
最后,将生成的综合流量数据集应用于检测模型的训练阶段,有效解决可用数据规模受限、完备度不足的瓶颈问题,从而有效提升AI检测模型的性能.
评估实验结果表明:本文提出的基于攻击TTPs的流量数据自动生成及应用方法是有效的、切实可行的;生成数据训练所得AI模型性能良好,可以检冯林等:面向AI模型训练的DNS窃密数据自动生成3测真实的DNS窃密攻击.
综上所述,总结本文贡献如下:(1)参考大量DNS窃密攻击案例报告、开源工具分析等,梳理总结了DNS窃密攻击的TTPs及其关键技术.
(2)首次提出基于攻击TTPs的流量数据自动生成及应用方法,不仅可以满足AI模型训练阶段对海量数据的需求,还能够有效提升数据集的完备度.
(3)设计并实现了MalDNS系统,该系统不仅能高度还原已有案例报告中的DNS窃密攻击,还能进行原理范围内的预测生成(MalDNS拟开源到Gitee和GitHub平台).
(4)针对生成的DNS窃密流量数据的实验评估围绕有效性和训练所得模型性能两个方面展开,生成数据训练所得模型对真实攻击的检测准确率高于99.
85%,误报率为0.
实验结果表明:生成的DNS窃密流量数据是有效的,而且完备度得到提升的数据集可以有效提升训练所得模型性能.
2相关工作国内外研究人员在流量生成领域开展了大量研究,但已有工作[13–15]的研究侧重点各不相同,大多服务于网络设备模拟研究、流处理系统和设备的性能评估等目标.
从AI模型训练对数据集的需求特点分析,流量生成的已有研究工作并不能有效提升数据集规模和质量,即与本文工作目标不一致.
本文是首次面向AI模型训练需求而展开攻击流量数据自动生成方面的研究工作,因此本章将以用户所用数据集的来源分类展开介绍.
·源于真实网络的公开流量数据集在实际的应用过程中,若拥有或易于储备大规模、高质量的真实攻击流量数据,必然可以作为AI模型训练阶段的可用数据集,然而并未发现专门针对DNS窃密攻击的数据集.
深入调研发现,AI模型用户普遍面临这一挑战,即难以获取大规模、有效的、高质量的数据集,来支撑AI模型的训练和测试.
参考DNS相关的检测研究工作,整理了5个常用公开数据集见表2.
其中,CTU-13、ISOT和ISCX已被广泛应用于学术研究中的模型训练阶段.
深入分析发现这类数据集的问题主要有:(1)大型公开数据集通常为综合型攻击数据,然而DNS窃密流量数据规模极小,不足以支撑AI模型的训练和测试;若使用小样本数据进行训练,会导致模型过拟合问题.
(2)数据集更新时间滞后严重,陈旧数据对应的原攻击样本甚至已失活,导致数据失去了其主要价值,而且这类陈旧的数据无法跟上攻击技术的迭代发展.
(3)这类数据主要来源于专业安全团队对网络攻击的持续追踪和分析,由于团队利益、企业核心竞争力、用户隐私等因素,这类真实的攻击流量数据极少会公开分享,致使普通用户难以大批量、公开获取.
表2常见的DNS相关攻击流量数据集概况Table2OverviewofpubliclyavailabledatasetsrelatedtoDNS-basedattacks数据集概要说明规模(GB)最后更新Bot-DAD由印度塔帕大学(ThaparUniversity)的研究人员收集,2016年4月至5月随机10天中超过4000个活跃用户的校园DNS网络流量,格式为pcap流量文件9.
92019.
5CTU-13捷克理工大学捕获的僵尸网络流量数据,包含13个不同僵尸网络样本的流量数据,格式为pcap流量文件74.
22014ISOT包含ISOTBotnetDataset和ISOTHTTPBotnetDataset两个数据集,格式为pcap流量文件10.
92017.
6ISCX僵尸网络pcap流量数据集,包含使用不同类型通信协议的恶意软件流量数据13.
82016.
1KDDCup1999KDD竞赛在1999年举行时采用的数据集,主要内容是网络流量及主机行为数据1.
11999.
10除此之外,也有研究人员提出可以基于真实流量进行审计与分析,使用已有工具标记攻击流量数据.
如彭丹等[16]提出了一种整合不同工具进行网络攻击数据标记的方法,主要思想是从教育网骨干网络的核心路由器采集原始流量数据,使用入侵检测工具、告警分析方法,对流量数据进行分析并标记攻击流量,从而形成攻击流量数据集.
这类攻击数据虽然来源于真实环境,但数据集的质量极其依赖系统部署位置、提取和标记规则、数据采集周期长短等因素;此外,源于真实网络场景的流量数据,用户隐私问题已经成为数据共享、流通的主要阻力之一.
·复现攻击样本和开源工具的流量数据普通研究人员在无法获取到真实攻击数据的情况下,为了回避没有数据集可用的问题,学术研究工作中通常会自行构建临时数据集作为替代方案.
整理近几年高度相关的检测类研究工作所用数据集4JournalofCyberSecurity信息安全学报,2021年1月,第6卷,第1期情况如表3;由表3分析发现常见的构建方法是:捕获某个网络的日常DNS流量作为背景(良性)流量;复现某几个特定攻击样本或开源工具,捕获其流量数据作为数据集的恶意部分.
表3近几年高度相关研究工作所用数据集概况Table3Overviewofdatasetsusedinhighlyrelevantresearches近年工作刊出来源数据集概要说明公开状态NaotakeIshikura等[17]2020,ICIN良性流量:作者所在(大阪府立大学)实验室31天的DNS流量恶意流量:自行搭建DNS隧道场景,捕获Dnscat2隧道工具的流量未公开JawadAhmed等[18]2020,TNSM良性流量:研究机构、合作公司网络14天的日常流量恶意流量:DET和Iodine两个开源工具的流量,以及17条真实的恶意DNS查询记录(公开报告)已公开RiChardPreston[19]2019,HST良性流量:某大学网络经过简单过滤后的日常DNS流量数据恶意流量:DNS隧道工具生成的流量,Denis、FrameworkPOS攻击样本流量未公开ChangLiu等[20]2019,IPCCC良性流量:请求解析top1000000正常域名的DNS流量数据约50W恶意流量:开源工具Iodine、Dns2tcp、Dnscat2、OzymanDNS、ReverseDNShell的流量,近50W未公开NadlerAsaf等[21]2019,CS良性流量:Akamai科技某子网一星期的日常DNS流量恶意流量:开源工具Iodine、Dns2Tcp的DNS隧道流量,以及复现FrameworkPOS、Win32.
Denis的流量数据未公开由表3分析发现,研究人员在论文工作中自行构建的实验数据集基本不公开,仅简单描述数据集的来源和组成部分;这非常不利于其他研究人员对已有成果的性能验证和进一步探讨.
从数据质量的角度分析,自行构建过程中所使用的开源工具种类和真实攻击样本极少,例如表3中就仅仅涉及Denis、FrameworkPOS两个真实攻击样本.
对普通用户而言,自身不具备专业安全团队的技术积累和资源支撑,不仅存在真实攻击样本批量获取的困难,复现运行真实攻击样本也极具挑战,因为很多攻击样本中广泛使用了诸如对抗沙箱、反虚拟化环境等对抗技术.
以表3为例的众多研究工作中,数据集的恶意流量则主要来源于开源工具,然而这些开源工具与真实攻击差距较大.
以DET[22](DataExfiltrationToolkit)为例,该工具实现的DNS窃密方式存在很多缺陷,例如窃密成功率低、DNS请求方式不符合实际攻击趋势等.
因此,自行构建数据集中的恶意流量数据局限性明显,数据集的完备度受限于恶意样本、开源工具的多样性.
与此同时,基于已有攻击样本,有研究人员提出采用自动化样本分析和执行技术,来获取目标攻击样本的流量数据.
如陈家浩等[23]提出了一种基于Python符号执行的自动化网络攻击流量获取方法;该方法针对当前网络上可获取的Python网络攻击脚本,采用Python符号执行技术和强制执行技术,来自动化获取输入脚本对应的攻击流量数据,旨在解决大量攻击场景复现困难的问题.
值得注意的是,该方法需要事先收集Python攻击脚本,然而,获取真实攻击的代码文件是极其困难的,很多攻击代码甚至永远也不会公开,即并没有实际解决普通用户获取困难的问题.
·其他领域类似问题的研究工作AI模型训练数据不足的问题在其他领域同样存在,本文也简要梳理了其他领域的类似研究工作,主要有数据增强(DataAugmentation)和GAN(GenerativeAdversarialNetworks)方法生成.
数据增强技术是基于有限数据产生更多的等价数据来人工扩展训练数据集的技术,被认为是克服训练数据不足的有效手段.
目前针对图片的数据增强技术,通过旋转、缩放、裁剪等简单操作即可完成,且增强的数据验证是显而易见的.
例如,一张"猫"的图片通过旋转、缩放后,形成的图片仍然是一只"猫",则可以认为增强的数据是有效;即通过旋转、缩放等操作,可同时完成数据规模增大和标签化工作.
更高级的图片数据增强技术研究也取得了一些成果,如Zhu等[24]使用条件GAN可以将夏季风景照转换为对应的冬季风景照.
Luan等[25]提出了一种基于深度学习的照片风格转化方法,能一定程度扩展图片数据.
若应用上述方法来增强DNS窃密流量数据,首先需要满足增强保证性假设的要求,即增强后的DNS窃密数据仍然可以完成既定攻击,且符合DNS窃密的基本攻击原理.
对于由0、1表示的二进制数据,自动化修改并验证数据、程序的功能,这类技术目前尚待突破;因此,数据增强暂不适用于增强DNS窃密流量数据.
2014年,Goodfellow等[26]首次提出GAN,主要冯林等:面向AI模型训练的DNS窃密数据自动生成5由生成器(Generator)和判别器(Discriminator)组成;生成器的目标是欺骗判别器,使其不能正确分辨生成数据和真实数据.
随着GAN在样本对抗中的出色表现,也有研究人员尝试利用GAN网络来解决数据集紧缺这一问题.
Lee等[27]提出了使用WGAN来生成自相似的恶意流量,解决训练数据不平衡的问题.
深入分析发现,若应用GAN网络生成DNS窃密数据,首先需要积累一定规模的原始DNS窃密流量;其次,GAN生成方法的关键在于生成器和判别器的设计,生成数据质量由生成器的泛化能力直接决定,最终难点是设计一个能够完成攻击目的和数据有效性验证的判别器.
目前,依据参数矩阵中的各项数值来完成自动化攻击目的和攻击原理验证,是当前技术无法完成的.
3DNS窃密攻击TTPs在国内外众多安全专家、团队的共同努力下,公开的、内容详实的案例分析报告已经初具规模.
参考大量DNS窃密攻击案例分析报告,本章将梳理DNS窃密攻击TTPs,作为DNS窃密流量数据自动生成框架的理论支撑,也可供相关研究人员作为技术参考.
3.
1范围界定如图2所示,本文所研究的DNS窃密是指:基于标准DNS协议自行设计规则,将目标主机(受害者)上的特定目标内容(如高价值文件、截获的敏感内容、命令执行结果等)传送到攻击者控制的服务端,且通信流量基本符合DNS协议规范.
图2DNS窃密概况Figure2OverviewofDNS-basedexfiltration在实际的攻击活动中,攻击者通常综合使用多种攻击技术来完成一系列攻击动作,DNS窃密技术在各种攻击活动中也有不同体现.
参考ATT&CK知识库对数据泄露(Exfiltration)的分类,典型的DNS窃密主要包含:(1)独立于命令与控制信道(后文简称"C&C信道"),特意为执行DNS窃密而制作的恶意代码段或工具,如APT34-Glimpse、DNSExfiltrator等;(2)直接使用构建完成的DNSC&C信道(基于DNS构建的C&C信道)执行DNS窃密任务,例如使用DNSC&C信道回传收集到的主机信息、截获的敏感信息、控制命令执行结果等,都属于本文所研究的"DNS窃密"范畴.
值得注意的是,通过DNS响应特定IP指代特定攻击命令、受害主机发送特定DNS请求更新Payload等,暂不属于本文所指DNS窃密技术的范畴.
(3)已成功建立DNS隧道后,DNS隧道客户端向服务端回传内容的部分,也属于本文所讨论的DNS窃密范畴.
同样的,由DNS隧道服务端向客户端传送数据的部分,暂不属于本文所指DNS窃密的范围.
综合大量DNS窃密攻击案例分析报告可知,三类DNS窃密方式都需要基于标准DNS协议构建自定义的数据传输规则,因DNS协议规范的限制,三类DNS窃密方式需要将欲窃取内容嵌入DNS请求的域名中.
因此,上述三类DNS窃密形式的基本原理是一致的,本文将以第一类DNS窃密实现形式为例,来阐述DNS窃密攻击TTPs.
为了便于后续的分析讨论,本文特别指定以下说法:目标内容:特别指代攻击者拟窃取的内容,可以是文件内容、控制命令执行结果、截获或收集的用户敏感信息等.
附属信息:特别指代与目标内容相关的其他信息,如目标文件名标识、归属主机系统标识、目标内容校验信息等.
窃密数据:按预定义的编码转换方案,处理目标内容和附属信息后,最终形成的需要传送的数据,本文用"窃密数据"来特别指代.
特制域名:特别指代由攻击者设计的、具有特定组成格式的域名,一般包含窃密子域和攻击者预置的二级域名(SecondLevelDomain,SLD).
3.
2DNS窃密机理DNS窃密攻击中,攻击者会事先注册至少一个二级域名用于执行DNS窃密任务,并且配置攻击者控制的DNS服务器(后文简称为"窃密服务端")作为权威服务器来解析该SLD及其所有子域.
例如,攻击者可配置由攻击者控制的DNS服务器,来解析maldns.
club及其所有子域;那么经过公共DNS系统的解析查询机制,所有maldns.
club及其子域的解析请求最终会到达窃密服务端.
DNS窃密攻击以成功执行窃密任务为基本要求,目标内容需要通过DNS解析请求传送到窃密服务端,总结DNS窃密攻击的基本流程如图3,总结如下:(1)窃密客户端对目标内容、附属信息等,按预定义的内容加工流程和方法进行处理,从而服务于6JournalofCyberSecurity信息安全学报,2021年1月,第6卷,第1期攻击者的特定意图,例如执行压缩以提升效率、进行加密避免明文传输等.
(2)受限于DNS对标签、域名长度的限制,窃密客户端将窃密数据分片,并构建形成一系列携带窃密数据分片的特制域名.
(3)窃密客户端发起DNS请求,依次解析特制域名,即通过DNS实际传送窃密数据分片.
经过DNS请求解析流程,窃密DNS请求数据包会最终到达由攻击者控制的窃密服务端.
(4)配置为全时段工作的窃密服务端,从所有DNS解析请求中,按预定义规则识别并筛选出窃密DNS请求;除此之外,窃密服务端通常还会进行策略响应.
(5)窃密服务端依据预定义的特制域名结构,从窃密DNS请求的域名中,分别提取和暂存窃密数据分片、辅助信息等.
当窃密传送完成后,依据辅助信息将所有窃密数据分片重组,得到完整的窃密数据.
(6)窃密服务端依据客户端使用的内容加工处理方法和流程,对窃密数据进行相逆的处理和转换,从而恢复得到目标内容及其附属信息,进行简单校验后,以存储到服务端本地等形式反馈给攻击者.
图3DNS窃密的基本流程Figure3TheprincipleofDNS-basedexfiltration3.
3DNS窃密关键技术·数据嵌入与恢复技术综合前文对DNS窃密的界定和DNS窃密机理的研究,DNS窃密实际是通过DNS请求数据包来完成的.
参考DNS协议规定的请求报文格式详情,DNS查询请求主要包含DNS首部和查询问题区域两个部分.
DNS首部包含6个字段,每个字段与DNS数据报文紧密相关,不同取值对应在DNS协议规范内都具有特定含义.
查询问题区域中的QCLASS明确DNS查询请求的地址类型,通常取值为1,代表互联网地址;而QTYPE的取值则对应DNS查询请求的资源类型,例如QTYPE字段取值为1则表示请求解析A记录.
DNS查询请求数据报文中的QNAME部分通常是请求解析的域名,三类典型DNS窃密攻击形式的窃密数据嵌入位置均是QNAME部分,这是因为QNAME部分是嵌入窃密数据分片的最佳位置.
与此同时,DNS协议规定域名的标签最大长度为63个ASCII字符,完整域名的最大长度为253个ASCII字符.
受限于标签和域名长度的限制,窃密数据通常需要进行分片后,分别通过一系列的DNS查询请求序列完成传送.
为了能够识别、筛选出窃密DNS请求,并按序恢复各分片数据,每个窃密DNS请求的域名需要包含必要的辅助字符串,常用辅助字符串比如分片序号、分片归属标识信息等.
然后将窃密数据分片、辅助字符串等,按照预定义的方式和结构构造,从而形成携带窃密数据分片的特制域名,整理部分代表性攻击案例中所使用的特制域名结构如表4.
如表4所示,攻击案例中实际使用的特制域名结构特征因不同的攻击样本实现而有所差异,例如表4中的8个攻击案例中所使用的特质域名结构均不同.
对比分析发现,不同特制域名结构都包含"分片序号"、"标识符"等关键组成部分,不同点大多只是次要字符串的增改以及各组成部分所处位置的调整.
冯林等:面向AI模型训练的DNS窃密数据自动生成7表4攻击案例中常见的DNS窃密特制域名结构Table4CommonstructureofcraftedsubdomainsinDNS-basedexfiltrationcampaigns序号样本名称DNS窃密特制域名结构1Helminth00.
go0gIe.
com2ConmmunicatorDot.
IDID.
.
.
.
.
.
newuser.
tk3ISMAgent.
d.
.
ntpupdateserver.
com4BONUPDATER4B007.
.
poison-frog.
club5QUADAGENT.
.
acrobatvesrify.
com6APT34-Glimpse2C.
myleftheart.
com7APT34-RDAT.
tacsent.
com8DET.
·编解码转换技术在DNS窃密攻击案例中,内容编解码转换技术被广泛使用,主要是针对目标内容和附属信息进行内容形式或格式的转换.
编解码转换是指按预定义的编解码方法和流程来转换目标内容的呈现格式或形式;并且可以按照对应相逆过程和方法解码得到原始内容.
显然,上述内容编解码转换方法包含标准的Base64、Base32等方法,攻击者也可以自定义内容转换和方法,例如按一定流程组合使用常用编码方法.
在实际攻击活动中,内容编解码转换的设计和技术实现,通常与域名语法规范、攻击者意图紧密相关.
内容编解码转换的首要目标是使得转换后的内容符合域名语法规范.
DNS协议规定,域名由层级结构的多级标签构成,只能由字母、数字和连字符组成,且开头和结尾只能为字母或数字.
然而,攻击者欲窃取的目标内容可能存在非法字符,显然不能完全符合域名语法.
因此,攻击者必须对目标内容执行内容编解码转换,使所得窃密数据基本符合域名语法要求,最简单方法可直接使用标准Base64URL(基于Base64编码方法的改进,将域名中不能出现的"+"、"/"分别替换为"-"、"_",并去处尾部的"=")、Base32等方法.
除此之外,内容编解码转换还可能服务于攻击者的更多意图.
例如,由于DNS协议设计为明文传输,较多攻击者在实际的攻击活动中,还会对目标内容进行加密,从而避免明文传输、逃避内容检测.
·DNS窃密传送技术DNS窃密传送技术直接控制攻击活动的网络流量表现,主要是依据特制域名构建DNS请求数据包,并直接控制DNS请求相关的其他参数.
攻击者在设计和实现DNS窃密传送技术时,首先需要重点规避各级DNS服务器的缓存机制.
一般情况下,经过编解码转换处理后的窃密数据片,出现2个以上完全相同数据分片的可能性较小.
然而,在实际的攻击活动中,通常还会在特制域名的固定位置加入随机的冗余部分,从而确保每个窃密DNS查询请求都能最终到达窃密服务端.
DNS窃密传送技术直接影响窃密流量数据的多个方面,而且不同攻击者的关注点和实际需求会有所差异,常见的包括窃密DNS请求间隔、DNS数据包构建方法等.
以DNS请求发起方式为例,攻击者通常会依据受害主机系统特点来选取DNS请求发起方式;例如ISMAgent攻击样本是调用系统API的DnsQuery_A函数来发出DNS解析请求,而QUADAGENT攻击样本则使用nslookup.
exe可执行程序来发出窃密DNS请求数据包.
·策略响应技术依据DNS窃密的基本原理分析,针对窃密DNS请求的响应并不是执行窃密传送所必须的,但若大量的DNS请求无响应则极为异常,为了对抗检测攻击者通常会按既定策略进行响应.
策略响应技术就是攻击者处理大量窃密DNS查询请求时,服务于攻击活动而制定的响应策略及其实现技术.
避免大量DNS查询请求无响应的异常情况是策略响应技术的关键因素之一,但具体的响应策略会因不同攻击者及其目的不同而差异明显.
以针对A记录的响应策略为例,常见的响应策略有:(1)基础伪装类:响应某一固定IP、随机IP或规律变化IP,而响应的IP没用指定用途.
这是攻击者选取的一种较为简单的响应策略,可以解决大量DNS查询请求无响应的这一明显异常问题.
比如APT34-Helminth在执行窃密任务时就响应固定IP"172.
16.
107.
128".
(2)强化伪装类:出于伪装目的,攻击者预置一个或多个具有欺骗性的响应结果;例如Helminth样本中,对于窃密DNS请求的响应可以伪装成"google.
com"服务器的IP之一.
8JournalofCyberSecurity信息安全学报,2021年1月,第6卷,第1期(3)稳定增强类:在对应响应中携带有利于实现更稳定传送的信息;例如携带已成功收到的窃密数据分片序号,从而通知客户端已经传送成功的窃密数据分片.
由于这种方式需要攻击者设计完整的重传机制,因此目前只在极少数攻击案例中被采用.
DNS窃密攻击的关键技术点是攻击者在实现过程中难以避免的,或者放弃使用关键技术点需要付出巨大代价,例如牺牲窃密传送效率、传送成功率等,因而防御方可以基于这些关键技术要点制定更加有效的检测、防御措施.
基于上述攻击TTPs分析,针对DNS窃密攻击的防御思路可以从以下几个方面开展:(1)特制域名:携带窃密数据分片的一系列特制域名具备固定的结构特征;数据分片序号、各类标识呈现出的规律等.
(2)DNS窃密传送:受限于DNS包的大小限制,存在大量窃密所用SLD的子域的DNS解析请求,且窃密传送间隔、DNS请求和响应主机间的固定规律等,均是DNS窃密技术实现在网络流量上的体现.
4数据自动生成的框架设计与实现4.
1基于攻击TTPs的数据生成及应用设计众所周知,AI模型训练阶段需要足够规模的流量数据来支撑模型训练;而且训练数据集的质量越高,训练所得模型性能越好.
本文的首要目标是解决AI模型训练阶段面临的数据集紧缺、完备度不足的问题,即面向AI模型训练的流量数据自动生成的主要目标是:(1)突破DNS窃密流量数据的规模局限性,解决数据有效性验证的难题,为用户生成大规模、有效的DNS窃密流量数据.
(2)广泛覆盖DNS窃密攻击案例,拓展未知变体空间,从而有效提升生成流量数据集的完备度.
本文从攻击者的角度出发,明确了攻击原理的重要作用,提出基于攻击TTPs的流量数据自动生成及应用方案,具体设计见图4.
图4基于攻击TTPs的流量数据自动生成及应用方案Figure4Automaticdatagenerationandapplicationschemebasedonattacks'TTPs攻击TTPs作为样本数据自动生成的理论基础,是生成流量数据有效性、完备度的重要保证.
在国内外安全研究人员的共同努力下,曝光攻击案例的分析报告已经初具规模,内容详实的分析报告基本还原了攻击样本的技术实现、攻击策略等.
基于已有分析报告和开源项目,可以梳理得到DNS窃密的攻击TTPs.
在攻击TTPs的指导下,设计并实现DNS窃密流量数据生成系统.
该系统通过定制配置文件的方式实现高扩展性,即定制化生成大量逼真的、完备度可调的DNS窃密流量数据;而且生成流量数据的有效性可以依据窃密任务执行结果进行直接验证.
除此之外,通过跟进最新的攻击案例报告,已有攻击TTPs可以得到持续修改和完善,保证专家知识体系的完备度和时效性.
持续更新、完善的攻击TTPs,可以指导生成系统拓展实现最新攻击技术,从而保证生成数据的完备度和时效性.
生成流量数据完成有效性验证后,即可作为训练集和测试集,应用于AI模型的训练阶段.
为了检验训练所得模型的实际检测性能,辅以少量真实攻击数据来验证模型的真实检测性能.
与此同时,检测结果反馈也可以指导生成系统的持续完善,进一步提高生成数据的质量.
本文设计的流量数据自动生成及应用方案,不仅满足了AI模型训练对目标类型攻击流量数据的大规模需求,还可以通过完善数据集完备度来有效提升检测模型性能.
区别于其他流量生成方法,所述方法将攻击TTPs作为理论支撑,保证了流量数据生成冯林等:面向AI模型训练的DNS窃密数据自动生成9框架的合理性;实现的流量数据自动生成系统需要验证能否实际完成既定攻击任务,因而生成流量数据与真实攻击流量数据之间的差异性不可区分.
4.
2MalDNS:DNS窃密流量自动生成框架遵循4.
1节的数据自动生成方案,基于DNS窃密攻击TTPs设计MalDNS系统,该系统实现了完整的DNS窃密框架,用于大规模生成DNS窃密流量数据;生成流量数据的有效性易于直接验证,而且其完备度可以通过配置文件进行调控.
得益于可控环境下的完整窃密框架,MalDNS生成流量数据的过程可以等效为参数可调的真实攻击,从而保证了生成流量数据与真实攻击流量数据之间的差异性不可区分.
MalDNS系统设计如图5,遵循DNS窃密攻击的基本流程,包含DNS窃密客户端和服务端,客户端对应真实攻击中的受控主机,而服务端则对应由攻击者控制的DNS服务器.
如图5所示,MalDNS系统执行DNS窃密任务的主要流程可概括为:(1)DNS窃密客户端按配置文件描述的流程对目标内容进行加工处理,形成窃密数据;然后依据特制域名相关参数,将窃密数据分片、对应辅助字符串等嵌入特制域名;最后调用指定方式构建DNS请求数据包并发出.
(2)从客户端发出的窃密DNS请求数据包,遵循常规的DNS解析流程,最终会到达窃密服务端.
由DNS窃密攻击TTPs可知,DNS窃密传送使用通用DNS解析服务而无需特别实现,调用客户端系统支持的DNS解析请求方式即可;因此,MalDNS系统对窃密DNS解析不做定制化设计.
(3)窃密服务端将识别并筛选出窃密DNS请求数据包,从QNAME中提取并暂存窃密数据分片、辅助字符串等.
当窃密任务传送完成后,服务端则依据辅助信息重组所有窃密数据分片,得到完整的窃密数据.
最后依照与客户端相逆的内容转换处理流程恢复目标内容,并以指定形式反馈或存储.
(4)服务端对窃密DNS解析请求执行策略响应,如避免大量DNS请求无响应的异常、辅助实现更稳定的DNS窃密传送等.
图5MalDNS系统框架设计Figure5TheframeworkofMalDNS表5DNS窃密关键技术矩阵Table5KeytechnologiesofDNS-basedexfiltration内容加工数据嵌入/恢复DNS窃密传送*策略响应编解码转换辅助子串请求频率无响应*压缩子域结构记录类型基础类响应*加密长度限制包构建方法伪装类响应*握手子域稳定传输类MalDNS系统的配置项参考DNS窃密攻击TTPs进行设计,旨在提升生成流量数据的多样性和完备度.
结合生成流量数据的主要影响因素,MalDNS系统拟覆盖DNS窃密的关键技术矩阵如表5,表中的*项为非必须实现的技术要点.
具体的,针对表中每个技术要点设计一组配置项,通过编辑不同配置项的值来还原该技术要点在不同攻击案例中的实现.
例10JournalofCyberSecurity信息安全学报,2021年1月,第6卷,第1期如,不同的攻击案例使用的编码方法不同,常见的有Base16、Base32、Base64URL及其组合使用等.
参照表5设计的配置近60项,以json格式存储为配置文件;而且配置文件是直接面向用户的,即用户可以在攻击原理范围内对各配置项进行定制化编辑,如针对性修改加密、编码相关的配置如下:"content":{"compress_or_not":1,"encrypt_method":{"active":1,"method":"AES","key":"THISISMALDNSKEY"},"encode_method":{"active":1,"method":"BASE32"}}"domain_structure":{"SLD":"ntpupdateserver.
com","format":".
.
d.
","max_label":63}示例的配置项组合将配置MalDNS系统在编解码目标内容时,使用AES加解密方法,且对称密钥为"THISISMALDNSKEY";启用的编码方法则是Base32.
关于特制域名的配置将窃密所用二级域名设置为"ntpupdateserver.
com",特制域名最大标签长度为63个ASCII字符,特制域名子域的组成格式为".
.
d.
"(其中,target_content将嵌入窃密数据分片,seq_number则是分片序号的嵌入位置).
面向用户的配置项设计是MalDNS系统生成流量数据多样性的重要方式,可以实现两类定制化流量数据生成:(1)案例还原生成:参考案例报告编辑各配置项的值,目标是高度还原分析报告中所描述的DNS窃密攻击,使得生成流量数据与真实攻击流量数据之间差异不可区分;从而配置MalDNS系统生成与目标攻击案例高度相似的DNS窃密流量数据.
(2)预测生成:在DNS窃密攻击原理范畴内,编辑各配置项的值来描述未来可能被攻击者使用的DNS窃密变体;即配置MalDNS系统预测生成未知的、符合攻击原理的DNS窃密流量数据.
4.
3MalDNS关键功能设计与实现MalDNS系统设计为C/S模式,窃密客户端和服务端在对应阶段存在较大关联性,如图5所示每一阶段都完成了不同的透明传输任务.
因此,MalDNS系统划分为4个核心功能模块,分别是配置项管理、内容加工处理、数据嵌入与恢复、DNS窃密传送模块,各部分的功能及模块间协同工作情况如图6.
其中,配置项管理部分的作用是处理面向用户的配置文件,并转化为MalDNS系统参数;而内容加工处理、数据嵌入与提取、DNS窃密传送3个模块则是一个完整的DNS窃密框架,按配置文件描述的方式执行DNS窃密任务,从而大批量生成DNS窃密流量数据.
图6MalDNS系统的功能模块设计Figure6DesignoffunctionmodulesforMalDNSsystem冯林等:面向AI模型训练的DNS窃密数据自动生成11·配置项管理配置项管理的主要功能是管理直接面向用户的众多配置项,并基于各配置项的值形成定制化的MalDNS系统参数,用于指导MalDNS系统生成所需的DNS窃密流量数据.
配置项管理主要实现3个功能:(1)预处理:对配置文件进行预处理,例如读取配置项后执行分类提取、初始转化等,即基于众多配置项的值形成初始的系统参数集合.
(2)冲突处理:为了便于对照攻击报告进行定制化编辑,各配置项不可能做到完全独立,那么存在相关性的配置项之间可能存在一些冲突的情况.
冲突处理则对这些关联配置项的正确性进行必要的确认并反馈.
例如,由用户编辑配置的子域标签最大长度为63字符,又指定窃密数据分片长度大于63字符;在未配置多级标签的情况下,就出现了参数冲突的情况,因此配置项管理中的冲突管理是很有必要的.
(3)参数转化:确认初始参数配置的正确性以后,配置项管理需要基于初始参数进行计算和转换,形成可供MalDNS系统直接使用的参数集合,便于生成系统在不同阶段直接调用.
·内容处理加工内容加工处理的主要功能是执行目标内容与窃密数据之间的编解码和转换处理,而且不同攻击案例使用的转换方法和流程可参照分析报告自行设计.
从窃密数据传输的角度来看,内容加工处理则是完成了目标内容的透明传输.
参考DNS窃密攻击TTPs,MalDNS系统在内容加工处理阶段需要重点关注的技术要点有:(1)附属信息:服务于窃密数据传送、目标内容的后续使用,通常需要额外传送目标内容相关的一些附属信息.
常见的例如:内容校验信息可用于校验窃密数据的完整性;而目标内容的文件名、所属受害主机标识等,则服务于目标内容的进一步使用.
为了便于窃密传送和恢复,通常需要将目标内容、选定的附属信息、分隔符等,按照预定规则进行结构化处理.
(2)内容转换:受限于RFC1034、1035等DNS相关标准文档的规定,或服务于特定的攻击意图,窃密内容通常需要执行内容转换处理.
常用的如压缩、加密、编解码等.
其中,编码转换在实际的攻击案例中是必不可少的,这是因为RFC1034中规定:域名只能由数字、字母、连字符组成,然而原始目标内容不能完全符合域名的语法规范.
值得注意的是,窃密服务端的内容转换处理与客户端完全对应,即遵循与客户端相逆的内容编解码和转换方法,可以恢复得到目标内容及其附属信息.
·数据嵌入与恢复数据嵌入与恢复主要完成窃密数据与窃密特制域名之间的转换,具体的窃密数据分片嵌入、提取和重组将基于相关配置项来完成.
由于窃密特制域名直观体现在DNS流量数据上,其扩展性和还原能力是决定生成DNS流量数据多样性的重要因素之一.
因此,数据嵌入与恢复的主要功能点有:(1)分块处理:参考DNS标准协议有关域名、标签长度的规定,结合良性域名长度的统计分布,将窃密数据通过多个DNS请求完成窃密传送;即将窃密数据进行分块后对应编号,然后分别嵌入到多个DNS请求中.
(2)结构化处理:为了便于服务端恢复、提取窃密数据分片及其辅助字符串,窃密特制域名需要遵循预定义的结构进行构建,攻击案例中常使用的特制域名如表4.
MalDNS系统的目标之一是高度还原大量攻击案例中所采用的特制域名,即通过相关配置项值的编辑,能够还原各案例实际采用的特制域名结构.
除此之外,MalDNS还能通过配置项的修改执行预测生成,即基于DNS窃密攻击发展趋势预测未来可能被采用的特制域名结构,从而进一步扩展可能的变体空间.
(3)规范化和伪装处理:为了使携带窃密数据的特制域名基本符合域名规范,弱化特制域名与正常域名之间的不必要差异,需要执行必要的域名规范校验和伪装处理.
例如构建的特制域名中避免出现非法字符,将域名的数字占比调整为正常域名的统计均值等.
其中,域名规范化大多可以在设计内容编解码转换方案时同步考虑,然后在这一阶段进行非法字符校验和反馈即可.
分析实际攻击案例发现,分块和结构化是影响服务端提取、恢复目标内容成功率的关键因素.
而规范化和伪装处理,则是为了最大化DNS窃密的隐蔽性和穿透性,有效提升逃避检测的能力,也是实际DNS窃密攻击中的重要因素.
·窃密传送控制窃密传送控制主要涉及窃密DNS请求数据包的传送,以及服务端按预定义策略进行响应.
在靶场环境下,通过捕获窃密客户端和服务端之间的窃密DNS流量,即为所需的生成流量数据.
窃密传送控制阶段需要重点实现包处理、请求管理、策略响应3方面的功能:12JournalofCyberSecurity信息安全学报,2021年1月,第6卷,第1期(1)包处理:包处理在客户端主要依据窃密特制域名相关配置,构建DNS解析请求数据包并发出;相应的,在服务端识别并筛选窃密DNS数据包.
参考攻击案例中的包处理方法,MalDNS不需要特别定制窃密DNS数据包的格式,调用目标系统的DNS解析系统函数即可.
(2)请求管理:对窃密DNS请求的管理直接影响生成流量数据的多个方面,如DNS窃密数据包发送频率控制、窃密传送工作时间、DNS请求方式等.
在MalDNS系统中,窃密传送控制主要依据配置项进行请求管理,还可以通过配置项进行持续补充、扩展.
(3)策略响应:服务于攻击者的不同意图,需要按配置文件描述的响应策略,对收到的窃密DNS解析请求执行策略响应.
5实验评估5.
1数据说明本文设计和实现的MalDNS系统,既能参考案例分析报告进行还原生成,也可以在DNS窃密原理范畴内进行预测生成;而且现有系统基本能够还原已有案例分析报告中呈现的DNS窃密攻击模式(具有相似数据结构、处理流程的,则属于同一种DNS窃密模式).
MalDNS系统的实现了完整的DNS窃密框架,即首先需要在靶场环境下分别部署MalDNS客户端和服务端,按配置文件实际执行DNS窃密任务.
用户使用MalDNS系统生成DNS窃密流量数据时,按需定制配置文件和指定目标内容集即可;然后捕获系统执行DNS窃密活动的通信流量,即为所需的生成流量数据.
其中,定制多种DNS窃密模式的配置文件可以提升生成流量数据集的完备度,主要依据拟还原生成的目标案例或预测性的攻击变体;目标内容集(可对应实际攻击活动中拟窃取的目标内容集合)则根据流量数据规模需求自行指定,使得生成流量数据的规模完全可控;同时也可以规避数据集共享时的隐私问题.
本次实验所使用的目标内容集选自Ubuntu系统"/etc/"路径下的默认文件,包含选定"enviroment"、"passwd"、"profile"等文档共100个,文档大小共287KB.
为方便描述和区分,由MalDNS系统生成的流量数据以"MDG-XXX"命名,而且对应配置项组合以还原XXX窃密活动为目标.
例如"MDG-Glimpse"表示对应流量数据由MalDNS系统生成,且配置文件配置项的组合以还原APT34-Glimpse所实现的DNS窃密攻击模式为目标.
由于真实DNS窃密攻击流量数据的紧缺,本次实验使用的真实数据主要来源于靶场环境下的攻击场景复现.
具体的,在APT34Glimpse源码泄露后,基于收集到的Glimpse完整代码文件进行攻击场景复现和分析,捕获其执行DNS窃密攻击活动的流量数据.
与此同时,近几年相关检测类工作常使用DET作为主要数据来源,调研发现DET是利用DNS执行数据窃取的代表性开源项目,而且DET能较好完成DNS窃密任务.
因此,本文也复现并捕获了DET执行DNS窃密活动的真实流量,作为对比样本数据之一.
5.
2生成数据评估本文设计的初衷是为AI模型用户大规模生成可用的、完备度可调的DNS窃密流量数据,生成数据的有效性是基本要求.
得益于部署、运行的完整DNS窃密框架,窃密任务执行情况即可作为生成流量数据有效性的直接证明,且用户易于统计、验证.
为了评估MalDNS系统生成的DNS窃密流量数据的有效性,结合课题小组已有真实DNS窃密流量数据积累情况,本节主要以还原生成APT34-Glimpse和开源工具DET的流量数据展开分析,对应生成的流量数据分别是"MDG-Glimpse"和"MDG-DET".
然后展开生成数据与真实数据的对比分析.
针对上述指定目标内容集,不同配置的MalDNS系统实际执行DNS窃密任务统计情况(部分)如表6,其中以下统计数据都是3次以上重复实验的均值,DNS数据包总量是指不同变体完成窃密任务所需的DNS包数量,成功数量是窃密服务端成功恢复目标内容的数量.
表6MalDNS系统窃密任务执行情况Table6TheperformancestatisticsofexfiltratingthroughMalDNSsystem序号工具变体配置目标类型DNS数据包总量成功数量成功率(%)1MDG-efficent预测生成8071001002MDG-stealthy预测生成90941001003MDG-Glimpse还原34381001004MDG-DET还原4114100100在正常网络情况下,如表6所示,不同参数配置的MalDNS系统能够较好执行窃密任务,DNS窃密成功率为100%.
实验结果表明,MalDNS系统具备良冯林等:面向AI模型训练的DNS窃密数据自动生成13好的预测和还原生成能力,完全可以胜任DNS窃密流量生成任务,稳定的窃密成功率证明生成数据是有效的.
与已有开源项目DET、DNSExfiltrator相比,DNS窃密任务执行成功率更高.
分析全部实验过程中曾经出现的1次恢复失败的主要原因是:极差网络环境导致了UDP丢包个例,致使某窃密DNS请求未到达服务端;这不属于本文关注范畴.
与此同时,本文方法生成的DNS窃密流量数据主要服务于AI模型训练,评估生成数据在AI模型视角下的表现情况也是必要的.
具体思路是:综合选用多数论文中常用特征,分别对真实的DNS窃密流量数据和生成的DNS窃密流量数据进行特征处理,并展开对比分析.
参考近几年DNS窃密检测工作中的常用特征,本文选取其中近20项关键特征对DNS窃密流量进行特征提取.
选用的域名基础类特征例如子域名长度、子域名数字占比、子域名公共字串及其占比等;也选用了DNS响应IP规律、DNS请求-应答比、DNS请求频率等其他特征.
为了更好的对比生成数据与真实数据之间差异性,使用目前主流的ISOMAP降维算法,将特征处理后的生成数据集与和真实数据集降至三维空间.
直观分布情况如图7所示,生成数据与真实攻击数据的空间分布高度拟合,这表明MalDNS生成系统具备高度还原目标DNS窃密攻击的能力,在AI模型视角下生成数据集与真实攻击流量数据集在空间分布上高度拟合度.
因此,应用本文方法生成的流量数据训练AI模型,其效果可与真实攻击数据相媲美.
图7生成数据与真实数据的三维分布Figure7Thecomparisonofdistributionbetweengenerateddataandveritabledata5.
3生成数据训练所得模型性能评估·检测模型及评估概述在可用数据集紧缺的大背景下,以攻击机理为理论基础,设计并实现流量数据生成系统的方法由本文提出,生成流量数据的应用效果可以通过训练所得AI模型的性能进行检验.
首先,使用生成数据训练所得模型的性能,至少需要达到其他类似研究工作中的同等水平.
理想情况下,生成数据训练所得模型性能能够得到明显提升;同时也可以反映AI模型性能受限于数据集的问题.
参考已有恶意DNS检测研究工作,使用较多的机器学习检测模型有随机森林、SVM、J48决策树、孤立森林等.
其中,随机森林是一种由多个决策树构成的分类器,具备较好的可解释性;而且不同决策树之间没有关联,在近几年的恶意DNS检测工作中表现良好,因而本文选取随机森林检测模型进行评估实验.
本节的实验评估思路是综合MalDNS系统还原生成、预测生成的所有DNS窃密流量数据作为训练阶段的数据集,使用课题组积累的APT34-Glimpse、DET等真实DNS窃密攻击数据集作为验证数据集,对训练所得模型的有效性和检测能力进行验证和评估.
即这类宝贵的真实攻击数据对于AI模型的训练阶段而言是完全"不可见"的,完成模型训练后才启用真实DNS窃密攻击数据,用于验证模型对真实攻击的检测能力.
·模型训练和验证阶段在模型训练阶段,实验所用数据集由黑样本、白样本两部分组成.
白样本主要来自于合作企业局域网的日常DNS流量数据,其中DNS总数量达50多万.
训练阶段使用数据的黑样本,则是MalDNS系统生成的DNS窃密流量数据,依据本次实验需求生成14JournalofCyberSecurity信息安全学报,2021年1月,第6卷,第1期的黑样本DNS总数量接近45万.
模型训练过程的5折交叉验证结果如表7,结果表明:使用生成流量数据进行检测模型训练,对训练测试集的DNS窃密攻击具备准确的检测能力.
表7训练阶段5折交叉验证结果Table75-foldcross-validationresultsduringthemodeltrainingphase分组#1#2#3#4#5准确率(%)10010010099.
99100召回率(%)100100100100100验证对真实攻击的检测能力时,验证数据集的黑样本主要5.
1节所述的真实DNS窃密攻击流量.
由于验证数据集对于检测模型是完全未知的,模型对这类真实攻击数据集的检测能力,能够实际代表所得模型对未知的真实DNS窃密攻击的检测能力.
本次实验使用生成流量数据集训练所得的随机森林检测模型,对验证数据集的检测结果见表8.
表8生成数据训练所得模型对真实攻击的检测结果Table8Thedetectionperformanceofthemodeltrainedwithgenerateddataagainstveritableattacks验证样本集混淆矩阵检测率(%)误报率(%)5812250APT348534299.
8505812250DET01318310005812250DNSExfiltrator0231321000表8的检测结果表明:使用生成数据训练所得检测模型,对未知、真实攻击的检测能力良好,检测率均高于99.
85%、误报率基本为0.
进一步分析APT34中出现的8条漏报记录发现,这8条DNS数据并未实际执行DNS窃密传送;而是与SLD域名的普通解析相关,并没有实际传送窃密数据分片,可以认为它们并不属于本文界定的DNS窃密流量范畴.
例如漏报"mulong.
club"(笔者复现攻击场景时,注册使用的二级域名)的DNS流量为该域名的正常DNS解析请求,并未携带任何窃密数据内容.
综上所述,本文实验在检测效果方面表现良好,应用生成数据训练所得到的检测模型,能够有效检测真实的DNS窃密攻击.
6总结与下一步工作展望本文在AI助力防御的实践过程中,发现并分析训练阶段面临的可用数据集紧缺、完备度不足的问题.
首次提出面向AI模型训练的、基于攻击TTPs的流量数据自动生成及应用方案.
遵循该方案,梳理DNS窃密攻击TTPs作为理论基础,设计并实现了MalDNS系统用于自动生成DNS窃密流量数据.
最后对生成流量数据的有效性、应用于AI模型训练的效果展开实验评估.
评估结果表明:本文提出的基于攻击TTPs的流量数据生成及应用方法是切实可行的;基于DNS窃密攻击TTPs设计和实现的MalDNS系统,不仅能高度还原已有案例报告中的DNS窃密攻击模式,还具备良好的预测生成能力.
综合参数可调的案例还原生成流量和预测生成流量数据,能有效提升数据完备度和拓展未知样本空间,从而有效提升训练所得AI模型的性能.
相较于传统的训练数据收集方法优势明显:(1)生成数据规模不再受限,降低用户获取训练数据集的难度;(2)综合案例还原和预测生成的流量数据,可以有效提升数据集的完备度;(3)通过窃密任务执行情况易于直接验证生成数据的有效性.
本文设计的数据自动生成及应用方法,旨在降低AI模型用户获取可用数据集的难度,促进AI技术助力网络防御.
本文将持续跟进最新DNS窃密攻击案例报告、完善DNS窃密攻击TTPs,维持MalDNS系统的持续更新和扩展.
同时,MalDNS系统源码拟开源供AI模型用户免费使用,也期望得到更多安全研究专家的关注,共同改进、完善该生成系统.
最后,本文设计的数据自动生成及应用方法,同样适用于面向AI模型训练的、其他攻击类型的流量数据生成及应用.
参考文献[1]Software.
MITREATT&CK.
https://attack.
mitre.
org/software/.
Sept.
2020.
[2]AnindepthanalysisofLinux/Ebury.
WeLiveSecurity.
https://www.
welivesecurity.
com/2014/02/21/an-in-depth-analysis-of-linuxebury/.
Feb.
2014.
[3]DNStunnelinginthewild:overviewofoilRig'sDNStunneling.
Unit42.
https://unit42.
paloaltonetworks.
com/dns-tunneling-in-the-wild-overview-of-oilrigs-dns-tunneling/.
Apr.
2019.
[4]NewwekbyattacksuseDNSrequestsascommandandcontrolmechanism.
Unit42.
https://unit42.
paloaltonetworks.
com/unit42-new-wekby-attacks-use-dns-requests-as-command-and-control-mechanism/.
May.
2016.
[5]TheOilRigcampaign:attacksonsaudiarabianorganizationsde-liverHelminthbackdoor.
Unit42.
https://unit42.
paloaltonetworks.
冯林等:面向AI模型训练的DNS窃密数据自动生成15com/the-oilrig-campaign-attacks-on-saudi-arabian-organizations-deliver-helminth-backdoor/.
May.
2016.
[6]OilRigactorsprovideaGlimpseintodevelopmentandtestingef-forts.
Unit42.
https://unit42.
paloaltonetworks.
com/unit42-oilrig-actors-provide-glimpse-development-testing-efforts/.
Apr.
2017.
[7]OilRigusesISMDoorvariant;possiblylinkedtoGreenbugThreatGroup.
Unit42.
https://unit42.
paloaltonetworks.
com/unit42-oilrig-uses-ismdoor-variant-possibly-linked-greenbug-threat-group/.
Jul.
2017.
[8]CobianRAT–AbackdooredRAT.
Zscaler.
https://www.
zscaler.
com/blogs/security-research/cobian-rat-backdoored-rat.
Aug.
2017.
[9]OperationWiltedTulip–Exposingacyberespionageapparatus.
ClearSkyCyberSecurity.
https://www.
clearskysec.
com/tulip/.
Jul.
2017.
[10]Alarge-scaleAPTinAsiacarriedoutbytheoceanlotusgroup.
Cybereason.
https://www.
cybereason.
com/lab-analysis-operation-cobalt-kitty.
Jun.
2017.
[11]Greenbug'sDNS-isms.
Netscout.
https://www.
netscout.
com/blog/asert/greenbugs-dns-isms.
May.
2017.
[12]Covertchannelsandpoordecisions:thetaleofDNSMessenger.
TalosGroup.
https://blogs.
cisco.
com/security/talos/covert-chan-nels-and-poor-decisions-the-tale-of-dnsmessenger.
Mar.
2017[13]FuC.
Researchandimplementationofattacktrafficgenerationtechnology[D].
BeijingUniversityofPostsandTelecommunica-tions.
2017.
(付超.
攻击流量生成技术的研究与实现[D].
北京邮电大学,2017.
)[14]WangXT,WangYW,LiP.
DesignandImplementationofSelf-similarNetworkTrafficGenerator[J].
Microelectronics&Computer,2016,33(8):54-58.
(王晓婷,王忆文,李平.
一种自相似网络流量生成器的设计与实现[J].
微电子学与计算机,2016,33(8):54-58.
)[万方vs知网][15]WangYJ,XianM,ChenZJ,etal.
DesignandRealizationofaNetworkAttackGenerator[J].
ComputerScience,2007,34(2):64-67,90.
(王永杰,鲜明,陈志杰,等.
一种网络攻击流量生成器的设计与实现[J].
计算机科学,2007,34(2):64-67,90.
)[16]PengD.
Researchandimplementofnetwrokattackdatagenera-tion[D].
BeijingUniversityofPostsandTelecommunications.
2010.
(彭丹.
网络攻击数据生成技术的研究与实现[D].
北京邮电大学,2010.
)[17]IshikuraN,KondoD,IordanovI,etal.
Cache-Property-AwareFeaturesforDNSTunnelingDetection[C].
202023rdConferenceonInnovationinClouds,InternetandNetworksandWorkshops(ICIN),2020:216–220.
[18]AhmedJ,GharakheiliHH,RazaQ,etal.
MonitoringEnterpriseDNSQueriesforDetectingDataExfiltrationfromInternalHosts[J].
IEEETransactionsonNetworkandServiceManagement,2020,17(1):265–279.
[19]PrestonR.
DNSTunnelingDetectionwithSupervisedLearning[C].
2019IEEEInternationalSymposiumonTechnologiesforHome-landSecurity(HST),2019:1–6.
[20]LiuC,DaiL,CuiW,etal.
AByte-levelCNNMethodtoDetectDNSTunnels[C].
2019IEEE38thInternationalPerformanceComputingandCommunicationsConference(IPCCC),2019:1–8.
[21]NadlerA,AminovA,ShabtaiA.
DetectionofMaliciousandLowThroughputDataExfiltrationovertheDNSProtocol[J].
Com-puters&Security,2019,80:36-53.
[22]sensepost/DET.
GitHub.
https://github.
com/sensepost/DET.
Nov.
2017.
[23]ChenJH,WangYJ,LüC.
AnAutomatedNetworkAttackTrafficAcquisitionMethodBasedonPythonSymbolExecution[J].
Com-puterApplicationsandSoftware,2019,36(2):294-307.
(陈家浩,王轶骏,吕诚.
一种基于Python符号执行的自动化网络攻击流量获取方法[J].
计算机应用与软件,2019,36(2):294-307.
)[24]ZhuJY,ParkT,IsolaP,etal.
UnpairedImage-to-ImageTransla-tionUsingCycle-ConsistentAdversarialNetworks[EB/OL].
2017:arXiv:1703.
10593[cs.
CV].
https://arxiv.
org/abs/1703.
10593[25]LuanF,ParisS,ShechtmanE,etal.
Deepphotostyletransfer[C].
ProceedingsoftheIEEEConferenceonComputerVisionandPat-ternRecognition,2017:4990–4998.
[26]GoodfellowIJ,Pouget-AbadieJ,MirzaM,etal.
Generativead-versarialnetworks[C].
AnnualConferenceonNeuralInformationProcessingSystems(NeurIPS),2014:2672–2680.
[27]LeeW,NohB,KimY,etal.
GenerationofNetworkTrafficUsingWGAN-GPandaDFTFilterforResolvingDataImbalance[M].
InternetandDistributedComputingSystems.
Cham:SpringerIn-ternationalPublishing,2019:306-317.
冯林于2017年在重庆大学通信工程专业获得学士学位,现在广州大学计算机技术专业攻读硕士学位;研究领域为网络安全.
研究兴趣包括:网络对抗、人工智能安全.
Email:2111806016@e.
gzhu.
edu.
cn崔翔博士,现任广州大学网络空间先进技术研究院研究员,主要研究方向为网络安全.
Email:cuixiang@gzhu.
edu.
cn16JournalofCyberSecurity信息安全学报,2021年1月,第6卷,第1期王忠儒博士,现任中国网络空间研究院高级工程师,主要研究方向为人工智能、网络安全.
Email:wangzhongru@bupt.
edu.
cn甘蕊灵于2018年在北京邮电大学信息安全专业获得学士学位.
现在北京邮电大学计算机技术专业攻读硕士学位.
研究领域为网络安全.
研究兴趣包括:APT远程控制技术、流量分析.
Email:lynngan@bupt.
edu.
cn刁嘉文于2019年在北京电子科技学院计算机技术专业获得硕士学位.
现在北京邮电大学网络空间安全专业攻读博士学位.
研究领域为网络安全.
Email:jarvand@bupt.
edu.
cn韩冬旭于2013年在华北电力大学获得硕士学位.
现任中国科学院信息工程研究所高级工程师,并攻读网络安全方向博士学位.
研究领域为网络攻击检测、网络安全态势感知等.
Email:handongxu@iie.
ac.
cn姜海硕士,现任北京丁牛科技有限公司CTO,主要研究方向为网络安全、大数据、云计算.
Email:jianghai@digapis.
cn

Hostodo商家提供两年大流量美国VPS主机 可选拉斯维加斯和迈阿密

Hostodo商家算是一个比较小众且运营比较久的服务商,而且还是率先硬盘更换成NVMe阵列的,目前有提供拉斯维加斯和迈阿密两个机房。看到商家这两年的促销套餐方案变化还是比较大的,每个月一般有这么两次的促销方案推送,可见商家也在想着提高一些客户量。毕竟即便再老的服务商,你不走出来让大家知道,迟早会落寞。目前,Hostodo有提供两款大流量的VPS主机促销,机房可选拉斯维加斯和迈阿密两个数据中心,且都...

野草云提供适合入门建站香港云服务器 年付138元起 3M带宽 2GB内存

野草云服务商在前面的文章中也有多次提到,算是一个国内的小众服务商。促销活动也不是很多,比较专注个人云服务用户业务,之前和站长聊到不少网友选择他们家是用来做网站的。这不看到商家有提供香港云服务器的优惠促销,可选CN2、BGP线路、支持Linux与windows系统,支持故障自动迁移,使用NVMe优化的Ceph集群存储,比较适合建站用户选择使用,最低年付138元 。野草云(原野草主机),公司成立于20...

香港CN2云服务器 1核 2G 35元/月 妮妮云

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...

nslookup为你推荐
操作http苹果appstore宕机苹果手机为什么显示无法连接到appstore360退出北京时间怎样让电脑时间与北京时间相同中国企业信息网哪个查询企业信息的网站收录的企业信息最多netshwinsockreset开始-运行-输入CMD-确定-输入netsh winsock reset,按Enter确定。然后重启。 是什么意思degradeioscurl扩展大神帮忙看下centos 7.2 系统 php7.0.12的 curl 扩展怎么开启,谢谢啦中国保健养猪网最具权威的养猪信息网站是哪个 啊如何发帖子怎么发表贴子?如何发帖子网上怎么发帖子?
拜登买域名批特朗普 2019年感恩节 xen 129邮箱 adroit 可外链相册 亚马逊香港官网 1美金 绍兴电信 国外ip加速器 根服务器 web服务器搭建 东莞服务器托管 iki 免费蓝钻 国外网页代理 腾讯网盘 netvigator 中国电信宽带测速 万网服务器 更多