首页 > 其他分享 >基于字符和词特征融合的恶意域名检测

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

时间:2024-07-02 16:30:15浏览次数:16  
标签:字符 特征 模型 融合 恶意 卷积 域名

传统的恶意域名检测方法在检测由域名生成算法(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旨在调整模型的注意力,使其更加关注那些难以正确分类的样本。
在这里插入图片描述
根据实验结果,将

标签:字符,特征,模型,融合,恶意,卷积,域名
From: https://blog.csdn.net/k__opp/article/details/140123265

相关文章

  • rust 字符串拼接
    提问rust字符串拼接方式回答format!("{}{}",s1,s2);fnmain(){lets1="Hello";lets2="World";//Usingformat!macroforconcatenationletresult=format!("{}{}",s1,s2);println!("......
  • Windows系统下实现阿里云域名动态ip更新
    1.代码部分通过ip=load(urlopen('https://api.ipify.org/?format=json'))['ip']获得公网ip通过阿里云提供的api获得域名对应的ip两者不一致就进行替换importjsonfromurllib.requestimporturlopenfromjsonimportloadfromaliyunsdkalidns.request.v20150109.......
  • 使用Date获取一个年月日时分秒微秒的时间字符串
    ★目标使用Date获取一个年月日时分秒微秒的时间字符串例如202407021100000100★代码实现constcurrentDate=newDate();constyear=currentDate.getFullYear();constmonth=String(currentDate.getMonth()+1).padStart(2,'0');//月份从0开始,需要加1const......
  • 代码随想录算法训练营第九天|232.用栈实现队列、225.用队列实现栈、 20.有效的括号、1
    文章目录232.用栈实现队列思路--直接模拟225.用队列实现栈解法一、两个队列模拟解法二、一个队列模拟20.有效的括号栈模拟1047.删除字符串中的所有相邻重复项解法一、栈解法二、双指针232.用栈实现队列题目链接:232.用栈实现队列-力扣(LeetCode)题目描述:请你仅......
  • 【LeetCode】反转字符串中的单词
    目录一、题目二、解法完整代码一、题目给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能......
  • 代码随想录算法训练营Day9 | 字符串 151.翻转字符串单词 28.实现strStr() KMP算法介绍
    python中常用:        s[::-1]: 反转整个字符        s.strip():删除开头或结尾处的空白字符     s.split():字符拆分成单词 →list    “”.join(s):list→字符串   (持续更新…) 151.翻转字符串里的单词 题目: Leetcod......
  • 【算法探秘】无重复字符的最长子串:解锁字符串中的独特风景
    【算法探秘】无重复字符的最长子串:解锁字符串中的独特风景一、引言:在字符的海洋中航行二、技术概述:独步字符森林技术定义核心特性代码示例:初尝甜蜜果实三、技术细节:拨开迷雾,洞悉本质原理解析难点剖析四、实战应用:字节跳跃,解密信息应用场景案例展示五、优化与改进:精益......
  • 网站域名有什么作用?
    在数字化时代,网站域名不仅是互联网上一个地址的简单标识,它还承载着品牌识别、用户信任、搜索引擎优化(SEO)和网络安全等多方面的功能。域名是互联网身份的象征,对于任何希望在线建立存在感的个人或企业来说都至关重要。本文将深入探讨网站域名的作用及其重要性。品牌识别域......
  • Layer子域名挖掘机
    Layer子域名挖掘机Layer子域名挖掘机是一款功能强大的域名查询工具,主要用于提供网站子域名的查询服务。域名与子域名域名域名,又称网域,是互联网上用于标识特定计算机或计算机组的一串由点分隔的名称。这些名称不仅为数据传输提供了定位标识,有时也隐含了地理位置的信息。由于IP......
  • Day8 翻转字符串里面的单词,右旋字符串
    翻转字符串里面的单词我觉得这道题是一道可以很好的帮助我们的理解再次关于快慢双指针,希望我们能够经过我们多次的锻炼来提高自己的水平!题目在知道题里面,我们要做的不仅仅是单纯的翻转字符我们还需要将这个空格整掉,但是在每一个单词与单词之间我们还要有一个空格,所以我们......