对于绝大多数桌面用户来说,大数据安全分析的成本以及对强大的IT基础设施的需求都是不能承受的,并且难以应用于快速增长的数据集以进行安全性分析。桌面用户需要易于实施且价格低廉的大数据安全分析方法,以满足其数据处理要求。本文介绍的一种直观且廉价的大数据安全分析方法,使用Windows桌面用户的计算智能(CI)技术,其中Windows批处理编程EmEditor和R的组合用于安全性分析。模拟实验是在具有超过1000万个观测值的真实数据集上执行的,这些数据集是从Windows防火墙日志中收集,用于演示桌面用户如何深入了解其丰富且未触及的数据,并提取有用信息以防止其系统受当前和未来安全保护威胁。

理论背景

由于防火墙日志、事件日志、应用程序日志、Web日志和许多其他安全日志等形式的不同安全工具生成了大量数据,安全性分析对于桌面用户来说正变得越来越复杂,有效处理这些收集的数据需要大量的系统资源和功能强大的分析工具。但是,在没有适合这些大型数据集的处理机制的情况下,有价值的数据集可能变得无用,并且构成其他重要应用程序的资源开销。因此,桌面用户需要易于实施且价格低廉的大数据安全分析方法,需要相对简单、经济且资源有效的数据分析方法。

在这种提议的安全分析方法中,Windows批处理编程EmEditor和R的组合用于桌面用户分析的目的。R主持了几个与人工神经网络、进化算法、模糊系统和混合智能系统相关的CI软件包,用于设计智能系统。此安全性分析方法涉及多个阶段,其中使用Windows批处理脚本执行数据收集和合并,使用EmEditor进行数据清理和编辑,最后,R用于构造数据,使用CI技术执行分析、可视化和解释结果。

实验模拟基于1 006 889 160 B(1.01 GB)的实际数据集,具有超过1 000万个观测值(从Windows防火墙日志中收集30天)。这种基于CI的大数据安全分析方法还可以扩展到其他类型的安全日志,例如事件日志、应用程序日志和Web日志。

R是一种开源统计计算和数据可视化软件工具,适用于所有主要操作系统,如UNIX、Windows和MacOS平台。R包括数据处理设施,用于矩阵计算的优越机制、过多的数据分析和图形包以及简单的编程语言。R最强大的特征是对外部包的支持。目前,R已经通过CRAN系列的互联网网站整合了大约5 000个包。R还拥有多个与人工神经网络、演化算法、模糊系统和混合智能系统相关的CI软件包,用于设计智能系统。

Windows防火墙

自Windows XP SP2发布以来,Microsoft在Windows操作系统中嵌入了防火墙实用程序,现在可用于所有版本的Windows,具有“高级安全性”功能的Windows防火墙是一种状态防火墙,可检查和过滤IPv4和IPv6流量的所有数据包,数据包过滤过程基于用户或管理员定义的规则,并在此基础上允许或阻止网络流量。防火墙会自动阻止所有传入流量,除非它是对主机请求的响应,或者通过编写防火墙规则特别允许。Windows防火墙还可以为特定端口号、应用程序名称、服务名称或其他基于标准的流量配置“高级安全性”,然后可以明确允许这种流量。这些功能专为需要在企业环境中管理网络安全性的高级用户而设计,它通常不适用于家庭网络。

模糊推理

模糊推理是从现有模糊规则库中导出逻辑结论的过程,它模仿人类思维总结数据的能力,并专注于决策相关信息。模糊推理对于那些由于不确定性、不可预测的动力学和其他未知现象,无法用精确的数学术语或模型来定义系统的有效和有用。在网络安全中,大部分信息和流量数据本质上是不完整和不精确的,因此,模糊推理比其他类型的推理方法更为合适。模糊推理基于模糊规则库,可以由主题专家推导出来,也可以通过规则归纳过程从数据中提取出来。如果模糊规则库是一个密集的规则库,则可以使用任何规则推断方法,如Mamdani推理或Takagi-Sugeno推理。

利用R中的计算智能技术对WINDOWS防火墙进行安全性分析

由于系统资源和IT技能的限制,桌面用户的安全性分析是一项具有挑战性的任务。因此,本节介绍了为桌面用户提供的基于CI的大数据安全分析方法的设计和实现,以便在其限制内执行安全性分析。此安全性分析仅关注Windows桌面用户,该实验在Windows 7操作系统和桌面上进行配置(处理器为Intel Core i7 3.0 GHz(4核),RAM为16 GB,L2 Cache为8 MB,以太网为100 Mb/s),此安全性分析需要两个软件工具:EmEditor和R(使用RStudio IDE)。与其他安全分析不同,任何具有统计学基础知识和基本IT技能的用户都可以在没有任何技术培训的情况下进行安全分析,这种面向桌面的安全分析方法有几个阶段,如图1所示。各个阶段的描述如下。

使用Windows批处理脚本收集和合并Windows防火墙日志

在Windows防火墙日志的安全性分析中,需要一个合理的日志文件来执行大量分析,并且通过编写Windows批处理脚本以最简单的方式创建,如图2所示,此批处理脚本在后台工作完成实验的一段时间,最初,“mergedLog”文件是使用包含“pfirewall.log”文件的所有17个默认变量的标题。最后,在逐渐日志记录过程中获得了具有超过1 000万个观测值的1 006 889 160 B(1.01GB)的“mergedLog”文件。

使用EmEditor清理和编辑“mergedLog”文本文件

通常,收集的数据可能不正确、不完整、格式不正确或重复,需要清理和编辑才能去除这些杂质。虽然日志文件是一个简单文本文件,但Notepad ++和其他桌面编辑器无法处理样品非常大的文本文件,而EmEditor可以轻松处理高达248 GB的文件大小。对于此分析,使用EmEditor清理和编辑“mergedLog”文件(大于1 GB),如图3所示,“mergedLog”文件的创建方式与“pfirewall.log.old”的前五行相同。

将“mergedLog”文本文件转换为R表结构

R支持基于R数据帧的表格式数据结构,因此,数据帧是R中的基本数据结构,read.table()以表格格式读取文件并从中创建数据帧,该函数的语法如公式1所示:

数据框名称=read.table(文件名,标题= F / T,sep =“”)(1)

其中“标题”是一个逻辑值,表示文件是否包含变量名并作为第一行,“sep”是字段分隔符,在该实现中,使用read.table()函数将合并的日志文件“mergedLog”转换为表格类型的数据结构,如图4所示。

如果合并日志文件的结构,标题和内容准确,则在R中创建一个名为“mergedLogDataSet”的数据集,如图5所示。

该数据集显示在RStudio IDE的“环境和历史窗格”中,并包含10 866 240个观测值和17个类似于防火墙标题变量的变量,“mergedLogDataSet”(参见图6)的实际表结构可以在“脚本编辑器菜单”中看到。

通过“str”命令可以看到该“mergedLogDataSet”的结构相关信息,如图7所示。

使用CI技术对mergedLogDataSet进行安全性分析

(1)用于安全性分析的Windows防火墙规则:基于规则的流量数据被收集在“pfirewall.log”文件中,创建了两个入站规则来阻止特定流量的两台特定计算机,如图8所示。创建第一条规则是为了阻止计算机,IP地址为192.168.0.50,仅用于ICMP数据包;第二条规则用于计算机的IP地址 192.168.0.51,仅用于TCP数据包。因此,在日志生成期间可以记录足够的丢弃活动。同样,为了停止主机端的某些活动(192.168.0.154),还创建了一个出站规则来阻止传出的ICMP数据包到其他计算机,如图9所示。这些阻塞规则在防火墙中产生了足够的“丢弃”流量。

(2)Windows防火墙日志的初步统计分析:R中最简单的数据分析命令是“摘要”命令,它提供有关给定数据集的合理统计信息,但是,它可能不足以进行详细调查或预测未来趋势。因此,根据研究的性质,可能需要一些高级分析包,如图10所示,summary命令显示了很少有关“mergedLog”文件的统计信息,这对于进一步调查非常有用,此摘要包括与日期、时间、操作、协议、源地址、目标地址、源端口和目标端口相关的信息,这些信息非常清晰且易于理解。

(3)零假设和二项精确分析:所提出的摘要分析只是表面数据,防火墙日志变得非常巨大,普通用户很难从该防火墙日志中提取有意义的安全信息。用户的第一步是确定收集的流量数据是否接近正常/理想流量水平,因此,需要不同的统计分析来评估桌面的当前安全状态,R中的零假设是最简单的分析,用于比较数据的统计显著性,而不会使分析与进一步的细节复杂化,任何防火墙的核心操作都是根据规则允许或丢弃数据包,为此,“table()”函数显示每个因子级别组合的计数表,在图11中,table()函数显示并简化了针对所有10 866 240数据包的防火墙操作,其中7 952 160数据包是“允许的”,2 913 840数据包是“丢弃”的。因此,基于允许的分组数(成功),构造零假设以确定收集的业务状态/级别。

零假设检验的结果也通过R中的二项精确检验精确地验证,在图12中,成功的概率是0.7 318 226,因此,使用binom.test()函数计算二项精确值,如图13所示,但是,p值与prop.test()函数计算的先前p值相同,两个测试均拒绝零假设,显著性水平= 0.05,置信水平= 95%,因此,需要进行进一步的详细分析,以获得对桌面的风险和攻击的性质。

(4)ICMP / TCP / UDP数据包和IP地址分析:零假设和二项分析导致进一步调查防火墙日志以确定安全漏洞的原因,在图10所示的摘要分析结果中,可以容易地观察到协议和IP地址相关信息,并且可以用于分析原因,图14显示了总ICMP、TCP和UDP的汇总表。

图15和16显示了两个协议ICMP和TCP以及两个IP地址为192.168.0.50和192.168.0.51的计算机系统的详细分析。

(5)设计用于预测攻击风险的模糊推理系统:在R中使用这些CI技术相对容易,使用集合包(参见图17)设计模糊推理系统,以基于先前的分析来预测攻击的风险,如图18、图19、图20所示。

