人工智能与安全论坛:智能与安全的融合与对抗

前几天随公司参加了互联网安全大会(ISC,Internet Security Conference),虽然只参加了半天的会议,感觉收获不。更重要的是偶遇师兄,人生无处不相逢的感觉,记录一下当时的会议内容也当作一下偶遇的纪念。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2018.9.5 ISC - 人工智能与安全论坛:智能与安全的融合与对抗
合作机构:中国人工智能学会人工智能与安全专业委员会(筹)
论坛主席:Dawn Song
主持人:李康 360智能安全研究院院长

致辞

Dawn Song
加州伯克利大学教授

没说啥实质内容,Dawn Song给人的感觉是一个年轻有为的华人女性,有李飞飞的感觉。听主持人说这领域的众多专家都是他的学习,主持人开玩笑道,为了让演讲者好好演讲,把他们的老师请过来监督他们。

致辞

谭晓生
中国人工智能学会人工智能与安全专业委员会(筹)发起人
360集团技术总裁 首席安全官

最早听说国外同行用机器学习做搜索,最开始他不相信,认为是在忽悠,后来评分结果出来了确实机器学习结果更好,他怀疑是评分机制有利于机器学习,最后才体会出确实人工智能机器学习很厉害。
受到这个启发,360很早就开始使用机器学习来做病毒检测,发现使用深度学习的模型具有高检出率,但是误报率很高,加入白名单之后能得到一个还不错的模型,最后又结合其他的方法,降低误报率,得到了一个很好的模型(没说具体是啥方法,感觉像是工程上的技巧)。然后他最后总结说希望大家“有所收获,有所行动”,感觉这个结尾不错,学到了。

基于DNN的二进制代码相似性检测

张超
清华大学网络研究院副教授

主持人介绍他是做比赛,写paper的style。

二进制代码相似性检测(Binary Code Similarity Detection, BCSD)
目的:

  • 代码克隆检测
  • 恶意代码检测
  • 相似漏洞挖掘
  • 补丁对比分析
  • 逆向工程辅助

难点:

  • 跨平台
  • 跨版本
  • 跨编译器

现有方案:

  • CFG:相似的代码具有相似的映射(不同函数之间的调用拓扑图),代表谷歌的BinDiff,缺点:图同构尚无多项式时间解法,特征工程会引入人为偏见
  • SMT:有约束求解器判断函数片段的语义相似性,缺点:负载效率低
  • 动态方法:在受控的随机(仿真)环境中对程序做片段质心,基于观察到的运行时行为特征,判断函数的相似性。缺点:部署灵活性低,把函数跑起来也不是很容易的事情

解决方案:αDiff: Cross-Version Binary Code Similarity Detection with DNN

刻画代码,把函数分成三部分:

  • 函数代码:Intra-Func特征
  • 函数与文件内其他函数的交互关系:Inter-Func特征
  • 函数与其他文件的交互关系:Inter-Mod特征

函数相似性=三个特征的距离之和

Intra-function Semantic Feature

把二进制代码用神经网络embedding为一个64维的向量
感觉核心是使用了一个Loss函数,因该就是triplet的另外一种表达方式,contrastive loss function:
定义两个函数的intra-function features的距离为:

D 1 ( I q , I t ) = f ( I q ; θ ) f ( I t ; θ ) D1(I_q,I_t)=|f(I_q;\theta)-f(I_t;\theta)|

the distance of two functions’ intra-function features定义为: L ( θ ) = y D 1 ( I q , I t ) + ( 1 y ) m a x ( 0 , m D 1 ( I q , I t ) ) L(\theta)=y\cdot D1(I_q, I_t)+(1-y)\cdot max(0,m-D1(I_q,I_t))

如果两个代码相似 y = 0 y=0 ,否则 y = 1 y=1 m m 是不相似函数的最小间距。
This objective function can be solved using Stochastic Gradient Descent (SGD) with standard back propagation algorithms.

Inter-function Semantic Feature

