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

传统的恶意域名检测方法在检测由域名生成算法(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.mzph.cn/bicheng/39479.shtml

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

相关文章

SpringCloud基础篇

文章目录 创建新模块拷贝yml配置文件修改配置文件的信息修改pom.xml文件启动入口拷贝相关文件接口文档配置配置启动项注册中心原理Nacos注册中心创建nacos数据库存储数据部署nacos在docker容器中 服务注册引入依赖配置Nacos地址启动 服务发现(调用)引入依赖配置nacos地址发现并…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《面向电网调峰的电动汽车聚合商多层级实时控制策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

通过docker overlay2 目录名查找占用磁盘空间最大的容器名和容器ID

有时候经常会有个别容器占用磁盘空间特别大, 这个时候就需要通过docker overlay2 目录名查找占用磁盘空间最大的容器名和容器ID: 1、 首先进入到 /var/lib/docker/overlay2 目录下,查看谁占用的较多 [rootPPS-97-8-ALI-HD1H overlay2]# cd /var/lib/doc…

Linux基础 - MariaDB 数据库管理系统

目录 零. 简介 一. 安装 二. 基本使用 1. 设置root密码 2. 创建库 3. 创建表 4.添加数据 5. 查看数据 三. 管理表单及数据 四. 数据库的备份及恢复 零. 简介 MariaDB 是一种流行的开源数据库管理系统,它是 MySQL 的一个分支。 MariaDB 保留了与 MySQL 的…

独一无二的设计模式——单例模式(python实现)

1. 引言 大家好,今天我们来聊聊设计模式中的“独一无二”——单例模式。想象一下,我们在开发一个复杂的软件系统,需要一个全局唯一的配置管理器,或者一个统一的日志记录器;如果每次使用这些功能都要创建新的实例&…

IDEA中Maven的配置

目录 1. 安装maven 2. 配置环境变量 3. IDEA中配置Maven 4. 配置仓库目录 1. 安装maven 官网下载地址:Maven – Download Apache Maven 下载后,将zip压缩包解压到某个目录即可。 2. 配置环境变量 变量名称随意,通常为M2_HOME&#xff…

MySQL/SqlServer 跨服务器 增删改查(CRUD) 的一种方法

前言:主要是利用SqlServer 的链接服务器功能 1.准备一台 SqlServer Server,服务如下图: 这台服务器专门用于 链接服务器 IP:10.x.x.3 和数据源服务器(10.x.x.5) 在一个局域网 1.1 版本 是 2017 2.在 10.…

吴晓波:企业出海的最佳时间窗口只有5-10年,中国企业如何把握出海机遇?

鼓励企业参与绿色“一带一路”建设,带动先进的环保技术、装备、产能走出去。 出海计划!马来西亚水环境项目国际考察暨2024中马水务合作论坛

初试总分409分,专业课143,西电821专业

非常感谢自己考研409分上岸西安电子科技大学,杭州研究院,专业课143分,跟的研梦,讲课以及答疑还是非常专业的。 821专业课课本总共有四本,都在官网考纲的参考书里写了,不过主要参考其中两本,一本…

网络爬虫基础知识

文章目录 网络爬虫基础知识爬虫的定义爬虫的工作流程常用技术和工具爬虫的应用1. 抓取天气信息2. 抓取新闻标题3. 抓取股票价格4. 抓取商品价格5. 抓取博客文章标题 网络爬虫基础知识 爬虫的定义 网络爬虫(Web Crawler 或 Spider)是一种自动化程序&…

Librechat快速部署指南

引言 Github的开源免费程序里,Librechat作为AI对话使用,现阶段可谓是最佳选择,配合聚合API >>进行使用,能够保证成本最低,自由度最高,私密性最强,功能丰富且界面美观,如此以来…

【黑龙江等保测评是如何评估的?】

黑龙江地区的等级评定,是根据国家有关的法律、法规、规范的规定,对该信息系统的安全性进行评价的。评估的具体程序和方法包括: 1.评价对象与范围的界定:一是要明确评价的目的与要求,二是要按照特定的要求来确定评价的…

MIX OTP——依赖项和总体项目

在本章中,我们将讨论如何管理 Mix 中的依赖项。 我们的 kv 应用程序已经完成,现在是时候实现处理我们在第一章中定义的请求的服务器了: 但是,我们不会向 kv 应用程序添加更多代码,而是将 TCP 服务器构建为另一个应用程…

CQ 社区版2.13.3 | 支持全局开启OTP登录、文本导入功能可独立控制……

又到一月一度的 CloudQuery 发版时间啦! 本次版本更新,对多个模块进行了功能的优化和完善,比如将文本导入与 insert 权限脱离使文本导入可单独控制;将工具权限与权限等级脱离,使其能独立授权和提权;操作模…

DLS平台:运价持续上涨,未来航运市场何去何从?

摘要: 近期,上海出口集装箱结算运价指数(SCFIS)欧洲航线连续10周上涨,涨幅高达151%。随着多家航运公司宣布涨价,市场供应紧张导致运价居高不下。本文将详细分析当前运价上涨的原因、航运市场的变化及未来运…

Linux:文件系统与日志分析

一、block与inode 1.1、概述 文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储512字节。 一般连续八个扇区组成一个"块”(block),一个块是4K大小,是文件存取的最小单位。 文件数据包括实际数据…

linux 环境报错:Peer reports incompatible or unsupported protocol version

出现问题的原因: curl 不兼容或不支持的协议版本。 解决方案: yum update -y nss curl libcurl如此继续之前的操作即可。

(九)绘制彩色三角形

前面的学习中并未涉及到颜色&#xff0c;现在打算写一个例子&#xff0c;在顶点着色器和片元着色器中加入颜色&#xff0c;绘制有颜色的三角形。 #include <glad/glad.h>//glad必须在glfw头文件之前包含 #include <GLFW/glfw3.h> #include <iostream>void …

我爱服务器——LVM实战学习

后来呀&#xff0c;天亮之前毕业后踏入服务器领域了。。。。。。 LVM&#xff08;Logical Volume Manager&#xff09;是一个高级的磁盘管理框架&#xff0c;它允许用户将多个物理硬盘组合成一个逻辑卷&#xff0c;从而提供更大的存储空间、更高的灵活性和更好的数据管理能力。…

Eclipse + GDB + J-Link 的单片机程序调试实践

Eclipse GDB J-Link 的调试实践 本文介绍如何创建Eclipse的调试配置&#xff0c;如何控制调试过程&#xff0c;如何查看修改各种变量。 对 Eclipse 的要求 所用 Eclipse 应当安装了 Eclipse Embedded CDT 插件。从 https://www.eclipse.org/downloads/packages/ 下载 Ecli…