云安全相关博客阅读(一)

news2025/1/8 11:11:42

2024-03-04 Cloudflare announces Firewall for AI

关注问题:

  • 传统的WAF功能能够保护web和api安全,但是随着LLM等AI模型等出现,保护这些AI相关应用等安全是一个新出现的问题
  • 虽然AI应用是新的场景,但是以往的攻击方法也能够直接用在AI应用上,如 Injection、data exfiltration
  • 以往WAF的功能在新的AI应用场景上也能够使用,如 Rate Limiting、Sensitive Data Detection

AI应用与传统Web应用的区别:

  • 传统web应用是行为预定义的,如交易接口定义清楚了交易账户与行为;AI应用是行为为定义的,每次调用都是用户自主的交互,返回的数据都是不同的,甚至相同的prompt给回的结果都不一样;
  • 传统web应用对于后台数据的控制是隔离的,通过应用程序和database隔离开;AI应用中,数据本身也是AI模型的一部分,应用程序和数据并没有分离开;

Firewall for AI
Firewall for AI 能力

  • 首先考虑模型训练与部署过程的攻击预防;训练数据的敏感数据检测与模型访问权限的控制应当做好,以预防训练期间的攻击;根据模型部署方式的不同(内部部署、公开访问、产品应用),主要区分在于对攻击流量的过滤或屏蔽行为;
  • 模型部署后,考虑用户输入的攻击防护;如客户输入文本的敏感信息检测、用户访问的 Rate Limiting 限制;
  • 模型部署后,考虑模型输出内容的防护;如训练数据中有内部敏感数据,则模型可能输出内部机密数据(或者是不符合预期的输出,如攻击性语言),对这些数据进行过滤或屏蔽;

具体能力实现方案

  • 模型训练数据扫描器:允许客户定义敏感信息规则或固定扫描器
  • 模型部署过程访问控制:AI应用权限控制(auth token)与攻击流量行为控制能力
  • 用户输入:允许客户自定义规则进行输入扫描、限流访问等
  • 模型输出:通过敏感词、重要信息(手机、账户等)规则检测、机器学习评分等,综合判定输出的攻击性,进行返回流量隔离
  • Firewall 配置:允许从JSON输入、HTTP报文指定字段等进行输入检查,允许客户进行流量行为控制;
  • 对于用户输入、用户输出的敏感信息的检测,有可用规则库、自定义规则信息、机器学习打分模型等多种路径,最终决定攻击检测;

2024-07-25 Making WAF ML models go brrr: saving decades of processing time

能力分享:
WAF Machine Learning models 5.5x faster, reducing execution time by approximately 82%, from 1519 to 275 microseconds.

WAF Attack Score System Design


WAF ML System 工作流程:

  1. 接收原生HTTP请求;
  2. 对报文解码,如空格等恢复回明文用作展示;将HTTP报文转为payload,即需要评估检测的键值对;
  3. 对 encoded(非明文)的 payload 进行特征化,即根据词典进行 text -> vector 转换
  4. 应用多个机器学习模型对特征向量进行分类,辨别多种攻击的可能性即得分;分别判别 sqli、XSS攻击等;
  5. 汇总多个模型的鉴别结果,得到一个总的攻击可能性得分,判别攻击,进行流量控制;
提升 WAF ML System 执行效率的方案:
Feature extraction optimizations

WAF ML System 的第三步的优化,即 payload text -> vector 优化
n-gram vectorize
其过程可以视为:对 text 以固定 window-size 进行滑动编码,在 vocab 中查询 n-gram 文本的数据,转为一个 number ,最终将 text 变为一个向量 vector

因此,这个过程耗时最多的就在于 n-gram -> number 的查询操作,通常是将 vocab 存储在一个 HashMap<&[char; 3], i32> 的哈希表中,不断地进行查询;

文章提出一些对于这个哈希查询的优化方法,就算是用 rust match 的形式,让 rust 编译器帮助进行优化,都能提升50%的时间效率:

#[inline]
const fn norm_vocab_lookup(ngram: &[u8; 3]) -> usize {     
    match ngram {
        b"abc" => 1,
        b"def" => 2,
        b"wuq" => 3,
        ...
        _ => 0,
    }
}``
Model inference optimizations

有了 feature vector 后,输入机器学习模型进行分类;这一过程有执行时间优化的可能;

注意:因为前面已经将 payload text 转为统一长度的 vector (padding 或 spliting),因此输入长度不再是影响这个过程的因素,只考虑单个 feature vector 执行分类的耗时;

feature vector -> classification result 各阶段耗时

此过程耗时最多的是 vector 的矩阵相乘的操作,即输入的 feature vector 经过特征矩阵相乘,到特征向量空间再分类的过程;

