黑客24小时在线接单网站

黑客24小时在线接单网站,黑客接单,接单网站,黑客入口

在网络安全领域应用机器学习的困难和对策

网络安全领域的独特对抗属性给人工智能应用落地带来了重重困难,但我们并不认为这最终会阻碍人工智能成为网络安全利器。我们尝试分析了人工智能在网络安全应用里的潜在困难,并试着解决它们。

基于机器学习、深度学习的网络安全应用研究是近年来网络安全领域里的一个热门研究方向。从可见的资料上来看,安全专家已经在异常进程行为检测、恶意代码检测、网络入侵检测等方面进行了广泛的学术研究。但是我们的直观感受是,主流安全厂商并没有大规模部署和使用这些技术,市面上声称采用的机器学习、深度学习的安全产品也相当有限。相比于机器学习、深度学习在人脸识别、推荐系统、舆情监督等方面的大规模成功应用,其在网络安全领域表现平平必然存在某些特殊的原因。本文将深入探讨机器学习、深度学习等技术在网络安全领域的应用面对的困难及其相应对策。虽然这些困难并没有使机器学习、深度学习成为网络安全领域的一个不合适的工具,但这些困难却是导致业界没能大规模采用机器学习、深度学习技术的主要原因。同时又由于近年来媒体的报道更倾向于夸大人工智能技术的成果,而忽略它们所存在的缺陷和困难,显得导向偏颇。对此,与决策者而言不应该只被其表面的光鲜所迷惑,而应该对人工智能技术有足够清晰的认知,希望本文能为这方面的认知提供一个可探讨的方向。

注: 为了便于下文的表述,以下的内容将采用“人工智能系统”指代依靠机器学习或是深度学习实现的安全防护或检测系统。

困难1:确定一个真正需要用到人工智能的任务

人当人工智能上升为国家战略,深度学习成为新兴技术。对于公司决策层而言当前应思考在结合目前公司发展在当前阶段是否真正需要用到人工智能技术。

  • 首先,需要对人工智能技术有足够清晰和深入的了解。在当前阶段,人工智能的实现是由数据驱动的。优秀的人工智能是建立在海量行业数据的支撑下。
  • 其次,人工智能开发和应用阶段都是计算密集型的。虽然所需的软、硬件计算环境与传统的软件开发有着很大的区别,但其带来的好处也是相对可观。以机器学习为代表的人工智能具备高效、自动化、可拓展的特点,极大程度上可代替人工处理日常事务。
开启一项人工智能项目,最大的难题是如何确定一个真正需要用到人工智能技术且可具备顺利研发并落地条件的任务。

对策

决策者需要在了解人工智能工作机制和其优缺点的基础上去思考并确定是否要在特定任务中运用人工智能技术。而在时机、成本、团队、可行性、预期效果等方面则需要重点考虑。

  • 时机。思考在解决某特定任务时运用传统技术是否遇到瓶颈和缺陷,进而不得不需要研发下一代技术。对此任务,除了人工智能方案是否有其他更行之有效且简便的方法可以解决。如果没有其他可行方案,是否已经为采用人工智能技术方案而做好了采集相关数据的工作,或随时可以进行数据采集。只有充分思考这些问题后才能基本确定是否运用人工智能技术的作为解决问题的方案。人工智能不是万能药,却是一种有效但更为复杂的灵丹。
  • 成本。永远别低估人工智能系统的成本投入。无论是开发还是维护人工智能系统都需要大量的持续投入,包括算力资源投入、人力资源投入以及数据收集、整理、存储成本投入等。很多组织没有足够的资金承担这样大规模投放,所以导致项目中途夭折,前期心血付之东流;因此在项目开始前期,需慎重思考是否有足够的能力承担应有的成本投入。
  • 团队。人工智能系统的软件工程团队包括问题领域的专家(主题专家)、数据科学家、数据架构师等专业人才。这些团队成员带来了算法选择、模型构建、模型定制和数据管道管理等方面的技能,而这些技能构成了人工智能系统的核心。他们共同把控着人工智能系统的性能、可伸缩性、带宽、资源管理和版本控制等方面的高要求。
  • 可行性。可行性的评估需要决策者对特定任务的本质有足够深刻的理解。某项任务能否通过人工智能技术实现自动化,基本上取决于这项任务的本质、能采集到的数据,以及这两者之间的关系。深度学习知名人物吴恩达曾经提过一个经验的规律:“如果一个普通人做某项任务的过程中,只需要思考不超过一秒钟时间就可以想通,那么这项任务很有可能可以用 AI技术自动化,现在或者就在不远的将来”,那么对于网络安全领域,如果一个专业水平在平均值以上的安全技术人员在某项任务中经过短暂的思考时间就能想通,那么这项任务大概率也可以通过AI技术实现自动化。
  • 预期效果。对于预期效果的预判,前提是你对自己定义的任务和问题主题理解足够清晰。思考并确定人工智能系统可接受的性能和效率下限,以便工程师迅速接受指令并明确地向此目标优化系统。当然优化后的系统也会不可避免的出现误报和漏报状况,为此需要尽早确定该任务对误报和漏报的敏感度、风险成本的承担范围和处置机制。人工智能系统同样存在被绕过的风险,对抗性在网络安全领域无处不在,为避免对抗样本发生,怎样保护人工智能系统免受攻击也是一个需要提前思考的问题。
