本篇文章主要结合自己的亲身经历和体会表达一下对AI for Security的看法,整体态度偏消极。
本段将由大到小从国家、网上公开资料、项目三个方面说明智能化安全对抗时代的来临。 正如有时候觉得学得好不如嫁得好,在网络安全方面有时也是学得好不如运气好跟上了历史的进程。网络战早已被美军纳入作战体系,现如今中美关系对抗愈加激烈,随之而来的可能是成规模的网络对抗,从当前看来,AI技术比较适合大幅度提升网络对抗能力,所以智能化的网络对抗技术可能得到国家级的重点推进。笔者跟踪了几年来网上关于智能化安全的一些研究和进展,发现几年前大家重点研究的是AI安全检测,仅仅是弱智能化的安全防护,远达不到对抗的烈度,现如今随着对抗样本等对抗技术的火热,智能化安全对抗越来越得到学术界研究者的关注,无论是算法领域研究者,还是安全领域研究者。按照时间线,我经历的几个项目主题分别是:防御、反制、进攻、对抗,对抗烈度明显增加,这也许正验证着开头分析过的国家面临的安全对抗问题,相较于传统对抗手段,智能化的安全对抗技术显得不可或缺。
AI和安全之间的关系可分为四点:
- 应用安全
- 用AI来做应用安全防护
- 用AI来攻击应用
- AI本身安全
- (用AI)攻击AI(模型、系统、框架)
- AI模型防护
AI是手段,目标是安全,包括应用安全和AI安全。所以是AI for Application and AI Security,即AI for Security。
从应用安全的角度来说,用AI来做应用安全防护,比如做WAF或入侵检测,属于基础安全,做反欺诈检测,属于业务安全;用AI来攻击应用,比如用AI来自动化漏洞挖掘,属于系统安全,用AI来攻击验证码,属于业务安全;而从AI本身安全来说,(用AI)攻击AI,比如用对抗样本攻击AI模型,属于AI模型安全,用数据污染的手段攻击AI模型,属于AI数据安全;AI模型防护,比如对抗对抗样本和对抗数据污染,比较小众。
四者相辅相成,假如我们在防守位,正遭遇外界的攻击,包括传统攻击和AI攻击,如果我们用AI来做应用安全防护,对手可能采用对抗样本来攻击我们的AI,那么我们就要对AI模型进行防护,也就是对抗对抗样本。假如我们在攻击位,之前的过程颠倒即可。总的来说,攻防就是一个动态博弈的过程。
学术界研究者近几年比较关注对抗样本等智能化对抗技术,在四大顶会上也不断发表了系列关于机器学习和安全对抗的文章,有传统的机器学习安全检测文章,也有机器学习模型本身安全性对抗的文章,比如11月28日在湖北武汉举办的第八届全国网络与信息安全防护峰会(XDef2018安全峰会)第二天的议题中,来自中科院信工所和浙江大学的两位博士生展示了他们的研究成果:“恶魔音乐”攻击智能语音系统和DEEPSEC:面向深度学习模型的安全性评估系统,两项成果都是关于机器学习的安全对抗,分别发表在全球四大安全顶会中的Usenix Security 2018和IEEE S&P 2019,代表着学术界最新的研究进展。可以看出学术界的研究点开始转向了关于机器学习的对抗性技术研究。前几天去参加的XDef2018会议,对阿里巴巴集团安全部资深算法专家周涛博士分享的议题《机器学习还是统计模型:大数据安全分析应用实战》很感兴趣,可能代表着工业界对AI for Security的理解和做法,可能由于需求导致出发点不同,该议题重点在于防:AI安全检测和抵抗机器学习流量。AI作为一种手段,可以降维打击传统攻击,抵抗同级的AI攻击,但是要在实际场景中大规模应用还需要做大量工作,现在AI还只是弱智能化,适合加以利用做辅助决策。分享的内容都是主流的做法,所以我想工业界最新的成果大多不会公开,现在随着学术流高学历人才不断加入互联网公司,从而学术工程化,所以工业界的实力也应该是天花板。这就可能造成一个问题,我们容易得到并且消化的智能化安全对抗技术的资料都是价值过剩的资料。比如学术界研究的智能化对抗性技术都是偏研究性质的论文,实际的工程化可能较难,并且学术界可能也不会太关注工程化,对许多人来说,要吸收学术界前沿知识的门槛很高,对于大公司的尖端人才来说,可能再加以研究再工程化,成果当然不会公开。所以对于一般人来说,很难获取一手的学术界和工业界的智能化对抗技术,并且很难做到前沿技术工程化。
我们现在容易获取的资料主要集中在是AI安全检测方面,大部分文章都在自娱自乐,反反复复换汤不换药,都是同样的套路,未加以优化,质量低,只适合做做实验,很少在实际的生产环境下测试,效果未加以验证。
针对上面分析到的问题,我筛选整理了一份安全场景、基于AI的安全算法和安全数据分析学习资料,希望对AI for Security感兴趣的朋友们有所帮助。
安全场景、基于AI的安全算法和安全数据分析学习笔记(工程类学习笔记,不包含论文、书籍、视频等,不花里胡哨嘻嘻哈哈)
项目地址:https://github.com/404notf0und/AI-for-Security-Learning
最近更新日期为:2018/12/2
同步更新于:404 Not Found:AI for Security
目录:
- 深度学习在恶意软件检测中的应用
- 恶意软件与数据分析
- 利用机器学习进行恶意代码分类
- 用机器学习检测Android恶意代码
- Malware Detection in Executables Using Neural Networks
- 基于深度学习的恶意样本行为检测(含源码)
- 基于机器学习的web异常检测
- 基于大数据和机器学习的Web异常参数检测系统Demo实现
- 基于机器学习的web应用防火墙
- LSTM识别恶意HTTP请求
- 基于URL异常检测的机器学习模型mini部署
- 我的AI安全检测学习笔记(一)
- 基于机器学习的分布式webshell检测系统-特征工程(1)
- 深度学习PHP webshell查杀引擎demo
- 使用机器学习识别WebShell
- 基于机器学习的分布式Webshell检测系统
- GitChat · 安全 | 基于机器学习的 Webshell 发现技术探索
- 刘焱: Webshell 发现技术实战解析
- 安普诺张涛:再谈webshell检测
- 新开始:webshell的检测
- 基于机器学习的WebShell检测方法与实现(上)
- 机器学习在WindowsRDP版本和后门检测上的应用
- 用机器学习检测恶意PowerShell
- 机器学习算法在用户行为检测(UBA)领域的应用
- 利用机器学习和规则实现弱口令检测
- 解决机器学习和安全运营之间的最后一公里问题
- 安全领域中机器学习的对抗和博弈
- 基础攻防场景下的AI对抗样本初探
- 机器学习在安全攻防场景的应用与分析
- 使用生成对抗网络(GAN)生成DGA
- 详解如何使用Keras实现Wassertein GAN
- Is attacking machine learning easier than defending it?
- 对深度学习的逃逸攻击 ——探究人工智能系统中的安全盲区
从上面我收集的资料来看,目前易工程化的还主要集中在AI安全检测方面,但是大规模应用还是较难,还存在相当多的问题,尤其是深度学习。从场景来说,安全领域的场景非常复杂,各不相同,想找到通用的方法论解决所有问题怕是天方夜谭,所以需要对每种小场景结合机器学习技术具体处理,这就涉及到大量的人力财力和物力;从数据来说,就算不牵扯复杂的安全场景,安全数据的同构化也是一项挑战,李飞飞教授(是犹他大学的李飞飞,好像现在在阿里,不是斯坦福的李飞飞)发表在CCS的研究成果:DeepLog,可以解决这个问题;从模型来看,不考虑模型效果,机器学习和深度学习训练的模型的可解释性还是较弱,学术界已经开始尝试突破深度学习的可解释性问题,希望可以看见曙光。总的来说,连目前相对容易做的AI安全检测大规模应用都还存在问题,更何况智能化安全对抗技术了,但是形势不等人啊,智能化安全对抗已经来了,然而技术还没准备好。也许是因为在同一个环境太久,接触到的资源比较局限,所以限制了自己的视野,所以希望年后能找实习历练一下,让机器学习真正的在安全场景中落地。
Machine Learning Blog:
Machine Learning+Security Blog: