对抗样本 - 提高机器学习模型的性能

20200827 -

0. 引言

今天编写文章《DGA生成与检测 - 论文《DeepDGA: Adversarially-Tuned Domain Generation and Detection》阅读》时,那篇论文最后的实验中提到了增强机器学习模型的内容,顺着这个思路在谷歌上进行了简单的搜索,找到了两篇材料,本篇文章就对这两篇文章的内容进行简单的记录。

1. 简介

(1)Protecting the protector: Hardening machine learning defenses against adversarial attacks
(2)Hardening Neural Networks for Computer Security Against Adversarial Attack
上述文章都提到了对抗样本的概念,而且都是针对对抗样本的攻击来提高机器学习模型的性能。
文章1是微软的博客文章,通过列举了一些防御对抗样本攻击的措施,比如利用多层攻击、利用云服务等,这里不再具体描述,文章很简洁,可以直接去原文查看。
这里重点来说一说第二篇文章。

2. 利用惩罚项防御对抗攻击

文章2中提出了相应的案例,通过在某个PE文件上添加了一些字符串,逃避了检测系统的检测,而且能够达到100%,这个数值挺吸引人的。但我个人觉得很不可思议,有几点疑惑:
1)攻击者知道检测模型的具体参数吗?如果知道完全参数或者完全的检测流程,那么能构造这么精巧的攻击就不奇怪了,但是如果不知道,或者仅仅知道一部分,那就非常厉害了。个人感觉应该也是测试出来的。
2)检测模型为什么会这么容易就被绕过呢?
这些疑惑,我没有从文中得到解答,可能得等以后继续思考了。

2.1 模型被这么绕过的原因

一般而言,检测一个恶意样本首先要进行特征的提取,在这个过程之后,才会有相应的模型检测过程。那么,仅仅简单的通过插入字符串,而且保持了原有样本的功能性(文中提到),还能绕过检测,个人感觉应该是知道了可能的模型参数,知道如果是某种类型就不会被检测一样。回到特征的问题,这种通过修改样本之后,绕过检测肯定是一些重要特征发生了变化,导致它到了正常样本的区域。

那么,如果要提高这种攻击样本的检测能力,必须时保证整体的检测模型(包括前面的特征提取部分)能够免除这种噪声的影响。也就是说,它对于这部分的修改,特征对于这部分内容的代表性不受影响。

2.2 文章2提出的解决方案

文章2提出的解决方案就是,创建一个被添加了字符串的克隆样本,这个样本与原始样本的功能性一样,只是添加了新的东西。
在这里插入图片描述
然后,在训练的过程中,讲这两个样本同时输入(个人理解),然后在网络中,添加相应的惩罚向。这种方案很像之前的时候看到的那种孪生网络的形式。一旦两个样本发生了这种不同,就进行相应的惩罚。
这里仅仅记录这篇文章的思路,不进行具体展开。

3. 思考

虽然从文章2的描述中看来,对于这种添加字符串的方式效果不错。但是也引发我另外的思考,这种形式真的是对所有的对抗样本都有效吗?这个不好说。因为你构造样本的时候,就是构造的这种,如果他修改了其他的特征呢?所以这就是问题。
但这引出了另外的一个重要的问题,那就是找出具备区分性的特征,或者说,找到不受这种小干扰的特征组合,保持原有的样本的代表性特征,这种方式才是最关键的。但是,实际情况可能更复杂。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值