将函数在the call graph(函数调用拓扑图)中的in-degree和out-degree作为函数的inter-function feature。对于函数 I q I_q ,我们把2-dimensional vector g ( I q ) = ( i n ( I q ) , o u t ( I q ) ) g(I_q) = (in(I_q), out(I_q)) 作为他的Inter-function Semantic Feature。两个函数的the (Euclidean) distance of two functions’ inter-function features
定义为:

D 2 ( I q , I t ) = g ( I q ) g ( I t ) D2(I_q, I_t)=|g(I_q)-g(I_t)|

Inter-module Semantic Feature

把函数imported functions作为Inter-module Semantic Feature,因为相似的函数载入相似的库和模块。这个特征跨版本的鲁棒性比较强。因此我们定义: h ( s e t , s u p e r s e t ) = < x 1 , x 2 , . . . , x N > h(set, superset)=<x_1,x_2,...,x_N> N N 为superset的大小,如果superset第i个元素在set中, x i = 1 x_i=1 ;否则, x i = 0 x_i=0 I q I_q I t I_t 载入的函数集合为 i m p ( I q ) imp(I_q) i m p ( I t ) imp(I_t) 。定义the (Euclidean) distance of two functions’ inter-module feature为

D 3 ( I q , I t ) = h ( i m p ( I q ) , i m p ( I q ) i m p ( I t ) ) h ( i m p ( I t ) , i m p ( I q ) i m p ( I t ) ) D3(I_q, I_t)=|h(imp(I_q), imp(I_q)\bigcap imp(I_t))-h(imp(I_t), imp(I_q)\bigcap imp(I_t))|

两个函数总体的距离定义为:

D ( I q , I t ) = D 1 ( I q , I t ) + ( 1 ξ D 2 ( I q , I t ) ) + D 3 ( I q , I t ) D(I_q, I_t)=D1(I_q, I_t)+(1-\xi^{D2(I_q, I_t)})+D3(I_q, I_t)

ξ \xi 为一个0到1的数。

评测指标:

  • Reacall@K:正确答案出现在前K个中的比例(越大越好)
  • MRR:正确答案出现的位置的调和平均数

结论:加入CNN的模型效果更好,即使只有Intra-function Semantic Feature也比BinDiff效果好,加入剩下的特征效果会进一步提升。

人工智能安全平台

朱军
清华大学教授
realAI首席科学家

主要介绍他们开发的神经网络的对抗模型评估平台

攻击器:

已知梯度的攻击方法(有约束的优化问题 a r g m a x x L ( x , y ) , s . t . , x x < ϵ argmax_{x^*}L(x^*,y),s.t.,|x^*-x|_{\infty}<\epsilon ):

  • 单步FGSM: x = x + ϵ s i g n ( x L ( x , y ) ) x^*=x+\epsilon\cdot sign(\nabla_x L(x,y))
  • 迭代FGSM: x t + 1 = c l i p ( x t + α s i g n ( x L ( x t , y ) ) ) x^*_{t+1}=clip(x^*_t+\alpha\cdot sign(\nabla_x L(x^*_t,y)))

可以调整的有距离( l 1 l_1 , l 2 l_2 , l l_\infty ),增加局部噪声,自定义损失函数(交叉熵,欧式距离,铰链)

已知预测得分(score)的攻击方法:

  • 数值梯度
  • 遗传算法

已知预测值的攻击方法:

  • 边界攻击
  • 黑盒迁移攻击

安全报告:

给攻击者知道的越多越危险

防御器

观察对抗样本和原图可知,对抗样本局部放大之后可以看到很多噪点,原图平滑很多。防御器思路就是加一个自编码的神经网络做去噪,然后再L1正则化一下作为判别的神经网络的输入。

攻击检测:判断是否为对抗样本
对抗训练:将对抗样本加入训练集
混淆输出:对模型的梯度和结果进行处理,使得攻击者更难得到对抗样本

深度模型脆弱性检测和加固

刘焱
百度安全实验室AI安全负责人
公众号:兜哥带你学安全

对抗样本按照攻击成本可分为白盒攻击,黑盒攻击,real-world/物理 攻击

