摘要:随着互联网络的飞速发展,网络入侵行为日益严重,网络安全成为人们的关注点。网络安全扫描技术是网络安全领域的重要技术之一,对其概念、分类进行了概述,并对其中的两种主要技术——端口扫描技术和漏洞扫描技术以及它们的原理分别进行了详细阐述,比较了它们的优缺点,介绍了漏洞扫描各种技术的实现原理,并对漏洞扫描存在的一些问题提出了一些完善化的建议。
关键词:网络安全扫描技术 端口扫描技术 漏洞扫描技术
作者简介:
宋苑,女,硕士研究生,98年获暨南大学计算机科学系及会计系双学位,2001年获暨南大学计算机软件工程专业硕士学位。助理工程师,毕业后一直在国家计算机网络与信息安全管理中心广州分中心工作,主要从事
计算机网络安全研究与管理工作。
卢扬明,男,本科,93年获暨南大学数学系应用数学专业本科学位。高级工程师,毕业后一直在广东省电信科学技术研究院工作,曾经从事通信交换机维护工作,目前主要从事通信网络规划工作。
1、引言 随着Internet的不断发展,信息技术已成为促进经济发展、社会进步的巨大推动力:当今社会高度的
计算机化信息资源对任何人无论在任何时候、任何地方都变得极有价值。不管是存储在工作站中、服务器里还是流通于Internet上的信息都已转变成为一个关系事业成败关键的策略点,这就使保证信息的安全变得格外重要。
安全扫描技术是一类重要的网络安全技术。安全扫描技术与防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员可以了解网络的安全配置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员可以根据扫描的结果更正网络安全漏洞和系统中的错误配置,在黑客攻击前进行防范。如果说防火墙和网络监控系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,可以有效避免黑客攻击行为,做到防患于未然。
安全扫描技术主要分为两类:主机安全扫描技术和网络安全扫描技术。网络安全扫描技术主要针对系统中不合适的设置脆弱的口令,以及针对其它同安全规则抵触的对象进行检查等;而主机安全扫描技术则是通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。
2、网络安全扫描技术简介 2.1 网络安全扫描技术的概述 网络安全扫描技术是一种基于Internet远程检测目标网络或本地主机安全性脆弱点的技术。通过网络安全扫描,系统管理员能够发现所维护的Web服务器的各种TCP/IP端口的分配、开放的服务、Web服务软件版本和这些服务及软件呈现在Internet上的安全漏洞。网络安全扫描技术也是采用积极的、非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,并对结果进行分析。这种技术通常被用来进行模拟攻击实验和安全审计。网络安全扫描技术与防火墙、安全监控系统互相配合就能够为网络提供很高的安全性。
2.2 网络安全扫描步骤和分类 一次完整的网络安全扫描分为3个阶段:
(1)第1阶段:发现目标主机或网络。
(2)第2阶段:发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。
(3)第3阶段:根据搜集到的信息判断或者进一步测试系统是否存在安全漏洞。
网络安全扫描技术包括有PING扫射(Ping sweeP)、操作系统探测(Operating system identification)、如何探测访问控制规则(firewalking)、端口扫描(Port scan)以及漏洞扫描(vulnerability scan)等。这些技术在网络安全扫描的3个阶段中各有体现。
PING扫射用于网络安全扫描的第1阶段,可以帮助我们识别系统是否处于活动状态。操作系统探测、如何探测访问控制规则和端口扫描用于网络安全扫描的第2阶段,其中操作系统探测顾名思义就是对目标主机运行的操作系统进行识别;如何探测访问控制规则用于获取被防火墙保护的远端网络的
资料;而端口扫描是通过与目标系统的TCP/IP端口连接,并查看该系统处于监听或运行状态的服务。网络安全扫描第3阶段采用的漏洞扫描通常是在端口扫描的基础上,对得到的信息进行相关处理,进而检测出目标系统存在的安全漏洞。
端口扫描技术和漏洞扫描技术是网络安全扫描技术中的两种核心技术,并且广泛运用于当前较成熟的网络扫描器中,如著名的Nmap和Nessus。鉴于这两种技术在网络安全扫描技术中起着的举足轻重作用,本文将对这两种技术及相关内容做详细的阐述。
3、端口扫描技术 一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标
计算机进行端口扫描,能得到许多有用的信息。通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。它使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了一种手段。
3.1 端口扫描技术的原理
端口扫描向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,它仅能对接收到的数据进行分析,帮助我们发现目标主机的某些内在的弱点,而不会提供进入一个系统的详细步骤。
3.2 各类端口扫描技术
端口扫描主要有经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。此外还有间接扫描和秘密扫描等。
3.2.1 全连接扫描
全连接扫描是TCP端口扫描的基础,现有的全连接扫描有TCP connect()扫描和TCP反向ident扫描等。其中TCP connect()扫描的实现原理如下所述:
扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接。连接由系统调用connect开始。如果端口开放,则连接将建立成功;否则,若返回-1则表示端口关闭。建立连接成功:响应扫描主机的SYN/ACK连接请求,这一响应表明目标端口处于监听(打开)的状态。如果目标端口处于关闭状态,则目标主机会向扫描主机发送RST的响应。