在网络安全领域,有一句谚语我经常引用:“防患于未然,胜于亡羊补牢。”这句话在我最近阅读到2017年Equifax数据泄露事件时,显得尤为深刻。该事件导致近1.5亿人的个人信用记录泄露,信用报告公司为此付出了近14亿美元的清理和改造信息安全项目的费用。这还不包括持续诉讼的法律费用以及造成的声誉损害。数据泄露的成本——Equifax市值损失35.6亿美元,其股票持续下跌——via @axios https://t.co/DD3Kk0k9Mp — RSA Fraud (@RSAFraud) September 12, 2017。这被称为现代史上最大的安全灾难,仅仅是因为他们的网络安全系统在检测网络流量中的异常行为时反应迟缓。在这篇文章中,我想分享我们组织在异常检测方面的方法,特别是针对近年来成为热门目标的DNS流量,以及机器学习(ML)如何帮助克服手动检测过程的不足。
应对日益增长的DNS查询需求
我所在的公司,Link3 Technologies Limited,每天从五个缓存DNS服务器处理超过8.2亿次查询,所有服务器都运行IP Anycast。这相当于每天超过420GB的数据,全年近150TB。当我刚开始在公司工作时,我们使用了一些相当传统的方法来检测异常(当时我们每天只处理10到20GB的数据),其中一些方法我们至今仍在使用。这些方法包括:时间序列分析DNS统计和NetFlow——我们使用Nfsen,并配置它显示基于协议和端口的顶级通信者,标准协议的统计数据,以及基于阈值的任何峰值或与前一时间序列相比的变化的通知。被动检查DNS查询——我们使用Farsight DNSDB数据库来调查域名问题。实时监控硬件资源和DNS服务——这包括检查网络使用情况以及RAM、CPU、硬盘输入/输出操作、系统进程以及服务于DNS查询的TCP/UDP套接字。
传统方法的局限性
虽然许多这些选项仍然可行,并且是许多组织当前最佳实践的一部分,但它们都有其弱点,其中大多数与以人为中心的局限性有关。例如,时间序列分析和NetFlow需要大量的人工干预来设置阈值和解释结果。被动检查DNS查询虽然有用,但可能无法及时识别快速变化的威胁。实时监控硬件资源和DNS服务虽然重要,但可能会因为数据量过大而难以分析。
机器学习在异常检测中的应用
为了克服这些局限性,我们开始探索使用机器学习来改进我们的异常检测过程。我们使用机器学习算法来分析DNS流量,以识别异常模式和行为。这种方法使我们能够处理大量的数据,并快速识别出潜在的安全威胁。例如,我们使用了一种名为“自编码器”的机器学习模型,它能够自动学习正常DNS流量的特征,并识别出与这些特征不符的异常行为。这种方法不仅提高了检测的准确性,还减少了误报率。
结尾:对运维/网络工程师的实际意义
利用机器学习检测DNS流量中的异常现象对于运维和网络工程师来说具有重要意义。它可以帮助他们更有效地识别和响应潜在的安全威胁,从而减少数据泄露的风险和成本。此外,机器学习可以处理大量的数据,并快速分析,这对于处理日益增长的DNS查询需求至关重要。通过采用这种技术,运维和网络工程师可以确保他们的网络更加安全,同时提高工作效率。
原文: APNIC Blog(2019-05-24)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog