一种基于假设检验的端口扫描引擎调优方法*

2018-05-25 03:09孙耀辉
通信技术 2018年5期
关键词:假设检验测试数据引擎

孙耀辉,贺 劼,齐 权

(北京知道未来信息技术有限公司,北京100102)

0 引 言

随着我国对互联网安全重视程度的不断提升,社会对实现互联网态势感知的需求愈发显著。构建互联网态势感知系统,不仅有利于提高我国网络系统的应急响应能力,而且对缓解网络攻击造成的危害、发现潜在恶意入侵行为和提高网络反击能力具有重大意义[1]。

实现互联网态势感知,关键在于对互联网空间中近40亿个IP所属主机的主机存活性、端口开放性、端口所提供的服务以及端口组件等信息进行识别。为了实现上述要求,端口扫描技术是关键。从连接范围来看,端口扫描技术可分为全连接扫描和半连接扫描两类。其中,以NMAP为代表的全连接扫描引擎由于端口扫描建立在稳定的TCP连接之上,具有漏报率较低、结果稳定等优点。相比于全连接扫描技术,以ZMAP、MASSCAN为代表的半扫描技术由于数据包收发分离且无需维护TCP连接,具有更高的端口扫描效率[2]。由于互联网态势感知关注的是整个互联网空间,而NMAP等全连接扫描引擎的扫描效率无法满足实际的端口扫描需求,因此以ZMAP为代表的基于半连接技术的端口扫描引擎是建立态势感知系统底层端口识别模块的有效方法。

本文将介绍半连接端口扫描技术的原理,分析限制扫描效率的原因,并提出了一种解决方案。经过试验证明,本文方法能够有效提升半连接端口的扫描速率。

1 半连接端口扫描原理

因为半连接扫描技术下的端口扫描不是建立在稳定的TCP连接之上,所以其扫描结果受网络波动影响较大。扫描结果的不稳定等问题,成为制约互联网态势感知系统产出可靠数据的最大因素。

半连接端口扫描技术是一种无需维护完整的TCP连接的技术。它与目标服务器的端口连接过程如下[3]:

(1)向目标端口发送SYN包;

(2)如果目标端口回复SYN+ACK包,说明该端口目前为开放状态,可以进行连接;

(3)如果目标端口没有回复包或回复RST包,说明此时目标端口为关闭状态,无法进行连接。

需要注意的是,由于是半连接的扫描方式,向目标端口发出的SYN包和其他回复包均可能在网络传输中丢失。此时,系统会错误判断目标端口为关闭状态。

可见,对于基于半连接扫描技术的端口扫描引擎,网络丢包是导致其扫描结果可靠性下降的根本因素。为了解决该问题,通常利用调整发包速率和SYN包的发包次数来进行调优。当参数调整后的测试对比结果可靠性提高时,参数的调优方向也比较明确。但是,当参数调整后的测试结果对比不是很显著时,参数的调优方向一般由研发人员根据经验决定,而没有比较科学的理论依据做支持。

综上所述,为了解决半连接扫描引擎由于网络丢包而导致的可靠性下降问题,本文利用概率论中的假设检验理论[4],以ZMAP端口扫描工具为例,提出一种科学的扫描引擎调优方法,使得端口扫描引擎在保证扫描速率的前提下,获得更加稳定、可靠的端口扫描结果,并得出切实可行的优化方案。

2 提升扫描结果的稳定性

2.1 问题分析

通常,由于互联网的复杂性和网络状况随时间的不断变化,对同一批目标IP的相同目标端口在间隔较短的不同时间进行端口扫描,可能得到差异很大的扫描结果。针对该问题,本文提出利用多次发包的方法缓解由于网络丢包造成的扫描结果波动较大的问题。

2.2 优化方案与实验验证

本文设计如下优化方案进行配对实验。首先,原始方案仅向目标端口发送一个SYN包;优化方案向目标端口发送2个SYN包,并使用相同的发包频率。为了保证2个测试方案的网络情况一致,它们于同一时间在同一测试机上进行实验,取15组测试数据,如表1所示。

表1 原始方案与优化方案测试数据

其中,Original字段和Optimized字段分别为原始方案和优化方案扫描的开放端口总数。对测试数据进行可视化操作,结果如图1所示。

从图1可以明显看出,在相同的测试环境下,本文的优化方案可以更好地应对网络波动情况,产生更为理想的测试数据。另外,本文还设计了如下假设检验方案对上述优化方案的扫描效果进行进一步验证。由于原始方案和优化方案是在同一时间相同网络条件下执行的配对测试,因此对测试结果执行配对T检验。

指定alpha level为1%,并提出假设:零假设,即原始方案与优化方案扫描出的开放端口总数相差不大;对立假设,即优化方案扫描出的开放端口数大于原始方案扫描出的开放端口数。

图1 测试数据可视化

