




已阅读5页,还剩59页未读, 继续免费阅读
(通信与信息系统专业论文)智能化网络扫描系统的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海交通大学硕士学位论文 i 智能化网络扫描系统的研究与设计 摘 要 随着计算机技术和网络技术的发展,网络扫描技术的智能化是发展 的必然趋势。当前的网络扫描技术经历十几年的发展总体上已日趋成 熟,但仍然还处在一个静态扫描阶段,主要存在两方面不足:一是静态 扫描,二是分析评估功能较弱。所谓静态扫描,是指网络扫描系统只能 针对其所能扫描的对象进行检测, 还未能达到当扫描系统发现目标主机 某些端口开放时,就能自动地进一步对其相关的漏洞进行检测;同时网 络扫描的分析评估功能比较有限, 大部分网络扫描系统还只能实现对网 络单个主机安全隐患的罗列及其简单的分析建议, 而对网络的安全状况 缺乏一个整体的评估。 网络扫描技术智能化是指扫描系统完成用户指定 的扫描内容后,还能动态地根据扫描结果反馈的信息进行后续扫描,同 时对目标主机和网络的安全形成一个更全面更强大的分析评估。 本文针对现有网络扫描技术中存在的扫描静态性和分析评估功能 有限等不足,从网络扫描基本原理出发,在综合分析了现有网络扫描技 术的基础上,进行了网络扫描技术智能化策略的分析研究,同时设计实 现了一个符合智能化策略的网络扫描系统。 本文所研究的具有智能扫描 功能的网络扫描系统主要创新在于较好地解决了当前网络扫描技术中 存在的扫描静态性和分析评估功能较弱的不足, 同时兼顾了系统开发使 用中的易升级、易扩展性。在系统结构设计中,充分注意了插件技术的 运用,引入了智能评估系统部分。与当前其他网络扫描系统相比,具有 动态扫描性强、分析评估功能强大、易于扩展维护的特点。 关键词:网络扫描,智能化,插件技术,安全评估 上海交通大学硕士学位论文 ii research and design of intelligentized network scan system abstract with the development of computer and network technology, intelligentized network scan technology is the inevitable trends. the current network scan technology had been experienced several decades, which is mature nowadays. however, network scan technology is still in static scan phase. there are mainly two disadvantages. 1) the static performance of network scan. 2) the weak performance of analyzing and evaluation. the major idea of static scan is the network scan system only examines the object it can scan, and it cant automatically examine the vulnerability of object system when some open ports of the object system are discovered. at the same time, there is some limitations of the weak performance of analyzing and evaluation. most of the network scan is focus on listing the security vulnerabilities of a single host computer and giving simple analyzed suggestions. there is no the entire evaluation of network security. intelligentized network scan system can automatically perform continuous scan based on the information of previous scan results appointed by the user. finally, it can give user a more all-around reporting of the analyzing and evaluation about the security of host computer and network. according to the disadvantages of static performance of network scan and the insufficiency of performance of the analyzing and evaluation in current scan technonyly, imperfection performance about the report forms of network analysis existing in current network scanning technology, and baseding on the general analysis on the basic principles of network scanning and analyzing current scan technologies, , this paper discusses researches on 上海交通大学硕士学位论文 iii the intellectualized strategy policy aboutof the network scan. it also design and implement an network scan system which satisfies the intellectualized strategy. the etwork scan system proposed in this paper differs from all the previous works mainly in solving the deficiencies of static scan and the performance of analyzing and evalutation in current network scan technology. it also gives attention to make upgrade and spread easy. in the design of system structure, the paper paid attention to the applications of plugin technology and introduced the system of intelligentized evaluation. comparing with other system of network scan ,the characteristic of the system of network scan discussed in this paper is more roboticized in network scan, much stronger in the performance of analyzing and evalutation, more convenient in upgrade and spread. key words: network scanning, intelligentize, plugin technology, security evaluation 上海交通大学硕士学位论文 上海交通大学上海交通大学 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意 识到本声明的法律结果由本人承担。 作者签名:赵汉云 日 期: 2007 年 1 月 16 日 上海交通大学硕士学位论文 上海交通大学上海交通大学 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许 论文被查阅和借阅。 本人授权上海交通大学可以将本学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存和汇编本学位论文。 保密保密,在 年解密后适用本授权书。 本学位论文属于 不保密 不保密。 作者签名:赵汉云 导师签名:陆松年 日 期:2007 年 1 月 16 日 日 期:2007 年 1 月 16 日 上海交通大学硕士学位论文 1 1 引言 1.1 研究背景及意义 随着因特网的高速发展,国家社会信息化建设脚步的加快,包括政府机关、军 队、企业与商业在内的各行各业进入了一个前所未有的网络建设时代。覆盖全球的 因特网,以其自身协议的开放性方便了各种计算机网络的入网互联,极大地提高了 人们的工作效率和生活的便利性。但是,由于早期网络协议对安全问题的忽视,以 及在使用和管理上的无序状态,使得网络安全受到严重威胁,安全事故频频发生。 黑客活动日益猖獗,网络入侵事件越来越多,网络系统的安全已经成为网络建设面 临的一个重大而迫切的问题:如何有效地防止网络系统被攻击,是网络建设需要首 先解决的问题,同时了解网络安全状况又是防止网络被攻击必须解决的问题。只有 发现并修补了网络系统存在的各种安全漏洞,才能更有效地保护我们自己的网络, 真正将网络的优势发挥了出来。 网络扫描是网络安全技术的重要组成部分,是保障网络安全的重要手段,在维 护网络安全方面是对防火墙技术和入侵检测技术的有效补充。利用网络扫描技术, 人们可以发现网络和主机存在的对外开放的端口、提供的服务、某些系统信息、错 误的配置、 已知的安全漏洞等。 系统管理员利用安全扫描技术, 借助安全扫描工具, 可以发现网络和主机中可能会被黑客利用的脆弱点,从而想方设法对这些脆弱点进 行修复以加强网络和主机的安全性。 1.2 网络扫描系统概述 1.2.1 安全扫描基本概念及分类 安全扫描也称为脆弱性评估(vulnerability assessment) 1, 其基本原理是采用模拟 黑客攻击的方式对目标可能存在的已知安全漏洞逐项检测, 以便对工作站、 服务器、 交换机、数据库等各种对象进行安全漏洞检测。 安全扫描技术主要分为两类:基于主机和基于网络的安全扫描技术。本文探讨 上海交通大学硕士学位论文 2 的扫描技术是基于网络的安全扫描技术。按照扫描过程来分,扫描技术可分为四大 类型:ping 扫描技术、端口扫描技术、操作系统探测扫描技术以及漏洞扫描技术。 它们具体的概念及原理本文的第 2 章第 1 小节进行了较详细介绍。 1.2.2 网络扫描系统的概念、功能及结构。 网络扫描系统,它是安全扫描系统的一个分支,也称网络扫描工具或网络扫 描器。其实质是一种通过收集系统的信息来自动检测远程网络或者主机安全性脆弱 点的程序。它采用模拟攻击的形式对目标可能存在的已知安全漏洞进行逐项检查。 目标可以是工作站、服务器、交换机、数据库等各种对象。并且一般情况下,网络 扫描系统会根据扫描结果向系统管理员提供周密可靠的安全性分析报告,为提高网 络安全整体水平提供了重要依据。在网络安全体系的建设中,网络扫描系统具有花 费低、效果好、见效快、使用方便等优点。一般情况下具备三项功能:一是发现因 特网上的一个网络或者一台主机;二是一旦发现一台主机,能发现其上所运行的服 务类型;三是通过对这些服务的测试,可以发现存在的漏洞,并给出修补建议。网 络扫描系统一般采用图 1-1 的结构,主控台可以对网络中的服务器、路由器及交换 机等网络设备进行安全扫描。对检测的数据进行处理后,主控台以报表形式呈现扫 描结果。 1.2.3 网络扫描系统的发展趋势 随着网络安全技术的发展,网络扫描系统的技术在逐渐成熟并日臻完善。今后 主控台 manager systemsystemsystem 报表 图 1-1 网络扫描系统的一般结构 figure 1-1 ecumenical structure of the system of network scan 上海交通大学硕士学位论文 3 的发展趋势,主要有以下特点: 1、使用插件(plugin)或者叫做功能模块技术22。每个插件都封装一个或者多 个漏洞的测试手段,主扫描程序通过调用插件的方法来执行扫描。仅仅是添加新的 插件就可以使软件增加新功能,扫描更多漏洞。在插件编写规范公布的情况下,用 户或者第三方公司甚至可以自己编写插件来扩充软件的功能。同时这种技术使软件 的升级维护都变得相对简单,并具有非常强的扩展性。 2、使用专用脚本语言。这其实就是一种更高级的插件技术,用户可以使用专 用脚本语言来扩充软件功能。这些脚本语言语法通常比较简单易学,往往用十几行 代码就可以定制一个简单的测试,为软件添加新的测试项。脚本语言的使用,简化 了编写新插件的编程工作,使扩充软件功能的工作变得更加容易。 3、由安全扫描程序到安全评估专家系统。最早的安全扫描程序只是简单的把 各个扫描测试项的执行结果罗列出来,直接提供给测试者而不对信息进行任何分析 处理。而当前较成熟的扫描系统能够将对单个主机的扫描结果整理,形成报表,能 够对具体漏洞提出一些解决方法,但对网络的状况缺乏一个整体的评估,对网络的 安全没有系统的解决方案。未来的安全扫描系统,应该不但能够扫描安全漏洞,还 能够智能化的协助网络信息系统管理人员评估本网络的安全状况,给出安全建议, 成为一个安全评估专家系统。 1.3 本文的主要创新及内容安排 1.3.1 主要创新 随着计算机技术和网络技术的发展,网络扫描技术的智能化是发展的必然趋 势。当前的网络扫描技术经历十几年的发展总体上已日趋成熟,但仍然还处在一个 静态扫描阶段,主要存在两方面不足:一是静态扫描,二是评估功能较弱。所谓静 态扫描,是指网络扫描系统只能针对其所能扫描的对象进行检测,还未能达到当扫 描系统发现目标主机某些端口开放时,就能自动地进一步对其相关的漏洞进行检 测;同时网络扫描的分析评估功能比较有限,大部分网络扫描系统还只能实现对网 络单个主机安全隐患的罗列及其简单的分析建议,而对网络的安全状况缺乏一个整 体的评估。网络扫描技术智能化是指扫描系统完成用户指定的扫描内容后,还能动 态地根据扫描结果反馈的信息进行后续扫描,同时对目标主机和网络的安全形成一 个更全面的分析评估。 本文针对现有网络扫描技术中存在的扫描静态性和分析评估功能较弱等不 上海交通大学硕士学位论文 4 足,从网络扫描基本原理出发,在综合分析了现有扫描技术的基础上,进行了网络 扫描技术智能化策略的分析研究,同时设计实现了一个符合智能化策略的网络扫描 系统。本文所研究的具有智能扫描功能的网络扫描系统主要创新在于较好地解决了 当前网络扫描技术中存在的扫描静态性和分析评估功能有限等不足,同时兼顾了系 统开发使用中的易升级、易扩展性。在系统结构设计中,充分注意了插件技术的运 用, 引入了专家评估系统部分。 与当前其他网络扫描系统相比, 具有动态扫描性强、 分析评估功能强大、易于扩展维护的特点。 1.3.2 内容安排 本文共分 6 章,主要内容安排如下: 第 1 章是引言部分,主要指出了本文的研究背景及意义、简要概述了网络扫 描系统的相关概念及发展趋势,并指出了全文的内容安排。 第 2 章主要深入介绍了网络扫描系统的理论基础及技术现状。 第 3 章主要进行了网络扫描系统智能化研究探讨。共分 3 个部分:一是网络 扫描系统智能化的主要策略研究;二是可扩展插件技术研究;三是智能评估研究。 第 4 章设计并介绍了一个具有智能化功能的网络扫描系统。 第 5 章主要对智能化网络扫描系统的实现进行了分析探讨。 第 6 章主要是对全文总结和展望。 上海交通大学硕士学位论文 5 2 网络扫描系统的理论基础及技术现状 2.1 网络扫描的理论基础 2.1.1 网络扫描技术概述 网络扫描技术是一种基于internet远程检测目标网络或主机安全性脆弱点的 技术。从防御的角度看,利用网络扫描技术,系统管理员能够发现网络和主机中可 能存在的脆弱点,从而想方设法对这些脆弱点进行修复以加强网络和主机的安全 性。从攻击的角度看,网络扫描也是黑客攻击的前奏,其目的是探查网络和主机系 统的入侵点,为其实施网络攻击做好准备。一次完整的网络扫描通常分三个阶段进 行: 第一阶段是发现目标主机或网络。 第二阶段是发现目标后进一步收集目标信息, 包括操作系统类型、运行的端口(服务)以及服务软件的版本等。如果目标是一个 网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。第三阶 段是根据搜集到的信息判断或者进一步测试系统是否存在安全隐患。依据以上过 程,现有网络扫描技术可以分为:ping扫描技术、端口扫描技术、操作系统指纹扫 描(也称为os扫描)技术以及漏洞扫描技术。其中端口扫描和漏洞扫描是网络扫描 的核心,端口扫描又是漏洞扫描的基础 77。 ping 扫描属于网络扫描的第一阶段,其基本原理是利用各种网络协议产生的 数据包以及网络协议本身固有的性质进行扫描。目的是确认目标系统是否处于激活 状态。端口扫描属于网络扫描的第二阶段,最大的作用是提供目标主机网络服务的 清单,其基本过程及原理是:依据 tcp/ip 协议,向目标系统的端口发送不同的 tcp 标志包(tcp 端口扫描),目标系统的端口状态(开放、关闭等)不同,对这些 tcp 标 志包的回应包就有所不同,分析这些回应包,就可得出远程主机的端口开放情况。 发送的也可以是 udp 包(udp 端口扫描),对 udp 包,通过 icmp 信息可确定目标主机 的端口开放情况。操作系统指纹扫描也属于网络扫描的第二阶段,其目的是为了鉴 别出目标主机所使用的操作系统类型,从而确定后续的攻击或防御的方法,缩小尝 试的范围。其基本原理是指通过分析远程主机操作系统实现的协议堆栈对不同请求 的响应来区分其系统。漏洞扫描是属于网络扫描的第三阶段,主要通过两种方法来 上海交通大学硕士学位论文 6 检查目标主机是否存在漏洞:一是基于漏洞库的匹配检测方法。在端口扫描后得知 目标系统开启的端口以及端口上的网络服务,将这些相关信息与漏洞扫描系统提供 的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在;二是通过模拟攻击的方 法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等。若模拟攻击 成功,则表明目标主机系统存在安全漏洞。 2.1.2 tcp/ip 协议相关知识 对于扫描技术,其实现原理和tcp/ip格式以及通信过程相关,了解有关tcp状 态转换的内容,有助于理解后面章节的内容。 很多不同的厂商生产各种型号的计算机,运行完全不同的操作系统,但tcp/ip 协议族允许它们互相进行通信。tcp/ip起源于60年代末美国政府资助的一个分组交 换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。它是一个 真正的开放系统,因为协议族的定义及其多种实现可以不用花钱就可以公开地得 到。它成为“因特网(internet)”的基础,据统计,intemet上95%的数据流使用的 是tcp/ip协议 230230。 1、网络协议分层 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协 议族,比如tcp/ip,是一组不同层次上的多个协议的组合。tcp/ip通常被认为是一 个四层协议系统,每一层负责不同的功能。图2-1为tcp/ip协议族的四个层次以及 各层上的协议类型。 应用层(telnet、ftp和e_mail) 传输层(tcp和udp) 网络层(ip、icmp和igmp) 链路层(设备驱动程序及接口) 图2-1 tcp/ip协议族的四个层次 figure 2-1 4 tiers of tcp/ip protocol suite 1)链路层。有时也称作数据链路层或网络接口层,通常包括操作系统中的设备 驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒 介)的物理接口细节。 上海交通大学硕士学位论文 7 2)网络层。 有时也称作互联网层, 处理分组在网络中的活动, 例如分组的选路。 在tcp/ip协议族中,网络层协议包括ip协议(网际协议),icmp协议(internet控制 报文协议),以及igmp协议(internet组管理协议)。 3)传输层。主要为两台主机上的应用程序提供端到端的通信。在tcp/ip协议族 中, 有两个互不相同的传输协议: tcp(传输控制协议)和udp(用户数据报协议)。 tcp 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据 分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的 超时时钟等。由于它为运输层提供了高可靠性的端到端的通信,因此应用层可以忽 略所有这些细节。而另一方面,udp则为应用层提供一种非常简单的服务。它只是 把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另 一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分别在不同的应 用程序中有不同的用途。 4)应用层。负责处理特定的应用程序细节。几乎各种不同的tcp/ip实现都会提 供下面这些通用的应用程序:telnet远程登录、ftp文件传输协议、smtp简单邮件 传送协议、snmp 简单网络管理协议。 在tcp/ip协议族中,有很多种协议。图2-2给出了本文将要涉及的主要协议。 下面对这几种协议做一个概述: 1)tcp(传输控制协议)和udp(用户数据报协议)是两种最为著名的运输层协议, 用户进程 用户进程用户进程用户进程 tcpudp icmp ipigmp arp 硬件接口rarp 应用层 传输层 网络层 链路层 媒体 图 2-2 tcp/ip 协议族中不同层次的协议 figure 2-2 protocol in different tier of tcp/ip protocol suite 上海交通大学硕士学位论文 8 二者都使用ip作为网络层协议。虽然tcp使用不可靠的ip服务,但它却提供一种可 靠的运输层服务,遵循三次握手规则(3-way hand shake)。 2)udp为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方 的一个信息单元(例如,发送方指定的一定字节数的信息)。但是与tcp不同的是, udp是不可靠的,它不能保证数据报能安全无误地到达最终目的。 3)ip是网络层上的主要协议。同时被tcp和udp使用。tcp和udp的每组数据都通 过端系统和每个中间路由器中的ip层在互联网中进行传输。ip协议提供不可靠无连 接服务。 4)icmp是ip协议的附属协议。ip层用它来与其他主机或路由器交换错误报文和 其他重要信息。尽管icmp主要被ip使用,但应用程序也有可能访问它。实际上,有 两个流行的诊断工具,ping和traceroute,它们都使用了icmp; 5)igmp是internet组管理协议。它用来把一个udp数据报广播到多个主机。 2、rfc 所有关于internet的正式标准都以rfc(request for comment)文档出版。另 外,大量的rfc并不是正式的标准,出版的目的只是为了提供信息。rfc的篇幅从1 页到200页不等。每一项都用一个数字来标识,如rfc 1122,数字越大说明rfc的内 容越新。本文涉及的rfc文档主要有以下内容: rfc 791:internet protocol rfc 792:internet controlm essage protocol rfc 793:transport control protocol 3、应用编程接口 使用tcp/ip协议的应用程序通常采用两种应用编程接口(api):socket(套接字) 和tli(传输层接口:transport layer interface)。前者有时称作“berkeley socket”,表明它是从伯克利版发展而来的。后者起初是由at&t开发的,有时称作 xti(x/open传输层接口),以承认x/open这个自己定义标准的国际计算机生产商所 做的工作。xti实际上是tli的一个超集。在本文中,由于程序实现的需要,使用的 是windows socket,在下文中将对这个编程接口做进一步的探讨。 4、端口介绍 互联网上通信的双方不仅需要知道对方的地址,也需要知道通信程序的端口 号。在同一时间内,两台主机之间可能不仅仅只有一种类型的通信,例如,同时进 行telnet和ftp连接。为区别通信的程序,在所有ip数据报文中不仅仅有源地址和 目的地址,而且也有源端口号与目的端口号。众所周知,公共的ip地址受控于世界 上海交通大学硕士学位论文 9 范围的注册机构,而且每个ip地址也具有全球内惟一的特点。端口的数目不像ip地 址这样被控制管理,但是,近年来,特定端口被指定用于特定的服务,而地址和端 口一起组成一个套接字地址,在网络上惟一标识该服务。 目前使用的ipv4协议支持16位的端口,也就是说可使用的端口号为065535。 并且被分为3个范围:知名端口、注册端口和动态端口或专用端口。知名端口是指 端口号介于01023之间的端口,现在几乎所有的操作系统都遵照仅允许超级用户 打开知名端口这样一个传统。端口号高于1023的端口可以再分为两部分,第一部分 的端口号(102449151)是注册端口,4915265535端口是动态端口或专用端口。 知名端口 (也称为标准端口) 被提供给特定的服务使用, 由iana (internet assigned numbers authority,互联网地址指派机构,http://)管理。在unix 系统中, 以/etc/services命名的text格式文件 (在windows2000系统中以%windir% system32 dirvers etc services命名)列出这些知名端口和对应于它们上的服务 名。 2.1.3 ping 扫描技术原理 ping扫描是利用各种网络协议产生的数据包以及网络协议本身固有的性质进 行扫描.目的是确认目标系统是否处于激活状态,获取目标系统信息。ping扫描是 简单发现一个ip范围内的主机是否处于激活状态的扫描方法。主要有三种扫描方 式:第一种是简单的发送icmp echo请求,然后等待icmp echo应答。如果收到了应 答,就认为目标是激活状态。其实质就是常规的ping命令。如果想阻止这样的icmp echo应答,只需要禁止icmp echo即可。第二种是广播icmp echo请求,向整个局域 网发送icmp echo请求这样的请求后,会被广播到整个局域网。网中激活的主机会 回送icmp echo应答,unix系统对于请求常常回送网络地址,而windows系统常常是 忽略。第三种是non-echo icmp。向某个系统发送icmp分组,就能汇集关于它的各 种有价值的信息。如发送icmp类型为13的消息即时间戳(timestamp)分组,你就能 请求返回该系统的时间(目的是查看该系统所在的时区)。改用icmp类型为17的消息 即地址掩码请求(address mask request)分组,则能请求返回某个设备的子网掩码, 据此可以确定用到的所有子网。 2.1.4 操作系统指纹扫描技术原理 不同的操作系统运行着不同的应用软件,系统和应用软件存在着不同的漏洞和 薄弱点,远程操作系统识别就是为了缩小探测范围,做到有针对性地查找漏洞,提 上海交通大学硕士学位论文 10 高扫描系统的探测效率。对攻击者来说,远程操作系统的识别是进行攻击的必要准 备;对网络的维护者来说,远程操作系统的识别有助于了解攻击者可能采用的方法, 从而做到有针对性地防御。网络管理员可以对操作系统系统进行适当的配置,采用 一些虚假的信息来迷惑扫描器而躲避攻击或者增大攻击的难度。 远程操作系统的识别从早期的简单旗标识别技术发展到现在的协议栈指纹扫描 技术,经历了一个从简单到复杂的过程。早期的远程操作系统识别主要是通过相关 服务的旗标和端口来探测,技术含量低,准确率低,在系统应用软件上的一些设置 上做些改动就可以很容易地掩盖真正的操作系统类型。而现在的高级的协议栈指纹 扫描技术则是利用了tcp/ip在不同操作系统上的实现上的差别,结合到系统底层实 现,依靠简单的修改欺骗难以达到欺骗的目的,因此用协议栈指纹技术来探测远程 操作系统是比较理想的方法。这里主要介绍基于协议栈方式的探测方式。从是否向 目标主机发送数据包来分,可以将探测方法分成主动识别和被动识别。主动识别就 是向目标主机发出特定的数据包来探测远程操作系统的类型,而被动识别则是在和 目标主机正常通讯过程中,截获来自目标主机的数据包并分析其操作系统。如果从 协议栈来分类,则可以分为tcp/ip协议栈识别和icmp协议栈识别两大部分。下面将 分别介绍它们。 1、tcp/ip 栈指纹识别 tcp/ip 栈指纹识别是依靠不同操作系统对特定分段的不同反应来区分的。基 于各不同版本操作系统中的tcp/ip协议体系实现上的差异,通过提交特定的ip数据 包来分析目标主机返回的响应数据包,比较其中的各个标记参数的不同就可以将不 同的操作系统区分开。 利用tcp/ip协议栈来识别操作系统的技术主要包括:fin探测、 假标记(bogus flag)探测、tcp isn取样探测、ip id取样探测、tcp时间戳探测、 df(do not fragment,不分段)位探测、tcp初始窗口探测、ack值探测、icmp错误信 息抑制探测、分段控制探测和tcp选项探测等。基于以上技术的一些流行工具包括 savage的queso和fyodor的nmap等 2、icmp协议栈指纹识别。 主要是通过发送udp或icmp的请求报文,然后分析各种icmp应答,根据应答包 的差异来区分不同的操作系统。与tcp/ip堆栈指纹识别技术类似,icmp协议栈指纹 识别技术利用几个测试来执行对远程操作系统tcp/ip堆栈的探测,但是不同于 tcp/ip识别技术的是, 目前基于icmp的操作系统识别技术只需要1-4个测试包就可以 探测出一个操作系统类别。基于此技术的软件如ofir arkinr的x-probe和hping工具 等。 上海交通大学硕士学位论文 11 3、被动指纹扫描(passive finger printing)。 前面介绍tcp/ip 栈指纹识别扫描和icmp协议栈指纹识别扫描都属于主动指纹 扫描,被动指纹扫描(passive finger printing)与传统的主动探测技术在原理 上是相同的,都是根据协议栈实现上的差别来区分远程操作系统的类型和版本。惟 一不同的地方在于被动指纹扫描技术不主动向目标主机发送探测数据包,而是通过 被动监测网络通信,分析正常的数据流中远程主机所发出的数据包的一些特殊字 段,与指纹数据库相比较,最终确定系统类型和版本。被动指纹识别所考虑的因素 称为“特征(signature)”,指用于判别通信信息种类的样板数据。通常包括:ttl、 窗口大小、df位、tos等。 被动指纹扫描技术通常用于入侵检测系统(ids)和honeynet系统中,用于识 别远程的恶意攻击或扫描者是基于什么样的系统平台来实施破坏活动的,从而做到 有针对性的防御。被动指纹扫描技术与主动扫描技术相比探测的速度比较缓慢,但 是探测的精确性、隐蔽性和渗透能力要好很多。 2.1.5 端口扫描技术原理 网络出现故障时,我们总习惯先用 ping 命令检测目标系统是否有所反应,如 果要进一步了解目标系统的网络连接状况,黑客最常使用的一种手段就是端口扫 描。ping 只能检测目标主机是否是激活的(开放状态),而许多时候,如果目标主 机或者其防护设备禁止了 ping 探测包,那么探测者甚至连对方是否处于激活状态 都不得而知,这时候,对目标主机进行全面的端口扫描不仅是为了确定其开放的网 络服务,而更基本的还在于确定其是否真正处于激活状态。端口扫描的最大作用就 是提供目标主机网络服务的清单,许多时候,扫描者不仅获得目标主机对外开放的 tcp 和 udp 端口列表,而且还能通过一些连接测试得到监听端口返回的 banners(旗 标)信息。这些信息,对于判断监听端口上开放的服务类型以及对应的软件版本甚 至操作系统类型都有重要的作用。 端口扫描技术是一项自动探测本地和远程系统端口开放情况的策略及方法, 它使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供 了一种手段。端口扫描向目标主机的 tcp/ip 服务端口发送探测数据包,并记录目 标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提 供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出 ip 数据 包来监视本地主机的运行情况,它仅能对接收到的数据进行分析,从而发现目标主 机的某些内在的弱点,而不会提供进入一个系统的详细步骤。 上海交通大学硕士学位论文 12 端口是传输层标识服务的手段。传输层有两个重要的传输协议:传输控制协议 tcp和用户数据报协议udp,分别为应用层提供可靠的面向连接的服务和无连接服 务。其中,udp协议相对比较简单,而大部分常用的应用层协议(如ftp,telnet, smtp等)都是以tcp协议为基础,在网络端口扫描技术中也多用各种tcp包作为探测 手段。 源端口(16位) 目的端口(16位) 顺序号(32位) 确认号(32位) tcp头 长(4 位) 保留位 (6位) u r g a c k p s h r s t s y n f i n 窗口大小(16位) 校验和 紧急指针(16位) 可选项(0或更多的32位字) 数据(可选项) 图2-3 tcp数据报格式 figure 2-3 message format of tcp data tcp的首部含有六个标志位,即urg,ack,psh,rst,syn和fin,它们中的多 个可根据需要同时置为1。大多数系统实现tcp时,遵循以下原则:当一个syn或fin 数据包到达一个关闭的端口时tcp丢弃数据包, 同时发送一个rst数据包; 当一个rst 数据包到达一个监听端口时,rst数据包被丢弃;当一个ack置位的数据包到达一个 监听端口时,数据包被丢弃,并发送一个rst数据包;当一个syn位关闭的数据包到 达一个监听端口时,数据包被丢弃;当一个syn的数据包到达一个监听端口时,产 生“三次握手”会话,同时回送一个syn/ack数据包;当一个fin数据包到达一个监 听端口时,数据包被丢弃;而个关闭的端口返回rst数据包。这种情形在urg和psh 同时置位或发送没有任何标记的tcp数据包时同样发生。 由此可以看出:服务器端的状态转换和响应的报文类型主要依赖于接收到的请 求报文。因此,通过有意传送某种类型的报文,诱发服务器发送响应报文,分析响 应报文可以推断出服务器端口当前的状态。对于网络扫描而言,主要关心tcp的两 个状态:closed(关闭)和listen(监听)状态。 上海交通大学硕士学位论文 13 根据扫描时发送端发送的报文类型来分, 目前常用的端口扫描技术可分为: tcp connect扫描(也称全连接扫描)、tcp syn半连接扫描(半连接)、秘密扫描等。 1、tcp connect扫描 tcp connect扫描是向目标端口发送syn报文,等待目标端口发送syn/ack报文, 收到后向目标端口发送ack报文,即“三次握手”过程。在许多系统中只需一个调 用connect()即可完成。该方法的方便之处是指它不需超级用户权限,任何希望管 理端口服务的人都可以使用。另外这个方法的优点是扫描速度快,如果对每个目标 端口以线性的方式,使用单独的connect()调用,可以通过同时打开多个套接字, 从而加速扫描。 2、tcp syn扫描 tcp通信双方是使用3次握手来建立tcp连接。申请建立连接的客户端需要发送 一个syn数据报文给服务端,服务端会回复ack数据报文。tcp syn扫描也称为半连 接扫描,它就是利用3次握手的弱点来实现的。扫描程序发送的是一个syn数据包, 一个syn/ack的返回信息表示端口处于侦听状态;而一个rst返回信息,表示端口处 于关闭状态。如果收到一个syn/ack,则扫描程序必须再发送一个rst信号来关闭这 个连接过程。这种扫描技术通常不会在目标计算机上留下记录,但构造syn数据包 必须要有超级用户权限,它的优点是比tcp connect扫描更隐蔽,目标端可能不会 留下日志记录。 3、秘密扫描。 秘密扫描能躲避 ids、防火墙、包过滤器和日志审计,从而获取目标端口的开 放或关闭的信息。由于没有包括 tcp3 次握手协议的任何部分,所以无法被记录下 来,比半连接扫描更为隐蔽。但是这种扫描的缺点是扫描结果的不可靠性会增加, 而且扫描主机也需要自己构造 ip 包。现有的秘密扫描有 tcp fin 扫描、tcp ack 扫 描、null 扫描、xmas 扫描和 syn/ack 扫描等。 2.1.6 漏洞扫描技术原理 安全漏洞,也叫系统脆弱性(vulnerability),简称漏洞,是计算机系统在 硬件、软件、协议的设计与实现过程中或系统安全策略上存在的缺陷和不足。非法 用户可利用漏洞获得计算机系统的额外权限,在未经授权的情况下访问或提高其访 问权限,从而破坏系统的安全性。 网络安全漏洞的分类方法有多种,可以按其属性分类,如漏洞可能造成的直接 威胁、漏洞的成因、漏洞的严重性、漏洞被利用的方式等;也可以按照施加给目标 上海交通大学硕士学位论文 14 系统的威胁严重程度分类,如本地威胁、远程威胁、跨越防火墙的威胁等;还可以 按系统平台、数据库、协议、服务、应用程序等方面分类,这是最常见的分类方法, 也比较通用。 漏洞扫描技术是建立在端口扫描技术的基础之上的。从对黑客攻击行为的分析 和收集的漏洞来看,绝大多数都是针对某一个网络服务,也就是针对某一个特定的 端口的。 1、安全漏洞扫描策略 安全漏洞扫描通常采用两种策略,第一种是被动式策略,第二种是主动式策略。 所谓被动式策略就是基于主机之上,对系统中不合适的设置、脆弱的口令以及其他 同安全规则抵触的对象进行检查;而主动式策略是基于网络的,它通过执行一些脚 本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的安全漏洞。 利用被动式策略扫描称为系统安全扫描,利用主动式策略扫描称为网络安全扫描。 2、漏洞扫描主要通过以下两种方法来检查目标主机是否存在漏洞: 1)基于漏洞库的匹配检测方法: 在端口扫描后得知目标主机开启的端口以及端 口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查 看是否有满足匹配条件的漏洞存在。基于漏洞库的匹配检测方法的关键在于其所使 用的漏洞库。 通过采用基于规则的匹配技术, 即根据安全专家对网络系统安全漏洞、 黑客攻击案例的分析和系统管理员对网络系统安全配置的实际经验,可以形成一套 标准的网络系统漏洞库(即弱点数据库),然后在此基础上构成相应的匹配规则,由 扫描程序自动进行漏洞扫描工作。这样,漏洞库信息的完整性和有效性就决定了漏 洞扫描系统的性能,漏洞库的修订和更新的性能也会影响漏洞扫描系统运行的时 间。 2)模拟攻击的方法:通过模拟黑客的攻击手法,对目标主机系统进行攻击性的 安全漏洞扫描,如测试弱势口令等。若模拟攻击成功,则表明目标主机系统存在安 全漏洞。模拟攻击主要运用插件技术,故也称插件检测技术。插件是由脚本语言编 写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的一个 或多个漏洞。添加新的插件就可以使漏洞扫描软件增加新的功能,扫描出更多的漏 洞。插件编写规范化后,甚至用户自己都可以用perl,c或自行设计的脚本语言编 写的插件来扩充漏洞扫描软件的功能。这种技术使漏洞扫描软件的升级维护变得相 对简单,而专用脚本语言的使用也简化了编写新插件的编程工作,使漏洞扫描软件 具有很强的扩展性。 上海交通大学硕士学位论文 15 2.2 网络扫描技术的发展历史及现状 2.2.1 网络扫描技术的发展历史 1、网络扫描技术的发展过程 安全扫描技术最初起源于90年代中期,由dan farmer和wietse venema在 internet上公布的他们著名的软件satan(安全管理员的网络分析工具)以及著名的 文档“improve the security of your site by break into it开始,扫描技术 经过不断发展,经历了如下四个阶段:1)扫描引擎和数据混合型:这种扫描把扫 描引擎和扫描比对的特征数据混合在一起定制工作,不同实现的过程实现不同的简 单的功能,不利于扩展。2)分离的扫描引擎和扫描规则:这种扫描实现了引擎和 规则的分离,有利于动态知识库的不断扩充。3)插件技术的安全扫描:这种扫描 使得每个插件都封装一个或者多个漏洞的测试手段,主扫描程序通过调用插件的方 法来执行扫描,通过添加新的安全扫描插件,扫描更多漏洞。在插件编写规范公布 的情况下,用户或者第三方公司甚至可以自已通过编写安全扫描插件,从而扩充软 件的功能。同时这种技术使软件的升级维护都变得相对简单,并其有非常强的可扩 展性。4)专用脚本语言的安全扫描:这其实就是一种更高级的插件技术,用户可 以使用专用脚本语言来扩充软件功能,这此脚本语言语法通常比较简单易学,往往 用十几行代码就可以定制一个简单的测试,从而为软件添加新的测试项。脚木语言 的使用,简化了编写扫描插件的编程工作,使扩充软件功能的工作变得更加容易,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年靶点发现与验证技术在创新药物研发中的生物信息学伦理问题报告
- 门店出售协议合同书模板
- 高效的对赌协议合同模板
- 机械加工厂劳务合同范本
- 签订合同后主体变更协议
- 精装修房子购买合同范本
- 甲方如何写合同协议模板
- 村委与贫困户养殖协议书
- 签了认购协议被动签合同
- 电源安装工程合同协议书
- 德勤:2025“十五五”时期中国能源行业关键议题报告
- 问卷星使用介绍课件
- 挖掘机安全操作规程完整版
- 2024年中国高纯铂族金属行业调查报告
- 影视项目可行性研究报告
- 2025辅警招聘公安基础知识考试题库及答案
- ETX12.0.4安装配置手册
- 2025年广东省中考数学试卷真题(含答案详解)
- DeepSeek在教育和学术领域的应用场景与案例(上中下合集)
- 第10课+影响世界的工业革命+课件-2024-2025学年高一下学期统编版(2019)必修中外历史纲要下
- 工程测量员理论知识考核要素细目表
评论
0/150
提交评论