前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在网络安全设备部署深度学习模型的思路

在网络安全设备部署深度学习模型的思路

作者头像
绿盟科技研究通讯
发布于 2024-05-28 12:32:46
发布于 2024-05-28 12:32:46
2920
举报
一、概述

回顾网络安全产业的发展历程,随着网络空间攻击面不断扩大,恶意攻击者持续规模化、组织化,攻击技术的自动化、智能化、武器化,多种因素的作用下,使得传统堆砌基于规则等技术的防护设备逐渐失效。面对日趋白热化、持续化的网络攻防对抗环境,技术的演进直接关系到战略实施的有效性。从技术演进的角度,攻防能力的较量已经逐渐演变为攻防参与者的军备竞赛。在有限的信息、资源下,充分覆盖安全威胁,有效降低企业、组织乃至国家的系统性安全风险,成为全面数字时代网络安全的关键目标。

人工智能安全(AISec)[1]的技术融合给行业带来了新的期盼。无论是基于AI的安全应用还是AI自身安全,都已成为学术界和工业界的热点话题。AI技术在诸多单点安全技术和指定场景中,如恶意软件分类、恶意流量识别、入侵检测等,已取得不错的应用效果。由于网络安全场景的复杂多样,以及网络安全攻防对抗的愈演愈烈,网络安全应用识别目标会不断迭代、优化、升级、甚至发生改变,检测目标的有效特征也会随之发生变化。此类概念漂移问题可能会使得之前训练好的模型准确率等性能逐渐下降。

ChatGPT在网络安全领域的影响还是超过以往的人工智能技术,被诸多网络安全公司所关注。大模型被认为在很多场景中更加有效,其通常要求网络模型使用更大数据集、更多的模型参数。目前,部分网络安全设备需要处理分析大量数据流,进行数据包检查,完成威胁检测等功能。如果这些设备不是在云端,需要部署在本地,这就对人工智能模型的运行性能提出了较高的要求,所以模型在特定物理资源的部署问题也是应用到网络安全设备的难点之一。

本文将从上述两个方面进行探讨,给出深度学习模型在资源受限的网络安全设备部署的见解,希望可以带来一些思考。

二、实践案例

在网络安全设备部署深度学习模型需要通过真实场景的数据进行实验测试,一方面需要保证在真实场景数据的检测准确率,另一方面需要保证部署AI模型的运行性能。本节将介绍几个业内在网络安全设备部署深度学习模型的实践案例。

2.1

概念漂移

概念漂移是基于人工智能的安全应用程序所面临的挑战之一,通常这些应用程序建立在训练和部署分布相同的封闭世界假设之上,但是新补丁、新设备和新协议都有可能改变正常模式,进而可能导致大量的假阳性和假阴性。例如机器学习应用于网络安全流量分析的各种任务,其中,特征提取、模型选择、参数调优等众多因素决定着模型的性能。面对不同场景的网络流量威胁检测任务或新的任务,除了通过研究人员更新规则、指纹、模型的方案,也可以利用模型自动化进行更新等方案来应对。此前发布的公众号文章《OWAD:应对正常数据漂移的通用框架》[3]介绍了OWAD以无监督方式检测漂移,在标记开销较小的情况下,能够提供更好的正常数据漂移自适应性能,该方案在三个代表性安全应用数据集和实际环境部署后,得出OWAD[4]具有适用性。在该领域可能的解决思路还包括对模型的结构进行调整以适应概念漂移,比如加深层、加宽层、根据数据分布变化复合新旧模型等。

2.2

深度神经网络模型

深度神经网络模型在计算机视觉识别、自然语言处理等领域取得了巨大的成功。为了解决深度学习模型部署在有限资源设备上的问题,学术界和工业界相继出现了各种模型压缩和加速技术。其中,知识蒸馏是一种典型的方法,它能从一个大的教师模型中学习到一个小的学生模型。清华大学提出Metis[5]方案用于实现、准确的网络包识别和处理,其架构如图1所示。该方案突破了传统正则匹配表达式为许多网络检测任务提供一次性解决方案的瓶颈。正则匹配依赖网络安全领域专家的知识,无法根据网络安全数据进行学习更新。相关研究人员利用正则匹配的专业安全知识、神经网络的学习能力、知识蒸馏技术在确保准确性和吞吐量的情况下完成网络流量分析。首先,该方案从网络数据包中提取字节作为输入特征,基于正则匹配表达式构建有限状态自动机(DFAs),利用DFAs训练字节级的循环神经网络(BRNNs)。在没有训练数据的情况下,BRNNs能保留正则匹配表达式的专家知识,可以在冷启动(缺乏数据的情况)下取得一定的检测效果。后续收集足够标记数据后,可以不断训练提高BRNNs的检测性能。为了可以在资源受限的网络安全设备上部署,研究人员通过知识蒸馏技术,将BRNNs转化为pooling soft random forests(PSRFs)模型,这样将BRNNs的能力转移到PSRFs。后者集成了前者近似的分类能力,而且后者可以轻松部署在网络设备上进行流量处理。

图1 Metis架构图

2.3

各类Web应用

各类Web应用是黑客攻击的重要目标,攻击者可以利用SQL注入、XSS攻击等对数据进行窃取或内容篡改。为了在Web防护产品中构建高性能、高可用的AI安全分析引擎,绿盟科技联合英特尔基于TADK打造的针对Web攻击的AI检测方案[2],可以有效拟合SQL注入、XSS攻击等数据。方案对于Web应用中常见的字符串信息生成字典并进行高效的分词,通过流特征提取库得到数据中的元数据和统计信息,包括数据包特征、协议特征等,基于URLNet模型[6]进行攻击分类。为了进行验证,绿盟科技的安全专家针对训练和测试数据进行了分析和打标签,构造出质量较高的数据集,保障了测试的可靠性。相关数据包括了多种类型的SQL命令注入方式及XSS攻击方式,以及覆盖多种攻击类型变种,例如训练集中SQL注入攻击数据10000条,XSS 攻击数据10000条,其他类型数据(正常流量数据和命令注入、路径穿越等其他类型的Web攻击数据)18000条。在测试集的实验结果中SQL注入攻击检测准确率达到99.05%,XSS攻击检测准确率达到99.6%。从实验结果可以看出模型在测试数据集中仍可以达到较高的检测准确率,对于正常流量的误报率较低。此外,由于采用了相关的深度学习加速技术,该检测模型的时间开销较小。英特尔的OpenVINO™工具套件可以对于模型推理的性能加速,大幅提高攻击的判别推理速度。针对Web攻击的AI高性能检测方案通过不断提升在生产环境中检测准确率和性能方面的表现推动Web攻击防御迈向自动化、智能化。未来不仅需要保证AI模型的检测效果,还需要进一步利用相关加速技术,降低AI模型的耗时,才能有效的加速融入AI能力的网络安全领域防护解决方案落地。

三、结束语

网络安全领域部分设备面临资源受限的问题。为了有效地在网络安全领域的生产中部署人工智能的方案,以完成威胁检测等功能,本文介绍了相关的技术,可以看到学术界和工业界均有相关方案,但是还是相对较少。绿盟科技始终把人工智能技术作为基础能力发展,持续思考如何让人工智能技术更好地赋能网络安全。未来协同行业的研究人员从更加实用的角度来推动人工智能方案在网络安全领域的应用。

参考文献

[1]《AISecOps 智能安全运营技术白皮书》, http://blog.nsfocus.net/wp-content/uploads/2020/12/AISecOps_White_Paper_NSFOCUS_20201218.pdf

[2] https://mp.weixin.qq.com/s/PaJgND3u_eI0ysotxE5xtA

[3] https://mp.weixin.qq.com/s/aJZX2g_zZagh-0QiTkdzKA

[4] Han D, Wang Z, Chen W, et al. Anomaly Detection in the Open World: Normality Shift Detection, Explanation, and Adaptation[C]//30th Annual Network and Distributed System Security Symposium (NDSS). 2023.

