`
baishancloud
  • 浏览: 6990 次
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

AI重新定义Web安全

阅读更多

作者简介:


丛磊

 

白山合伙人兼工程副总裁。

丛磊先生2016年加入白山,主要负责云聚合产品的研发管理和云链产品体系构建等。

丛磊2006年至2015年就职于新浪,原SAE(SinaAppEngine)创始人,曾任总负责人兼首席架构师,2010年起,带领新浪云计算团队从事云相关领域的技术研发工作。(注:SAE是国内最大的公有云PaaS平台,拥有70万用户。)

丛磊拥有10项发明专利,现任工信部可信云服务认证评委。

 

 

云给安全带来的影响

 

 

距离2006年Amazon发布EC2服务已经过去了11年,在这11年里,发生的不仅仅是AWS收入从几十万美金上涨到100多亿美金,更重要的是云计算已经走进每一家企业。根据信通院发布的“2016云计算白皮书”,目前近90%的企业都已经开始使用云计算(包括公有云、私有云等),这说明大规模云化对于企业而言已经不只是趋势,更是确凿的既成事实。

 

云化普及的同时也给安全带来很多挑战,主要包括:

 

云化导致以硬件设备为主的传统安全方式失效。我在跟企业交流时,不止一家企业提出了这样的担心:在上公有云的过程中,因为无法把已购买的硬件防护搬到云上,所以非常担心业务安全性。有趣的是,他们对于上云后的流量层攻击反倒不担心,因为他们认为云上的高防IP等产品可以解决大部分问题。云化导致了业务层的安全空白,这不仅发生在公有云环境,在私有云环境也时有发生,以OpenStack Icehouse版本为例,至今仍缺少能够有效横向扩展的Web安全组件。

 

云化导致攻击/作恶成本大大降低。云是IT领域里“共享经济”的再升级,从最早的IDC租用升级进化到Linux kernel namespace租用,但这种“共享经济”在给企业带来成本降低、使用便利等益处的同时,也顺便给攻击者带来了同样的好处。按目前市场行情,攻击者租用一个公网弹性IP的成本可低至1元/天,租用一个IaaS平台的hypervisor层的计算环境,每日成本也只有几元,如果是container层的计算环境,成本还要更低。如此低的成本,致使攻击者不再像过去那样花大力气挖掘培养肉机,而是可以在瞬间轻松拥有用于攻击的计算网络资源。以白山服务的某著名互联网招聘领域客户为例,攻击者最多可以在一天内动用上万个IP以极低的频率爬取核心用户简历。

 

云化导致业务可控性降低,遭遇攻击的风险大大提高。实际上云客观造成了业务的复杂性和不可控性:大量自身或合作方的业务都跑在同一个云上,其中任何一个业务被攻击,都有可能对其他部分造成影响。不可否认,现有的hypervisor隔离技术很成熟,以CPU为例,通过计算时间片分配进而在执行指令间插入各种自旋锁可以精确控制执行体的CPU分配,其他资源包括内存、IO也都可以恰当的控制。但在所有资源里,隔离性最脆弱的就是网络,尤其是公网,毕竟NAT出口、域名等很难被隔离所以,我们不得不面对这样的现实:在享受云计算时代红利的同时,面临的业务层安全问题也越来越严重。

 

 

安全产品需要变革

 

 

遗憾的是,很多传统安全产品并没有跟上这个时代。最明显的例子,15年前的防火墙就依靠着在命令行设定各种各样的policy工作;而15年后的今天,一切的变化只是由命令行设定policy变成了界面设置policy,这不得不说是一种悲哀!



对于传统安全产品,设定policy是一种痛苦

我曾经听某著名安全厂商的布道师演讲,“买了我们的产品不代表你的业务就安全了,你必须学会怎么配置!”,这话听起来有道理,但遗憾的是,大多数公司的安全人员并不是公司的业务开发者,他们不知道业务页面应该从哪个referer过来、不应该接受哪个user-agent的请求,也不知道某个接口应该接受哪些参数,甚至不知道业务对于单个用户的合理访问频率区间。更遗憾的是,这些传统安全产品价值不菲,在你花了上百万银子后,很可能毫无作用,而最悲哀之处在于“你以为它在起作用!”

 

传统的安全产品因为必须要串接到业务中间,这带来了极大的不稳定性。虽然某些先进的硬件机制可以通过技术降低这个风险,但仍不可避免的是:串接会带来性能延迟+带宽瓶颈。有些企业一开始购买了100Mbps吞吐量的硬件安全产品,但当业务突增时,硬件却无法自由横向扩容。更麻烦的是,串行模式一旦分析的维度变得复杂(如策略变多时),就注定会造成业务的访问延迟;而分析维度一旦少,如退化为只做固定时间内访问频率限制,又会造成识别错误率上升。这是传统安全产品无法解决的永恒矛盾体。

 

不幸的是,虽然传统安全产品存在诸多问题,但很多用户仍在默默忍受,甚至习惯了每天配置策略的工作。但这并不意味着合理。

 

在不便中,一直蕴藏着技术革新的机会!这时,机器学习来了!

 

机器学习是解决安全问题的金钥匙

 



 机器学习发展史

机器学习其实早已到来。由上图中可以看出,目前大红大紫的深度学习,其源头-神经网络,早在上世纪70年代就已经被提出。从上世纪80年代到本世纪,机器学习本身经历了几次平淡期和爆发期,随着数据的发展和一些热点事件(如AlphaGo战胜李世石)机器学习又一次进入爆发期。

 

那么大数据和机器学习具有什么关系呢?这还要和深度学习挂钩,从理论上讲,深度学习本质上是利用多层的神经网络计算,代替传统特征工程的特征选取,从而达到媲美甚至超越传统特征工程进行分类算法的效果。基于这个逻辑,当标注样本足够多时(即所谓“大数据”),通过深度学习就可以构造出非常强大的分类器,如判断一个围棋的棋局对哪方有利。

 

AI随着目前深度学习的火爆看似非常强大,但不幸的是,坦白讲目前AI的发展成熟度远没有达到可以取代人脑抑或接近人脑的水平。根据图灵测试理论,AI本身要解决的问题无外乎:识别、理解、反馈。

这三个问题逐步递进,真正智能的机器人最终可以跟人脑一样反馈,从而在图灵测试中无法区分它是人还是机器。

 

按当前AI发展情况,“识别”的进展目前效果最好,无论是图像、语音还是视频,目前很多厂商都可以做到很高的识别率;但“理解”就差强人意了,大家都用过苹果的Siri,它还未能达到与人真正对话的程度;而反馈就更难了,这要求在理解的基础上不断地应变,同一个问题可能因对方身份、心情、交流场合不同,以不同的语气语调做出不同反应。

 

所以,目前应用机器学习效果非常好的领域,几乎都是某个特定领域内的识别问题,并非通用领域,如人脸识别、人机对弈(人机对弈本质上也是某个棋种领域的识别问题:机器通过学习成千上万的棋局后,就可以自动识别某一棋局在一方走的情况下对谁有利。)

 

非常幸运的是,安全领域中问题大多是特定场景下的识别问题,而非通用场景,也并未涉及理解和反馈,你只需要把相关数据交给机器学习系统,让它做出识别判断即可:安全或者不安全,不安全的原因。

 

正因为安全问题本质是特定领域内的识别问题,所以从理论上讲,机器学习非常适合应用在安全领域,是解决安全问题的金钥匙。

 

 

安全结合机器学习的难点

 

 

虽然机器学习早已存在,但是长久以来并未改变安全市场,以“土办法(设定策略)”立足的产品仍旧占据主导地位,究其原因,主要有以下几点:

 

1.不同于其他通用领域,安全领域的样本标注成本较高。对于机器学习而言,拥有海量、完整、客观、准确的标注样本异常重要,标注样本越多、越全面,训练出来的分类器才可能越准确。对于所有行业来讲,获取样本(标注样本)都并不容易,而安全领域尤为困难。如对人脸识别的标注,初中生甚至小学生就可以完成,但对于一次安全的威胁事件,就需要极具经验的安全人员才可以完成,两者的成本差距十分巨大。



  某个注入攻击

如上图所示,这个注入攻击经多次复杂编码,非专业人事很难进行样本标注。所以目前在通用场景下,之所以安全领域中深度学习落地并不多,主要原因也是很难获取海量的标注数据。

 

2. 不同于通用领域,安全领域的场景特点更加明显,判断攻击的标准会随着业务特点的不同而不同。以最简单的CC攻击为例,600次/ 分钟的访问对于某些企业可能意味着破坏性攻击,但对其它企业则属于正常访问范围。所以,即便有大量的标注样本,某一企业的标注样本可能对于其他企业毫无用处,这也是导致安全领域应用机器学习较为困难的另一个重要原因。

 

3. 针对传统的文本型攻击,传统思维认为简单的特征工程,甚至直接的正则匹配更有效。

我们把Web攻击分为行为型攻击和文本型攻击两类:

     - 行为型攻击:每个请求看起来都是正常的,但将其连接成请求走势图时,就会发现问题,如爬虫、撞库、刷单、薅羊毛等。以刷粉行为为例:每个请求看起来都是正常的,但攻击者可能动用大量IP在短时间内注册大量账号,并关注同一个用户。只有我们把这些行为连接起来一起分析时,才能发现问题。

    - 文本型攻击:传统的漏洞类攻击,如SQL注入、命令注入、XSS攻击等,单纯的把一个请求看成是一段文本,通过文本的特征即可识别其是否为攻击。

当特征的维度空间较低,且有些维度的区分度很高时,通过简单的线性分类器,就可以实现不错的准确率,例如我们简单的制定一些SQL注入的正则规则,也可以适用于很多场景。但是,这样的传统思维却忽略了召回率问题,实际上也很少有人知道,通过SQL注入的正则规则,可以达到多少的召回率。同时,在某些场景,假如业务的正常接口通过JSON传递SQL语句,那么这种基于正则规则的分类器就会产生极高的误判。

然而传统安全厂商还尚未意识到这些问题。

 

4. 传统安全人员并不了解机器学习。这是一个不争的事实,大量传统安全公司的安全人员精于构造各种漏洞探测、挖掘各种边界条件绕过,善于制定一个又一个的补丁策略,却并不擅长AI机器学习方面的内容,这也说明了这种跨界人才的稀缺和重要。

 

正是由于以上原因,AI智能的安全产品迟迟没有出现,但没人可以否认,用户其实早已厌倦policy驱动的规则模式,期待有一种可以适应大多数场景、能够针对行为或文本做深入分析、不需要复杂配置就可以达到高准确率和召回率的Web安全产品。

 

于是,我们用AI重新定义Web安全,因为我们坚信异常行为和正常行为可以通过特征识别被区分。

 

 

用AI重新定义Web安全

 

那如何解决安全领域的样本标注问题呢?机器学习分为两大类:监督学习和无监督学习。监督学习要求有精准的标注样本;而无监督学习则无需标注样本,即可以针对特征空间进行聚类计算。在标注困难的安全领域,显然无监督学习是一把利器。

 

应用无监督学习

 

无监督学习无需事先准备大量标注样本,通过特征聚类就可以将正常用户和异常用户区分开,从而避免大量样本标注的难题。聚类的方式有很多,如距离聚类、密度聚类等,但其核心仍是计算两个特征向量的距离。在Web安全领域,我们获得的数据往往是用户的HTTP流量或HTTP日志,在做距离计算时,可能会遇到一个问题:每个维度的计算粒度不一样,如两个用户的向量空间里HTTP 200返回码比例的距离是两个float值的计算,而request length的距离则是两个int值的计算,这就涉及粒度统一归一化的问题。在这方面有很多技巧,比如可以使用Mahalanobis距离来代替传统的欧式距离,Mahalanobis距离的本质是通过标准差来约束数值,当标准差大时,说明样本的随机性大,则降低数值的权值,反之,当标准差小的时候,说明样本具有相当的规律性,则提高数值的权值。

 

无监督的聚类可以利用EM计算模型,可以把类别、簇数或者轮廓系数(Silhouette Coefficient)看成EM计算模型中的隐变量,然后不断迭代计算来逼近最佳结果。最终我们会发现,正常用户和异常聚成不同的簇,之后就可以进行后续处理了。当然,这只是理想情况,更多情况下是正常行为与异常行为分别聚成了很多簇,甚至还有一些簇混杂着正常和异常行为,那么这时就还需要额外技巧处理。

 

学习规律

 

无监督聚类的前提是基于用户的访问行为构建的向量空间,向量空间类似:

[key1:value1,key2:value2,key3:value3...]

 

这里就涉及两个问题:“如何找到key”以及“如何确定value”。

 

 找到合适的key本质是特征选择问题,如何从众多的特征维度中,选择最具有区分度和代表性的维度。为什么不像某些DeepLearning一样,将所有特征一起计算?这主要是考虑到计算的复杂度。请注意:特征选择并不等同于特征降维,我们常用的PCA主成分和SVD分解只是特征降维,本质上DeepLearning的前几层某种意义上也是一种特征降维。

 

特征选择的方法可以根据实际情况进行。实验表明在有正反标注样本的情况下,随机森林是一个不错的选择。如果标注样本较少或本身样本有问题,也可以使用Pearson距离来挑选特征。

 

最终,用户的访问行为会变成一组特征,那特征的value如何确定?以最重要的特征——访问频率为例,多高的访问频率值得我们关注?这需要我们对于每个业务场景进行学习,才能确定这些key的value。

 

学习的规律主要包括两大类:

1. 行为规律:自动找出路径的关键点,根据状态转移概率矩阵,基于PageRank的power method计算原理,网站路径的状态转移矩阵的最大特征值代表的就是其关键路径(关键汇聚点和关键发散点),然后顺着关键点,就可以学习到用户的路径访问规律。

2. 文本规律:对于API,可以学习出其输入输出规律,如输入参数数量、每个参数的类型(字符串or数字or邮箱地址等)、参数长度分布情况,任何一个维度都会被学习出其概率分布函数,然后就可以根据该函数计算其在群体中的比例。即便是最不确定的随机分布,利用切比雪夫理论也可以告诉我们这些值异常。例如:假如GET /login.php?username=中的username参数,经过统计计算得出平均长度是10,标准差是2,如果有一个用户输入的username长度是20,那么该用户的输入在整体里就属于占比小于5%群体的小众行为。

通过特征选择和行为、文本规律学习,我们就可以构建出一套完整且准确的特征空间将用户的访问向量化,进而进行无监督学习。

 

让系统越来越聪明

 

如果一个系统没有人的参与,是无法变得越来越聪明的,强大如AlphaGo也需要在同人类高手对弈中不断强化自己。在安全领域,虽然完全的样本标注不可能,但是我们可以利用半监督学习的原理,挑选具有代表性的行为交给专业的安全人员判断,经过评定校正,整个系统会越发聪明。安全人员的校正可以与强化学习和集成学习结合实现,对于算法判断准确的情况,可以加大参数权重,反之则可以适当减少。

类似的想法出现于国际人工智能顶级会议CVPR 2016的最佳论文之一,“AI2: Training a big data machine to defend”,MIT的startup团队,提出了基于半监督学习的AI2系统,可以在有限人工参与的情况下,让安全系统更安全更智能。

 

重新定义Web安全

 

基于上述几点,我们基本可以勾勒出基于AI的Web安全的基本要素:



 AI Web安全技术栈

从图中可以看到,所有算法均包含在实时计算框架内。实时计算框架要求数据流的输入、计算、输出都是实时的,这样才可以保证在威胁事件发生时系统迅速做出反应。但是,实时计算的要求也增加了很多挑战和难点,一些传统离线模式下不是问题的问题,在实时计算下会突然变成难题。如最简单的中位数计算,要设计一套在实时流输入的情况下同时还能保证准确性的中位数算法并不容易,T-digest是一个不错的选择,可以限定在O(K)的内存使用空间。还有一些算法可以实现在O(1)内存占用的情况下计算相对准确的中位数。

 

综上所述,我们可以看出利用AI实现Web安全是一个必然的趋势,它可以颠覆传统基于policy配置模式的安全产品,实现准确全面的威胁识别。但是,构造基于AI的安全产品本身也是一个复杂的工程,它涉及特征工程、算法设计和验证,以及稳定可靠的工程实现。

 

 ATD深度威胁识别系统

白山一直在基于AI的Web安全方面探索,并于2017年7月正式推出ATD(Advanced Threat Detection,深度威胁识别)产品,可以准确识别并拦截各种行为或者文本攻击,包括爬虫、恶意注册、撞库、刷单刷票、薅羊毛、各种注入攻击脚本攻击等,短短半年内已经积累了30余家大中型企业客户。实践证明,机器学习确实在Web安全方面收效颇佳,如:

 

 国内某Top3招聘网站,长期以来一直被爬取简历,这些恶意爬虫非常智能,在User-agent、referer等字段上完全模拟正常用户,并内嵌PhantomJS,可以执行JavaScript脚本,使传统的JS跳转防御方式完全失效。这些爬虫动用大量弹性IP,以极低频率抓取,据统计,单个客户端每天最低可以低至十次以下,传统的安全产品对此完全丧失防御能力。而基于机器学习的ATD则可以通过特征向量建模,准确区分低频爬虫与正常用户行为。经验证,准确率高达99.98%。

 

国内某Top3直播平台,存在大量的恶意刷分刷排名情况,这种行为破坏了平台的公平性,本质上损害了平台利益。作恶团伙事先批量注册大量小号,在需要时冲排名。这些行为显然传统安全产品无能为力,某些新兴安全产品虽然可以解决,但需要大量定制化规则,通用性较差。机器学习算法正好弥补了以上不足,通过行为分析可以计算出关键路径和规律,然后利用子图识别等算法分析出作恶团伙,最终输出ID账号。经用户验证,ATD的准确率高达99%以上,召回率比传统安全产品提高10倍以上。

 

总之,基于AI的Web安全是新兴的技术领域,虽然目前还处于发展期,但最终一定会取代以policy为驱动的传统安全产品,成为保证企业Web安全的基石。

<!--EndFragment-->
  • 大小: 139 KB
  • 大小: 616.9 KB
  • 大小: 264.6 KB
  • 大小: 165.8 KB
  • 大小: 167.5 KB
  • 大小: 311.6 KB
  • 大小: 139 KB
分享到:
评论

相关推荐

    人工智能在Web安全领域的应用.pdf

    人工智能(AI)作为一种新兴的技术手段,正逐步应用于Web安全领域,为网络安全提供了新的解决方案。本文主要探讨了人工智能在Web安全中的具体应用,包括基于规则的方法、机器学习以及深度学习等技术。 首先,传统的...

    人工智能专题报告:生成式AI,人工智能新范式,重新定义生产力.docx

    《人工智能专题报告:生成式AI,人工智能新范式,重新定义生产力》 人工智能,特别是生成式AI,正在引领一场革命,重新定义生产力的边界。这一技术的兴起标志着人工智能从简单的决策辅助向创新创造转变,开启了AI的...

    [应急响应]大数据与智能革命重新定义安全服务.zip

    标题中的“大数据与智能革命重新定义安全服务”指的是在信息技术快速发展背景下,大数据分析和人工智能(AI)技术的应用正在改变网络安全的面貌。随着网络攻击手段的不断进化,传统的安全防护手段已无法满足需求,...

    「企业安全」MesaTEE_SGX:借助_Intel_SGX_重新定义人工智能和大数据分析 - 访问管理.zip

    【企业安全】MesaTEE_SGX:借助Intel SGX重新定义人工智能和大数据分析 - 访问管理 在当今数字化时代,企业对数据安全和隐私保护的需求日益增长,尤其是在人工智能(AI)和大数据分析领域。MesaTEE_SGX是这样一个...

    ASC网络安全峰会:大数据与智能革命重新定义安全服务.pdf

    本资料提供了第一届ASC网络安全峰会的会议资料,覆盖了众多网络安全的重要议题,涵盖了多个子领域,包括Web安全、信息安全以及数据安全。 议题方向 一 网络安全人才培养 二 无色无味-Wi-Fi各场景中的药与毒 三 ...

    基于Web的人工智能专家系统简易动物识别系统

    "基于Web的人工智能专家系统简易动物识别系统"是一个利用Web技术构建的人工智能应用,它的核心功能是实现对动物的自动识别。这个系统将人工智能的算法与Web开发技术相结合,旨在为用户提供一个便捷的、基于网络的...

    人工智能资料(web形式)

    1. 人工智能定义与历史:AI自20世纪50年代初被提出以来,经历了多次起落,从最初的符号主义逻辑到现代的深度学习,AI的发展历程充满了探索与创新。 2. 机器学习:作为AI的核心部分,机器学习是让计算机通过数据学习...

    AI绘图web源码.zip

    随着人工智能技术的发展,AI绘图已成为创新领域的一股热潮,特别是在线Web应用的兴起,使得用户无需专业软件,就能享受到AI带来的艺术创作乐趣。本文将围绕“AI绘图Web源码”进行深入探讨,帮助开发者了解这一领域的...

    web安全云防护系统

    1. Web安全云防护系统的定义:Web安全云防护系统是一种专门针对网站安全问题提供保护的系统,它通过云计算技术,将360网站卫士、360智能DNS系统和运维监控平台、360网站安全检测系统、360安域大数据分析系统等集成,...

    网络安全视角下的人工智能

    ### 知识点一:网络安全视角下的人工智能现状及背景 #### 现状与媒体热度 - **媒体关注度**:近年来,“人工智能”、“机器学习”、“网络安全”等相关词汇频繁出现在媒体上,反映了这些技术及其结合应用的重要性...

    AI绘图web网页源码附带接口教程

    总结,本教程提供的AI绘图Web网页源码是一个结合了人工智能和Web开发的实践项目,适合学习者或开发者探索AI在创意领域的应用,同时也为提升Web开发技能提供了宝贵的实践机会。通过深入研究和实践,你可以掌握从接口...

    人工智能-数据挖掘-基于WEB日志的数据挖掘.pdf

    【描述】:本文探讨了如何通过数据挖掘技术,特别是基于WEB日志的数据挖掘,来提升人工智能系统的效能和安全性。通过分析WEB服务器的日志文件,建立了一套数据挖掘系统,旨在改进网站管理、优化设计以及增强网络安全...

    人工智能_人工智能ppt_中科大人工智能PPT_

    - 人工智能的定义:人工智能(AI)是研究、开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的一门新技术科学。 - 发展历程:从早期的逻辑推理到现代的机器学习,再到深度学习的发展。 - 应用领域...

    信息安全之Web劫持与流量劫持法律治理研究.pdf

    AI和安全分析的结合是现代网络安全的重要趋势,利用人工智能进行威胁预测和响应,可以显著提升网络安全防护的效率和效果。 渗透测试、Web安全、网络信息安全、大数据和漏洞分析是本文可能涵盖的具体技术点。渗透...

    信息安全_数据安全_us-18-Marty-AI-and-ML-in-Cyberse.pdf

    数据挖掘是自动探索数据的方法,而人工智能则被定义为不仅仅是分类或模型参数计算的程序,而是能产生安全分析师认为有价值的新型知识的系统。这里值得注意的是,我们目前尚未达到真正的“人工智能”水平。 总结来说...

    AI智能web纯前端html+js实现的照片动起来唱歌源码 参考学习用还可以

    本资源是一个基于AI智能的纯前端项目,实现了将静态照片动起来并让其"唱歌"的功能。这个项目主要依赖于HTML、JavaScript等Web技术,无需后端服务器支持,用户可以直接在浏览器上运行和体验。下面将详细介绍这个项目...

    在线AI智能益智五子棋网站源码

    在线AI智能益智五子棋网站源码是一个利用现代Web技术构建的互动游戏平台,它结合了HTML5...对于学习Web开发和人工智能的人来说,这是一个很好的实践项目,可以深入理解这些技术的运用,并了解如何将AI融入到Web应用中。

    web3.0-PPt简介.ppt 文档

    3. 人工智能:Web 3.0 也可以被用来描述一条最终通向人工智能的网络进化的道路,这个人工智能最终能以类似人类的方式思辩网络。 4. 向 3D 进化:Web 3.0 还可以是 3D 化构想,包括将整个网络转化为一系列 3D 空间,...

    Web智能研究现状与发展趋势

    Web智能(Web Intelligence, WI)作为近年来新兴的研究领域,其定义为人工智能与高级信息技术在Web及互联网环境下的结合与扩展。这一领域的出现旨在解决互联网快速发展过程中所带来的挑战,尤其是面对日益增长的信息...

Global site tag (gtag.js) - Google Analytics