困难2:数据泛滥,难以获取高质量的训练数据集

网络安全领域往往不缺乏数据。每天都有无数攻击事件发生,安全厂商的后台数据库每天都能收录无数的攻击数据。但是单单依靠数据的数量不足以支撑开发一个人工智能系统,况且这些数据中不可避免存在着显著的冗余。数据的质量才是真正人工智能的基石。当前人工智能还处于弱人工智能的发展阶段,人工智能来自于从海量数据中学习规则、模式、特征和经验。在机器学习实现的人工智能工程中,最大的性能改进一般来自于更高质量的数据,而不是更复杂的算法。对于所有人工智能系统来说,其训练数据集的质量包括三个层面:

  • 一是数据的多样性,这要求所收集的数据包含所研究范围的各种类型数据;
  • 二是数据的可靠性,即数据被准确标识为是何种类型何种属性的数据;
  • 三是数据的数量,即在数据采集清理加工去重后,可靠的数据的数量。数量太少则无法训练出可靠的模型,尤其是采用深度学习等参数众多的复杂模型的时候。
数据的收集、清理、标注、保护、监视和维护统称为人工智能项目的数据管理,这将贯穿着从项目立项到项目落地、维护、迭代的整个生命周期,且需消耗巨大的时间和精力,这需要占整个项目8成以上的时间。有别于其他领域,网络安全领域的人工智能系统项目的数据管理,其成本和难度更大,主要是因为以下原因:

(1) 变化的环境。变化的环境一方面体现在业务的多样性,导致的是白样本的多样性;另一方面体现在对抗环境下,导致的是恶意样本的对样性;

(2) 私有、公开数据少,且公开数据有效性不好。因为不同场景不同用户的数据有差异,公开的数据的场景和你所面对的环境和场景可能差异巨大而不可用。算法工具通常是开源的,但是好的数据集通常是专有的。安全领域更是如此。安全厂商倾向于“隐藏”与安全相关的数据,因此通常无法获得具有代表性的准确标记数据(尤其是涉及流量数据)。拥有庞大优质的特定领域数据集可以成为竞争优势的重要来源。

(3). 数据加工清洗标注专业性高。标注人脸识别、猫狗分类、垃圾邮件等任务的数据,但凡受过基础教育的人就能胜任,而网络安全则属于专业性高的行业,标注网络安全检测相关数据集需要专业的安全工程师才能胜任。

(4) 黑样本种类稀缺,难以集全。这对于后续系统的可靠性造成很大的影响。IBM的肿瘤专家顾问系统Watson for Oncology由于提出的治疗方案及其相关建议不安全,被迫终止。经过研究人员研究发现,正是由于该软件只针对少数假设癌症患者—而非实际患者数据训练而成,采用的黑样本种类稀少,因此在可靠性方面存在严重的问题。在网络安全领域,如果数据的黑样本不够全面将导致类似的可靠性问题。

(5) 数据的非结构性。网络安全领域所要处理的数据无论是网络流量、恶意代码还是恶意文件,大多都是非结构化的数据,对此数据的加工处理比结构化数据要复杂困难。

(6) 数据清洗,自动化困难,工具少。

对策

(1) 商业合作框架下的数据资料共享

