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

一种基于深度学习的轻量型加密劫持攻击检测系统的制作方法

2022-03-09 07:11:15 来源:中国专利 TAG:


1.本发明涉及计算机网络安全领域,尤其涉及一种基于深度学习的轻量型加密劫持攻击检测系统。


背景技术:

2.加密货币(cryptocurrency)是一种使用密码学原理来确保交易安全及控制交易单位创造的交易媒介。加密货币是数字货币(或称虚拟货币)的一种。作为加密货币之一的比特币(btc),最早于2008年由中本聪提出,并于2009年1月正式诞生,成为世界上第一个去中心化的加密货币。作为最早的加密货币,加密货币基于去中心化的共识机制,与依赖中心化监管体系的银行金融系统相对。而与此同时比特币与传统货币的最大区别便是它不依靠货币机构发行,而是通过算法计算出来,也就是所谓的去中心化。比特币虽然不具备实际应用价值,但是炒币热潮在比特币诞生之际从来没有停歇过。最初的比特币需要一万枚才能购买两个披萨,而膨胀了许多年后,2021年4月,比特币每一枚的价格达到了惊人的64000美元,折合人民币410000。在这股比特币狂潮的影响下,加密货币的后继者们也若雨后春笋一般出来在公众视野中,以太币(eth),莱特币(ltc)等层出不穷,并同时形成了一条巨大的产业链。并且在巨大的利益驱动下。不法分子开始大规模的利用加密劫持攻击占用用户计算机资源进行挖矿计算,以此非法获取大量挖矿货币,造成了严重的安全问题。
3.加密劫持(cryptojacking)攻击是指加未经授权使用他人计算机资源来开采加密货币。攻击者通过使用javascript、wasm程序感染网站或在线广告。当受害者访问一个有挖矿程序的网站。这些代码会加载到受害者的浏览器中,在受害者不知道的情况下,占用大量计算机资源,并自动开始挖矿行为。与此同时随着加密货币价值不断膨胀,恶意挖矿软件也日渐气焰嚣张,不法分子开始通过大规模加密劫持攻击手段来进行大规模挖矿,造成了巨大的经济损失。加密劫持攻击已经肆虐于高度发达的互联网社会中,不仅是个人用户利益受到损害,加密劫持攻击也涉及到各类网站与政府部门。在2017到2020年间就已经发生了多起加密劫持攻击,涉及到各类网站与政府部门。甚至就在2021年8月26日,腾讯安全威胁情报中心检测到攻击者对上千台主机注入挖矿脚本,造成了严重的经济损失。因此,在加密劫持攻击之风盛行的当下,一套安全可靠高效的检测加密劫持攻击的手段就显得至关重要了。
4.因此,本领域的技术人员致力于开发一种基于深度学习的轻量型加密劫持攻击检测系统。开发一种加密劫持攻击的检测方法,能够同时对多种挖矿脚本进行检测,同时只占用少量的用户计算机资源,达成对加密劫持攻击防御的目的。


技术实现要素:

