0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

KiloGram是一种用于管理文件中的大型n-gram的新算法

倩倩 来源:互联网分析沙龙 2020-04-03 14:55 次阅读

最近,一组研究人员在KiloGram上发表了他们的论文,KiloGram是一种用于管理文件中的大型n-gram的新算法,可以改善机器学习对恶意软件的检测能力。新算法比以前的方法快60倍,并且可以处理n = 1024或更高的n-gram。n的大值具有可解释的恶意软件分析和签名生成的其他应用程序。

在KDD 2019网络安全学习和采矿研讨会上发表的论文中,来自马里兰大学和网络安全公司Endgame的研究人员描述了他们的算法,用于在大型文件数据集中查找最频繁的n-gram。以前的方法在增加n的大小时会在内存和运行时中遇到“指数成本”,而在分析具有数十万个文件的数据集时,它们的n值将小于8。相比之下,KiloGram算法能够从数百万个文件中的5TB数据中提取n-gram,而仅使用9GB的RAM,并且“运行时间不会随n的增加而增加”。这允许算法为较大的n值提取n-gram,以测试这些n-gram是否为机器学习算法提供了更好的准确性。

一个n-gram是n个项的唯一序列,并且该思想被用于许多机器学习任务中,尤其是自然语言处理(NLP)。在检测到恶意软件的情况下,n-gram是来自文件的字节序列,该文件将被分类为恶意软件或良性文件。恶意软件检测的早期工作表明,较大的n-gram(例如n = 15或20)对于训练检测系统是理想的,但是现代数据集的大小使得使用大于6的n值太昂贵。由于KiloGram算法可以处理那些较大的值,因此研究团队能够测试较大值更好的想法。

该团队使用可执行文件和Adobe PDF文档的多个数据集,训练了Elastic-Net正则化逻辑回归分类器来检测恶意软件;为了进行回归,输入特征是使用KiloGram算法提取的n元语法。与文献中的建议相反,研究人员发现“预测精度不会增加到n = 8以上”。较大的n-gram会产生精度降低的模型;但是,它们具有可解释性的优点。较小的n-gram产生“黑匣子”模型,而较大的n-gram特征集包含可能对分析人员有意义的字节序列。例如,它们可能代表代码片段或文本字符串。

研究人员认为,较大的n-gram在回归模型中使用时不那么精确,因为它们更特定于特定的恶意软件攻击。实际上,它们会导致过度拟合。但是,当在诸如Yara之类的签名模型中使用时,它们的优点是它们的假阳性率低。也就是说,尽管Yara模型可能会错误地将更多文件标记为良性文件,但如果它确实表明文件为恶意软件,则很少有错。这使得KiloGram算法可用于构建结合了机器学习模型和基于签名的模型的分层系统。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4437

    浏览量

    90550
  • 网络安全
    +关注

    关注

    9

    文章

    2916

    浏览量

    58612
  • 机器学习
    +关注

    关注

    66

    文章

    8061

    浏览量

    130439