当然这前提是自己已经有相当的数据积累,合作共享才会成为可能,在网络安全领域的数据共享要避免触犯《网络安全法》等法律法规;

(2) 依赖现有检测工具实现一定程度的自动化数据采集与标注

现有的威胁检测工具对于相应的任务必然还是有相当的检测能力的,如果将其改造为自动化标注工具则可对应解决此问题;

(3) 随时应变,因地适宜

对于先收集数据还是先确定任务课题的问题,没有标准答案,不同组织选择可能不一样。有的组织在收集到大量数据后才去考虑能用这些数据做什么,有的组织先确定任务,列出所需的数据类型,再收集这些数据。对此顺序只要是可行的都是可以的。

困难3:需要付出昂贵的出错成本

在网络安全领域,人工智能往往应用于风险检测。与许多其他人工智能应用相比,风险检测出错的相对代价非常高。误报需要分析师花费昂贵的时间去核查所报告的风险事件,以确定它是否是良性的。即使是很小的误报率也会使风险监测系统失去实用性。如表1所示,假设我们开发出了一个准确率高达99%的风险监测模型,这样的准确率已在众多人工智能系统中属于高水准程度。那么,设想我们在某场景下部署了该模型,部署期间产生良性事件样本999900个,恶性事件样本100个,这是相对合理的设想,风险事件的发生相比于正常事件总是极小概率事件。而在这基础上,将会发生9999起错误的告警,这将导致一系列后果:轻则耗费分析师的时间成本,重则可能影响业务系统的正常运行。

表1:某99%准确率检测系统告警数量

一方面,漏报产生的损害是直接的。绕过检测的风险可能对受防护的系统产生直接的损害,影响正常业务的开展,甚至会严重损害IT基础设施。我们认为如此高的出错成本是安全厂商需谨慎使用机器学习技术的最大原因。对此让我们进一步对比人工智能在其他领域产生错误分类的影响,相比之下可能会更有启发。

电商的推荐系统是运用人工智能最成功的领域之一。推荐系统很容易容忍错误,因为这些错误不会产生直接的负面影响。虽然对卖家来说好的推荐有可能增加销售额,但坏的建议除了失去交易机会需要做出更具诱惑力的推荐策略外,对于消费者而言并没有任何的伤害。

OCR技术相比之下也更容易容忍错误。通常可以用拼写和语法检查来剔除明显的错误,使用统计语言模型将概率与结果联系起来并对OCR系统的初始输出进行后处理。此外,用户还接受了培训,这可保证当输出文本有差异时,一定程度上可以让用户进行人工校对。相比手动验证安全事件告警,验证校对文字的识别结果并不需要专业的知识,这相比验证安全告警的成本和难度都低得多。

在不同行业不同场景中,人类对于人工智能在概率表现方面的期望值有所不同(在安全行业期望值高容错率低),这也是造成人工智能产品或技术在网络安全领域普及不够广泛的原因。总的来说,网络安全检测系统对错误数据的容忍更加严格,其他领域运用人工智能是在做加法,而网络安全领域运用人工智能更像是在做减法,挑战更加巨大。

表2:某恶意软件检测算法研究的预测精度

另一个挑战是模型复杂度与效率的矛盾。一般来说为了得到较低出错率的模型,模型的复杂度就不能太低,这样相应的复杂模型的运算量也较大。天下没有免费的午餐,如表2所示,更深入本质的特征虽然能带来更好的准确率,但是获取难度大,效率低。两者之间的取舍是一个巨大的挑战,尤其在安全风险监测系统,往往要求对风险能够快速实时响应。

对策

限制误报量是任何威胁检测系统的首要任务。朝着减少错误的方向迈出的最重要的一步是缩小系统的范围,也就是定义一个明确的检测目标。没有一个明确的目标,任何威胁检测系统都无法在不影响其检测率的情况下,获得可容忍的误报量。另外,使用更粗粒度的特征在适当的时间间隔内聚合或平均特征对于减少误报也是有用的。最后,我们可以通过在附加信息的支持下对它们进行后处理来减少误报。如果我们发现自动化后处理是不可行的,我们仍然可以通过向分析员提供额外的信息来加速人工检查过程,从而降低出错成本。

困难4:对抗环境

