比束手无策更安全:对抗性方法改善社交机器人检测Better Sa
摘要
最近随着对抗性方法的传播,一种新型的时间方法正在出现:专门操纵样本来得到更健壮的检测模型。我们提出来一个基于遗传算法的检测账号的方法。结果表明,生成出的机器人真的可以逃避当前的检测技术。
介绍
对抗性学习方法的出现,使得能够提前揭示方法的脆弱性,同时测试算法技术,从而产生更加鲁棒性的学习方法。本文的核心目标是操纵目标检测样本,来产生更强的检测模型。本文的目标就是解答三个关键性,没有被探索的问题
- 能不能开发一个分析框架来模拟机器人进化
- 能不能使用这个框架来生成新一代机器人,并且这些生成的进化机器人能否规避当前先进方法的检测。
- 能不能用主动性和对抗性的思路的研究来改善当前的检测技术。
本文的方法
使用来数字DNA检测技术来回答上述3个问题,数字dna建模技术详情请见:DNA社交指纹这篇文章。自定义的遗传算法迭代的选择最好的进化子代,从而使种群向与人类账户更加相似的行为进化。
本文贡献
- 提出来GENBOT,为社交机器人检测而设计的新奇的遗传算法。通过设计一个损失函数来量化一代机器人和一组正常账号的差异性。GENBOt能够产生与人类账号在时间线上的行为相似的DNA序列。
- 讨论设计一个分析框架同时应用DNA建模和遗传算法来模拟社交机器人可能的进化方向,使用本框架进行实验并目标产生一些对抗性样本
- 我们使用三个先进的检测算法来评估我们的方案
- 通过学习这些对抗性样本产生的机器人的行为,分析还可以如何赶紧我们的检测方法。
方法的延展
虽然本文的方法使用DNA对时间线行为进行建模,并且也用DNA分析解决方案来实现对抗性方法思路的一种,也可以考虑其他的方法来实现这种思路。
背景和符号定义
数字DNA建模和数字DNA序列的相似性
详情请见DNA社交指纹这篇文章。
距离度量
LCS曲线可以代表一组用户的行为相似性,同时可以用LCS曲线下面积来计算整组之间的相似性。并且可以用下面公式进行计算。
LCS曲线下面积计算公式
遗传算法
本文与标准遗传算法不同的是,本文指的一代种群中的个体是一组用户,一个种群里由不同的用户组成。
本文符号如下:
符号解释新奇的模拟机器人进化的算法
适应度,变异,交叉的定义
适应度
本文的场景中的适应度就是,一组用户,也就是本文中代指的个体与一组人类账户的行为及其相符。目标就是最小化两组用户LCS曲线的距离。同时使用KL散度来计算两个LCS曲线的具体,(KL散度请见KL散度),本文使用的变体公式如下:
变体公式
Px(x)是从人类账户中观察到到分布。另一个是用来代替到机器人分布。
变异
由于人类账户中更倾向于发推特,所以A(tweet)->C或C的概率小,反过来概率更大,输入是一代个体,输出是变异后的一代个体。
变异算法
交叉
并且本文中定义来三种交叉。本文中的个体是一组用户账号,所以组交叉就是将两组用户进行混合,产生下一代个体。
组交叉操作
用户级交叉操作就是将两个用户的DNA序列进行交换。同时还有一个逆用户级交叉操作,就是先逆排序一个父亲序列,然后在进行用户级交叉操作,这个能大大提升变异效果。
用户记交叉操作
用户级交叉操作算法
GENBot算法
每轮迭代都是利用变异和交叉操作来获取新一代的机器人账户。首先对种群应用变异操作。然后对种群中的个体运用组交叉操作。然后再对个体中的固定数目的账户进行逆用户级交叉操作,最后在进行用户级交叉操作。再进行下一轮迭代。
genbot算法
实验设置
数据集
数据集由3474个人类账户组成,并且每个用户都简单都回答了问题。
实验设置
使用C++实现都代码,并且使用GLCR工具实现最长通用子串问题。DNA序列长度是2000。每一代有30个个体,迭代20000轮。第一代的个体,前1000位置都用A填充,其他500各用C和T填充。变异概率为0.0002。逆用户交叉操作数目是2,用户交叉操作是12。
结果
实验结果图与已有的技术进行对比,发现以前的方法在LCS头部的位置拟合的不是很好,本方法在尾部拟合的不是很好,原来的方法是由于重采样造成来一部分这种效果。如图5,并且也用AUC评价指标进行来对比,如表1。
规避检测
同时我们感兴趣当前最新的检测检测技术能不能检测进化的机器人。所以将进化机器人与人类用户混合,对比混合组与只有人类组的LCS曲线如图6,发现拟合的比较不错,从而能够逃避表4中提到的检测方法了。
通用性检测
将人类账户分成两组每组都只有原来的50%,然后进化生成机器人,然后在进行分析,发现分别生成的机器人也能分别拟合不同用户组的行为,同时也对比了评价指标。并且计算了人类账号分布和机器人账号分布的KL散度如表5,说明通用性也是有的。
如何改变当前的检测技术
不同序列的香农熵虽然生成的机器人的DNA序列一定程度上能规避原有方法的检测,但是对序列进行熵检测,发现机器人序列的熵要更大一些,因为机器人序列更加无序,而人类序列是有一部分规律,以及有一定的无序的。从而可以在规律检测上面增加我们方法的检测,提高鲁棒性。
讨论
回答问题一
能够将建模行为的DNA序列喂入GENBOt方法,来产生进化的机器人
回答问题二
通过实验,确实证明了,能够通过Genbot方法生成一些与人类账号建模的DNA相似的机器人从而规避了检测。
回答问题三
可以通过一些其他的行为分析,来增强检测系统的稳定性。比如机器人序列的熵更大等等角度。
总结自--Cresci等, 《Better Safe Than Sorry》.