今天将分享论文《Outside the Closed World: On Using Machine Learning For Network Intrusion Detection》[0](超越封闭世界假定:关于将机器学习用于网络入侵检测的思考)的第二部分内容,主要结合后续研究工作,介绍机器学习应用于安全研究中的建议及本文对后续安全研究工作的影响。
全文共4000字,阅读时间约14分钟。
作者介绍:刘明烜,清华大学网络与系统安全实验室博士研究生,研究方向为网络安全和人工智能安全,导师为段海新教授。博士期间在域名基础设施安全、恶意加密流量检测以及人工智能模型对抗分析等领域发表高水平期刊会议论文十余篇(包括ACM CCS、TDSC、IJCAI、RAID、ACSAC、ESORIC),获得2022年度 EthiCS 最佳学生论文奖、2021年“第五届强网杯智能密码破解赛道一等奖”。预计毕业时间2023年6月,联系邮箱[email protected]。
01
【入侵检测中应用机器学习的建议】
本文作者认为,尽管机器学习算法在一些经典分类任务上取得了优异的成绩,但由于网络安全入侵检测场景的特殊性,盲目地在真实安全场景中照搬机器学习算法可能难以取得良好的效果。同时,本文认为,安全人员不应盲目追求“数据集上效果更好”的检测结果(如准确率更高),而应该更好地理解入侵检测任务的本质。例如仅在DARPA数据集上尝试某种机器学习方案,并不能给真实环境的入侵检测带来帮助。
为此,作者根据其在入侵检测领域多年的经验提出了一系列应对挑战的建议,主要包括问题定义(使用机器学习算法前)和方法评估(使用机器学习算法后)两方面,供研究人员参考。虽然本文主题为网络入侵检测,其所提出的建议具有很强的通用价值,也值得其他机器学习安全应用场景参考借鉴。此外,Daniel Arp 等人在 USENIX Security '22 发表的论文 [4] 对本文进行了扩展,分析了机器学习应用于安全场景中的流程,如图1所示,主要对方法设计(即使用机器学习算法)进行建模,并对各步骤给出详细建议。
图1:机器学习应用于安全场景的共性问题
我们梳理了上述两篇学术论文的内容,围绕如何在安全检测场景下更好地应用机器学习算法,总结出如下建议:
1. 问题定义部分
a. 深入理解入侵检测系统的安全威胁模型
在安全检测场景中盲目地使用机器学习算法难以取得预期的效果,研究人员应该提前明确预期的安全威胁模型,其中包括评估检测系统的网络环境复杂程度、攻击者攻击手段、系统误判以及攻击逃逸对目标网络环境造成的潜在影响等。
b.缩小范围,聚焦安全检测系统所解决的攻击类型
为更好地使检测方法与检测任务相匹配,研究人员应首先明确并界定检测的目标攻击类型。检测目标划定得越具体,越有助于提升机器学习算法的性能,并降低出错的可能性。Kruegel 等人关于 Web 攻击检测的工作就是异常检测的范例 [5]:检测带有畸形查询参数的Web攻击。其次,研究人员在针对特定任务场景选择机器学习算法时,应该深入理解当前检测场景的目标,并理解算法表现良好的根本原因,而不是先预设使用(特定)机器学习算法,再选取某一任务场景进行应用。
2. 方法设计和实现部分
a.适当的数据收集和准确的标注
针对具体的检测任务,选择合适的数据集。安全研究者应选择符合真实数据分布的数据集用于训练。若训练样本数据与真实数据偏差过大,检测系统将无法得到可信结论。如果需要人为构造数据集,应使构造的数据尽可能地覆盖多种类型的真实数据。例如,在使用沙箱生成样本流量时,需要考虑样本类型的针对性、多样性,并讨论沙箱环境本身对流量生成的限制及其对流量分析带来的影响。
检验数据标签的准确性。由于多数机器学习算法的本质任务是分类,其准确性将严重依赖于标签数据的准确性。因此,研究人员应该尽可能提前验证标签数据集的准确性,过滤带有错误标签的数据。
b.系统设计和训练
选择可解释的特征,避免错误的模型检测因果关系。研究人员需要分析机器学习算法“学到”的具体特征在安全层面是否可解释。例如,在网络入侵检测公开数据集中,攻击可能会来自某个特定的网段。因此,机器学习模型可能会将特定IP地址范围作为特征进行分类,而并未真正从流量层面学习到攻击的模式。这将导致模型产生错误的分类推断逻辑,引发误报或者漏报。因此,研究人员应该根据特定的任务场景,选择可解释的特征构建机器学习模型。
3. 方法评估部分
a. 提前考虑系统误判对目标网络造成的影响
降低假阳性应该作为异常检测系统的第一要务。对此,首先需要缩小范围、聚焦检测攻击的类型;其次,研究人员需考虑检测漏报及误报的处理方案,例如基于某种后处理(post-processing)操作来减少假阳性 [6,7];同时,考虑到网络流量在自然情况下即可表现出多样性(如短时间内的流量抖动等),为避免模型产生误判,可预先制定适应网络流量自然多样性的策略(例如对某个时间间隔内的流量取平均值进行平滑处理)。
b.基于对检测问题的深入理解,设计充分的评价指标合理评估系统表现
具体包括:1)选取适当的评估数据集,尽可能使用真实数据集并涵盖多种规模、类型的网络;2)选取适当的评估参数,仅凭准确率无法体现检测系统的整体性能;3)解释各类检测结果,例如通过随机采样对假阳性结果进行人工分析并加以解释;4)考虑系统的实用性,例如能否满足实时检测的性能要求。
c.真实场景中的部署评估是必需的
入侵检测系统的实用性非常重要,仅凭实验室数据和结果无法对其进行全面评估,需要在真实网络环境中进行部署和验证。
02
【影响&现状】
《Outside》一文在发表后持续受到研究人员的关注和讨论,目前引用量已超过1600次(如图2 Google Scholar所示)。过去十余年间,机器学习的飞速发展有目共睹,已经被愈发广泛地应用于图像识别、机器翻译等各类任务之中。如今,安全研究人员在应用机器学习算法时,是否还面临与《Outside》文中相同/不同的挑战和困境?而《Outside》提出的建议,又是否真的被研究者应用、达到了“为未来研究提供参考”的期望呢?
图2:本文的被引用次数,来自谷歌学术
Daniel Arp 等人发表于 USENIX Security '22 的工作[4]调研了 30 篇发表于网络安全四大顶级会议上的研究论文,对当前机器学习算法在安全研究中的应用困境进行分析,这些论文的主题包括:恶意软件检测、网络入侵检测、漏洞发现、网站指纹攻击、社交网络滥用、二进制代码分析、代码归因分析、隐写、在线诈骗、游戏机器人和广告阻断。工作[4]的结果表明,直到今天,机器学习在安全领域的应用仍然普遍面临诸多挑战,如图3所示。除《Outside》中提到的误报引入的高代价以及难以对机器学习算法进行准确全面评估的挑战外,Daniel Arp 还发现,已有工作在收集可信的数据方面也面临一定的挑战,例如数据集偏差、难以体现真实场景的数据情况以及缺乏高质量的标注数据等。
图3:30篇论文中,10个共性缺陷的分布情况 [4]
此外,为了解《Outside》文中建议对后续安全研究的影响,我们在网络安全四大顶级学术会议上检索了所有引用该论文的工作,总共包含 20 篇论文,涉及:流量检测 [9~13]、基础设施攻击 [14]、恶意登录认证检测 [15~17]、恶意软件检测 [18~19]、机器学习的漏洞 [20~21]、综述分析工作 [4, 22~24]、威胁情报分析 [25~26]。
我们分析了已有工作引用、借鉴《Outside》一文的具体情况。如表1所示,仅有 5 /20篇论文“真正地参考”了本文的建议,即在方法设计和评估上都进行了针对性的改进 [9, 14, 16, 18, 19];4/20 篇综述类论文对本文进行了一定的扩展分析,如 Daniel Arp 的工作 [4];此外,3 /20篇论文仅将本文作为网络入侵检测领域综述进行引用,而并非将其作为应用机器学习的参照;其余8 /20篇论文仅提到了本文提出的问题,但并未明确地在方法设计、评估方面进行改进。
表1:对本文的引用情况总结
结合本文、Daniel Arp 等人的研究结果以及我们调研的结果,我们认为,时至今日,机器学习算法应用于安全领域仍然面临诸多挑战,包括网络安全场景中的误判代价极高(High Cost of Errors)、机器学习算法与安全标准的语义差异(Semanctic Gap)、现实网络流量的复杂性(Diversity of Network Traffic)导致异常难以判断、机器学习算法在安全检测场景的实际效果很难得到全面准确的评估(Difficulties with Evaluation)等。这并非宣告了机器学习工具不适合在网络入侵检测甚至网络安全研究中使用,而是提醒、指引研究人员直面挑战、应对挑战,使机器学习工具在安全研究中更好地发挥作用。
03
【总结】
本文首次系统地研究了机器学习应用于网络入侵检测中的挑战,包括:1)网络安全场景中的入侵检测与机器学习算法的离群点检测具有本质差异(Outlier Detection);2)网络安全场景中的误判可能会引入极高代价(High Cost of Errors);3)机器学习算法与安全运维的语义差异(Semanctic Gap);4)现实网络流量复杂多变,难以准确界定何为异常(Diversity of Network Traffic);5)异常检测系统的结果难以评估(Difficulties with Evaluation)。为了克服这些挑战,本文在网络入侵检测领域应用机器学习的方法提供了一系列的指导原则。最重要的是不应该盲目使用机器学习工具,而应该更深入地理解检测系统的目标、能力和限制。
正如《Outside》[0]和工作[4]的作者所言,我们每天都能看到机器学习(或人工智能)在某些领域成功的故事。作为安全研究人员,我们能够看到的用机器学习方法进行异常检测的学术论文也可以说汗牛充栋了(如果打印出来的话)。然而,实际部署在生产网络中可运维的网络入侵检测产品却非常少见。我们认同[0][4]论文中的观点,即网络入侵检测领域与其他领域相比存在着许多挑战,在应用机器学习方法时存在许多误区,导致当前这些方法在现实安全场景中应用效果不好。
《Outside》一文提出的挑战和建议经受了“时间检验”,在十余年后的今天仍具有重要的指导意义。我们希望通过分享本文的主要观点,引起研究者对机器学习应用于安全场景时所面临挑战的关注。我们也期待与感兴趣的研究人员共同探讨,如何更好地将机器学习应用于安全场景之中。
图4:论文[0]总结
参考文献
[0] Sommer, R. & Paxson, V. Outside the Closed World: On Using Machine Learning For Network Intrusion Detection. IEEE Symposium on Security and Privacy , 2010
[1] Personal Page of Robin Sommer, https://www.icir.org/robin/
[2] Personal Page of Vern Paxson, https://www.icir.org/vern/
[3] Paxson, Vern. "Bro: a system for detecting network intruders in real-time." Computer networks 31.23-24 (1999): 2435-2463.
[4] Arp, Daniel, et al. "Dos and don’ts of machine learning in computer security." Proc. of the USENIX Security Symposium. 2022.
[5] C. Kruegel and G. Vigna, “Anomaly Detection of Web-based Attacks,” inProc. ACM Conference on Computer andCommunications Security, 2003.
[6] G. Gu, P. Porras, V. Yegneswaran, M. Fong, and W. Lee,“BotHunter: Detecting Malware Infection Through IDS-Driven Dialog Correlation,” inProc. USENIX Security Sym-posium, August 2007.
[7] K. G. Anagnostakis, S. Sidiroglou, P. Akritidis, K. Xinidis,E. Markatos, and A. D. Keromytis, “Detecting Targeted Attacks Using Shadow Honeypots,” inProc. USENIX SecuritySymposium, 2005.
[8] Smutz, Charles, and Angelos Stavrou. "When a Tree Falls: Using Diversity in Ensemble Classifiers to Identify Evasion in Malware Detectors." NDSS. 2016.
[9] Fu, Chuanpu, et al. "Realtime robust malicious traffic detection via frequency domain analysis." Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security. 2021.
[10] Dyer, Kevin P., et al. "Protocol misidentification made easy with format-transforming encryption." Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security. 2013.
[11] Vasiliadis, Giorgos, Michalis Polychronakis, and Sotiris Ioannidis. "MIDeA: a multi-parallel intrusion detection architecture." Proceedings of the 18th ACM conference on Computer and communications security. 2011.
[12] Dyer, Kevin P., Scott E. Coull, and Thomas Shrimpton. "Marionette: A programmable network traffic obfuscation system." 24th USENIX Security Symposium (USENIX Security 15). 2015.
[13] Holland, Jordan, et al. "New directions in automated traffic analysis." Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security. 2021.
[14] Lin, Hui, et al. "DefRec: Establishing Physical FunctionVirtualization to Disrupt Reconnaissance of PowerGrids’ Cyber-Physical Infrastructures." The Proceedings of 2020 Network and Distributed System Security Symposium (NDSS). 2020.
[15] Herley, Cormac, and Stuart E. Schechter. "Distinguishing Attacks from Legitimate Authentication Traffic at Scale." NDSS. 2019.
[16] Siadati, Hossein, and Nasir Memon. "Detecting structurally anomalous logins within enterprise networks." Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017.
[17] Liang, Junjie, et al. "FARE: enabling fine-grained attack categorization under low-quality labeled data." Proceedings of The Network and Distributed System Security Symposium (NDSS). 2021.
[18] Kwon, Bum Jun, et al. "The dropper effect: Insights into malware distribution with downloader graph analytics." Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. 2015.
[19] Pendlebury, Feargus, et al. "{TESSERACT}: Eliminating experimental bias in malware classification across space and time." 28th USENIX Security Symposium (USENIX Security 19). 2019.
[20] Yang, Limin, et al. "{CADE}: Detecting and explaining concept drift samples for security applications." 30th USENIX Security Symposium (USENIX Security 21). 2021.
[21] Dang, Hung, Yue Huang, and Ee-Chien Chang. "Evading classifiers by morphing in the dark." Proceedings of the 2017 ACM SIGSAC conference on computer and communications security. 2017.
[22] Rossow, Christian, et al. "Prudent practices for designing malware experiments: Status quo and outlook." 2012 IEEE symposium on security and privacy. IEEE, 2012.
[23] Verma, Rakesh M., Victor Zeng, and Houtan Faridi. "Data quality for security challenges: Case studies of phishing, malware and intrusion detection datasets." Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. 2019.
[24] Das, Sanjeev, et al. "SoK: The challenges, pitfalls, and perils of using hardware performance counters for security." 2019 IEEE Symposium on Security and Privacy (SP). IEEE, 2019.
[25] Hassan, Wajih Ul, et al. "Nodoze: Combatting threat alert fatigue with automated provenance triage." network and distributed systems security symposium. 2019.
[26] Zhang, Wen, et al. "Decide now or decide later? Quantifying the tradeoff between prospective and retrospective access decisions." Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. 2014.