网络安全中大数据和人工智能应用实践
传统的网络安全防护手段主要是通过单点的网络安全设备,随着网络攻击的方式和手段不断的变化,大数据和人工智能技术也在最近十年飞速地发展,网络安全防护也逐渐开始拥抱大数据和人工智能。传统的安全设备和防护手段容易形成数据孤岛,一种设备只能解决某一方面的问题,基于已有特征进行匹配,未将数据进行集中、组合和关联,缺乏有效的上下文分析,无法进行深度分析,无法发现未知或隐蔽的威胁。通过大数据和人工智能的方法,可以将各种网络安全相关的数据集中关联和分析,这是网络安全分析的长期发展方向。
网络安全大数据这块也经历了很多年发展,但是在工程实践中,针对网络安全问题的防护还是存在很多欠缺的地方,市场这块也集中在监管类的安全大数据产品,运营类安全大数据市场需求偏少。结合自己对网络安全大数据的了解,主要从几下几个方面谈谈自己的看法:
● 数据对接成本高
涉及到不同厂商、不同设备的数据对接,缺乏统一的数据对接标准和规范,都是历史遗留的问题,不光是技术升级的成本,还涉及到厂商设备升级的费用问题,毕竟天下没有免费的午餐,项目本身的协调成本大于技术维护成本。
● 检测能力普遍不足
目前各大厂商对安全大数据的宣传是解决未知和隐蔽的高级可持续性威胁,但是基于产品应用的情况来看,很多远远满足不了这个宣传策略。那问题点在哪里了,站在我思考的角度来看,还是出在数据问题上,目前接入的一些网络安全设备数据,本质上还是接入的基于特征匹配的部分日志数据,而基于主机、服务器、程序等实体对象操作行为数据和流量数据偏少。应当摒弃过渡依赖基于特征匹配的思路,而应当从数据的选择上就要考虑需要基于原始行为和原始流量的数据进行分析,避免部分特征匹配的数据成为分析的干扰源。
● 业务理解程度不够
网络安全大数据产品目前主要还是以相关国家标准进行建设,重点还是停留在合规监管层面,产品研发更多地在按标准依葫芦画瓢,以达到国家相关部门的测评为准则,其实国家相关部门出的标准和测试都是基于单点的思路和规则,没有从整体和全局的角度去系统性测试产品,很多厂商为了应付测试也钻了空子。正常情况下,应当是和相关部门、企业一起结合实际的网络安全防护场景进行研究,以攻为守,基于业务需求进行建模,以满足实用实战为导向。
● 系统和运营未有效结合
很多部门、企业建设了网络安全大数据相关的系统,仅仅只停留在应付上级主管部门检查的层面,没有很好利用系统,没有专门的网络安全人员进行运营管理。就好比军工厂交付武器给军队,如何将武器的作用发挥至最大化,如何改进武器适应战场,还得练兵备战,与人的意志结合,将武器效能最大化。安全大数据系统也一样,必须有专业的网络安全人员进行运营和管理,将系统的作用最大化,提升安全大数据系统练兵备战的能力。
下面谈谈我的整个安全大数据框架和思路,大致框架如下图所示:
安全大数据总体过程包括数据采集、数据接入、数据预处理、数据存储、数据分析、结果展示,各行各业大数据分析都是这个思路和流程,只是需要处理的问题不一样,我们面向的是网络安全大数据这块。
● 数据采集(数据来源)
数据是基础,必须接入更多的安全相关数据,安全大数据一方面是要解决基于已知特征的数据分析,更重要方面是要解决未知或隐蔽的威胁,那就要弄清底层逻辑是什么。基于已知特征数据这块,目前存在一个点就是不同厂商的安全设备的能力不一样,无法从根本上规避它提供数据的准确性。那有一个重要的核心点就是需要什么样的数据,从什么方面去挖掘和分析威胁,任何事物都是运动的,我们可以变化中寻求最优解,网络威胁也一样。我们应当获取每个实体最原始的行为数据,从动机和行为入手,不能忽视最合适的数据源。
● 数据接入
需要考虑的是多种数据源接入和时间同步问题,为什么要考虑这个问题,因为有些数据之间有相互关联,多种数据在时间序列上来看,就够成了一定的可疑数据块,这就是全局与个体的关系,威胁行为任何时刻都有可能发生,能提前感知就能减少风险。很多厂商在做产品设计的时候,忽略了数据接入的重要性。根据业务场景需求,一定要弄清每种业务场景需要的数据源接入原则,从时间、数据量上要周全考虑,并不是所有业务场景,所有的数据接入都是一致性要求,这个必须要区别对待,具体问题具体分析。
● 数据预处理
需要对接入的数据进行批量、快速处理满足需求,如何预处理数据,这个需要考虑的点也是要根据业务场景来定义。通过逆向方式分析,以结果为导向,从数据分析和存储要求进行定义,剔除干扰和多余数据,减少数据分析时系统的开销。
● 数据存储
采用基于开源的大数据技术框架,每个公司的技术实现都大同小异,重点需要考虑的是数据的写入和查询效率,数据的备份恢复问题。
● 数据分析
大数据分析的前提是要借助流式计算引擎,目前主流厂商都是选择Flink。数据分析的前提是要有具体的业务场景,再基于业务场景进行业务建模,再根据业务模型确定采用什么技术方案实现业务需求。一般会从普通规则、动态基线、机器学习、深度学习等技术方法去实现,通过普通规则去匹配,也可以运用基线比较方法,也可以使用机器学习和深度学习的方法进行异常行为分析。
下面重点讲一下机器学习和深度学习相关的数据分析方法。首先我们理清几个概念,模型、算法、数据、训练程序的关系。
模型就是根据数据训练出来的一段程序,针对某一业务场景需求,系统程序调用模型,输入数据,得出分析结果。那模型一般如何训练了?那就可以分为系统外训练和系统内训练了。
系统外训练就是与现有系统独立,互不干涉,有专门的训练环境,模型训练好了,导入现有系统升级进行使用,再通过现有系统使用情况进行评估和反馈,不断的在训练环境进行训练,这样形成一个闭环反馈机制。
系统内训练就是基于现有系统数据进行训练,模型训练好了,系统程序直接进行调用,差不多是个半自动化的过程,同时网络安全运营人员也可以根据人为的经验和现有模型的结果不断的去分析和标记数据,借助人的作用不断去强化训练这个模型,这样系统就包括两部分功能,一部分是业务使用,一部分是基于现有业务数据在系统内不断训练模型,不断地智能验证效果,减少人为过多地干预,这样安全运营人员和系统就深度绑定了,因为安全大数据产品设计过程中,要充分考虑和借助专业的网络安全人员来训练模型,说个题外话,网络安全人员不能脱离人工智能相关的技术。
算法是核心,基于业务场景的分析,解决客户什么问题,考虑周全之后,确定需要分析的数据源,希望达到的预期效果,选择合适的人工智能算法,算法也不是可以解决所有问题,它是根据不同的问题有对应的算法,一旦确定了算法,在训练过程中不能随便去变更算法,那这样之前的训练就白废了。
数据是基础,往往网络安全的数据问题是个难点,很多场景很难找到合适的样本数据,比如说客户提供一个新场景,自己觉得可以用哪种算法来实现,但是样本数据满足不了要求。对数据的整合和规范,这个是网络安全采用人工智能学习的一个难点和未来必须要解决的方向。
训练程序顾名思义就是训练模型的程序,这个也不存在技术难点。
● 结果展示
将存储和分析结果数据如何进行展示,这个也是一个重点,以什么方式传递给用户很关键。安全大数据主要是通过机器进行数据分析直接得出结果,还有基于原始数据的结果。一定要基于这两方面的结果数据进行考虑,因为机器和程序分析的始终无法代替人的大脑思考,况且人脑思考问题和决策也不能保证万无一失。所以说在产品设计的时候,一定要基于两方面的考虑:一是要支持原始数据的查询和统计,用户根据自己的安全经验进行分析,就像刑侦人员基于自己的经验进行办案一样,任何办案技术加持情况下,也离不开侦查员的分析,任何精确制导和火炮打击情况下,在特定情况下也离不开特种兵的目标引导;二是基于机器和程序分析的结果进行展示和二次分析验证,机器永远只是辅助人类进行思考和决策。
网络安全的本质在于对抗 ,对抗的本质在于攻防两端能力的较量,在于人性的较量,道高一尺,魔高一丈,魔高一尺,道高一丈,此消彼长,网络安全永不停步,现在很多产品的设计脱离了攻防对抗的本质,不管是物理隔离的涉密网、互联网都离不开攻防对抗的思路,应当将红蓝对抗的经验和数据应用到产品中,进攻是最好的防守,没有攻防数据的支撑,人工智能在网络安全分析中的应用也是巧妇难为无米之炊。网络安全离不开人性研究、攻防对抗、云计算、大数据及人工智能的加持。道阻且长,行则将至,行而不辍,未来可期。
相关文章:

网络安全中大数据和人工智能应用实践
传统的网络安全防护手段主要是通过单点的网络安全设备,随着网络攻击的方式和手段不断的变化,大数据和人工智能技术也在最近十年飞速地发展,网络安全防护也逐渐开始拥抱大数据和人工智能。传统的安全设备和防护手段容易形成数据孤岛࿰…...

RISC-V架构下OP-TEE 安全系统实践
安全之安全(security)博客目录导读 本篇博客,我们聚焦RISC-V 2024中国峰会上的RISC-V和OP-TEE结合的一个安全系统实践,来自芯来科技桂兵老师。 关于RISC-V TEE(可信执行环境)的相关方案,如感兴趣可参考R...

40分钟学 Go 语言高并发:【实战】分布式缓存系统
【实战课程】分布式缓存系统 一、整体架构设计 首先,让我们通过架构图了解分布式缓存系统的整体设计: 核心组件 组件名称功能描述技术选型负载均衡层请求分发、节点选择一致性哈希缓存节点数据存储、过期处理内存存储 持久化同步机制节点间数据同步…...

[创业之路-186]:《华为战略管理法-DSTE实战体系》-1-为什么UTStarcom死了,华为却活了,而且越活越好?
目录 前言 一、市场定位与战略选择 二、技术创新能力 三、企业文化与团队建设 四、应对危机的能力 五、客户为中心的理念 六、市场适应性与战略灵活性 七、技术创新与研发投入 八、企业文化与团队建设 九、应对危机的能力 前言 UT斯达康(UTStarcom&#…...

python如何多行注释
在Python中,多行注释通常有两种方式: 使用三个单引号()或三个双引号(""")来创建多行字符串,这可以被用来作为多行注释。这种方式在Python中实际上是创建了一个多行的字符串对象…...

前端工程化面试题目常见
前端工程化面试常见题目包括: • 谈谈你对WebPack的认识。 • Webpack打包的流程是什么? • 说说你工作中几个常用的loader。 • 说说HtmlWebpackPlugin插件的作用。 • Webpack支持的脚本模块规范有哪些? • Webpack和gulp/grunt相比有什么特…...

定点数的乘除运算
原码一位乘法 乘积的符号由两个数的符号位异或而成。(不参与运算)被乘数和乘数均取绝对值参与运算,看作无符号数。乘数的最低位为Yn: 若Yn1,则部分积加上被乘数|x|,然后逻辑右移一位;若Yn0&…...

页面置换算法模拟 最近最久未使用(LRU)算法
最近最久未使用(LRU)算法是一种基于页面访问历史的页面置换算法。它选择最久未使用的页面进行置换。当需要访问一个不在内存中的页面时,如果内存已满,则选择最久未使用的页面进行置换。LRU算法通过记录页面的访问时间戳来判断页面…...

Ubuntu与Centos系统有何区别?
Ubuntu和CentOS都是基于Linux内核的操作系统,但它们在设计理念、使用场景和技术实现上有显著的区别。以下是详细的对比: 1. 基础和发行版本 Ubuntu: 基于Debian,使用.deb包管理系统。包含两个主要版本: LTSÿ…...

RK3568平台开发系列讲解(pinctrl 子系统篇)pinctrl_debug
🚀返回专栏总目录 文章目录 1. Overview2. debug信息2.1 pinctrl-devices2.2. pinctrl-handles2.3. pinctrl-handles3. debug信息3.1. 查看(pinctrl_register_pins)注册了哪些pins3.2. 查看pin groups;3.3. 查看每种functions所占用的gpio groups信息:3.4. pinconf沉淀、…...

避大坑!Vue3中reactive丢失响应式的问题
在vue3中,我们定义响应式数据无非是ref和reactive。 但是有的小伙伴会踩雷!导致定义的响应式丢失的问题。 reactive丢失响应式的情况1(直接赋值) 场景: 1.你定义了一个数据:let datareactive({name:"",age:"" }) 2.然后你…...

springSecurity权限控制
权限控制:不同的用户可以使用不同的功能。 我们不能在前端判断用户权限来控制显示哪些按钮,因为这样,有人会获取该功能对应的接口,就不需要通过前端,直接发送请求实现功能了。所以需要在后端进行权限判断。࿰…...

Pytorch训练固定随机种子(单卡场景和分布式训练场景)
模型的训练是一个随机过程,固定随机种子可以帮助我们复现实验结果。 接下来介绍一个模型训练过程中固定随机种子的代码,并对每条语句的作用都会进行解释。 def seed_reproducer(seed2333):random.seed(seed)os.environ["PYTHONHASHSEED"] s…...

Conda + JuiceFS :增强 AI 开发环境共享能力
Conda 是当前 AI 应用开发领域中非常流行的环境和包管理系统,因其能够简单便捷地创建与系统资源相隔离的虚拟环境广受欢迎。 Conda 支持在不同的操作系统上重建相同的工作环境,但在环境共享复用方面仍存在一些挑战。比如,在不同机器上复用相…...

人工智能-人机交互的机会
目录 引言HCI领域的发展机会人工智能领域的崛起与机会博雅智信的HCI与AI辅导服务结语 引言 在人类科技不断进步的今天,HCI(人机交互)和人工智能(AI)是两个密切相关且充满潜力的领域。HCI研究如何优化人类与计算机之间…...

【系统架构核心服务设计】使用 Redis ZSET 实现排行榜服务
目录 一、排行榜的应用场景 二、排行榜技术的特点 三、使用Redis ZSET实现排行榜 3.1 引入依赖 3.2 配置Redis连接 3.3 创建实体类(可选) 3.4 编写 Redis 操作服务层 3.5 编写控制器层 3.6 测试 3.6.1 测试 addMovieScore 接口 3.6.2 测试 g…...

elasticsearch基础总结
最近实习,项目用的elasticseatch做的存储库,但是之前对于es接触的不多,查询语法有些不熟,每次想写个DSL查询时都要gpt或者施展搜索大法,所以索性就自己总结总结,以后忘了也方便查。所以这篇文章会持续更新。…...

【慕伏白教程】Zerotier 连接与简单配置
文章目录 下载与安装WindowsLinuxapt安装官方脚本安装 Zerotier 配置新建网络网络配置 终端配置WindowsLinux 下载与安装 Windows 进入Zerotier官方下载网站,点击下载 在下载目录找到安装文件,双击打开后点击 Install 开始安装 安装完成后,…...

Brain.js(九):LSTMTimeStep 实战教程 - 未来短期内的股市指数预测 - 实操要谨慎
系列的前一文RNNTimeStep 实战教程 - 股票价格预测 讲述了如何使用RNN时间序列预测实时的股价, 在这一节中,我们将深入学习如何利用 JavaScript 在浏览器环境下使用 LSTMTimeStep 进行股市指数的短期预测。通过本次实战教程,你将了解到如何用…...

C# 字符串(String)
文章目录 前言创建 String 对象的方式1. 通过给 String 变量指定一个字符串2. 通过使用 String 类构造函数3. 通过使用字符串串联运算符( )4. 通过检索属性或调用一个返回字符串的方法5. 通过格式化方法来转换一个值或对象为它的字符串表示形式 String …...

二进制文件
大多数人听到“二进制”的时候,脑海里可能马上就会联想到电影《黑客帝国》中由“0”和“1”组成的矩阵。 笔者不打算在这里详细讨论二进制的运算、反码、补码之类枯燥的东西,但有几个和开发相关的概念需要做一点澄清和普及。因为这些内容就像空气——用…...

【电子元器件】音频功放种类
本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。 一、概述 音频功放将小信号的幅值提高至有用电平,同时保留小信号的细节,这称为线性度。放大器的线性…...

linux之vim
一、模式转换命令 vim主要有三种模式:命令模式(Normal Mode)、输入模式(Insert Mode)和底线命令模式(Command-Line Mode)。 从命令模式切换到输入模式:i:在当前光标所在…...

QT的ui界面显示不全问题(适应高分辨率屏幕)
//自动适应高分辨率 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);一、问题 电脑分辨率高,默认情况下,打开QT的ui界面,显示不全按钮内容 二、解决方案 如果自己的电脑分辨率较高,可以尝试以下方案:自…...

数据结构--串、数组和广义表
串 定义:串(String)是由零个或多个字符组成的有限序列。 子串:串中任意个连续字符组成的子序列称为该串的子串。 主串:包含子串的串相应地称为主串。 字符位置:字符在该序列中的序号为该字符在串中的位置…...

LLMs之Agent之Lares:Lares的简介、安装和使用方法、案例应用之详细攻略
LLMs之Agent之Lares:Lares的简介、安装和使用方法、案例应用之详细攻略 导读:这篇博文介绍了 Lares,一个由简单的 AI 代理驱动的智能家居助手模拟器,它展现出令人惊讶的解决问题能力。 >> 背景痛点:每天都有新的…...

1-1.mysql2 之 mysql2 初识(mysql2 初识案例、初识案例挖掘)
一、mysql2 概述 mysql2 是一个用于 Node.js 的 MySQL 客户端库 mysql2 是 mysql 库的一个改进版本,提供了更好的性能和更多的功能 使用 mysql2 之前,需要先安装它 npm install mysql2 二、mysql2 初识案例 1、数据库准备 创建数据库 testdb CREAT…...

企业邮箱为什么不能经常群发邮件?
企业邮箱是用企业域名作为后缀的邮箱,虽然企业邮箱确实具备群发邮件的功能,但它更适用于企业内部的群发,而非用于外部推广。如果是在企业邮件域内进行群发,通常可以借助企业邮箱的邮件列表来实现。然而,对于域外的大量…...

集成运算放大电路反馈判断
集成运算放大电路 一种具有很高放大倍数的多级直接耦合放大电路,因最初用于信号运算而得名,简称集成运放或运放 模拟集成电路中的典型组件,是发展最快、品种最多、应用最广的一种 反馈 将放大电路输出信号的一部分或全部通过某种电路引回到输…...

媒体查询、浏览器一帧渲染过程
文章目录 媒体查询语法示例根据视口宽度应用不同的样式根据设备像素比应用不同的样式根据方向应用不同的样式 使用场景 浏览器一帧的渲染过程 媒体查询 媒体查询(Media Query)是CSS3中的一个重要特性,它允许开发者根据设备的特定条件&#x…...