【论文速读】| 用于安全漏洞防范的人工智能技术

news2024/9/22 11:36:11

图片

本次分享论文:Artificial Intelligence Techniques for Security Vulnerability Prevention

基本信息

原文作者:Steve Kommrusch

作者单位:Colorado State University, Department of Computer Science, Fort Collins, CO, 80525 USA

关键词:artificial intelligence, machine learning, security, vulnerabilities, software

原文链接:https://arxiv.org/pdf/1912.06796

开源代码:暂无

论文要点

论文简介:计算机安全问题已存在数十年之久,人工智能技术在这一领域的应用亦有着漫长的历史。以往,多数技术主要用于检测运行系统中的攻击,然而,近期在机器学习(诸如自然语言处理)方面所取得的进步,让在系统部署前处理软件和规范以检测漏洞变为现实。此文针对运用人工智能技术(涵盖机器学习)于产品引入前检测或修复安全漏洞的方式展开了综述。在所调查的论文里,提出了诸如使用自然语言处理分析需求文档以保障安全标准的完整性、开展神经模糊测试、生成漏洞检测等技术。我们把现有技术划分为三类:漏洞检测、漏洞修复以及规范分析。总体来讲,尽管人工智能技术在该领域已极具效用,但其应用范畴依旧有限,提供了一系列能够辅助但无法取代系统开发的工具,以降低漏洞风险。

研究目的:本文的研究目的是通过总结和分析最新的人工智能技术在安全漏洞检测与预防中的应用,找出最有前景的研究方向,以期在系统部署前更有效地检测和修复软件漏洞。

引言

近年来,机器学习技术的应用范畴不断延展,已能够在自然语言处理、自动测试和代码分析方面发挥关键作用。此外,传统的人工智能技术(诸如支持向量机、遗传算法和推理引擎)也可用于代码分析,以防在系统部署前引入漏洞。据 Cybersecurity Ventures 的报告,全球每年生成的代码量多达 1110 亿行。凭借在系统部署前借助自动化机制检测漏洞,产品团队能够将更多精力集中于功能开发和性能优化上。尽管机器学习和人工智能技术于安全漏洞检测领域已取得显著成果,但仍需更进一步的研究来拓展其应用范围,提升检测的精度与效率。

图片

漏洞检测

漏洞检测指的是通过对源代码或二进制代码加以分析,从而识别其中易受攻击的代码段的问题。表 1 呈现了运用人工智能技术进行漏洞检测的相关论文。其中有两篇论文重点研究了安卓应用,这凸显了机器学习应用在安全领域的一个主要原因。那些声誉取决于软件质量的公司也在提供平台,以供大量开发者贡献代码。自动处理所提交的应用程序的这种能力,极大地减轻了经过培训的专业人员进行质量保证的工作负担。

图片

漏洞修复

漏洞修复意味着在检测到漏洞之后,借助人工智能技术对代码中的漏洞进行自动修复。代码修复的目标在于通过学习示例,把易受攻击的代码转变为安全的代码。伴随这一领域的发展,数百万行的遗留代码能够得到清理,从而大幅增强安全性。即便只是早期的进展,也可能极具价值。例如,倘若发现了新类型的漏洞(如 Spectre),能够迅速生成示例以训练如何将易受攻击的代码变更为受保护的代码。创建一个能够自动将包含漏洞的代码转化为安全代码的系统,能够有效地修复大型软件库中的代码。

规范分析

自然语言处理的进步为研究人员创造了自动处理漏洞描述或产品规范以评估安全风险的契机。在 2017 年,CVE 每周记录了将近300个漏洞,这给系统管理员带来了沉重的负担,他们需要对关键漏洞进行评估、优先处理以及修补。Bozorgi 等人运用机器学习来消化 CVE 漏洞标签和描述,并生成一个单一的分数,用于总结漏洞的可利用性和严重性。该分数能够辅助系统管理员优先开展新漏洞的补丁工作。

