admin管理员组

文章数量:1532657

2024年3月23日发(作者:)

龙源期刊网

远程网络安全扫描器的设计技术刍议

作者:王振亚

来源:《硅谷》2008年第22期

[摘要]对网络安全扫描技术进行初步研究,结合当前网络中的扫描器存在的普遍问题,设

计一种远程网络安全扫描器,该扫描器具有较强的综合性能,能够提供多种端口扫描技巧,对

未来扫描器的设计具有一定的借鉴意义。

[关键词]扫描器 远程扫描 网络安全 模块

中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1120045-01

随着Internet的不断发展,信息技术已成为促进经济发展、社会进步的巨大推动力,高度

的计算机化信息资源对任何人无论在任何时候、任何地方都变得极有价值。不管是存储在工作

站中、服务器里还是流通于Internet上的信息都已转变成为一个关系事业成败关键的策略点,

这就使保证信息的安全变得格外重要。

对于网络攻击者来说,网络进攻一般都先从网络端口扫描和网络安全扫描开始。在对目标

网络数据信息截获的基础上,根据寻找到的网络漏洞和窃取的网络信息,才能有针对性地确定

攻击点、才去相应有效的策略和方法对目标实施攻击。但是,随着安全保护意识的不断提高、

安全检测机制的不断完善,各种攻击探测行为遭到了过滤和封杀。因而,只有深入研究扫描技

术、系统总结各种扫描方法和策略的原理及特点,才能在不同环境下选择有效的扫描策略和方

案,才能不断寻找新的方法和技术以增强扫描行为的隐蔽性和准确性,才能使扫描器成为强有

力的信息攻击武器。深入研究扫描技术原理、系统总结扫描技术特点与规律并形成一套理论体

系,自主开发实现集多种技术于一身的综合性能强的扫描工具,形成网络攻击的一系列有效工

具与武器,才能提高有效打击敌对势力利用信息网络进行蓄意破坏或颠覆活动的能力。

一、扫描器的工作原理和基本功能

扫描器通过调用远程TCP/IP不同端口的服务并记录分析目标主机的应答信息,从而搜集

到关于目标主机的各种有用信息,如端口开放状态、运行的服务、操作系统的类型、存在的漏

洞等。它本身不是一个直接的攻击程序,而是仅仅能够帮助我们发现网络中目标主机的内在弱

点和漏洞。扫描器具有发现一个主机或者网络的能力,一旦发现目标,能够发现运行在目标主

机上的服务,并且通过测试这些服务,能够发现网络漏洞。

龙源期刊网

目前使用扫描工具的用户主要有三类:一类是网络管理员,一类是黑客,还有一类是普通

用户。他们对网络的使用的角度不同,所以扫描的目的也各不相同。

二、远程网络安全扫描器的设计

(一)扫描器的总体设计思想

在综合对比网络扫描技巧和策略的分析以及对现有扫描工具的应用比较,根据网络攻击系

统的需求设计网络安全扫描器。该扫描器主要用于网络攻击系统中对目标网络的信息侦查,同

时能够提供多种可选择的扫描方式和扫描功能,并能够采用优先策略和技术提高扫描器的隐蔽

性和准确性。设计方案如下:

(1)运行与Windows XP操作系统,采用多线程方式实现端口扫描、操作系统探测和漏

洞扫描等扫描远程目标主机或网络的综合功能。

(2)扫描器的各个功能采用模块即插件的形式实现,在进行功能添加和删除时只需要对

该功能模块更新,从而具有较好的开放性,易于升级更新,方便用户在使用时对各个功能的选

择组合。

(3)支持多种协议的端口扫描方法,如TCP connect()、TCP SYN、FIN、Xmas、

NULL、FTP代理和UDP扫描等。

(4)提供漏洞扫描功能。采用“逐一探测”策略进行漏洞扫描,对不同漏洞的扫描采用插

件形式实现。

(二)扫描器的主要模块功能

扫描器是在Windows XP操作平台下采用C语言开发设计,其主要功能模块如下:

(1)扫描引擎模块。主要完成的功能包括:解析输入的控制命令,进行参数修改;初始

化扫描参数并验证参数的正确性;对目标信息进行配置,如主机名与IP地址互换、填充目标

主机列表、填充被扫描端口列表等。

龙源期刊网

(2)端口扫描模块、OS探测模块和漏洞扫描模块。这三个模块构成了扫描器的主体功能

模块,分别执行端口扫描、操作系统(OS)探测和漏洞扫描的功能。在这三个模块中主要实

现的功能是:配置与扫描技巧匹配的发送数据包格式和内容,调用发送数据模块中发送相应数

据包的功能函数,调用数据捕获模块接收应答信息并进行分析,调用结果输出模块记录最终的

扫描结果。

(3)发送探测数据模块。主要是通过使用Winsock API提供的函数将各种配置好的扫描

探测数据包发送到目标主机。

(4)解析数据模块。将应答数据进行分解记录,然后与数据库中信息进行匹配,最后给

出匹配结果并交给扫描模块进行处理。

(5)扫描结果输出模块。主要以两种方式完成结果的输出,一种方式是将扫描的结果在

屏幕上直接显示,另一种是将结果以规定的格式记录在文件中。

(三)扫描器的工作流程

扫描器首先调用扫描引擎模块进行命令和参数的解析,对未定义的必要参数进行初始化并

检验参数的有效性,然后对要执行的目标进行初始化定义,包括被扫目标主机的任务列表、目

标IP地址和主机名等信息,确定扫描任务。如果要进行端口扫描,则初始化端口列表,调用

指定的端口扫描方式进行配置;如果要进行OS指纹识别探测,则先判断是否已经获得端口状

态列表,若已经获得就执行OS探测,否则先对数据库中默认的端口进行扫描然后再执行OS

探测;如果要扫描漏洞,也先判断端口列表信息,然后只对打开的端口进行漏洞扫描的数据配

置。完成上述配置后调用数据发送模块发送探测数据。在接收到应答数据后,通过调用数据分

析模块将应答数据与数据库中的先验数据进行匹配,并将结果送给输出模块进行显示、记录。

在扫描器框架图和工作流程图的基础上,编制了一系列软件,该扫描器能够完成对网络目

标主机个体的远程综合扫描,能够扫描出目标主机的个体信息。但还不具有利用网络主机间的

信息绘制出网络拓扑结构的功能,本文对以后扫描器在网络拓扑方面的发展具有一定的指导和

借鉴意义。

参考文献:

[1]刘三满、郭丽蓉、郭璞,浅析网络安全扫描技术[J].科技情报开发与经济.2005.1.

[2]李健、张国印,顾国昌等.网络扫描技术实现及其在网络安全中的应用[J].计算机应用研

究.2004.

[3]李素科,扫描器原理与反扫描措施[J].计算机应用与开发.2001.3.

龙源期刊网

本文标签: 扫描进行扫描器