人工智能(AI)和机器学习(ML)是众多辩论的主题,特别是在网络安全社区内更是如此。那么,机器学习会是下一个大的安全趋势吗?人工智能准备好了接受机器学习推动的攻击吗?总的来说,人工智能是否做好了使用的准备?无论你对于机器学习是否会成为网络安全救世主的看法如何,有两件事情却是真实的:一是分析在安全领域占有一席之地,二是机器学习在一些具体的使用案例中代表了我们今天所能给出的最好答案。
尽管有报道称黑客使用了"复杂老道"的入侵方法,但是很有可能的是黑客或黑客团体聪明地使用了常见的攻击方法攻入了这家银幕巨头的系统,并使用了 "little.finger66"(译注:"小指头66","小指头"是《权力的游戏》剧集人物培提尔.贝里席的绰号)这个绰号。
下面列举了一些使用案例,它们代表了一些会影响每一家企业的常见安全威胁。不过,机器学习可能是也可能不是网络安全的灵丹妙药,但在下面这些情况中,它肯定会有所帮助。
使用案例1:"叉鱼"(防范网络钓鱼)
网络钓鱼是今天最常见的攻击媒介,而且非常成功。这种攻击利用了个人对通信工具的熟悉,如社交媒体和电子邮件,通过附件或链接向不知情的收件人发送恶意内容。这种攻击的有效性依赖于攻击者误导最终用户点击或下载恶意有效载荷并在之后绕过内部控制的能力。目前其不断增加的破坏性和勒索软件有效载荷使得这种攻击更加严重。
组织可以通过从电子邮件中捕获元数据来检测这些威胁,而且这种做法不会影响用户的隐私。通过查看电子邮件标题以及对邮件正文数据的二次抽样,机器学习算法可以学习识别能够暴露恶意发件人的电子邮件模式。通过提取和标记这些微观行为,我们可以训练我们的模型来检测是否有人正在尝试网络钓鱼。随着时间的推移,机器学习工具可以根据发件人的可信赖性构建曲线图。
使用案例2:水坑式攻击(Watering Holes)
类似于网络钓鱼攻击,水坑式攻击看起来似乎是合法的网站或网络应用程序。但是,这些网站或应用程序虽然是真实的,可已经被盗用了,或者根本就是假冒的网站或应用程序,旨在引诱没有疑虑的访问者输入个人信息。这种攻击也部分依赖于攻击者误导用户以及有效攻击服务的能力。
机器学习可以通过分析诸如路径/目录遍历统计等数据来帮助机构对网络应用程序服务进行基准测试。随着时间推移不断学习的算法可以识别出攻击者或恶意网站和应用程序的常见互动。机器学习还可以监控到罕见或不寻常的重新定向模式的行为,重新定向可能指向站点主机或者来自站点主机,还可以监控引荐链接--所有这些都是典型的风险警示指标。
使用案例3:内网漫游(Lateral Movement)
这不是一种特定类型的攻击,内网漫游攻击方法表示攻击者在网络中的移动,这是他们在查找漏洞并应用不同的技术来利用这些漏洞。内网漫游特别能够表明风险沿着杀伤链--攻击者从侦察到数据提取的活动--上升,特别是当攻击者从低级用户的机器转移到更重要的人员(可以访问有价值的数据)时。
网络流量输入记录可以告诉您访问者与网站的互动情况。机器学习了解数据的语境,可以动态地提供正常通信数据的视图。有了对典型通信流的更好理解,算法可以完成变化点检测(也就是说,当给定通信模式的概率分布发生变化,并变得不太可能像是"正常"的通信活动的时候,它能够识别出来),以此监测潜在的威胁。
使用案例4:隐蔽信道检测(Covert Channel Detection)
使用隐蔽信道的攻击者通过不用于通信的信道传输信息。使用隐蔽信道让攻击者保持对受到威胁的资产的控制,并使用可以随时间执行攻击的战术,而且不被发现。
使用隐蔽信道的攻击通常取决于给定网络上所有域的可见性。机器学习技术可以摄取并分析有关稀有领域的统计数据。有了这些信息,安全操作团队可以更轻松地让云端攻击者现形。没有了对他们打算攻击的网络的整体了解,网络犯罪分子更难以将其攻击沿着杀伤链条向前推进。
使用案例5:勒索软件(Ransomware)
勒索软件"名符其实"。这种恶意软件擦除驱动器并锁定受感染的设备和计算机作为要挟,以换取用户的加密密钥。这种形式的网络攻击会锁定信息,直到用户放弃其密钥,或者在某些情况下,如果不支付赎金,则威胁发布用户的个人信息。
勒索软件提出了一种具有挑战性的使用案例,因为攻击经常导致网络活动日志缺乏证据。机器学习技术可以帮助安全分析师跟踪与勒索软件相关的细小行为,例如与给定的整个文件系统交互的熵统计或过程。组织可以将机器学习算法集中在最初感染有效载荷上,试图识别出这些证据碎片。
使用案例6:注入攻击(Injection Attacks)
Open Web Application Security Project (开放网络应用程序安全项目,OWASP)将注入攻击列为网络应用程序头号安全风险。(注:当前版本的OWASP Top-10已被否决,该组织已重新开始安全专业人士的数据调用和调查)。注入攻击让攻击者可以在程序中进行恶意输入。例如,攻击者会将一行代码输入数据库,当访问数据库时,就会修改或更改网站上的数据。
数据库日志是可以帮助识别潜在攻击的另一个信息来源。机构可以使用机器学习算法来构建数据库用户组的统计概况。随着时间的推移,算法学习了解了这些组如何访问企业中的各个应用程序,并学习发现这些访问模式中出现的异常。
使用案例7:侦查攻击(Reconnaissance)
在发起攻击之前,黑客会对目标或目标群体进行广泛的侦查。侦查包括探测网络的漏洞。攻击者将在网络的周边或局域网(LAN)内进行侦查。典型的侦查攻击探测使用了签名匹配技术,通过网络活动日志寻找可能代表恶意行为的重复模式。然而,基于签名的检测通常会产生一串嘈杂的假警报。
机器学习可以是网络数据拓扑的指南针。经过训练的算法可以开发这种拓扑图,以便识别新模式的传播,这种做法比基于签名的方法更快。使用机器学习也减少了误报的数量,从而使安全分析人员能够把时间花在处理真正重要的报警上。
使用案例8:网页木马(Webshell)
United States Computer Emergency Readiness Team(美国计算机应急准备小组,US-CERT)对网页木马(Webshell)的定义是"可以上传到网络服务器的脚本,以便远程管理机器"。通过远程管理,攻击者可以启动数据库数据转存、文件传输和恶意软件安装等进程。
网页木马(Webshell)攻击者的目标通常是后端的电子商务平台,攻击者通过这些平台来瞄准购物者的个人信息。机器学习算法可以聚焦正常购物车行为的统计,然后帮助识别出不应该以这种频率发生的异常值或行为。
使用案例9:凭证盗窃(Credential Theft)
一些高调的攻击,包括对虚拟专用网(VPN)攻击,都是凭据盗窃的结果。凭证盗窃通常使用诸如网络钓鱼或水坑式攻击等手段来实现,攻击者以此从受害者那里提取登录凭证,以便访问组织维护的敏感信息。
互联网用户--消费者--经常留下登录模式。网站和应用程序可以跟踪位置和登录时间。机器学习技术可以跟踪这些模式以及包含这些模式的数据,以了解什么样的用户行为是正常的,哪些行为则代表了可能有害的活动。
使用案例10:远程利用攻击(Remote Exploitation)
最后,许多攻击模式会使用远程利用攻击。这些攻击通常会通过一系列针对目标系统的恶意事件进行操作,以识别漏洞,然后提供有效负载(如恶意代码)来利用漏洞。一旦攻击投放了有效载荷,它就会在系统内执行代码。
机器学习可以分析系统行为并识别与典型网络行为无关的顺序行为实例。算法可以随着时间的推移进行学习,可以提醒安全分析师有关意在利用漏洞的有效载荷的传输情况。
这里的讨论不是机器学习的终点,而应该是它的起点
准确的网络安全分析系统必须成为现代安全运营中心的基石。但是,如果没有数据样本,则不可能开展准确的分析。采用机器学习思维并使用机器学习技术的安全团队可以更快地解决上述各种类型的攻击。机器学习或其他任何一种技术都永远不会是任何一个行业的终结和全部。它确实提供了一种替代的、开放源代码的哲学思维,可被用于识别和处理网络攻击,这能够改进很多目前正在使用的方法。