基于字符和词特征融合的恶意域名检测

news2024/7/6 20:09:43

传统的恶意域名检测方法在检测由域名生成算法(DGA)随机生成的恶意域名方面性能不佳,尤其是对于那些由随机单词组成的域名。文章提出了一种新的检测算法,通过融合字符和词特征来提高对恶意域名的检测能力,特别是对于更具挑战性的恶意域名家族。

CWNet算法:该算法利用并行卷积神经网络(CNN)提取域名中的字符和词特征,然后将这些特征进行拼接融合,并通过Softmax函数实现合法域名与恶意域名的分类检测。

在这里插入图片描述

将域名字符串作为cwnet的输入,利用卷积神经网络CNN分别提取字符级特征和词级特征;然后,将两种特征进行融合,最后,利用Softmax实现待测域名的分类。

字符级特征提取

字符嵌入

根据数据集中最长域名的字符个数(本例中为67个字符),设置字符级向量表示的长度L1为67。对于长度小于67的域名字符串,使用零向量进行填充。
域名字符串向量化,将数据集中每条域名的每个字符Di转换为一个L1长度的向量{d1, …, dL1},然后将所有字符的向量串联起来,得到整条域名的向量化表示。在这里插入图片描述

字符特征提取

设定卷积核的大小,使用卷积核在输入数据上进行卷积操作。通过卷积操作,可以提取多个不同大小的卷积核对应的特征图。这些特征图可以被拼接起来,以捕获不同尺度的特征。在提取了特征图之后,使用最大池化(Max Pooling)操作来降低特征的维数。经过卷积和池化操作后,网络输出一组降维后的特征,这些特征可以被用于后续的分类或其他任务。

在这里插入图片描述

词级特征提取

单独的字符级特征不足以区分所有类型的域名,融合字符和词特征进行合法域名与恶意域名的分类。

简单词嵌入

在这里插入图片描述

字符级词嵌入

在这里插入图片描述

词特征提取

在这里插入图片描述

特征融合

将字符级和词级得到的特征图进行拼接分别接入256个 结 点 的全连接层。最后,使用concat将字符和词的特征进行融合,作为之后全连接层的输入。

在这里插入图片描述

全连接层

在这里,融合后的特征向量被送入三个连续的全连接层。每一层的节点数依次减少,分别为256、128和64。这种设计有助于逐步减少数据的维度,同时学习更高层次的特征表示。在全连接层之后,使用Softmax函数作为激活函数来处理最终的输出层。Softmax函数可以将一个向量或一组实数输入转换成概率分布,即输出每个类别的概率预测值。为每个输入样本输出两个概率值,分别对应于合法域名和恶意域名。这些概率值表示模型预测样本属于每个类别的置信度。
在这里插入图片描述

Focal Loss引入

为了减少简单样本对损失函数的影响,更加关注难分类的样本,引入了Focal Loss作为损失函数。Focal Loss旨在调整模型的注意力,使其更加关注那些难以正确分类的样本。
在这里插入图片描述
根据实验结果,将 𝛼,β 分别设置为0.5和2可以得到最佳效果。

实验设计与结果分析

在这里插入图片描述
在这里插入图片描述
验证本文提出的模型(CWNet)的有效性,与其他5种不同的深度学习结构模型进行比较。
准确率(Accuracy):模型正确预测的样本数占总样本数的比例。
召回率(Recall):模型正确识别的正样本数占所有实际正样本数的比例。
精确率(Precision):模型正确预测为正的样本数占模型预测为正的样本数的比例。
F1值(F1-Score):精确率和召回率的调和平均值,是评价模型性能的一个综合指标。
误报率(False Positive Rate):错误地将负样本预测为正样本的比例。

在这里插入图片描述
研究者构建了10个黑名单数据集,这些数据集包括7个由随机字符组成的DGA家族(如cryptolocker、dyre、ramnit、shuibot、necro、qadars、virt)以及3个由随机单词组成的较难检测的DGA家族(如ngioweb、suppoobox、matsnu)。CWNet模型在所有10个黑名单数据集中均展现出最高的准确率。特别地,在"dyre"家族的检测中达到了100%的准确率。
在这里插入图片描述

总结

CWNet模型是基于字符级和词级特征融合的检测模型,这种融合方法能够更全面地提取域名中的特征信息。模型通过提取域名中的字符特征和词级特征,并进行特征融合,以捕获域名字符串中的深层信息。与现有模型相比,CWNet模型对域名字符串所提供的信息利用度更高,这表明其在特征提取和利用方面更为有效。

通过在开源数据集上进行测试,实验结果验证了CWNet模型的有效性。模型表明,利用字符和词融合特征可以显著提高对DGA(域名生成算法)域名的检测性能,尤其是对那些由随机单词组成的DGA域名。尽管CWNet模型在性能上取得了良好的结果,但模型由于采用了并行卷积神经网络,参数较多,导致应用难度较大。

设计更加轻量化的恶意域名检测模型,以降低模型的复杂性和提高实用性。

[1]赵宏,申宋彦,韩力毅,等.基于字符和词特征融合的恶意域名检测[J].计算机工程与设计,2024,45(05):1549-1556.DOI:10.16208/j.issn1000-7024.2024.05.035.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1891124.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RT摩拳擦掌】如何构建RT AVB switchendpoint平台

【RT摩拳擦掌】如何构建RT AVB switch&endpoint平台 一,文档简介二,平台构建2.1 软硬件情况2.2 配置RT1170 AVB端点2.2.1 1块MIMXRT1170开发板做talker配置2.2.2 2块MIMXRT1170开发板做listener配置 2.3 AVB Switch 配置2.3.1 MOTU AVB Switch2.3.2 …

【鸿蒙学习笔记】@Prop装饰器:父子单向同步

官方文档:Prop装饰器:父子单向同步 [Q&A] Prop装饰器作用 Prop装饰的变量可以和父组件建立单向的同步关系。Prop装饰的变量是可变的,但是变化不会同步回其父组件。 [Q&A] Prop装饰器特点 1・Prop装饰器不能在Entry装饰的…

关于ant design vue 使用Modal无法关闭弹窗的解决思路

文章目录 1: 出现问题的版本2.出现问题(1)ant design 的问题(2)poina的提示报错 3.正确版本总结 1: 出现问题的版本 "ant-design-vue": "^3.2.20", "pinia": "^2.1.7", "vue"…

Mybatis Plus 自动填充注解 @TableField(fill = FieldFill.INSERT_UPDATE)

第一步:在需要自动填充的位置加上注解 通过在创建时间和修改时间上添加 fill 填充字段 进行自动填充 第二步:要想实现自动填充还需要实现MetaObjectHandler接口,在这里实现自动填充的逻辑 Component public class MyMetaObjectHandler …

python sklearn机械学习-数据预处理

🌈所属专栏:【机械学习】✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您…

filex文件系统功能预研

filex资源 filex的源码路径有两个: 一个是azure-rtos下的filex:azure-rtos/filex (github.com)一个是eclipse-threadx下的filex:eclipse-threadx/filex filex的文档地址:rtos-docs/rtos-docs/filex 第三方文档:Thre…

搭建知识付费系统的技术框架与实现路径

知识付费系统已经成为内容创作者和企业变现的重要工具。要成功搭建一个高效、稳定、用户体验良好的知识付费系统,明确技术框架和实现路径至关重要。本文将详细解析搭建知识付费系统的技术框架,并提供具体的实现路径和相关技术代码示例。 一、知识付费系…

大陆ARS548使用记录

一、Windows连接上位机 雷达是在深圳路达买的,商家给的资料中首先让配置网口,但我在使用过程中一直出现无法连接上位机的情况。接下来说说我的见解和理解。 1.1遇到的问题 按要求配置好端口后上位机无连接不到雷达,但wireshark可以正常抓到数…

基于改进YOLOv5s的跌倒行为检测 | 引入SKAttention注意机制 + 引入空间金字塔池化结构SPPFCSPC + 结合ASFF自适应空间融合