论文结论

尽管人工智能应用于安全漏洞的领域相对较窄,然而我们在此次调查中所讨论的论文展现出了研究的多样性。其中一些最为有趣的成果包含在新智能手机应用程序中检测代码和规范里的漏洞的能力,这在消费者群体中属于一个重要的风险领域。通过学习适当的代码转换来自动修复易受攻击的代码的潜力,在发现新漏洞时极为有用。另外,分析英文规范以察觉安全风险并参照安全标准文档的能力也颇具前景。鉴于全球每年约生成 1110 亿行软件代码,能够在系统部署前得以应用的自动化安全技术,对于技术能够继续被消费者、公司和政府安全使用将至关重要。 

原作者:论文解读智能体

校对:小椰风

图片

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

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

相关文章

给数组/对象添加一个(key-value)对象

需要将一个value值前面加上key值,放进数组/对象中 this.$set(res.data[0],type,1) this.$set( target, key, value ) target:要更改的数据源(可以是对象或者数组) key:要更改的具体数据 value :重新赋的值。 结果:…

初识C++【命名空间】【输入输出】【缺省参数】【函数重载】

前言 C是一种通用的编程语言,被广泛用于开发各种应用程序,包括系统软件、游戏、手机应用和高性能计算等。它是C语言的扩展,添加了许多新特性和功能,并支持面向对象编程。C可以在不同的平台上编译和运行,具有高效性、可…

C++:C++入门基础|命名空间|输入输出

欢迎来到HarperLee的学习笔记! 博主主页传送门: HarperLee的博客主页! 想要一起进步的uu来后台哦! 一、什么是C? 在此之前,我们所学习的C语言是一种结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题&a…

【Java算法】二分查找 下

🔥个人主页: 中草药 🔥专栏:【算法工作坊】算法实战揭秘 一.山脉数组的峰顶索引 题目链接:852.山脉数组的峰顶 ​ 算法原理 这段代码实现了一个查找山峰数组中峰值索引的算法。山峰数组是一个先递增后递减的数组&…

14-55 剑和诗人29 - RoSA:一种新的 PEFT 方法

介绍 参数高效微调 (PEFT) 方法已成为 NLP 领域研究的热门领域。随着语言模型不断扩展到前所未有的规模,在下游任务中微调所有参数的成本变得非常高昂。PEFT 方法通过将微调限制在一小部分参数上来提供解决方案,从而以极低的计算成本在自然语言理解任务上…

QT入门看这一篇就够(详解含qt源码)

目录 一、Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt的优势 1.4 Qt版本 1.5 成功案例 二、创建Qt项目 2.1 使用向导创建 2.2 一个最简单的Qt应用程序 2.2.1 main函数中 2.2.2 类头文件 2.3 .pro文件 2.4 命名规范 2.5 QtCreator常用快捷键 三、Qt按钮小程序 …

【技术选型】MySQL、Oracle、Postgresql如何选择

【技术选型】MySQL、Oracle、Postgresql如何选择 开篇词:干货篇:MySQL:Oracle:PostgreSQL: 总结篇:我是杰叔叔,一名沪漂的码农,下期再会! 开篇词: 常见几种关…

Nuxt框架中内置组件详解及使用指南(四)

title: Nuxt框架中内置组件详解及使用指南(四) date: 2024/7/9 updated: 2024/7/9 author: cmdragon excerpt: 摘要:本文详细介绍了Nuxt 3框架中的两个内置组件:和的使用方法与示例。用于捕获并处理客户端错误,提供…

图解HTTP(5、与 HTTP 协作的 Web 服务器 6、HTTP 首部)

5、与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率。 用单台虚拟主机实现多个域名 在相同的 IP 地址下,由于虚拟主机可以寄存多个不同主机名和域名的 Web 网站,因此…

回溯算法-以学生就业管理系统为例

