精华内容
下载资源
问答
  • linux进程隐藏与对抗

    万次阅读 2020-11-12 11:34:44
    命令替换实现方法对抗方法2.Hook系统调用实现方法:对抗方法:3.利用mount命令进行挂载实现方法对抗方法 前言 这篇文章主要做一个技术点的记录,过去接触比较少,现在对其进行一个小结。 实现方法 1.命令替换 实现...

    前言

    这篇文章主要做一个技术点的记录,过去接触比较少,现在对其进行一个小结。

    实现方法

    1.命令替换

    实现方法

    替换top、ps等命令

    对抗方法

    使用stat命令查看文件状态并且使用md5sum命令查看文件hash并将其与正常文件hash进行比较。如果确定被替换,使用正常文件替代坏文件即可。
    在这里插入图片描述

    2.Hook系统调用

    比如说ps这个命令:

    原理:
    (1)调用openat系统函数获取/proc目录的文件句柄
    (2)调用系统函数getdents递归获取/proc目录下所有文件信息(包括子目录)
    (3)调用open函数打开/proc/进程pid/stat和/proc/进程pid/status,以及/proc/进程pid/cmdline文件开始获取进程信息
    (4)然后打印输出

    攻击者可以劫持getdents和libc中的readdir函数(修改内核中的系统调用代码或者修改lib中的函数代码)实现过滤特定进程名,从而实现进程隐藏。

    实现方法:

    劫持getdents 等系统调用函数或libc中的readdir 函数等系统调用函数一般来说有3个途径
    I、修改内核调用,比如getdents 的源码
    II、修改libc库中readdir 函数的源码
    III、利用环境变量LD_PRELOAD 或者配置ld.so.preload文件 以使的恶意的动态库先于系统标准库加载,以达到架空系统标准库中相关函数的目的,最终实现对特定进程的隐藏
    备注:getdents函数对应的系统调用是sys_getdents(),readdir函数对应的系统调用是proc_pid_readdir(),

    对抗方法:

    跟踪系统调用可以使用sysdig这个程序:
    sysdig proc.name=ps
    上述命令可以查看进程的整个启动过程,可以分析是否被劫持。
    在这里插入图片描述

    3.利用mount命令进行挂载

    这个几乎是最常用的实现方式,利用mount命令将磁盘挂在到proc文件夹下的特定位置即可隐藏进程:

    实现方法

    1. 查看进程
      我们先使用ps查看python进程,这时候发现有一个pid为1906的python3的进程。
      在这里插入图片描述
    2. 挂载磁盘到指定位置
      我们根据ps的原理可知,ps查询的是proc文件夹下的内容,我么直接将磁盘挂在到proc文件夹下的1906即可实现对1906进程的隐藏。
      首先使用df命令查看磁盘:
      在这里插入图片描述
      接着使用mount命令挂载/dev/sda1到/proc/1906:
      mount /dev/sda1 /proc/1906
      在这里插入图片描述
      此时我们在用ps命令查看,发现1906进程已经消失了,达到了隐藏的效果:
      在这里插入图片描述

    对抗方法

    使用cat /proc/mounts查看,看是否有被挂载的磁盘,如下图所示,选中部分即为挂载情况:
    在这里插入图片描述

    使用umount /dev/sda1 /proc/1906即可恢复原状取消挂载。

    参考文章

    聊一聊Linux下进程隐藏的常见手法及侦测手段
    linux下进程的隐藏方法与其对抗

    展开全文
  • 对抗游戏对抗游戏.rar

    2020-06-19 14:44:51
    对抗游戏对抗游戏.rar
  • 宏观看红蓝对抗与渗透测试

    万次阅读 2020-12-10 12:21:21
    浅谈大规模红蓝对抗攻与防 红蓝对抗之域名搜集方法总结 网络空间安全时代的红蓝对抗建设 源头之战,不断升级的攻防对抗技术 —— 软件供应链攻击防御探索 以攻促防:企业蓝军建设思考 红蓝对抗之Windows内网渗透 .....

    前言

    刚入行不久,对红蓝对抗对概念以及渗透测试的概念都不是特别清楚,也不知道其存在的意义到底是什么,最近看了一些文章,也有了一定自己的理解,在这里做一个简单的总结。

    1. 渗透测试为什么要存在

    乙方厂商向甲方厂商提供渗透测试服务,说白了就是对其某部分系统进行一个漏洞扫描或者漏洞利用,让甲方厂商知道了自己的核心资产没有足够的安全防护能力,进而购买乙方厂商的安全防护类产品,通过渗透测试服务来卖安全防护产品,就是渗透测试服务存在的意义。它解决的主要是物理层面的一些防护问题,例如没有防火墙,没有IDS等。

    2. 红蓝对抗为什么要存在

    渗透测试其实已经存在很多年了,不少甲方厂商也已经购买了乙方的产品,这时候通过卖渗透测试服务来变向卖安全产品的话,整体市场需求量没那么大了,因此红蓝对抗出现了。

    渗透测试解决了企业防御中“装备不足”的问题,而红蓝对抗企业可以得到装备的高级使用方法以及员工安全意识的提高等,解决了企业在防御过程中的策略古板问题,让企业明白不是买了防火墙就万事大吉,你还得购买我们的安全培训课程,学习安全产品的高级使用方法等。

    为什么这么说呢?通过渗透测试,客户已经知道了别人能攻击我们是因为我们没有放置防火墙,没有放置IDS,这时候客户会买这些防御装备。红蓝对抗告诉客户,即使你买了好产品,你也得有好的防御策略,并不是说买了防火墙就万事大吉了,即使买了防火墙,别人通过钓鱼邮件照样能够达到入侵的目的。

    因此员工需要进行安全培训,比如说密码复杂度,U盘安全,钓鱼邮件安全等等。这些都不一定是硬件层面,而是安全意识层面的东西,再结合已有的防火墙等设备,会让整个企业有更高的安全保障。而且红蓝对抗更加偏实战化,更加接近于真实的黑客入侵,能更深层次的检验企业的防御能力,这也是相比较于普通的渗透测试或者安全服务更有优势的一点。

    总的来说,红蓝对抗存在的意义:

    1. 更贴近于实战、更能检测到企业的纵深防御能力
    2. 相比较于普通渗透测试而言增加了许多攻击点,这些攻击点可以用来测试员工的安全意识,进而可以向企业卖安全意识培训的课程
    3. 国家政策的推动

    3. 对于整个红蓝对抗事件的总结

    整个过程攻击队是在防守队的高度监控下进行的。对于攻击队伍来说,优势在于不用通知防守队伍自己的攻击时间,对防守队伍的检测能力与应急响应能力要求很高。不过对于防守队来说,优势在于其实自己已经知道攻击队要来攻击,只是不知道具体的时间点而已,这时候对攻击队的攻击技术要求也就提高了很多。整体对攻击防守两队的综合能力都会有更高的要求。

    3.1 从过程细节来说:

    攻击队主要分为两个部分,一个就是web型选手,一个是内网型选手。web型选手精通“打点”,擅长通过web漏洞进行入侵,但容易受到蜜罐的影响。而内网型选手擅长权限维持、横向移动等攻击方式,几乎不受蜜罐的影响,技术高超的内网选手在横向移动的时候也很难被态势感知系统检测到,攻击队主要就是通过这两种队员进行攻击的。防守方做的事情可能主要是应急响应,溯源,攻击反制等,封ip是一种相当常见的对抗攻击队的方法。

    其实我认为封ip或者下线不常用的服务器这种防御手段在某种层面上并不是特别有用(但在红蓝对抗的过程中还是很好用的),因为当红蓝对抗结束后,在日常状态下,那些不常用的服务器还是会打开,而且ip封禁也不会这么严格。也就意味着对抗结束后,公司又恢复成了一种脆弱的状态。

    3.2 从根本提高安全能力的方法

    在业务系统开发时就引入SDL,系统上线后需要进行渗透测试,同时最好引入白盒代码审计,从以往经验来看,白盒测试能够发现很多黑盒测试不能涉及到的安全隐患和漏洞,这也就是产品安全部门的职责。

    除了对业务系统的单点安全建设,对于整个企业也需要建立完善的检测和响应体系,引入SIEM之类系统,简单地说,SIEM是一个由多个监视和分析组件组成的安全系统,旨在帮助组织检测和减轻威胁。通过SIEM类系统的帮助,努力对所有安全相关的行为与事件做到可查看、可溯源。

    最后,对于企业整体安全体系评估则需要引入红队测试,来具体测试整个安全体系的检测能力和响应能力。

    3.2 攻击队成员进攻思路

    攻击队的的主要目标就是得分,在最短的时间得最多的分,不是说拿到核心资产最牛逼,而是得分最多的最牛逼。我们可以通过信息收集先得到很多的信息,然后对信息进行分析来找到最容易进攻的资产,接着进行攻击并得分。

    3.2.1 信息收集

    收集的目标信息主要可以分为四种: 靶标系统信息、ip信息、办公网信息、远程办公系统信息。

    1.靶标系统信息
    靶标系统一般是关键得分点,我们有必要花精力来了解靶标系统,得到尽量详细的信息。关于靶标系统我们主要收集以下几个信息:

    • 服务类型是web还是其他服务
    • 是否可以从公网访问
    • 位置处于目标内网还是第三方云平台

    如果攻击队擅长web,那么第三方云平台可能更容易攻破,如果攻击队擅长内网,可能处于内网的靶标更容易拿下。

    2.IP信息收集
    目标所用的IP段是否可以在APNIC上查到是非常关键的信息,因为如果涉及到内网渗透,就得确定所攻击的系统是处于内网中。非目标IP段的系统可能都是托管,就算打下来也进不了内网,没多大意义。

    以三星为例,可以在APNIC上查到大量属于三星的IP地址段,重点关注这些段内的服务即可。
    在这里插入图片描述
    3.办公网信息

    判断办公网络类型是否是域,如果不是域,看看系统版本是否可以直接用exp来攻击拿shell,如果不能,考虑一下钓鱼,实在不行就放弃吧,工作组环境渗透起来十分复杂且困难。这个信息有时候能够从目标系统开放的服务中看出来,有些对外开放的email就是exchange,那就确定里面是存在域的,还有一些web系统上集成了ad域登录,也能做判断。

    4.远程办公系统

    远程办公系统主要是指OA系统、VPN、云桌面(华为云、Citrix等)、email、堡垒机等等,这类系统如果没有二次验证,可以用爆破的手段试一试,一般进去了直接就在内网。另外在获取到了员工的登录凭证后,这类系统可以作为一个正向的入口,一般很难被发现。

    3.2.2 寻找脆弱资产

    靶心系统对外网开放
    办公网络为AD域
    重要系统登陆口没有二次验证
    分公司很多,和集团总部相同,办公网络可能是林结构
    对外开放vpn、citrix之类登陆口
    办公网段存在对外开放的web系统

    当然不同团队的技术特长都不一样,需要根据自身的技术能力来判断,上述只作为参考。

    3.3 防守队成员防守思路

    3.3.1 边界部署防御设备

    部署防火墙、IDS等设备。

    3.3.2 终端检测与防御

    • 安装杀毒软件,可以尝试同时安装多个杀毒软件
      对安全软件的主控端注意防护,国内某安全软件的推送功能对推送文件没有任何检验,可以直接推送恶意软件,使用这个功能可以直接打穿内网。之前也爆出过赛门铁克管理端远程代码执行之类的漏洞,一定要多加注意,不要因为安全软件自身导致内网被渗透。

    • 防御横向移动
      关注危险端口的访问,例如smb端口,还有新启动进程的父子关系。

    • 安全日志分析
      重点分析一些红队所使用的横向移动技术会触发的安全日志或应用日志,另外还要关注敏感账户的登录和变更日志,敏感用户的任何异常行为都不要放过。

    • 进程白名单
      这个需要对业务系统非常熟悉,才能确定业务服务器上的白名单程序列表,稍有不慎会导致业务系统不可用。不过这招对红队杀伤力很大,如果红队贸然在服务器上运行了白名单之外的程序,蓝队利用日志分析系统能很快定位出被攻破的服务器。

    3.3.3 安全意识培训

    让员工了解钓鱼邮件,恶意U盘等相关信息,减少被钓鱼的可能性。

    3.3.4 双因素认证

    在重要的系统例如oa、vpn等登陆的时候使用双因子认证,主要用来防御暴力破解。

    3.3.5 态势感知

    态势感知系统会在宏观的角度显示当前正在发生的攻击事情,并给出初步的黑客画像,这个东西主要是给攻防演戏的指挥者看的,方便其进行大局上宏观角度的人员调度与工作安排,态势感知系统本身没有防御能力。

    参考文章

    浅谈大规模红蓝对抗攻与防
    红蓝对抗之域名搜集方法总结
    网络空间安全时代的红蓝对抗建设
    源头之战,不断升级的攻防对抗技术 —— 软件供应链攻击防御探索
    以攻促防:企业蓝军建设思考
    红蓝对抗之Windows内网渗透
    大型攻防演练游戏红方总结

    展开全文
  • 对抗样本和对抗生成网络demo,包括一个简单的tensorflow编写的gan网络
  • 对抗样本/对抗攻击

    千次阅读 2018-11-12 11:59:38
    对抗样本对抗攻击相关博客

    神经网络中的对抗攻击与对抗样本 https://baijiahao.baidu.com/s?id=1596201339578975526&wfr=spider&for=pc
    对抗样本:知其然,知其所以然 https://www.tinymind.cn/articles/1189
    对抗攻击的12种攻击方法和15种防御方法 http://3g.163.com/dy/article/DC5JFUQS0511FERQ.html
    Adversarial Examples 对抗样本 https://blog.csdn.net/qq_16234613/article/details/79679393

    Semantically Equivalent Adversarial Rules for Debugging NLP Models ACL2018

    A New Angle on L2 Regularization

    EAD: Elastic-Net Attacks to Deep Neural Networks via Adversarial Examples AAAI18

    Deepfool: a simple and accurate method to fool deep neural networks CVPR2016

    展开全文
  • 对抗基于深度神经网络的隐写分析的对抗示例
  • 基于生成对抗网络的对抗样本攻击方法,田宇,刘建毅,随着深度学习技术的广泛应用,深度学习安全问题也逐渐引起人们关注,其中,对抗样本攻击是深度学习在安全领域中的热点。如何对深
  • 对抗样本&对抗训练

    万次阅读 2018-05-03 18:14:10
    原文本文将会介绍对抗样本与对抗训练的相关知识(请将此对抗训练与Ian Goodfellow的生成对抗网络区别开来)。综合Ian Goodfelow在Berkeley CS 294-131的deeplearning topic上面的讲义,我将从以下几个方面介绍:什么...

    原文

    本文将会介绍对抗样本与对抗训练的相关知识(请将此对抗训练与Ian Goodfellow的生成对抗网络区别开来)。

    综合Ian Goodfelow在Berkeley CS 294-131的deeplearning topic上面的讲义,我将从以下几个方面介绍:

    • 什么是对抗样本?
    • 它们是怎么出现的?
    • 它们是怎么危害到机器学习系统?
    • 有什么办法防范?
    • 怎样使用对抗样本训练机器学习?

    由于本人的研究方向并非是神经网络,或者机器学习,所以对相关related work没有系统的调研,仅限于读过的几篇文章,浅尝辄止,有兴趣的读者可以参考论文原文。

    1、什么是对抗样本?

           自从2013年以来,深度的神经网络模型在各方面得到了广泛应用,甚至在某些方面达到可以匹配人类的性能,比如人脸识别,最高已经可以达到99.5%的识别率,代表产品有face++等。

           然而Christian Szegedy等人在2014年发表一篇文章:Intriguing properties of neural networks。这篇文章介绍了关于神经网络一个有趣的现象,即神经网络学习到的那个函数是不连续的!只需要在一张图片上做微小的扰动,就能让图片以很高的置信度被错误分类,甚至能让图片被分类一个指定的标签(不是图片正确所属的标签)。这对图片分类系统无疑是危害巨大!

           试想在支付宝这样使用人脸识别的应用中,攻击者可以轻轻松松伪装成“马云”会怎么样,呵呵。我们把这种攻击方式叫做“adversarial example”。

           其实在机器学习领域中,对抗样本的问题并不是第一次提到。Biggo等人在Evasion attacks against machine learning at test time这篇文章里就介绍过。他们给潜在的“敌人(adversary)”定义了一个模型“Adversary model”。一个敌对模型包括adversary goal, adversary knowledge和adversary capability等几个方面:

    • adversary goal(攻击目标): 分为两种目标,一是能够分类为好的即可(在垃圾邮件检测中,指分类为好的邮件)。

           如果有一个函数g定义在样本空间中X,g(x)<0表示分类为好,那么敌人的目标就是设计一个样本x*,让g(x*)<0。

           这种攻击很容易破解,只要调整分类界限即可(这里指g(x)=0这条边界)。所以,其实攻击者还有一个更好的目标是让g(x)尽可能小。

    • adversary knowledge: 敌人对机器学习训练系统的知识包括:

      • 训练集是什么
      • 样本的特征表示
      • 学习算法是什么,决策函数是什么
      • 分类模型是什么,比如线性分类器的权重
      • 分类器的反馈

    显然敌人拥有什么样的知识对系统的危害程度会不一样。

    • adversary capability: 敌人的能力,包括:

    - 修改输入数据
    - 修改特征向量
    - 修改某个制定的特征
    显然敌人的能力不同,攻击的危害也不同。
    建立在上面模型中的敌人(或者叫对抗者,攻击者)就是试图寻找对抗样本来误导分类器。

    2、它们是怎么出现的?

    那么作为一个攻击方,怎么依赖他拥有的知识来做攻击(即混淆分类器)呢?
    Biggo和Szegedy都提出了类似的攻击策略,基于最优化的方法,Biggo的攻击策略如下:

    x=argmaxxg^(x),s.t.d(x,x0)dmax

    它是说我们想找一个对抗样本x,使它尽可能被分类为好,并且与某个原来的样本x0在样本空间里还很接近(距离小于dmax)。
    Szegedy的攻击策略为:
    Minimize||r||2,subject to:1. f(x+r)=l,2. x+r[0,1]m

    它是说对于给定的某个样本x,怎么找离它最近的样本,使得被分类为标签l.

           这里不再赘述优化问题该怎么解,常用的方法有梯度下降,或者牛顿法,BFGS,L-BFGS. 上述两个优化问题分别使用梯度下降法和L-BFGS来解决。这两篇文章的实验细节我们也不再举例,我们只看一下结果

           Biggo的实验学术味更浓,Szegedy的实验则很直观了,他们的实验显示,给定一张图片,加一个微小扰动使它被错误的分类为某个指定标签。

    Szegedy
          上面每副图片的左侧是真实的图片,中间是加的噪音(就是优化问题中的r),右边生成的对抗样本图片。很好笑的是,6张对抗样本全部被错分类为了鸵鸟!!
           所以,这里已经解决了怎么找对抗样本的问题,但是没有深入到问题的本质,为什么能够找到?能找到我们不意外,因为我们总可以在原来的图片上“动手术”,让他改成我们要的样子,但是Szegedy的实验很出人意料,因为结果显示其实只需要很微小的扰动就能随意改变分类的标签,这又是为什么?
           下面我们再继续讨论,首先先看goodfellow是怎么总结现有结论的:

    • 使用Box-constrained L-BFGS能够找到对抗样本
    • 在ImageNet这样的数据集里,对抗样本和原始样本的差别非常小,人眼不可分别
    • 同样的对抗样本,会同时被不同的分类器错误分类,哪怕他们使用了不同的训练集
    • 浅层的softmax回归模型对对抗样本也很脆弱
    • 在对抗样本上训练能够正则化模型,但是代价高昂,因为训练集不容易获得。

            注意最后一条,大家可能在想,我们手动生成对抗样本喂给分类器学习不就完了吗,但是效果并不好,因为对抗样本的生成比较expensive。如果我们能知道对抗样本产生的原因,也许能更轻松的制造对抗样本,从而训练。
            在这些结论基础上,我们开始学习Ian Goodfellow的这篇文章,Explaining and Harnessing Adversarial Examples.
    对抗样本产生的原因仍然不是特别清楚,有人怀疑是因为深度神经网络模型的非线性性,也许再加上不充分的模型平均和不充分的正则化(即过拟合)。G认为这些猜测都是不必要的,相反,他认为模型在高维空间中的线性性对抗样本存在的罪魁祸首!!!
            举个例子,下面从一个线性模型入手,来解释对抗样本的存在性问题。
            在很多问题当中,一个输入的特征的取值精度通常是有限制的,这就意味着当在特征的取值上做一个微小的扰动(在精度范围内),分类器不应该返回不同的结果。比如我们现在有一个样本x

            和一个对抗输入x~=x+η,当η足够小的时候,分类器对xx~的响应应该要一样的。考虑一个权值向量ω,
    ωx~=ωx+ωη.

    对抗扰动使得激发增长了ωη. 显然,我们可以让η=sign(ω)来使激发增长最大。如果ωn个维度,如果在每个维度上增加m,那么激发可以增加ϵmn。因为||η||与维度无关,而激发增加量随维度线性增长,那么在高维问题中,我们可以很大程度改变输出,但是在输入上只需要做极小的改动!

            这个例子说明,如果维度足够的话,一个简单的线性模型同样存在对抗样本的问题。过去对对抗样本的那些牵扯到神经网络的性质的解释,比如误认他们具有高度的非线性性,可能都不对。Ian基于线性性的假设更简单,并且能够解释softmax回归也对对抗样本很脆弱的事实。因此,基于线性性,对抗样本很容易生成。Ian假设神经网络同样是因为太“线性”而不能抵抗对抗样本。LSTMs, ReLUs, 和maxout网络都设计得很“线性”,所以他们很容易被利用

          我们可以想象一个具有高度线性性的网络训练出来的函数,它的高阶导数近似于0,Taylor展开以后占主导作用的是线性部分,所以可以类比为线性分类器。线性性意味着线性模型上面的微小扰动同样能够破坏神经网络

           假设有一个模型,它的参数是θ,输入是xyx的目标,J(θ,x,y)是神经网络的损失函数。在目前的θ值,局部上可以将函数近似为线性,使用线性模型的攻击方法,我们得到一个最优的扰动

    η=ϵsign(xJ(θ,x,y)),

    这种方法称为生成对抗模型的快速梯度符号法,梯度可以通过反向传播算法(backpropagation)计算获得。

    3、它们是怎么危害到机器学习系统?

           讲到这里,有的人可能云里雾里了。如果我们有两张图片,人眼看上去一模一样,都是一间房子,但是cnn把一张分类为房子,一张分类为鸵鸟,这种分类器还有什么用啊。如果我们的模型随随便便就被欺骗,还能被投入使用吗,那那些研究不成了纸上谈兵了吗。

           但仔细看的人可能会说,不要慌。呵呵,确实,我们回过头去看,对抗样本是怎么找到的。即使是Ian的方法,都需要知道梯度怎么求,可是攻击者怎么知道我的模型是什么样子呢,换句话说,他不会求梯度生成对抗样本啊!

           可惜,对抗样本还有一个重要性质,叫做Transferability,转移性。什么意思呢,就是我在我的模型上找到一个对抗样本,放到别人的模型上,居然也有效。而且我通过我的模型把房子分类成鸵鸟,别人的模型很多时候居然也分类成了鸵鸟。。。这个可以称作灾难了,最后的堡垒也被攻破了,我们再怎么隐藏模型的细节,也可能会被攻击。(引用:Transferability in Machine Learning: from Phenomena to Black-Box Attacks using Adversarial Samples
           先等一下,我们再好好思考一下对抗样本的问题:有一张图片(房子),加了噪音,变成了鸵鸟。首先我们不用担心的是,这个噪音很难找,不是任意一个随机的噪音都能让原来图片被误分类。在线性模型中,在一张227*227图片的每个像素里做随机扰动,他们基本上都能抵消,即使不抵消,余下的也很少,而且扰动的方向不一定沿着梯度的负梯度符号方向,所以我们不担心这种情况。
           再回来,现在的分类器,正确率都特别高,softmax,cnn在mnist上面都有90%以上的正确率。这些分类器基本上都接近了分类的正确准则,他们差不多是等价的。这里说的很悬,我的意思是说,cnn和线性分类器很像,他们对输入的图片所做的操作,变换,最终结果都是线性的变换。而一张精心制作的对抗样本,是在负梯度符号方向上做微小扰动,而大部分的分类模型都有很高的线性性,他们对这种对抗策略应该是一样脆弱。

    4、有什么办法防范?

    参见下一节

    5、怎样使用对抗样本训练机器学习?

    以最简单的logistic regression为例。如果我们要训练一个模型来识别标签y{1,1}

    , P(y=1)=σ(wx+b),其中σ

    为sigmoid函数,然后在

    Ex,ypdataζ(y(wx+b))

    上作梯度下降,其中ζ(x)=log(1+exp(z))是softplus函数。下面将x代替为x上面的线性扰动,推到出的解析式为
    Ex,ypdataζ(y(ϵ||w||1wxb)).

    这类似于L1正则化,但不同的是,L1罚项是从激发中减去,而不是加到损失函数中。这样的坏处是会恶化欠拟合的情况。下图是Ian的解释原文:这里写图片描述

    需要注意的是,这里对于损失函数的估计过于悲观。在softmax回归中,很难找到一个扰动,让他在每个标签的梯度上都达到最坏(即与他们的符号相反),因此我们有必要减少ϵ


    Szegedy的文章Intriguing properties of neural networks表明将对抗样本和普通样本一起给模型训练能够使模型稍微正则化。训练对抗样本和普通的数据增加不一样:通常我们通过对数据进行变形来增加数据,这样变形后的数据是可能出现在测试集里的。而对抗样本这种数据通常不可能自然地出现在测试集中,但是它们可以揭露出模型的缺陷。增加对抗样本来训练并没有显著提高性能,有可能是因为实验样本不太够(Szegedy那篇文章使用expensive的L-BFGS来寻找对抗样本)。
    Ian发现使用对抗目标函数(基于快速梯度符号法)能够有效正则化模型:

    J~(θ,x,y)=αJ(θ,x,y)+(1α)J(θ,x+ϵsign(xJ(θ,x,y)).

    用这个方法来训练dropout网络,能够使错误率从0.94%降到0.84%。Ian发现训练集上的错误率并没有下降到0,作者做了两个改变,首先使网络更大,将每一层网络的节点从240增加到1600。如果没有对抗训练这可能会导致过拟合,此时测试集上错误率有1.14%。原来的maxout网络中验证集上错误率会平坦下降,但速度很慢,而对抗验证集不是,因此在对抗验证集上使用早停法。
    对抗训练的过程可以看做当数据被恶意扰动的时候,最小化最差情况的错误率。我在intel实习的一次组会上介绍过对抗训练,当时我提到使用正则化能有效降低对抗样本的错误分类率,有同事发出质疑:
    Q.正则化以后的实验是不是仍然用同样的对抗样本,如果是,那就没有意义,因为模型参数改变了,对抗样本理应重新找。如果不是,那很难理解,因为模型的线性性并没有改变,仍然可以找到对抗样本,没有理由错误率会降低。
    我的回答是:
    A.在论文原文里面作者是这样描述的:
    “The model also became somewhat resistant to adversarial examples. Recall that without adversarial training, this same kind of model had an error rate of 89.4% on adversarial examples based on the fast gradient sign method. With adversarial training, the error rate fell to 17.9%.”
    所以对于上面那个问题,我倾向于后者,也就是作者针对新模型,使用了Fast gradient sign method方法重新生成一批新的对抗样本。那为什么线性性没有改变,错误率能降低这么多呢。我觉得有一种可能解释是对于strong的正则化,模型(比如说线性模型)的weight会变得比较低。记得我们举过的例子,对线性模型,精心设计的对抗样本能使模型的activation改变大约ϵmn,这里的\epsilon是样本允许的波动范围,是固定的,m是平均的weight,当m很小的时候,对activation的扰动ϵmn会很小,从而对分类的影响比较小。所以,这里问题的关键变成了为什么strong的正则化会使weight降低。还记得在cost function里面加的正则化,是对样本的扰动进行惩罚,而高weight会使样本的扰动更大,那训练的时候模型显然会自然的降低weight来减少cost function的值。所以strong的正则化会使weight降低。*
    展开全文
  • 对抗样本与对抗训练

    万次阅读 多人点赞 2016-12-07 11:03:28
    本文将会介绍对抗样本与对抗训练的相关知识(请将此对抗训练与Ian Goodfellow的生成对抗网络区别开来)。综合Ian Goodfelow在Burkeley CS 294-131的deeplearning topic上面的讲义,我将从以下几个方面介绍: 什么是...
  • 对抗训练

    万次阅读 2018-10-18 21:21:09
    在对图像算法研究的过程中发现,一些机器学习方法(包括深度学习)对对抗样本非常敏感,这些对抗样本和非对抗样本非常相似,但是模型(已经在非对抗样本中训练好的模型)却会错分这些样本。为了能更好的分类该类样本...
  • 对抗网络生成网络实现
  • 对抗样本和对抗网络

    2018-03-03 14:44:05
    前言:本文转载lancezhange 的博文《对抗样本和对抗网络》,文章介绍了对抗样本的概念和相关文献,并且进一步介绍了生成式对抗网络(Generative Adversarial Nets, GAN)。 所谓对抗 样本是指将实际样本略加扰动而...
  • 对网络信息对抗与电子信息对抗的分析 现如今的时代是信息的时代每天都会有大量的信息流通或交互但自从斯诺登曝光美国政府的棱镜计划之后信息安全问题也成为了每个人乃至整个国家所不得不重视的问题而网络信息对抗...
  • 对抗性-源码

    2021-02-16 08:35:43
    对抗性 这项工作的目的是研究在特征可视化和听觉化方面,对抗性强的模型是否更难以理解。 相关工作 实验1 第一个实验是对通常训练有素的模型进行对抗攻击的基准测试,以了解为完成此任务而产生对抗攻击所需的干扰...
  • 红蓝对抗-反制

    万次阅读 2020-11-30 18:35:36
    CATALOG1.前言2. 1.前言 初次接触反制技术,写一个文档作为记录。 2.
  • 生成对抗网络和对抗神经网络 如果您最近一直在关注人工智能(AI)新闻媒体,则可能听说过Google的顶级AI人物之一Ian Goodfellow于三月份移居了Apple 。 Goodfellow在2017年被麻省理工学院评为35岁以下创新者之一,在...
  • 对抗样本与生成式对抗网络

    千次阅读 2017-05-31 15:56:53
    对抗样本和对抗性网络,从最开始YannLeCun在Quora上直播时表示生成对抗性网络是近期人工智能最值得期待的算法之一,到生成对抗性网络的发明者IanGoodfellow在Quora上直播讲述自己的学习经历和研究,成了人工智能领域...
  • 点击上方“机器学习与生成对抗网络”,关注"星标"获取有趣、好玩的前沿干货!戳我,查看GAN的系列专辑~!本文汇总了ECCV 2020上部分对抗相关论文,后续公众号会随缘...
  • 【机器学习】什么是对抗样本?对抗样本原理及分析,原作者Arxiv Insights。对抗样本由Christian Szegedy等人提出,是指在数据集中通过故意添加细微的干扰所形成的输入样本,导致模型以高置信度给出一个错误的输出。...
  • 电子对抗技术术语-雷达对抗工程基础 159P-54.8M.pdf
  • 对抗样本(对抗攻击)入门

    千次阅读 2019-12-03 19:03:56
    什么是对抗样本? 从2013年开始,深度学习模型在多种应用上已经能达到甚至超过人类水平,比如人脸识别,物体识别,手写文字识别等等。 在之前,机器在这些项目的准确率很低,如果机器识别出错了,没人会觉得奇怪。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,274
精华内容 9,309
关键字:

对抗