利用机器非学习进行后门攻击

2024-05-27 19:28

本文主要是介绍利用机器非学习进行后门攻击,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

信息安全是一个古老的计算机领域。许多 80 后还记得自己小时候经常听到的瑞星杀毒和江民杀毒软件。这些 90 年代火遍大江南北的信息安全工具,至今仍然影响着使用互联网和信息技术的千家万户。随着人工智能的兴起和普及,有越来越多的商业软件使用了人工智能技术,因此也有黑客盯上了相关的技术产品,研发出了专门攻击人工智能软件的黑客手段。

在 2023 年的人工智能顶级会议 AAAI 2023 上,来自新加坡和中国的研究团队发表了一篇题为 Backdoor Attack through Machine Unlearning 的论文,讲述了在新的信息流通环境下的黑客攻与防。论文的下载地址在这里:2310.10659v1.pdf (arxiv.org) 。

作者在文中提出了一种新的攻击人工智能算法的手段叫做 BAMU。基本原理就是利用机器非学习将一个善良的机器学习模型变成一个邪恶的机器学习模型。

例如在下图中,攻击者一开始的时候给数据集合植入了红色圆圈和绿色圆圈,随后基于隐私要求或者其他正当要求,请求系统执行机器非学习步骤,导致机器学习的决策边界发生了偏移:

本文作者不仅提出了 BAMU 攻击方法,也提出了防御 BAMU 的方法。

BAMU 共分为下面几种攻击方法:

  1. 针对输入的攻击方法。主要方法是在数据点附近采样构造有毒样例(红色圆圈)和解药样例(绿色圆圈)。
  2. 邪恶网络方法。该方法更加高效。利用如下公式构造有毒样例和解药样例:

论文作者通过在实验数据上作比较,分析了攻击的效果。因为本文篇幅的原因,作者不在此详细讨论实验结果。需要注意的是,在有的知名数据测试集合上,邪恶网络方法能够取得 5% 的成功率。

作者在文章中提到了 2 种防御 BAMU 的方法:

1.模型不确定性方法:因为解药样本本身靠近分类器边界的原因,因此解药样本的分类误差通常很大。所以,我们用下面的公式来评估某样本是否是可能利用 BAMU 注入的坏样本:

通过该公式计算出来的 Impurity 值越高,说明该样本是坏样本的可能性越大。

2.子模型相似性:模型在解药样本的可扩展性差,因此我们利用下面的公式来检查系统是否被 BAMU 入侵了:

该值越小,表明该样本越有可能是干净样本。

作者随后利用实验数据,证明了两种入侵检测方法的有效性。

这篇论文选材新颖,利用了一项新的技术——机器非学习的漏洞,详细阐述了作者最新的发明和发现,值得我们人工智能从业者认真学习。毕竟信息安全至关重要,不能等到事情发生了之后再去补救。千里之堤,溃于蚁穴。因此,哪怕是极其微小的信息安全隐患,也应该引起我们的高度重视。

这篇关于利用机器非学习进行后门攻击的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1008373

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监