收藏 人收藏

    评论

    相关推荐

    分布式运维管理平台助力大型电商系统稳定运行的案例分析

    一、引言 随着电子商务的快速发展,大型电商系统面临着前所未有的挑战。如何确保系统的稳定运行、提高用户体验、降低运维成本,成为电商企业亟待解决的问题。分布式运维管理平台作为一种新型的运维方式,正逐渐
    的头像 发表于 03-26 16:32 89次阅读

    基于一种用于鱼塘增氧管理的智能浮标设计

    电子发烧友网站提供《基于一种用于鱼塘增氧管理的智能浮标设计.pdf》资料免费下载
    发表于 10-19 11:02 0次下载
    基于<b class='flag-5'>一种</b><b class='flag-5'>用于</b>鱼塘增氧<b class='flag-5'>管理</b>的智能浮标设计

    请问IAR的sizeof是一种运算符吗?

    IAR的sizeof是一种运算符吗?是怎么实现的?
    发表于 10-08 06:44

    一种结构化道路环境的视觉导航系统详解

    根据结构化道路环境的特点提出了一种将边沿检测和道路环境知识相结合的机器视觉算法 , 并结合基于行为响应的路径规划方法和智能预瞄控制方法 , 实现了套基本的机器人视觉导航系统 . 在自主机器人实验
    发表于 09-25 07:23

    一种脉冲信号载波频率同步环及FPGA实现

    对脉冲信号载波频率的同步问题,提出一种快速高精度的数字锁频环路。该环路采用改进的相位差分频率估计算法进行快速载波频率粗估计,其信噪比阚值低于Kay法,在信噪比偏低时也能达到Cramer-Rao界
    发表于 09-20 08:28

    N32903的ADC模块以一种时钟频率初始化后,能切换成另外一种时钟频率吗?

    N32903的ADC模块以一种时钟频率初始化后,能切换成另外一种时钟频率吗? 最近有个应用:条码打印机。 在检测纸张的类型和尺寸的时候,希望ADC模块工作在500KHz左右;
    发表于 09-01 06:56

    一种用于户外电源电池管理系统的冗余设计

    一种用于户外电源电池管理系统的冗余设计
    的头像 发表于 08-24 13:37 386次阅读
    <b class='flag-5'>一种</b><b class='flag-5'>用于</b>户外电源电池<b class='flag-5'>管理</b>系统的冗余设计

    基于一种用于JumpStarter的抗离群的采样算法

    了长时间的初始化时间,以获得足够的培训数据。本文压缩感测技术引入了多元时间序列异常检测,以快速初始化。为了构建跳跃异常检测器,提出了一种名为Jumpstarter的方法。基于域特异性见解,设计了一种基于形状的聚类算法以及
    的头像 发表于 07-05 10:30 392次阅读
    基于<b class='flag-5'>一种</b><b class='flag-5'>用于</b>JumpStarter的抗离群的采样<b class='flag-5'>算法</b>

    N32903的ADC模块以一种时钟频率初始化后,能切换成另外一种时钟频率吗?

    N32903的ADC模块以一种时钟频率初始化后,能切换成另外一种时钟频率吗? 最近有个应用:条码打印机。 在检测纸张的类型和尺寸的时候,希望ADC模块工作在500KHz左右;
    发表于 06-13 08:50

    一种简单的报错设计,分享

    一种简单的报错设计,可在次基础上增加。 冲突 阻挡 重复 不在工位 不在岗 计时不准 范围外 强停 其它
    发表于 05-20 20:07

    是否有一种“简单”的方法来增加允许的“打开”文件的最大数量?

    一种“强烈的感觉”,这是由于最大打开文件的强制限制,与内存堆栈等 无关我知道 SPIFFS 打开文件的最大数量是硬编码为“5”这部分给出了问题,因为在 index.html serv
    发表于 05-15 07:21

    有没有一种方法可以在“附加板管理器 URL”中指定旧版本?

    总而言之, 我有个在 ESP8266 上使用 painlessMesh 的项目。 已经工作了好几个月了。 不幸的是,最新版本的 8266 内核导致 painlessMesh 编译错误。 有没有一种方法可以在“附加板管理器 UR
    发表于 05-08 08:25

    关于RTT支持的内存分配算法

    的融合。 最原始的SLAB算法是Jeff Bonwick为Solaris 操作系统而引入的一种高效内核内存分配算法。 RT-Thread的SLAB分配器实现主要是去掉了其中的对象构造及析构过程,只保留
    发表于 04-27 14:42

    关于RTT支持的内存分配算法

    的融合。 最原始的SLAB算法是Jeff Bonwick为Solaris 操作系统而引入的一种高效内核内存分配算法。 RT-Thread的SLAB分配器实现主要是去掉了其中的对象构造及析构过程,只保留
    发表于 04-27 14:40

    如何使用两不同的算法来驱动特定的bldc无传感器电机?

    我们倾向于使用两不同的算法来驱动特定的 bldc 无传感器电机。它们都基于过零检测,这是一种非常简单的方法。该算法通过模拟比较器检测 ZC,当然还有它们相应的中断以应用下
    发表于 04-17 08:55