[5] Zhang Z, Huang Y, Duan G, et al. Metis: Understanding and Enhancing In-Network Regular Expressions[J]. Advances in Neural Information Processing Systems, 2024, 36.

[6]URLNet:是基于卷积神经网络 (Convolutional Neural Networks,CNN) 的一种 Web 防护模型,用于检测恶意 URL

内容编辑:创新研究院 王星凯 责任编辑:创新研究院 舒展

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 绿盟科技研究通讯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
操作系统之存储器管理
(2)把程序计数器中存放的逻辑地址中的页号部分与控制寄存器中的页表长度比较,检查地址越界
_咯噔_
2022/03/22
1K0
操作系统第六篇【存储器管理】
存储器的基础知识 首先,一般的存储器我们就会认为它包含着三部分: 寄存器 速度最快,但是造价高 主存储器 速度次之,被通俗称为内存 外存 速度最慢,用于存储文件数据,因为上边两种一旦断电,数据就会丢失。这个用来做持久化存储的。 因此,我们的存储器往往是使用三层结构的。 程序的装入和链接 在操作系统的角度而言,我们面对存储器就是面对程序的装入和连接 一般地,用户程序向要在系统上运行,就要经历下面几个步骤: 编译:对用户源程序进行遍历,形成若干个目标模块 链接:将目标模块以及他们所需要的库函数链接在一起,形成完
Java3y
2018/06/11
1.5K0
存储器及其管理方式
“计算机存储器包括主存和辅存,本文中存储器管理的对象主要是主存,也称内存。它的主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护。”
搬砖俱乐部
2019/07/08
1.7K0
存储器及其管理方式
Linux虚拟内存和缺页中断
为了防止不同进程同一时刻在物理内存中运行而对物理内存的争夺和践踏,采用了虚拟内存。
海盗船长
2020/08/28
6.3K0
操作系统学习笔记-虚拟内存
那么我们由此可以思考:如果保有上述这两个特点,在程序执行中,不需要进程的所有部分(页或段)都被加载到内存中,如果内存中保存有待取的下一条指令的所在块(页或段)以及待访问的下一个数据单元所在的块,那么进程可以持续运行下去。
花猪
2022/02/16
1.2K0
操作系统学习笔记-虚拟内存
操作系统(五)虚拟存储器管理
一次性和驻留性严重地降低内存的利用率,显著地减少了系统吞吐量。 研究表明,程序在执行过程中呈现局部性原理。
看、未来
2020/08/25
2K0
操作系统内存管理,你能回答这8个问题吗?
大家早上好,我是程序喵!今天为大家总结整理了关于操作系统内存管理的知识点,更文不易,请各位兄弟别忘分享或者点个在看,多谢
GorgonMeducer 傻孩子
2020/12/22
1.2K0
操作系统内存管理,你能回答这8个问题吗?
漫谈虚拟内存
如上图,程序1、程序2、程序3装入到内存,而程序2运行完成被换出,内存空闲出20k,然后进来程序4,大小为25K,此时,只有两处空闲块,10K和20K,没有一处是符合条件的,应该怎么办?一个明显的办法就是将两块空闲区域进行合并,形成一个大小为30K的空闲块满足程序4。
木可大大
2018/04/03
5.2K6
漫谈虚拟内存
Linux 内存管理
      程序到运行主要经过程序(外存)编译,链接,装入(内存)。《程序如何运行:编译、链接、装》:
