神经网络中的对抗攻击与对抗样本
对抗攻击
对抗攻击论文参考:
《Intriguing properties of neural networks》
《神经网络有趣的特性》
《Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey》,以下简称『Survey』。
图片做适当修改后能欺骗深度学习模型的可能性
1.举例理解:
左边是一张能够被GoogLeNet正常分类为熊猫的图片,在添加一定的噪音后变成右图,在人的肉眼看来,它还是熊猫,但GoogLeNet会判定为长臂猿。这种被修改后人类无法明显察觉,却被机器识别错误的数据即为 对抗样本 ,而这整个过程就可以理解为 对抗攻击 。
2.数学理解:
神经网络中每层神经元的输入 a = g(Wx+b),其中 g 为激活函数,W 为权重参数,x 为上一层的样本数据,b 为偏置参数,那么从拓扑学角度来看,在一个二维平面上,这个过程相当于哪几个步骤呢?
(1)一次使用权重参数矩阵 W 的线性变换
(2)一次使用偏执向量 b 的移动
(3)一次应用非线性激活函数 g 的变换
在 二维平面 ,其实是将整个平面进行了 旋转、移动和拉伸 三步。
分类问题
简单分类问题:通过较少几次变换将问题转换为一条直线可分割的空间。
既是一层神经网络就可以完成分类,通过变换空间布局,最终通过一条直线完成分类。
举例:
简单转换ing........
转换结果看下图
复杂分类问题:通过多几次的转换完成将问题转换为一条直线可分割的空间。
就是多层神经网络完成分类,通过变换空间布局,最终通过一条直线完成分类。
举例:
动态多步转换
以上是从低维度理解神经网络的训练,其中也有难以拉伸的例外,下图所示的圆套圆的情况,就是难以在二维空间将其拉伸到理想的位置的例子。
但,增加神经元,可以在 三维空间 中轻松将其分离。
看!
归纳 同样对于复杂问题可以通过,增加神经元在高维度通过更长且复杂的方式解决。
但是例如两个相互套起来的环,按照推测需要在四维空间中才能完全分开,然而我们难以想象四维空间,在现实世界的数据集中,这种死结或者缠绕问题可能会更复杂。
对于神经网络来,可以选择 将打成死结的数据尽可能拉伸开,而不是完全解开 ,如下图,对于分类问题来说,已经具有较高的准确率和召回率。
部分情况下,为了更精确地分类,较宽的神经网络可能相对深度来说更重要。
综上所述
1. 神经网络中包含语义信息的不在每个独立的神经单元,而是整个空间。 神经网络在最后一层能将样本中诸多变化的因子理清楚并理解其语义,并不是因为某个独立神经元中包含了什么特定的语义,而是 对整个空间进行变换后从最终的表征层中学到的 ,经过学习,神经网络会 放大某些相关因子,同时缩小某些无关因子 。
2. 神经网络学习到的输入到输出的映射在很大程度上是不连续的。 就像上面图中为了解开一个死结所做的拉伸结果一样, 在人看来,在拉伸距离较大的地方我们可以认为这种映射是连续的, 然而 对于仍然缠绕在一起的部分,之前可以用来划分界限的直线或者超平面已经无法连续 。
通过仔细观察可以区分出来,但是上文只是一个简单的例子,现实世界中的真实数据较为复杂,对于肉眼来说可能很难分清楚缠绕在一起的部分。对于神经网络来说, 对抗样本已经严重的跨过了用于分类的界限 ,而对于肉眼其实还 看不出来它有移动。
()线性特性的攻击行为()和()高效制造对抗样本的方法()
参考论文:
《Explaining and harnessing adversarial examples》
《对抗性例子的解读和掌握》
深度神经网络在高纬空间中的线性特性已经足以产生这种攻击行为 ,并提出了一种 更高效生成对抗样本的方法 ,接下来我们就简单分析一下这一理论和方法。
目前神经网络为了提高训练效率所使用的激活函数在局部都过于线性。
例如:
类比先前举出的拓扑学例子,在 最后的表征层 都是 通过直线或超平面完成的分类 ,在线性的假设下,暂且不通过二维或三维空间来理解,先从一个简单的数学公式角度开始。
数学解释
公式内容解释:
w 是训练好的参数向量
x 表示真实样本数据向量
η 表示给图像加入的噪音向量
x ~表示加入噪音后新生成的样本
当加入足够小的 η 时,肉眼无法区分出 x 的变化,直观感觉上左边的式子可能也不会变化很大。
事实上 ,然而 η 当的方向与 w 完全一致的时候,即使很小,也会使整个激活值变化很大。
假设证明:
如果 w 是一个 n 维向量,而其权值的平均大小为 m,那么激活值将会增加 nm。可见,在一个肉眼几乎无法差觉的扰动干扰下,对神经网络最终激活层的计算会产生巨大的干扰,从而迷惑神经网络训练出来的模型。
寻找正确方向
当 η 与 w 的方向一致时会使激活值最大,那么,如何找到这个正确的方向呢?
结论,那就是损失函数在待构造样本上的梯度方向,即下面的式子。
ε 是一个调节系数
sign() 是一个符号函数,代表的意思也很简单,就是取一个值的符号
(当值大于 0 时取 1,当值等于 0 时取 0,当值小于 0 时取 -1)
▽ 表示求 x 的梯度,可以理解为偏导,
J 是训练模型的损失函数。
结论的由来
在正常的神经网络模型训练过程中,有一个过程叫反向传播,就是对参数求偏导,然后将参数更新,我们结合下面这张图看一下。
假设图中的函数即为 损失函数 ,为了使损失函数降到最低,我们会根据当前值的梯度去调整。
当梯度小于 0 的时候我们可以看出,当前值需要右移。
而当梯度大于 0 的时候,当前值需要左移。
这个过程实际上就是用 θ 减去 θ。扩展到损失函数 J(θ, x, y) 中,θ 即为 我们要调整的参数 ,因此在样本 x 和 y 不改变的情况下,我们会**不断去调整参数 θ **以寻求局部最优解,即 θ = θ - θ 。
生成对抗样本,也可以采用类似的方法,那就是 固定参数 θ,调整 x 同时使损失函数增大 ,而不是变小,此时就应该让 x 往相反的方向走,即 x = x + x ,这样是不是很容易可以理解上面 η 的定义呢?在实践中,我们还需要通过 ε 这个参数来 调节噪音的大小 ,这种方法相比之前提到的优化方法非常高效,基本只需要一次计算就可以找到对抗样本,因此作者将这种方法叫做 快速梯度符号法 (Fast Gradient Sign Method,FGSM)。总结一下FGSM,这种方法通过替换目标值 y 就可以 让攻击样本朝着指定的分类目标走 ,即,可以做任意目标的欺骗。
将线性假设简化到二维空间,我们要求的 η 其方向正好就接近于参数 w 的方向,不再展开说明,有兴趣的读者可以自行画一画。
建立在一个高维空间线性的假设或猜测前提下,需要 实验 支撑,根据下列图片分析展开。
图片解释
这张图是对数据集CIFAR-10的分类器的决策边界示意图。
其中每个小格子代表的是不同的CIFAR-10样本,
每个小格子中:
横向从左往右代表的是FGSM算法中的梯度方向,
纵向代表的是FGSM梯度方向的正交方向,
白色表示模型能分类正确的情况
彩色代表预测出错的情况
不同的颜色代表不同的错误预测分类。
可以看出,在出错的区域都程线性分布,另外,如果横轴的方向走的不够远,即便再往其他方向走都无法使模型出错,而一单进入这个区域,就会出现大量的对抗样本。而在随机找到的对抗样本中,这种分布也是很随机的,甚至很难找到,见下图。
从实验结果表明
高维空间中的线性假设也是合理的
举例
一匹叫做 Clever Hans 的马,刚出现的时候人们认为这匹马会做算术,但实际上它只是会阅读人的表情,当它点马蹄的次数接近正确答案时,人们的表情会更兴奋,它就知道该这个时候停止了。
隐喻神经网络,一个测试效果良好的分类器,其实并不像人类一样学习到了所分类样本的真正底层概念,只不过刚好构建了一个在训练数据上运行相当良好的模型,所以,你以为你以为的就是你以为的吗?
分类器能够在训练集的不同子集上训练时获得大致相同的分类权重,因为机器学习算法能够泛化, 基础分类权重的稳定性反过来又会导致对抗性样本的稳定性。因此, 对抗攻击可以认为是存在于任何神经网络模型。
以上是论文二的线性特性的攻击行为
高效制造对抗样本的方法
目前来看还没有能够完全抵抗这种攻击的方法,其实结合攻击的原理也不难看出,即便分类器做得再好,总能使一个样本用最小的干扰走到错误的分类区域,我们能做的更多是如何构造鲁棒性更强的模型,同时也保持对这个领域的关注。『Survey』(注意第一篇论文的引用有注释)中总结的目前抵御攻击的办法可以分为三大类:
1.修改训练样本 ———— 通过添加更多的对抗样本到训练集中可以有效避免一部分攻击 ,但这更像是一种无奈的做法, 当扩大样本集的时候,其实分类边界有可能也在随之扩大 。
2.修改训练网络 ,这类方法会对训练网络做出一定调整,其中有一种方式是模拟生物学 在最后一层使用更加非线性的激活函数 ,但这种方式又会 导致训练效率和效果下降 。修改训练网络的方法分为 完全抵抗 和 仅检测 两种方式,完全抵抗其实就是让模型能将对抗样本识别为正确的分类,而仅检测是为了发现这种攻击样本,从而拒绝服务。
3.附加网络 ,这种方式是在 不改变原有模型的情况下使用额外的网络进行辅助 ,这样可以使原有网络保持不变,其中最有效的一种方式是生成式对抗网络——GAN。同样的,这种方式也分为 完全抵抗 和 仅检测 两种方式。
总结一下
定义:
对抗样本:是指在数据集中通过故意添加细微的干扰所形成的输入样本,会导致模型以高置信度给出一个错误的输出。
原因分析:
对抗样本出现的主要原因之一是过度线性, 神经网络主要是基于线性块构建的,实现的整体函数被证明是高度线性的,如果一个线性函数具有许多输入,那么它的值可以非常迅速地改变。
参考:
什么是DDOS攻击?如何防御攻击?
DDoS攻击就是分布式拒绝服务攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,可使目标服务器进入瘫痪状态。
简单点说,就是你家摆摊卖咸鸭蛋呢,我找一堆二流子围着你家的咸鸭蛋摊问东问西,就是不买东西,或者买了东西,又说咸鸭蛋不好得退货。让真正想买咸鸭蛋的人买不到,让你家正常的业务没法进行。
防御:
1、尽可能对系统加载最新补丁,并采取有效的合规性配置,降低漏洞利用风险;
2、采取合适的安全域划分,配置防火墙、入侵检测和防范系统,减缓攻击。
3、采用分布式组网、负载均衡、提升系统容量等可靠性措施,增强总体服务能力。通俗的说就是,我找保安帮我维持鸭蛋摊的秩序,长得就不像是好人,举止怪异的根本不让靠近,并且在鸭蛋摊前面画条线排队,每个人只能有半分钟的买鸭蛋的时间,并且多开几个窗口卖鸭蛋。
网络攻击技术论文
目前,网络攻击方法层出不穷,而且随着技术的不断发展,网络攻击日益呈现自动化、低门槛的趋势,黑客、间谍常采用的网络攻击技术。下面是由我整理的网络攻击技术论文,谢谢你的阅读。
网络攻击技术论文篇一
浅谈网络中黑客攻击技术
【摘 要】虽然计算机网络安全已被各国计算机专家所重视,但由于计算机网络具有联结形式多样性、终端分布不均匀性和计算机网络的开放性、互连性等特征,致使计算机网络易受黑客、病毒、恶意软件和其他不轨行为的攻击。
【关键词】网络;黑客攻击;防御技术
一、黑客攻击最常见的八大技术
(一)利用硬件的黑客技术
在BIOS芯片中植入病毒木马,让目前的防火墙、防毒软件都失效; 针对主机板上的电磁辐射进行信息获取的技术……仅仅使用软件非法侵入的方式可能已经落伍,新时期的黑客技术应包括破解硬件本身。2012年微软公司曾经对硬件黑客侵犯其Xbox设备的行为采取法律与技术措施。索尼公司的PS2游戏机也成为一些专门修改芯片的黑客目标,其核心技术Sony的记忆棒被破解。美国苹果公司新推出的iPhone 3Gs的加密系统也被硬件黑客破解,造成磁盘文件数据可以被实时偷走。
(二)利用逆向工程对软件执行码直接进行分析,可被看做是“开发周期的逆行”
实际应用中逆向工程主要分成两种情况:第一种,软件的源代码可用,但描述文档不再适用或者丢失;第二种,软件没有可用的源代码,任何能找到它的源代码的努力都被称为逆向工程。软件的逆向工程实现方法有:通过观察信息交换进行分析、使用反汇编器进行反汇编和使用反编译器进行反编译等。黑客则利用反逆向工程的方法保护自己的恶意代码。
(三)利用社会工程学
因其乃是定位在计算机信息安全工作链的一个最脆弱的环节,即“人”这个环节上。“人”这个环节在整个信息安全体系中是非常重要的,这一点信息安全的脆弱性是普遍存在的,它不会因为系统平台、软件、网络或者是设备的新旧等因素不相同而有所差异。无论是在物理上,还是在虚拟的信息系统上,任何一个可以访问系统某个部分的人都有可能构成潜在的安全风险与威胁。任何细微的信息都可能会被黑客用做“补给资料”来运用,使其得到其他的信息。
(四)利用0day
0day通常是指没有公布补丁的漏洞,或者是还没有被漏洞发现者公布出来的漏洞利用工具。一般,带有0day名字的黑客软件指的是软件公布时对应的漏洞还没有打补丁。0day漏洞的利用程序对于网络安全具有巨大威胁,因此0day不但是黑客的最爱,掌握多少0day也成为评价黑客技术水平的一个重要参数。
(五)利用Rootkit软件
Rootkit已被大多数的防毒软件归类为具危害性的恶意软件,Rootkit是攻击者用来隐藏自己的踪迹和保留root访问权限的工具。通常,攻击者通过远程攻击获得root访问权限,或者首先采用密码猜测或者密码强制破译的方式获得系统的访问权限,进入系统后,再通过某些安全漏洞获得系统的root权限。攻击者会在侵入的主机中安装rootkit,并经常通过rootkit的后门来检查系统是否有其他的用户登录,如果只有攻击者登录,攻击者就开始着手清理日志中的有关信息。攻击者通过rootkit的嗅探器获得其他系统的用户和密码之后,就会利用这些信息侵入其他的系统。
(六)利用痕迹销毁与反取证技术
计算机取证将犯罪者留在计算机中的“痕迹”作为证据提供给法庭。可以用做计算机取证的信息源很多,如系统日志、防火墙与入侵检测系统的工作记录、反病毒软件日志、系统审计记录、网络监控流量、电子邮件、操作系统文件、数据库文件和操作记录、硬盘交换分区、软件设置参数和文件、完成特定功能的脚本文件、Web浏览器数据缓冲、书签、历史记录或会话日志、实时聊天记录等。随着计算机取证技术的发展和取证工具的广泛使用,黑客在入侵过程中越来越多地使用痕迹销毁技术和反取证技术,以对抗调查人员的取证分析。因此,取证与反取证往往形成矛与盾的关系,成为黑客攻击技术与反黑客技术较量的技术制高点之一。
(七)是利用虚拟机实施攻击发起
近年更多的攻击者倾向于在虚拟机环境中进行攻击,这是由于虚拟机可模拟多种系统平台,造成了攻击主机系统与位置的隐蔽性。黑客可通过快速卸载或简单删除等方式来逃避一般的搜查追踪。当前各黑客网站都有虚拟机安装和使用的详细教学资料,并且认为虚拟机相关知识是黑客重要的基本知识之一。因此,今后一旦发生类似于“熊猫烧香”事件时,黑客完全可能改用虚拟机作案,然后立即关闭虚拟机系统并删除该虚拟机文件夹。调查人员必须首先发现该机器上的虚拟机痕迹,再从中寻找黑客制造病毒并进行传播的证据,这项工作往往变得异常复杂,需要特殊的技术和工具。
(八)利用无线入侵技术
无线通信既包括手机、卫星电视和无线局域网,还包括无线传感网络、红外、蓝牙、RFID等,它们在人们的日常工作生活中扮演着越来越重要的角色。无线通信在给人们带来很大便利的同时,也带来了很多安全隐患:一方面,针对无线通信的窃听和恶意代码能获取用户的通信内容、侵犯用户的隐私权;另一方面,入侵者可以通过这些无线通信技术,进一步接入网络的核心部分。无线通信极大扩展了网络的边界,使得网络接入的控制变得复杂起来,黑客通过无线入侵往往能起到事半功倍的效果。
二、安全防御技术
为了实现服务器与客户机的通信,服务器和客户机都建立套接字,这样做目的是为了确保数据的安全性。在这种安全连接上,数据在发送前经过加密码,然后在接收时先解密再进行处理。浏览器和服务器在发送任何数据之前都对所有流量加密,如此可做到有效防御。
参考文献
[1] 曹爱娟,刘宝旭,许榕生.抵御网络攻击的陷阶系统[J].计算机工程,2013,4.
[2] 神龙工作室.新手学黑客攻防[M].人民邮电出版社,2009.
作者简介:李松(1989- ),男,汉族,贵州盘县人,本科,研究方向:计算机科学与技术。
点击下页还有更多网络攻击技术论文
0条大神的评论