为了与alpha level进行比较,本文使用配对T检验的t值结果进行对比,其计算公式如下:

其中为配对样本差值平均数,为配对样本差值的标准偏差,n为配对样本数[5]。

根据式(1)的计算结果,得到对应p值为2.60e-12。由于该结果远小于alpha level,所以拒绝零假设并接受对立假设。经过上述实验对比可以看出,本文优化方案的扫描效率要优于原始方案,在相同实验条件下,本文优化方案还可以得到更多的开放端口数目。

3 提升扫描速度

3.1 问题分析及优化方法

通常,以ZMAP为代表的半连接扫描引擎的扫描速率与发包速度有关。发包速度越高,扫描速度越快,而其发包速度通过-B参数指定带宽予以控制。但是,由于扫描引擎的扫描行为本身也会对网络情况产生影响,过大的发包速度会导致扫描到的开放端口数变少。因此,如何针对不同的网络状况选择合适的发包速度,从而在尽可能短的时间内扫描出尽可能多的开放端口数,也是扫描引擎调优至关重要的方面。

3.2 优化方案和实验验证

针对上述问题,本文提出如下测试方案。首先,方案一采用128 kHz带宽进行端口开放性扫描;其次,方案二采用256 kHz带宽进行端口开放性扫描。分别使用2个方案在不同日期的相同时间段内各自进行若干次扫描,并统计扫描出的开放端口数,结果如表2所示。

表2 128 kHz扫描速率与256 kHz扫描速率命中目标数

观察2组测试数据可以发现,部分测试数据在256 kHz带宽下获得了较低的开放端口发现数量,也有部分测试数据并没有获得较低的开放端口发现数量。因此,仅通过观察样本数据无法得出明确结论。本文依据假设检验理论对样本数据执行假设检验,由于2组数据样本之间的独立性,此处对它们执行独立双样本t检验。

指定alpha level为1%,并提出假设:零假设,256 kHz带宽扫描出的端口开放个数与128 kHz带宽扫描出的端口开放个数无明显差异;对立假设,256 kHz带宽扫描出的端口开放个数少于128 kHz带宽扫描出的端口开放个数。

使用独立双样本t检验计算t值,独立双样本t检验的计算公式如下:

其中,n为样本数[5]。所述二群样本各自的平均数和所述样本之共同变异数依次为:

针对本次对比测试的测试结果,计算得到p值为0.0406,结果大于alpha level,因此未能拒绝零假设。实验结果表明,在256 kHz带宽参数下,扫描引擎扫描出的开放端口数并没有明显下降,因此可以将扫描引擎的扫描速率提升一倍。

4 结 语

本文通过引入假设检验理论,促使扫描引擎的优化过程不再仅仅依靠研发人员的经验,而是有了可以参照的理论和对应计算数据作为依据。另外,在无法从对比测试数据中直接看出明显差异的情况下,本文提供了一个更加简便和准确的方式作为引擎调优方向的指导。实验结果表明,本文方法可以有效减少反复进行对比测试的过程,从而提高引擎调优的效率。

参考文献:

[1] 王慧强,赖积保,朱亮等.网络态势感知系统研究综述 [J].计算机科学 ,2006,33(10):1-6.WANG Hui-qiang,LAI Ji-bao,ZHU Liang,et al.A Survey of Network Situational Perception Systems[J].Computer Science,2006,33(10):1-6.

[2] Zakir D,Eric W,Halderman J A.ZMAP:Fast Internetwide Scanning and Its Security Applications[C].22nd USENIX Security Symposium,2013:606-610.

[3] 刘文晋,姜建国.半连接端口扫描的TCP层技术研究[J].重庆电力高等专科学校学报,2009,14(02):31-34.LIU Wen-jin,JIANG Jian-guo.Research on TCP Layer Technology for Semi-connected Port Scanning[J].Journal of Chongqing Electric Power College,2009,14(02):31-34.

[4] 马凤鸣,王忠礼.假设检验方法分析及应用[J].长春大学学报 ,2012,22(02):1-6.MA Feng-ming,WANG Zhong-li.Hypothesis Test Method Analysis and Application[J].Journal of Changchun University,2012,22(02):1-6.

[5] 史书良.统计学原理[M].北京:清华大学出版社 ,2007:256-258,270-273.SHI Shu-liang.Statistics Principle[M].Beijing:Tsinghua University Press,2007:256-258,270-273.

猜你喜欢
假设检验测试数据引擎
新海珠,新引擎,新活力!
假设检验结果的对立性分析
车坛往事4:引擎进化之屡次失败的蒸汽机车
测试数据管理系统设计与实现
蓝谷: “涉蓝”新引擎
统计推断的研究
基于自适应粒子群优化算法的测试数据扩增方法
凤爪重量质量管理报告
空间co-location挖掘模式在学生体能测试数据中的应用
基于改进隐马尔科夫模型的畜禽全基因组关联分析中的多重检验方法