数据投毒,在训练集中加入一些数据使得模型失灵。

常见的模型加固方法:

  • Feature Squeezing
  • Spatial Smoothing
  • Label Smoothing
  • Adversarial Trainning
  • 数据增强

AdvBox是百度安全实验室AI安全团队开发的一套AI模型防御工具箱,支持众多攻击算法。为什么要开源:开源更有利于构造自己的生态,Hadoop刚开始没开源,导致后来谷歌还得改写API接口以适应其他开发者。

人工智能系统中的安全风险

李康
360智能安全研究院院长

人工智能应用面临的安全风险:

  • 逃逸攻击:欺骗人工智能应用
  • 模型推断攻击(model inference attack):人工智能模型和数据安全:
  • 拒绝服务攻击(DoS attack):干扰人工智能服务的正常运行
  • 传感器缺陷攻击(attack sensors):攻击人工智能应用输入系统

发现学术研究中的模型黑盒攻击中的黑盒不够黑,知道input的size,没考虑实际系统的预处理。因为发现对抗样本scale一下size就不work了。

他的工作就是推测模型的input scale,很巧妙的方法使得一张1024的图缩放到不同大小显示的画面不同,这样一张图片就可以推测出模型的input到底是多大了。再实际线上的系统中测试,这个方法有效。(感觉很聪明,想法比较工程化。)

提出了逆向工程的新思路,利用不同层对CPU,GPU和内存的消耗不同,可以推断出不同的层对应的程序,从而方便逆向(行为动态分析,导致传统的混淆防护失效)。解决方案:npu硬件加密。

Security for Machine Learning

Neil Gong
ECE Department
Iowa State University

推荐系统的攻击:同时出现,捆绑热点,使得自己的内容总是出现在推荐中。

防御对抗样本的方法(region-based classification),将样本扰动,放进分类器看预测结果的分布,可以得到更鲁棒的结果,还可以看出样本是不是对抗样本。

fulture:可证明的攻击防御

对抗样本的好的用处:用对抗样本的思想保护用户的隐私(好思路,将本身的样本混淆一下作为攻击者能看到的样本,导致攻击者判断失效)。

AI时代的攻与防

苏志刚
京东安全北美研究院院长

账号安全:AI Empowered
APP安全SDK->注册和登陆环节->异常检测->订单风控->业务验证和反馈
设备指纹->生物探针->行为分析->黑产情报

机注:

  • 成熟的工具:火牛和刀锋
  • 黑灰产供应链:
  • sim卡
  • 解码平台
  • 短信验证业务
  • 身份证
  • 检测特征
  • 机器行为
  • 虚假信息

机注检测:鼠标追踪移动速度是否非匀速
批量下单,地址聚类
流量特征检测是否是黑产工具,cookie

账号销售

  • 账号分类销售
  • 销售平台
  • 友商零售平台
  • 社区IM(QQ,微信)
  • 批发网站

黄牛行为

攻:爬虫->QQ群传递消息->黑产软件登陆->打码平台图像识别->羊毛变现
守:反爬虫->NLP黑产活动监控->黑产软件逆向->高对抗样本->地址聚类

机注是万恶之源

  • 批量机注账号
  • 检擦机注
  • 黑产情报:深挖黑产工具和策略
  • 无监督学习
  • 有监督学习
  • 挑战:低误判率

基于人工智能的金融风控和反欺诈技术

黄玲
慧安金科(北京)科技有限公司创始人/CEO

聚类加分类,半监督
图分析(利用图相似度降维)
特征:注册时间
机器学习学习出一套规则

对话环节

影响深刻的就是对于攻守方的讨论,认为攻永远比防更容易。防可能占优的方法是用更底层的东西对抗,硬件加密等。实在防守不容易的话可以加数字水印,诉诸法律手段。
还知道了黑产公司和正规公司一样,有产品经理测试开发,和正常互联网公司一样的架构。

猜你喜欢

转载自blog.csdn.net/SrdLaplace/article/details/82824094