1.回溯算法介绍 1.来源 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。 用回溯算法解决问题的一般步骤: 1、 针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。 2 、确定易于搜…

[ios-h5]在ios系统浏览器中输入框得到焦点时页面自动放大

问题&#xff1a; 在ios系统浏览器中输入框得到焦点时页面自动放大。 解决&#xff1a; 添加meta标签。 <meta name"apple-mobile-web-app-capable" content"yes" /> <meta name"viewport" content"widthdevice-width, initial-…

循环练习题

思路&#xff1a; 代码&#xff1a; public static void main(String[] args) {double sum0;for (int i1;i<100;i){if (i%2!0){sum1.0/i;}else {sum-1.0/i;}}System.out.println(sum);} 结果为&#xff1a;

每日一练 - RSTP响应端口故障后的处理流程

01 真题题目 在如图所示的网络中&#xff0c; 所有的交换机运行 RSTP 协议&#xff0c; 假如 SWB 的 E 1 接口故障后&#xff0c; RSTP 的处理过程是&#xff1a;(多选) A.SWB 删除 MAC 地址表中以 E 1 为目的端口的端口表项。 B.重新计算生成树&#xff0c;选举 E2 为新的根…

ER模型理论和三范式

ER模型理论和三范式 各种关系多对一一对一一对多多对多 三范式理论函数依赖完全函数依赖部分函数依赖传递&#xff08;间接&#xff09;函数依赖 第一范式&#xff1a;属性&#xff08;表字段&#xff09;不可切割第二范式&#xff1a;不能存在 部分函数依赖(都存在完全函数依赖…

为什么3d模型在透视里面闪烁?---模大狮模型网

在展览3D模型设计中&#xff0c;透视效果是展示空间深度和立体感的重要手段。然而&#xff0c;有时候我们会面对3D模型在特定透视角度下出现闪烁或者失真的问题。本文将深入探讨这一现象的原因及解决方法&#xff0c;帮助设计师们更好地理解和处理这类挑战。 一、为什么3D模型在…

Maven在Windows中的配置方法

本文介绍在Windows电脑中&#xff0c;下载、配置Maven工具的详细方法。 Maven是一个广泛使用的项目管理工具&#xff0c;主要针对Java项目&#xff0c;但也可以用于其他类型的项目&#xff1b;其由Apache软件基金会维护&#xff0c;旨在简化和标准化项目构建过程&#xff0c;依…

Tomcat的安全配置

1、生产环境优化 2、部分漏洞修复 转载自风险评估&#xff1a;Tomcat的安全配置&#xff0c;Tomcat安全基线检查加固-CSDN博客

SpringBoot实战:轻松实现接口数据脱敏

文章目录 引言一、接口数据脱敏概述1.1 接口数据脱敏的定义1.2 接口数据脱敏的重要性1.3 接口数据脱敏的实现方式 二、开发环境三、实现接口返回数据脱敏3.1 添加依赖3.2 创建自定义注解3.3 定义脱敏枚举类3.4 创建自定义序列化类 四、测试4.1 编写测试代码4.2 测试 五、总结 引…

如何在 SwiftUI 中开发定制 MapKit 功能

文章目录 介绍地图样式imagery-map 地图交互地图控件总结 介绍 在上一篇文章中&#xff0c;我们探讨了 SwiftUI 中新的 MapKit API 的基础知识。现在&#xff0c;让我们深入 MapKit API 的定制点&#xff0c;以便根据我们的需求定制地图呈现。 地图样式 新的 MapKit API 引入…

晶体振荡器:频率的广度与应用的深度

晶体振荡器&#xff0c;以其无与伦比的频率稳定性和广泛的应用范围&#xff0c;成为现代电子工程的基石。从低至0.0320MHz的细腻频率到高达1075MHz以上的雄壮音符&#xff0c;晶体振荡器跨越了广阔频谱&#xff0c;为计时、通信、高级电子系统乃至宇宙探索提供了精准的时间基准…