5.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是检测并抵御日益猖獗的加密劫持攻击。采用深度学习模型轻量化技术以及加入了程序语义的样本矢量化技术,能够对大量流量进行有效检测,并保证良好的异构型与抗欺骗性。
6.为实现上述目的,本发明提供了一种基于深度学习的轻量型加密劫持攻击检测系统,包括模型训练与部署检测:所述模型训练包括收集恶意挖矿脚本数据集;数据清洗,筛选出适合于训练的样本;将样本矢量化成灰度图;设计与训练用于识别挖矿脚本的深度学习神经网络;所述部署检测包括获取待检测的url;获取检测系统的输入;利用训练至收敛的深度模型进行推断;将域名加入黑名单与白名单。
7.进一步地,所述收集恶意挖矿脚本数据集包括:从publicwww搜索引擎获得含有javascript、webassembly脚本的url列表;爬取url所挂载的javascript、webassembly脚本;分析virusshare网站提供的恶意代码,并从中筛选出javascript、webassembly脚本;从github的相关开源项目中获取javascript、webassembly样本。
8.进一步地,所述数据清洗包括:删除训练数据集中重复的样本;将样本集通过virustotal进行标注,选取恶意挖矿脚本以及正常的安全脚本。
9.进一步地,所述样本矢量化成灰度图包括以下步骤:
10.步骤101:利用编译工具以及反汇编工具将标定后的样本集转换为一种统一文本表示;
11.步骤102:分析文本表示,定位恶意挖矿样本中的挖矿语义部分的位置区段,并将所有样本截取到相同区段;
12.步骤103:将截取后的文本表示通过数值到灰度的映射填充成统一大小的图片,这些图片构成了模型的训练集。
13.进一步地,所述设计与训练用于识别挖矿脚本的深度学习神经网络包括:在传统的卷积神经网络的基础上,加入模型轻量化技术,减少模型参数与体积;用训练集训练模型,并调整参数以提高预测性能;训练曲线收敛后,保存模型参数。
14.进一步地,所述获取待检测的url包括:
15.步骤201:从网关获取流量日志;
16.步骤202:将流量日志中的域名提取出来,利用黑白名单筛去已知含有或不含挖矿脚本的域名;
17.步骤203:获取不受信的域名的一级、二级子目录。
18.进一步地,所述获取检测系统的输入包括:根据待测的url,获取页面所加载的脚本文件;筛选出javascript文件、wasm模块以及html里的script标签元素;将样本转换成一种统一表示,并矢量化成图片。
19.进一步地,所述利用训练至收敛的深度模型进行推断包括:将图片输入到训练好的模型中,并得到检测结果;根据检测结果将脚本所属域名进行标记为挖矿域名或非挖矿域名。
20.进一步地,将检测到含有挖矿脚本的域名加入到黑名单中。
21.进一步地,所述将检测到不含有挖矿脚本的域名加入到白名单中。
22.在本发明的较佳实施方式中,本发明提供了一个轻量型加密劫持攻击检测系统,它包括模型训练与部署检测两部分。其中模型训练部分,通过不同渠道获取javascipt、webassembly样本,并对样本进行清洗与标定,对标定后的样本进行样本矢量化处理为统一大小的灰度图,并输入到模型中进行训练;部署检测部分,首先从网关收集流量日志,提取其中的域名,并与黑名单中的域名进行对比,如果该域名不再黑名单中,进一步得到域名下
的子目录,通过爬虫得到子目录下挂载的javascript、webassembly脚本,并对得到的脚本进行样本矢量化,输入到模型中进行预测判断。根据结果决定是否将所属域名加入到黑/白名单数据库中。
23.本发明的模型训练部分,包括:
24.1)样本收集模块:从publicwww搜索引擎,virusshare恶意代码分享网站以及github开源仓库获取javascript、webassembly样本;
25.2)数据清洗与标注模块:将收集到的样本进行去重,并对不可用的进行清理,然后将样本通过virustotal进行标注,得到挖矿样本与非挖矿样本。
26.3)样本矢量化模块:将标注后的样本进行矢量化处理,在矢量化的过程中加入程序语义以提高精度,最后通过数值到灰度的映射以及填充形成大小统一的灰度图。
27.4)模型设计与训练:为保证轻量型,采用模型轻量化技术,减少模型参数与体积,并上述将得到的灰度图输入到设计好的模型中。训练曲线收敛后,保存模型参数。
28.上述模型训练中的模块包括如下步骤:
29.(1)建立加密劫持攻击检测深度学习模型;
30.(1.1)训练样本收集:
31.(1.1a)从publicwww搜索引擎获得含有javascript、webassembly脚本的url列表。
32.(1.1b)爬取步骤(1.1)中url所挂载的javascript、webassembly脚本。
33.(1.1c)分析virusshare网站提供的恶意代码,并从中筛选出javascript、webassembly脚本。
34.(1.1d)从github的相关开源项目中获取javascript、webassembly样本。
35.(1.2)数据清洗与标注:
36.(1.2a)删除步骤(1.2)、(1.3)、(1.4)得到的样本集中重复的样本。
37.(1.2b)将步骤(2.1)中得到的样本集通过virustotal进行标注,选取其中的恶意挖矿脚本以及正常的安全脚本。
38.(1.3)样本矢量化处理:
39.(1.3a)利用编译工具以及反汇编工具将步骤(2.2)中得到的标定后的样本集转换为一种统一文本表示。
40.(1.3b)分析步骤(3.1)的文本表示,定位恶意挖矿样本中的挖矿语义部分的位置区段,并将所有样本截取到相同区段。
41.(1.3c)将步骤(3.2)中截取后的文本表示通过数值到灰度的映射填充程统一大小的图片。这些图片构成了模型的训练集。
42.(1.4)模型设计与训练:
43.(1.4a)在传统的卷积神经网络的基础上,加入模型轻量化技术,减少模型参数与体积。
44.(1.4b)用步骤(3.3)得到的训练集训练模型,并适当调整参数以提高预测性能。
45.(1.4c)训练曲线收敛后,保存模型参数。
46.本发明的部署预测部分包括:
47.1)url获取模块:对每日流量日志进行分析,提取并过滤其中的域名信息,进一步得到每个域名的子url路径。
48.2)系统输入:获取上述url页面所加载的javascript、webassembly脚本,并将脚本矢量化为灰度图。
49.3)深度模型推断:对上述的灰度图输入到模型训练部分训练好的模型中,得到检测结果。
50.4)黑/白名单数据库:将检测到挖矿脚本的域名加入到黑名单中,并在1)中得到url路径前,先通过黑、白名单进行快速判断。
51.上述部署检测的模块包括如下步骤:
52.(2)部署加密劫持攻击检测系统;
53.(2.1)获取待检测的url:
54.(2.1a)从网关获取流量日志;
55.(2.1b)将流量日志中的域名提取出来,利用黑白名单筛去已知含有或不含挖矿脚本的域名;
56.(2.1c)获取不受信的域名的一级、二级子目录。
57.(2.2)获取检测系统的输入:
58.(2.2a)根据步骤(2.1)得到url,获取页面所加载的脚本文件;
59.(2.2b)筛选出javascript文件、wasm模块以及html里的script标签元素;
60.(2.2c)将样本转换成一种统一表示,并矢量化成图片。
61.(2.3)深度模型推断检测:
62.(2.3a)将步骤(2.2c)得到的图片输入到训练好的模型中,并得到检测结果;
63.(2.3b)根据检测结果将脚本所属域名进行标记为挖矿域名或非挖矿域名;
64.(2.4)黑/白名单数据库:
65.(2.4a)将步骤(2.3b)得到的挖矿域名加入到黑名单数据库中,非挖矿域名加入到白名单数据库中;
66.(2.4b)对步骤(2.1b)中待检测的域名线用黑/白名单进行判断,如在黑/白名单中直接标定;如果不在,则从(2.1c)继续以后的步骤。
67.本发明与现有技术相比较,具有如下显而易见的实质性特点和显著优点:
68.1.本发明提出一个轻量型加密劫持攻击检测系统,以检测并抵御日益猖獗的加密劫持攻击。本发明采用了深度学习模型轻量化技术以及加入了程序语义的样本矢量化技术,能够对大量流量进行有效检测,并保证良好的异构型与抗欺骗性。
69.2.本发明能够同时对多种挖矿脚本进行检测,同时只占用少量的用户计算机资源,达成对加密劫持攻击防御的目的。
70.3.本发明针对现有检测系统的不足,使用深度学习技术对转为图像的挖矿程序进行分类检测。本发明的创新性在于使用恶意代码矢量化技术,将挖矿程序的语义特征加入图片中,实现更高的分类精度。同时保证良好的异构性,可同时对主流的两种语言(javascript、webassembly)编写的挖矿程序进行检测。本发明的实用性在于,可以部署到校园或企业网关,对每日流量进行监控检测。并将检出的挂载恶意挖矿脚本的域名加入到黑名单数据库中。本发明提出的检测系统在校园以及企业的网络防御中起到至关重要的作用,对加密劫持攻击的实时检测与防御有着积极意义。
71.以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以
充分地了解本发明的目的、特征和效果。
附图说明
72.图1是本发明的一个较佳实施例的模型训练流程示意图;
73.图2是本发明的一个较佳实施例的部署检测流程说明图。
具体实施方式
74.以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
75.在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
76.本发明提出一种浏览器挖矿检测系统,包括训练深度学习检测模块与将深度学习模块部署在系统中:所述训练深度学习模块包括收集恶意挖矿javascript和webassembly脚本:数据清洗,筛选出适合于训练的样本;将样本矢量化成灰度图;设计与训练用于识别挖矿脚本的深度学习神经网络;所述部署深度学习浏览器挖矿检测系统包括获取待检测的url;获取检测系统的输入;利用训练至收敛的深度模型进行推断;将推断为含有挖矿脚本的域名加入黑名单与白名单。
77.如图1所示,所述收集挖矿脚本数据集包括:从publicwww搜索引擎获得含有javascript、webassembly脚本的url列表;爬取步骤(1.1)中url所挂载的javascript、webassembly脚本;分析virusshare网站提供的恶意代码,并从中筛选出javascript、webassembly脚本;从github的相关开源项目中获取javascript、webassembly样本。
78.所述数据清洗与标注包括:删除训练数据集中重复的样本;将样本集通过virustotal进行标注,选取其中的恶意挖矿脚本以及正常的安全脚本。
79.所述样本矢量化处理包括:
80.步骤101:利用编译工具以及反汇编工具将标定后的样本集转换为一种统一文本表示;
81.步骤102:分析文本表示,定位恶意挖矿样本中的挖矿语义部分的位置区段,并将所有样本截取到相同区段;
82.步骤103:将步骤截取后的文本表示通过数值到灰度的映射填充程统一大小的图片。这些图片构成了模型的训练集。
83.所述模型设计与训练包括:在传统的卷积神经网络的基础上,加入模型轻量化技术,减少模型参数与体积;用训练集训练模型,并适当调整参数以提高预测性能;训练曲线收敛后,保存模型参数。
84.所述获取待测url包括:
85.步骤104:从网关获取流量日志;
86.步骤105:将流量日志中的域名提取出来,利用黑白名单筛去已知含有或不含挖矿脚本的域名;
87.步骤106:获取不受信的域名的一级、二级子目录。
88.所述获取检测系统的输入包括:根据待测的url,获取页面所加载的脚本文件;筛选出javascript文件、wasm模块以及html里的script标签元素;将样本转换成一种统一表示,并矢量化成图片。
89.本发明的一个较佳部署实施例,由url获取模块、系统输入模块、模型推断检测模块以及黑名单数据库构成。
90.如图2所示,系统以a大学校园网关的流量日志作为原始输入,本系统首先从a大学的流量日志中提取待检测域名集合(b)。之后将待测域名集(b)与数据库中的黑/白名单进行比对。如果在黑/白名单中,则直接标定为挖矿/非挖矿域名;进一步得到不在黑/白名单数据库的待测域名(b’)。获取待测域名(b’)下的一级、二级子目录url列表。通过爬虫获取url列表中所加载的脚本文件(c),筛选出(d)中javascript文件、webassembly模块形成待测脚本(c’)。
91.对待测脚本(c’)进行样本矢量化,形成大小统一的灰度图。进一步将灰度图输入到附图一中训练好的深度模型中进行推断,得到推断结果。根据推断结果对域名(b’)进行分类,对(b’)中的某一个具体域名(b
’‑
1),如果其挂载的脚本集合(c
’‑
1)中含有预测为挖矿的脚本,则将该域名(c
’‑
1)标定为挖矿域名,并加入到黑名单中;如果域名(b
’‑
1)所有脚本(c
’‑
1)均判定为正常脚本,则将该域名(b
’‑
1)加入到白名单中。
92.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

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

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

相关文献