前言:Hello大家好,我是小哥谈。为了实现电厂人员跌倒行为的实时检测,防止跌倒昏迷而无法及时发现并救援的事件发生,针对跌倒行为检测实时性以及特征提取能力不足的问题,提出了一种改进YOLOv5s的跌倒行为检测算法网络&a…

公网IP变更自动微信通知与远程执行命令的C++开源软件

基本功能 智能公网IP变更监测与微信通知 一旦检测到公网IP地址发生变更,系统将自动通过预设的QQ邮箱(该邮箱与微信绑定,实现微信通知)发送新IP地址通知。同时,软件会即时更新本地配置文件中的IP地址及变更时间&#…

MySQL Server使用

MySQL Server MySQL Server基本操作查看数据库服务命令行连接(这些操作都可以在workbench中进行) MySQL Server基本操作 MySQL基础:安装卸载与配置 查看数据库服务 电脑–管理–管理和应用程序–服务–MySQL80 命令行连接(这…

Linux线程:编织并发的梦幻世界

目录 🚩引言 🚩听故事,引概念 🚩生产者消费者模型 🚀再次理解生产消费模型 🚀挖掘特点 🚩条件变量 🚀条件变量常用接口 🚀条件变量的原理 🚩引言 上一篇…

HQChart报价列表高级应用教程7-走势列数据对接

HQChart报价列表高级应用教程7-走势列数据对接 走势列小程序效果图PC效果图HQChart代码地址走势列类型配置走势列数据格式示例走势列 单独使用一列显示每个股票的走势图 小程序效果图 PC效果图 HQChart代码地址 地址:github.com/jones2000/HQChart

医院挂号系统:基于JSP和MySQL的现代化医疗预约平台

开头语:您好,我是专注于医疗系统开发的IT学长。如果您对医院挂号系统感兴趣,欢迎联系我。 开发语言:Java 数据库:MySQL 技术:JSP技术,B/S架构 工具:Eclipse,MyEclips…

大模型对汽车行业意味着什么?_汽车企业大模型

引 言 大模型是一种利用海量数据进行训练的深度神经网络模型,其特点是拥有庞大的参数规模和复杂的计算结构。通过在大规模数据集上进行训练,大模型能够学习到丰富的模式和特征,从而具备强大的泛化能力,可以对未知数据做出准确的预…

10 - matlab m_map地学绘图工具基础函数 - 绘制多边形区域、流线图、散点图和添加注释的有关函数

10 - matlab m_map地学绘图工具基础函数 - 绘制多边形区域、流线图、散点图和添加注释的有关函数 0. 引言1. 关于m_patch2. 关于m_streamline3. 关于m_scatter4. 关于m_annotation5. 结语 0. 引言 本篇介绍下m_map中绘制多边形区域函数(m_patch)、绘制流…

Landsat数据从Collection1更改为Collection2

目录 问题解决 问题 需要注意!您使用的是废弃的陆地卫星数据集。为确保功能持续,请在2024年7月1日前更新。 在使用一些以前的代码时会遇到报错,因为代码里面用的是老的数据集 解决 对于地表反射率SR,需要在name中,将C01换为C02&…

Mysql-基础-DDL操作

1、数据库操作 查询 查询所有数据库 show databases; 创建 创建数据库 create database [if not exists] 数据库名 使用及查询 use 数据库名 select database() 查询当前所处数据库 删除 drop database [if not exists] 数据库名 2、表操作 查询当前库中的所…

SpringBoot源码阅读3-启动原理

SpringBootApplication public class DistApplication {public static void main(String[] args) {// 启动入口SpringApplication.run()SpringApplication.run(DistApplication.class, args);} }1、服务构建 这里"服务"指的是SpringApplication对象,服务…

安防视频监控/视频汇聚EasyCVR平台国标GB28181级联上级平台,视频无法播放是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可提供7*24小时实时高清视频监控、云端录像、云存储、录像检索与回看、智能告警…