使用深度神经网络进行漏洞挖掘的方法调研

您所在的位置:网站首页 漏洞的关键特征 使用深度神经网络进行漏洞挖掘的方法调研

使用深度神经网络进行漏洞挖掘的方法调研

2023-09-06 12:07| 来源: 网络整理| 查看: 265

使用深度神经网络进行漏洞挖掘的方法调研 传统的漏洞挖掘方法 静态方法 基于规则/模板的 代码相似性检测 符号执行

对源代码分析,高假阳性

动态方法 模糊测试 污点分析

代码覆盖率低

混合方法

结合静态、动态方法,会继承上述的问题,并且实践上难以应用

介绍

机器学习方法的优点

人类智慧(经验)起到重要指导作用(基于规则、基于提取的特征的)

困难:

难以将安全专家对漏洞的理解 转换为 可被检测系统学习的特征向量 系统从特征集中学到的东西也可能受到各种因素的影响 例如,模型的表现力、数据过度拟合、数据中的噪声等

一些概念:

缺口(GAP):机器学习 要 像人类一样 学习和理解 漏洞代码的语义 (如何将漏洞代码表示为机器可学习的信息)

semantic gap: 语义缺口、语义空白

传统机器学习方法依赖手工制作的特征

深度学习、RNN可以自动通过学习揭示代码语义的复杂模式和软件代码的高级表示

安全从业者人工审查漏洞考虑的因素

漏洞语义差距 对软件漏洞一种不同的表达

定义:缺陷的实例,由软件的设计、开发或配置中的错误引起,从而可以利用它来违反某些显式或隐式的安全策略

安全相关的 bug ==》 被攻击者利用 ==》 导致安全失败或者违反安全策略

人类检查和检测系统的语义鸿沟

对代码语义的高级理解需要:

足够的经验 编程知识 对编程语言本身的理解 理解代码的语义和语法 对代码库有深入认识(一个例子是心脏滴血漏洞中,需要对n2s函数有了解 安全编码的实践 自动检测系统

依赖特征集,来自于:

人工提取的(传统机器学习算法 自动提取的(深度学习

检测系统无法像从业者那样充分理解易受攻击代码模式的潜在语义。 因此,知识渊博、经验丰富的从业者与基于ML的检测系



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3