对“mergedLog”文件及其数据集的详细分析表明,除了防火墙规则之外,ICMP和TCP数据包的速率可以帮助系统预测未来的攻击风险,随后,对于该主机的基线,确定ICMP分组的范围(0~2 000分组/秒)和TCP分组(0~8 000分组/秒)以确定正常和异常的业务状况,基线信息用于设计两个模糊输入变量icmprate和tcprate,其进一步的细节可以在文献[10-13]中找到,基于这两个模糊输入变量,确定模糊输出变量攻击风险,以百分比(0~100%)预测攻击风险。

预测攻击的风险:此系统可与防火墙规则一起使用,以预测Windows防火墙中无法实现的攻击的可能性和级别,其进一步的细节可以在文献[10-13]中找到。

R中模糊智能系统的这种简单易行的设计可以监控和预测攻击风险,这只是R强度及其对CI技术支持的一个例子。

进化算法和混合智能系统也可以以相同的方式用于设计各种智能系统,另外,可以根据特定主机/网络的要求来调整和操纵基线分析和参数范围。

使用R中的图表对安全性分析结果进行可视化解释

R是一个强大的数据可视化工具,由于许多外部软件包,如ggplot2、vcd或hexbin,用于增强信息的图形显示。使用简单的内置图形函数“plot”呈现了一些主要发现,然而,高级包“ggplot2”也可用于更具信息性和吸引力的表示。图21表示绘图命令,图22描述了其关于所有允许、丢弃和丢失分组的结果信息,其显示桌面允许73%的分组与丢弃的27%的分组相比。图23表示绘制源IP地址及其相应动作的绘图命令。图24显示了从特定源IP地址允许或丢弃了多少分组的绘图命令的结果图。红色和绿色分别显示该源IP地址的允许和丢弃数据包。

类似地,图25表示绘制目的地IP地址及其相应动作的绘图命令,图26指出了针对特定目的地IP地址允许或丢弃了多少分组的绘图命令的结果图,红色显示允许的数据包,青色显示该目标IP地址的丢弃数据包,在所有安全性分析中,分析的性质及其解释由用户/分析师确定。

桌面用户的大数据可扩展性

桌面用户的任何大数据分析方法都应该能够应对不断增加的数据量及其有效处理,今天的台式机包括多核处理器和增加的内存,因此,大数据分析方法应优化处理器和内存资源的使用。R被用于提出的方法,但需要额外软件包的支持才能优化使用处理器和内存。

R被设计为一次只使用一个线程(处理器),除非与多核/多线程库相关联,否则R的运行方式相同。为了利用多核,R需要支持与高性能和并行计算(HPPC)相关的附加软件包。在R中有几个可用于并行处理的包,例如并行、多核、Rmpi、pbdMPI、Rborist、h2o、randomForestSRC、Rdsm和Rhpc。包“并行”基于包“mul- ticore”和“snow”构建,并提供了这些包的大部分功能的替代。程序包“并行”处理并行运行更大的计算块,典型的例子是在许多不同的数据集上评估相同的R函数,对于Windows桌面用户,Microsoft R Open包含多线程数学库以提高R的性能,并且适用于所有操作系统(Windows / UNIX / Mac)。这些库使得几种常见的R操作(例如矩阵乘法/逆矩阵、矩阵分解和一些更高级别的矩阵操作)可以并行计算并使用所有可用的处理能力来减少计算时间。

大型数据集也需要大量内存,如果文件大小与系统的现有存储器相比非常大,则可以使用“ff”包来执行有效和快速的数据处理,“ff”包提供了存储在磁盘上的数据结构,但它们就像在RAM中一样,只透明地映射主内存中的一个部分(页面)。处理不断增加的数据量的另一个解决方案是“大”软件包系列,它由几个软件包组成,用于在大型数据集上执行任务,如bigmemory 、biganalytics、bigtabulate、synchronicity和bigalgebra。

结论

本文介绍了一种直观且廉价的大数据安全分析方法,该方法使用针对Windows桌面用户的计算智能(CI)技术,基于Windows批处理脚本EmEditor和R的组合。这种安全分析方法是在1 006 889 160 B(1.01 GB)的真实数据集上进行的,超过1 000万次观察,这些观察在Windows防火墙日志文件“pfirewall.log”中收集并在30天内整合到“mergedLog”文件中。这种面向桌面的安全分析可以成功地推断出桌面的安全状态,以及安全漏洞的来源和原因。在分析结果的基础上,设计了一个模糊推理系统来预测攻击风险并保护桌面。这种安全分析方法及其在适度桌面配置上的成功实施,显示了所提出方法的潜力。但是,这种特殊的实现仅限于基于某些防火墙规则、少数协议和IP地址的模拟数据。扩展规则和领域并收集外部流量以使这种方法成为一种通用的安全分析方法,是今后努力的方向。

内容节选自《信息技术与网络安全》2019年第六期《基于R计算智能技术的桌面用户大数据安全分析的研究》一文,作者陈立军,张屹,蒋慧勇

声明:本文来自信息技术与网络安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。