此矩阵相乘耗时的原因:

  • 对于特征矩阵的获取与相乘操作,都是每次取特征矩阵的向量,完成相乘,保存结果,没有缓存特征矩阵;
  • 对于一组数据,如十几个特征向量同时输入模型,是以一个 for 循环分别计算特征矩阵相乘,缺少并行计算;

针对以上问题,对机器学习 Inference 阶段引入 XNNPACK 包,以优化模型 Inference 阶段

Caching inference result

对于机器学习模型结果的缓存优化;

L-sharp 原则:短时间内,不同 HTTP 报文尽管 body 会有不同,但是 HTTP Header、User Agent、URL Path 等 payload 重现几率较大;

因此,如果重复对这些重现的 payload 进行检测判断,会影响系统效率;考虑根据 LRU 缓存算法,这些 payload 的内容与检测得分缓存起来,重现时直接读取得分结果进行评估,而不是重复输入到 ML 模型;

在 Nginx 处引入 lua-resty-mlcache 完成这个缓存的功能,以提升整个系统的效率;

2024-09-27 AI Everywhere with the WAF Rule Builder Assistant, Cloudflare Radar AI Insights, and updated AI bot protection

AI Assistant for WAF Rule Builder - AI 辅助 WAF 规则构建


通过 AI 助手,输入自然语言即可辅助生成 WAF 规则;

AI bot traffic insights on Cloudflare Radar - AI 爬虫检测雷达
检测 AI 爬虫,并进行流量行为控制;

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

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

相关文章

2025年01月07日Github流行趋势

项目名称&#xff1a;khoj 项目地址url&#xff1a;https://github.com/khoj-ai/khoj项目语言&#xff1a;Python历史star数&#xff1a;20105今日star数&#xff1a;363项目维护者&#xff1a;debanjum, sabaimran, MythicalCow, aam-at, shantanuSakpal项目简介&#xff1a;你…

从零手写线性回归模型:PyTorch 实现深度学习入门教程

系列文章目录 01-PyTorch新手必看&#xff1a;张量是什么&#xff1f;5 分钟教你快速创建张量&#xff01; 02-张量运算真简单&#xff01;PyTorch 数值计算操作完全指南 03-Numpy 还是 PyTorch&#xff1f;张量与 Numpy 的神奇转换技巧 04-揭秘数据处理神器&#xff1a;PyTor…

【python】matplotlib(radar chart)

文章目录 1、功能描述和原理介绍2、代码实现3、效果展示4、完整代码5、多个雷达图绘制在一张图上6、参考 1、功能描述和原理介绍 基于 matplotlib 实现雷达图的绘制 一、雷达图的基本概念 雷达图&#xff08;Radar Chart&#xff09;&#xff0c;也被称为蛛网图或星型图&…

数据库环境安装(day1)

网址&#xff1a;MySQL 下载&#xff08;环境准备&#xff09;&#xff1a; &#xff08;2-5点击此处&#xff0c;然后选择合适的版本&#xff09; 1.linux在线YUM仓库 下载/安装: wget https://repo.mysql.com//mysql84-community-release-el9-1.noarch.rpm rpm -i https://r…

Fabric链码部署测试

参考链接&#xff1a;运行 Fabric 应用程序 — Hyperledger Fabric Docs 主文档 (hyperledger-fabric.readthedocs.io) &#xff08;2&#xff09;fabric2.4.3部署运行自己的链码 - 知乎 (zhihu.com) Fabric2.0测试网络部署链码 - 辉哥哥~ - 博客园 (cnblogs.com) 1.启动测试…

数据结构与算法之二叉树: LeetCode 107. 二叉树的层序遍历 II (Ts版)

二叉树的层序遍历 II https://leetcode.cn/problems/binary-tree-level-order-traversal-ii/description/ 描述 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&a…

Python插件化开发实战:开发个图片浏览器

在本篇教程中&#xff0c;我将详细介绍如何使用Python开发一个基于插件架构的图片浏览器。这个项目将展示如何实现插件系统、如何处理图片显示,以及如何使用wxPython构建GUI界面。 “C:\pythoncode\pythonplugin\your_project\main_app.py” 项目概述 我们将开发一个具有以下…

根据python代码自动生成类图的实现方法[附带python源码]

概述 利用python库抽象语法树(AST)和类图描述语言(PlantUML),实现自动将python代码生成类图的目的。 环境 windowsvscodepythonplantuml ✒️网上好像大部分都是用Pyreverse库来实现的&#xff0c;但是我实际测试发现只能在一个文件中才能行&#xff0c;当然应该有解决方法…

下载b站高清视频