黄规速
2022/06/15
8K0
Linux 内存管理
深入剖析虚拟内存工作原理
作者:allanpan,腾讯 IEG 后台开发工程师 导言 虚拟内存是当今计算机系统中最重要的抽象概念之一,它的提出是为了更加有效地管理内存并且降低内存出错的概率。虚拟内存影响着计算机的方方面面,包括硬件设计、文件系统、共享对象和进程/线程调度等等,每一个致力于编写高效且出错概率低的程序的程序员都应该深入学习虚拟内存。 本文全面而深入地剖析了虚拟内存的工作原理,帮助读者快速而深刻地理解这个重要的概念。 计算机存储器 存储器是计算机的核心部件之一,在完全理想的状态下,存储器应该要同时具备以下三种特性:
腾讯技术工程官方号
2021/05/08
3.3K0
图文详解: 操作系统之内存管理 ( 内存模型,虚拟内存,MMU, TLB,页面置换算法,分段等)
每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页 (Page, 4KB)。
一个会写诗的程序员
2021/12/16
2.2K0
图文详解: 操作系统之内存管理 ( 内存模型,虚拟内存,MMU, TLB,页面置换算法,分段等)
浅谈计算机中的存储模型(二)虚拟存储器
现代系统都是多任务系统,而我们的进程是在内存中运行的,内存是有限的,我们如何保证可以安全而又高效的在有限的内存中运行多个程序呢?于是系统给每个进程抽象出一个地址空间。
老九君
2018/08/08
6850
浅谈计算机中的存储模型(二)虚拟存储器
操作系统 内存管理 虚拟存储技术与虚拟页式存储管理方案的实现
基本思想:利用大容量的外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间,简称虚存。
Meng小羽
2019/12/23
2.4K0
[翻译]虚拟内存介绍
计算机是用来执行简单任务的复杂机器:比如 上网、文本编辑、网页服务、视频游戏……,还可以对数据进行操作,图片 音乐 文本 数据库……
xindoo
2021/01/22
1.7K0
[翻译]虚拟内存介绍
【操作系统】内存管理概述
常见的内存分配函数有malloc,mmap等,但大家有没有想过,这些函数在内核中是怎么实现的?换句话说,Linux内核的内存管理是怎么实现的?
嵌入式与Linux那些事
2024/05/11
2030
【操作系统】内存管理概述
我和面试官之间关于操作系统的一场对弈!写了很久,希望对你有帮助!
大家好,我是 Guide哥!很多读者抱怨计算操作系统的知识点比较繁杂,自己也没有多少耐心去看,但是面试的时候又经常会遇到。所以,我带着我整理好的操作系统的常见问题来啦!这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如进程管理、内存管理、虚拟内存等等。
Guide哥
2020/05/07
1.2K0
我和面试官之间关于操作系统的一场对弈!写了很久,希望对你有帮助!
《现代操作系统》——内存管理
内存管理是操作系统中经典的话题。小型嵌入式系统一次只需要执行一个任务,对内存管理没有要求。现代的操作系统通常要同时执行多个进程,多个进程所占用的内存之和通常超出物理内存的容量大小。即便内存容量也在不断的增长,但始终跟不上软件体积膨胀的速度。甚至有些庞大的程序所需要的内存就足以塞满整个物理内存空间。所以,现代操作系统的设计者就要想办法来调和系统的多任务同时运行、软件体积膨胀和有限的物理内存容量之间的冲突,想尽办法做到鱼和熊掌兼得。这就是本文所介绍的操作系统的内存管理。本文所介绍的主要是:
VV木公子
2021/10/05
1.1K0
《现代操作系统》——内存管理
虚拟存储技术「建议收藏」
在程序运行中,在不同时刻把同一个存储区分配给不同程序段和数据段,实现存储区共享。适用于连续存储(单一连续区分配,分区)
全栈程序员站长
2022/11/09
8270
虚拟存储技术「建议收藏」
开发成长之路(22)-- 不可不知的操作系统知识(2)
-计算机系统中存储器一般分为内存储器和辅助存储器两级 -内存可以分成系统区和用户区两部分,系统区用来存储操作系统等系统软件,用户区用于分配给用户作业使用
看、未来
2021/09/18
5120
操作系统之存储管理
说明: 在左边的单处理器系统中,如果一个进程想要运行,那么必须将进程地址空间装载到物理内存中才可以运行。 而右边的是多处理器系统中有多个进程需要进入物理内存执行,这里要解决的问题就是,如何将进程地址空间合理的装载到物理内存中,如何合理的分配使用内存,使得每个进程能正确执行。
JavaEdge
2018/05/16
3.6K0
操作系统之存储管理
推荐阅读
相关推荐
操作系统之存储器管理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档