人工智能系统本身就是一个软件系统,难免存在可利用的漏洞,也是被攻击的天然目标,尤其是作为网络安全检测防护系统的一份子的时候,可以认为是处于对抗环境中。相比之下,OCR系统的用户不会试图在输入中添加干扰,甚至会主动提供更高质量的输入数据;淘宝用户也不会有太多的动机去误导商品推荐系统,这对他们毫无意义。然而在网络安全领域则恰恰相反,那些破坏、绕过、欺骗人工智能检测系统攻击者为了能够达到他们入侵的目的,他们有充分的动机。至少能从三个层面体现在对抗环境下机器学习系统的风险。

数据层面,典型的是投毒攻击。投毒攻击(poisoning attack)主要是对人工智能系统在训练模型时对需要的训练数据进行投毒,是一种破坏模型可用性和完整性的诱发型攻击。攻击者通过注入一些精心伪造的恶意数据样本,这些样本通常带有错误的标签和攻击的性质,用于破坏原有的训练数据的概率分布,从而使训练出的模型的分类或者聚类精度降低,达到破坏训练模型的目的。由于实际中应用人工智能系统的原始训练数据大多是保密的,一般不会被攻击者轻易修改,但很多系统为了增强适应能力需要定期收集新数据,进行重新训练实现模型更新,这时也就给了攻击者可趁之机。

图 1:一种投毒攻击示意图

模型层面,模型的绕过风险,即存在对抗样本攻击。攻击者通过产生一些可以绕过人工智能检测系统的对抗样本,这些是可以成功地逃避安全系统检测的对抗样本,实现对系统的恶意攻击,给系统的安全性带来严重威胁。作为安全风险检测模型的存在的时候,人工智能系统的模型的输入数据变化很大,具有易变性。我们很难限制待检测的恶意软件的大小,没有理由限制待检测的恶意代码样本的行数,没办法限制要检测的网络流量的数据包内容,因此这就给了对抗样本更大的发挥空间。这个层面的对抗是最容易发生的,也是人工智能检测系统在对抗中最薄弱的环境,对抗之下会产生层出不穷的新攻击手法、攻击样本,因此网络安全领域应用的模型的迭代频率要比其他领域要高得多。试想,千百年以后,今天训练的猫狗分类模型到那时候也许还能用,但是对应的恶意软件、木马文件、攻击流量也在当前模型的能力范围之外产生了多个新形式。

框架层面,深度学习框架通常是包含数十万代码和众多依赖的复杂软件,几乎不可避免地存在已知或未知的bug。在国家信息安全漏洞库,能查到2019年上报的tensorflow相关漏洞信息8个(如图2所示)。Torch、Caffe等框架也存在漏洞,以及这些框架的常见依赖包numpy、opencv等均存在不少漏洞。对此,相关的安全研究已经复现了这些漏洞将会造成的拒绝服务、绕过检测和系统危害等风险。

图 2: tensorflow历史漏洞

所以,网络安全领域持续进行着一场军备竞赛:攻击者和防御者各自改进他们的工具和技术,以应对另一方设计的新技术。

对策

使用人工智能技术对于攻击者而言实际上是带来更多攻击面如算法、数据等。

在防护方面,可以考虑以下几点:

(1) 对模型的输入做严格限制,设置进入模型的样本过滤条件。过滤条件根据任务的专业领域知识和模型训练过程中的设置总结。比如,某识别php类型webshell的模型可将输入设置为文件后缀.php或.txt且内容包含

  • 评论列表:
  •  绿邪只影
     发布于 2022-05-28 04:45:46  回复该评论
  • 是否有其他更行之有效且简便的方法可以解决。如果没有其他可行方案,是否已经为采用人工智能技术方案而做好了采集相关数据的工作,或随时可以进行数据采集。只有充分思考这些问题后才能基本确定是否运用人工
  •  囤梦绮筵
     发布于 2022-05-27 22:28:33  回复该评论
  • ,极大程度上可代替人工处理日常事务。开启一项人工智能项目,最大的难题是如何确定一个真正需要用到人工智能技术且可具备顺利研发并落地条件的任务。对策决策者需要在了解人工智能工作机制和其优缺点的基础上去思考并确定是否要在特定任务中运用人工智能技术。

发表评论:

«    2024年8月    »
1234
567891011
12131415161718
19202122232425
262728293031
文章归档
标签列表

Powered By

Copyright Your WebSite.Some Rights Reserved.