异常检测:防止网络入侵指南
已发表: 2023-01-09数据是企业和组织不可或缺的一部分,只有在正确构建和有效管理的情况下,它才有价值。
据统计,如今 95% 的企业发现管理和构建非结构化数据是一个问题。
这就是数据挖掘的用武之地。它是从大量非结构化数据中发现、分析和提取有意义的模式和有价值信息的过程。
公司使用软件识别大量数据中的模式,以更多地了解他们的客户和目标受众,并制定业务和营销策略以提高销售额和降低成本。
除了这个好处,欺诈和异常检测是数据挖掘最重要的应用。
本文介绍异常检测并进一步探讨它如何帮助防止数据泄露和网络入侵以确保数据安全。
什么是异常检测及其类型?
虽然数据挖掘涉及查找关联在一起的模式、相关性和趋势,但它是查找网络中异常或离群数据点的好方法。
数据挖掘中的异常是与数据集中的其他数据点不同并且偏离数据集正常行为模式的数据点。
异常可以分为不同的类型和类别,包括:
- 事件的变化:指从以前的正常行为突然或系统的变化。
- 异常值:在数据收集中以非系统方式出现的小异常模式。 这些可以进一步分为全局异常值、上下文异常值和集体异常值。
- 漂移:数据集中逐渐的、无方向的和长期的变化。
因此,异常检测是一种数据处理技术,对于检测欺诈交易、处理具有高级不平衡的案例研究以及疾病检测以构建强大的数据科学模型非常有用。
例如,一家公司可能希望分析其现金流,以发现未知银行账户的异常或重复交易,从而发现欺诈行为并进行进一步调查。
异常检测的好处
用户行为异常检测有助于加强安全系统并使其更加精确和准确。
它分析并理解安全系统提供的各种信息,以识别网络中的威胁和潜在风险。
以下是公司异常检测的优势:
- 实时检测网络安全威胁和数据泄露,因为其人工智能 (AI) 算法会不断扫描您的数据以发现异常行为。
- 与手动异常检测相比,它可以更快、更轻松地跟踪异常活动和模式,从而减少解决威胁所需的劳动力和时间。
- 通过在操作错误(例如突然的性能下降)发生之前识别操作错误,最大限度地降低操作风险。
- 它通过快速检测异常来帮助消除重大业务损失,因为如果没有异常检测系统,公司可能需要数周和数月的时间来识别潜在威胁。
因此,异常检测是企业存储大量客户和业务数据集以寻找增长机会并消除安全威胁和运营瓶颈的巨大资产。
异常检测技术
异常检测使用多种程序和机器学习 (ML) 算法来监控数据和检测威胁。
以下是主要的异常检测技术:
#1。 机器学习技术
机器学习技术使用 ML 算法来分析数据和检测异常。 用于异常检测的不同类型的机器学习算法包括:
- 聚类算法
- 分类算法
- 深度学习算法
用于异常和威胁检测的常用 ML 技术包括支持向量机 (SVM)、k 均值聚类和自动编码器。
#2。 统计技术
统计技术使用统计模型来检测数据中的异常模式(如特定机器性能的异常波动),以检测超出预期值范围的值。
常见的统计异常检测技术包括假设检验、IQR、Z-score、修正 Z-score、密度估计、箱线图、极值分析和直方图。
#3。 数据挖掘技术
数据挖掘技术使用数据分类和聚类技术来查找数据集中的异常。 一些常见的数据挖掘异常技术包括谱聚类、基于密度的聚类和主成分分析。
聚类数据挖掘算法用于根据不同数据点的相似性将不同的数据点分组到集群中,以查找数据点和落在这些集群之外的异常。
另一方面,分类算法将数据点分配给特定的预定义类,并检测不属于这些类的数据点。
#4。 基于规则的技术
顾名思义,基于规则的异常检测技术使用一组预先确定的规则来查找数据中的异常。
这些技术的设置相对更容易和更简单,但可能不够灵活,并且在适应不断变化的数据行为和模式方面可能效率不高。
例如,您可以轻松地编写一个基于规则的系统,将超过特定金额的交易标记为欺诈交易。
#5。 领域特定技术
您可以使用特定领域的技术来检测特定数据系统中的异常。 然而,虽然它们在检测特定领域的异常方面可能非常有效,但在指定领域之外的其他领域可能效率较低。
例如,使用特定领域的技术,您可以专门设计技术来查找金融交易中的异常情况。 但是,它们可能无法用于发现机器中的异常或性能下降。
异常检测需要机器学习
机器学习在异常检测中非常重要且非常有用。
如今,大多数需要异常值检测的公司和组织都处理大量数据,从文本、客户信息和交易到图像和视频内容等媒体文件。
手动检查每秒生成的所有银行交易和数据以驱动有意义的洞察力几乎是不可能的。 此外,大多数公司在构建非结构化数据和以有意义的方式安排数据以进行数据分析方面面临挑战和重大困难。
这就是机器学习 (ML) 等工具和技术在收集、清理、构建、安排、分析和存储大量非结构化数据方面发挥巨大作用的地方。
机器学习技术和算法处理大型数据集,并提供使用和组合不同技术和算法的灵活性,以提供最佳结果。
此外,机器学习还有助于简化实际应用程序的异常检测过程并节省宝贵的资源。
以下是机器学习在异常检测中的更多好处和重要性:
- 它通过自动识别模式和异常而无需显式编程,从而使缩放异常检测变得更加容易。
- 机器学习算法高度适应不断变化的数据集模式,使它们随着时间的推移变得高效和稳健。
- 轻松处理大型和复杂的数据集,尽管数据集很复杂,但仍能高效地进行异常检测。
- 通过在异常发生时识别它们来确保及早识别和检测异常,从而节省时间和资源。
- 与传统方法相比,基于机器学习的异常检测系统有助于实现更高水平的异常检测准确性。
因此,异常检测与机器学习相结合有助于更快、更早地检测异常,以防止安全威胁和恶意破坏。
用于异常检测的机器学习算法
您可以借助用于分类、聚类或关联规则学习的不同数据挖掘算法来检测数据中的异常和异常值。
通常,这些数据挖掘算法分为两个不同的类别——监督学习算法和非监督学习算法。
监督学习
监督学习是一种常见的学习算法,由支持向量机、逻辑和线性回归以及多类分类等算法组成。 该算法类型是在标记数据上训练的,这意味着其训练数据集既包括正常输入数据,也包括相应的正确输出或异常示例,以构建预测模型。
因此,它的目标是根据训练数据集模式对未见数据和新数据进行输出预测。 监督学习算法的应用包括图像和语音识别、预测建模和自然语言处理 (NLP)。
无监督学习
无监督学习 没有在任何标记数据上训练。 相反,它在不提供训练算法指导的情况下发现复杂的过程和底层数据结构,而不是做出具体的预测。
无监督学习算法的应用包括异常检测、密度估计和数据压缩。
现在,让我们探索一些流行的基于机器学习的异常检测算法。
局部离群因子 (LOF)
Local Outlier Factor 或 LOF 是一种异常检测算法,它考虑局部数据密度来确定数据点是否异常。
它将一个项目的局部密度与其邻居的局部密度进行比较,以分析密度相似的区域和密度低于其邻居的项目——这些区域只不过是异常或异常值。
因此,简单来说,异常值或异常项周围的密度与其相邻项周围的密度不同。 因此,该算法也称为基于密度的异常值检测算法。
K 最近邻 (K-NN)
K-NN 是最简单的分类和监督异常检测算法,易于实现,存储所有可用的示例和数据,并根据距离度量的相似性对新示例进行分类。
这种分类算法也称为惰性学习器,因为它只存储标记的训练数据——在训练过程中不做任何其他事情。
当新的未标记训练数据点到达时,算法会查看 K 最近或最接近的训练数据点,以使用它们对新的未标记数据点进行分类和确定类别。
K-NN算法使用以下检测方法来确定最近的数据点:
- 欧几里得距离,用于衡量连续数据的距离。
- 汉明距离,用于衡量离散数据的两个文本字符串的接近度或“接近度”。
例如,假设您的训练数据集由两个类标签 A 和 B 组成。如果新数据点到达,算法将计算新数据点与数据集中每个数据点之间的距离并选择点这是最接近新数据点的最大数量。
因此,假设 K=3,并且 3 个数据点中有 2 个标记为 A,则新数据点标记为 A 类。
因此,K-NN 算法在具有频繁数据更新要求的动态环境中效果最佳。
它是一种流行的异常检测和文本挖掘算法,在金融和商业领域有应用,可以检测欺诈交易并提高欺诈检测率。
支持向量机 (SVM)
支持向量机是一种基于监督机器学习的异常检测算法,主要用于回归和分类问题。
它使用多维超平面将数据分为两组(新的和正常的)。 因此,超平面充当分隔正常数据观察和新数据的决策边界。
这两个数据点之间的距离称为边距。
由于目标是增加两点之间的距离,SVM 确定具有最大边距的最佳或最优超平面,以确保两个类之间的距离尽可能宽。
关于异常检测,SVM 从超平面计算新数据点观察的边距以对其进行分类。
如果边距超过设定的阈值,它将新观察分类为异常。 同时,如果 margin 小于阈值,则将观察分类为正常。
因此,支持向量机算法在处理高维和复杂数据集方面非常有效。
隔离林
孤立森林是一种基于随机森林分类器概念的无监督机器学习异常检测算法。
该算法根据随机属性以树结构对数据集中的随机子采样数据进行处理。 它构建了几个决策树来隔离观察。 如果它根据其污染率被隔离在较少的树木中,它就会认为一个特定的观察结果是异常的。
因此,简单来说,隔离森林算法将数据点拆分到不同的决策树中——确保每个观察值都与另一个观察值隔离开来。
异常通常远离数据点集群——与正常数据点相比,更容易识别异常。
隔离森林算法可以轻松处理分类数据和数值数据。 因此,它们的训练速度更快,并且在检测高维和大型数据集异常方面效率更高。
四分位间距
四分位数间距或 IQR 用于测量统计变异性或统计离散度,以通过将数据集划分为四分位数来查找数据集中的异常点。
该算法按升序对数据进行排序,并将数据集分成四个相等的部分。 分隔这些部分的值是 Q1、Q2 和 Q3——第一、第二和第三四分位数。
这是这些四分位数的百分位数分布:
- Q1 表示数据的第 25 个百分位数。
- Q2 表示数据的第 50 个百分位数。
- Q3 表示数据的第 75 个百分位数。
IQR 是第三个(第 75 个)和第一个(第 25 个)百分位数数据集之间的差异,代表数据的 50%。
使用 IQR 进行异常检测需要您计算数据集的 IQR 并定义数据的下限和上限以发现异常。
- 下边界:Q1 – 1.5 * IQR
- 上限:Q3 + 1.5 * IQR
通常,落在这些边界之外的观测值被认为是异常。
IQR 算法对于数据分布不均匀且分布不太清楚的数据集有效。
最后的话
未来几年,网络安全风险和数据泄露似乎不会得到遏制——这个高风险行业预计将在 2023 年进一步增长,而仅物联网网络攻击一项预计到 2025 年就会翻一番。
此外,到 2025 年,网络犯罪将使全球公司和组织每年损失约 10.3 万亿美元。
这就是为什么对异常检测技术的需求在当今对于欺诈检测和防止网络入侵变得越来越普遍和必要。
本文将帮助您了解数据挖掘中的异常是什么、不同类型的异常以及使用基于 ML 的异常检测技术来防止网络入侵的方法。
接下来,您可以探索机器学习中关于混淆矩阵的一切。