需要使用的edge上的一个扩展插件&#xff0c;所以选择使用edge浏览器。 1、在edge浏览器上下载 强力视频下载合并 扩展插件 2、在edge上打开b站&#xff0c;登录自己账号&#xff08;登录后才能下载到高清&#xff01;&#xff01;&#xff09;。打开一个视频&#xff0c;选择自…

flutter 专题二十四 Flutter性能优化在携程酒店的实践

Flutter性能优化在携程酒店的实践 一 、前言 携程酒店业务使用Flutter技术开发的时间快接近两年&#xff0c;这期间有列表页、详情页、相册页等页面使用了Flutter技术栈进行了跨平台整合&#xff0c;大大提高了研发效率。在开发过程中&#xff0c;也遇到了一些性能相关问题和…

UE5 打包要点

------------------------- 1、需要环境 win sdk &#xff0c;大约3G VS&#xff0c;大约10G 不安装就无法打包&#xff0c;就是这么简单。 ----------------------- 2、打包设置 编译类型&#xff0c;开发、调试、发行 项目设置-地图和模式&#xff0c;默认地图 项目…

vulnhub靶场【DC系列】之5

前言 靶机&#xff1a;DC-5&#xff0c;IP地址为192.168.10.4 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.2 都采用VMWare&#xff0c;网卡为桥接模式 对于文章中涉及到的靶场以及工具&#xff0c;我放置网盘中https://pan.quark.cn/s/2fcf53ade985 主机发现 使用…

双模态视觉特征流用于医学报告生成|文献速递-视觉大模型医疗图像应用

Title 题目 Dual-modality visual feature flow for medical report generation 双模态视觉特征流用于医学报告生成 01 文献速递介绍 医学报告生成是一项新兴的跨模态文本生成任务&#xff08;X. Zeng et al., 2020&#xff1b;Najdenkoska et al., 2022&#xff1b;Li et…

基于Fluent和深度学习算法驱动的流体力学计算与应用

物理模型与深度学习的融合&#xff1a;研究如何将传统的物理模型与深度学习算法相结合&#xff0c;以提高流体力学问题的预测准确性和计算效率。复杂流动模拟&#xff1a;利用深度学习技术对复杂流动现象进行模拟和分析&#xff0c;包括湍流、多相流、非牛顿流体等&#xff0c;…

记PasteSpider部署工具的Windows.IIS版本开发过程之草稿-动态表单(2)

接1的内容&#xff0c;那么有这么一个需求&#xff01; 需求分析 需要修改某一个配置的时候 1.从对应的api中读取消息&#xff0c;消息内容为Json格式的 2.基于当前的Json渲染成表单提供给管理端的客户呈现 3.管理端的用户可以基于这个表单的内容进行修改&#xff0c;然后提交…

pycharm-pyspark 环境安装

1、环境准备&#xff1a;java、scala、pyspark、python-anaconda、pycharm vi ~/.bash_profile export SCALA_HOME/Users/xunyongsun/Documents/scala-2.13.0 export PATH P A T H : PATH: PATH:SCALA_HOME/bin export SPARK_HOME/Users/xunyongsun/Documents/spark-3.5.4-bin…

Clisoft SOS设置Workarea

Clisoft SOS设置Workarea 本人也是刚刚接触这个软件&#xff0c;可能有些方面不够完善&#xff0c;欢迎大佬指点。 这里就不演示创建创建Server和Project&#xff0c;可以参考Clisoft SOS设置Server和Project 创建Workarea 创建好目录并设置好权限 # 创建组 [bhlumaster ~]$…

数据结构:LinkedList与链表—无头双向链表(二)

目录 一、什么是LinkedList&#xff1f; 二、LinkedList的模拟实现 1、display()方法 2、addFirst(int data)方法 3、addLast(int data)方法 4、addIndex(int index,int data)方法 5、contains(int key)方法 6、remove(int key)方法 7、removeAllKey(int key)方法 8、…

基于SpringBoot实现的保障性住房管理系统

&#x1f942;(❁◡❁)您的点赞&#x1f44d;➕评论&#x1f4dd;➕收藏⭐是作者创作的最大动力&#x1f91e; &#x1f496;&#x1f4d5;&#x1f389;&#x1f525; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 &#x1f525;&#x1f525;&…

【Linux】硬链接和软连接(符号连接)

目录 硬链接 软连接 硬链接和软连接的区别 硬链接 ln根据linux系统分配给文件inode(ls -li)进行建立&#xff0c;没办法跨越文件系统 格式&#xff1a;ln 被链接的文件(源文件) 生成的链接文件(目标文件) 1) 硬链接的属性 - 相当于生成一个副本 起别名 2) 修改内容都变化…