漏洞扫描系统设计与实现

西南科技大学本科生毕业论文

I

漏洞扫描系统设计与实现

摘要:扫描器可以通过执行一些脚本文件来模拟对网络系统进行攻击的行为并 记录系统的反应,从而搜索目标网络内的服务器,路由器,交换机和防火墙等设备 的类型与版本, 以及在这些远程设备上运行的脆弱服务, 并报告可能存在的脆弱性. 本文描述了一个漏洞扫描系统开发的全过程,分析了获取远程主机信息的方法.系 统采用 Visual C++基于 MFC 的网络编程.该系统的主要功能是获取远程主机所经 过的路由器信息,操作系统,端口信息,NetBIOS 信息及 CGI 漏洞.经过软件测试, 该系统能过顺利完成路由信息和端口信息获取, 主要功能符合设计目标. 测试期间, 系统运行正常. 关键字:信息安全; 端口扫描; 漏洞; 漏洞检测

西南科技大学本科生毕业论文

II

The R&D of Scanning System for vulnerability
Abstract: Scanner can simulate behaviors which are attacking network system and recording the system's reactions by executing some script files in order to search the types and editions of equipment such as server, router, switch and firewall in goals network and the weak serve circulating in these remote equipment, reporting the possible weakness. This paper describes a process about leak scanning system, analyses the method to obtain messages in remote host computers. This system adopts Visual C++ network programming based on MFC. It's main function is to obtain router message, operating system, port message, NetBIOS message and CGI leak that the remote host computers pass through. According to the software testing, this system can successfully complete obtaining router message and port message, and the main functions accord with the design target. The system runs normally during testing. Keywords: information security, port scan, vulnerability, vulnerability test

西南科技大学本科生毕业论文

III


第一章 1.1 1.2 绪



论 .................................................................................................................... 1

研究漏洞扫描的背景及其意义 ............................................................................ 1 网络安全扫描的必要性 ........................................................................................ 2 1.2.1 1.2.2 1.2.3 防火墙的局限性和脆弱性 .......................................................................... 2 针对 IDS 的逃避技术 .................................................................................. 3 扫描器的意义 .............................................................................................. 5

1.3 第二章 2.1 2.2 2.3 结 致

本课题的主要研究内容 ........................................................................................ 5 漏洞扫描器的基本概念及工作原理 .................................................................... 6 常见的扫描技术 .................................................................................................... 6 漏洞扫描器的工作原理 ........................................................................................ 8 漏洞扫描器的功能 ................................................................................................ 9 论 .............................................................................................................................. 12 谢 .............................................................................................................................. 13

参考文献 .............................................................................................................................. 14

西南科技大学本科生毕业论文

第一章
1.1 研究漏洞扫描的背景及其意义





在近几年的时间内,互联网取得飞速的发展.上网人数以几何级数的数量急剧增 长,人们越来越真实地感受到互联网的方便,快捷.无论个人用户,还是企业客户和 政府机构,都在不知不觉中加深了对互联网的依赖.但是互联网的广泛应用使得网络 安全性的提高变得越来越紧迫.目前,计算机网络面临着各种各样的威胁,这些威胁 来自各个方面,有的是由于偶然的因素或者是合法人员的失误造成,有些是由于攻击 者的行为导致的.一般来说,网络不安全的主要原因有三方面:网络协议自身的缺陷, 网络的开放性和黑客的攻击. 计算机网络的快速发展引起了人们对网络安全的高度重视. 网络信息安全的目标 在于保护信息完整性,保密性,以及为合法用户提供应有的服务.但是由于网络协议 设计和实现本身的一些不完善的因素以及系统本身存在的脆弱性和安全漏洞,使 Internet 入侵事件层出不穷,愈演愈烈.根据美国有关安全部门统计,Internet 上 98% 的计算机受到过黑客的攻击性分析,50%的机器被黑客成功入侵,而被入侵机器中有 20%的管理员尚未发现自己已经被入侵. Internet 已成为具有一定经济条件和技术专长 的形形色色的入侵者的靶子.美国《金融时报》曾报道,入网 Internet 的计算机,达 到平均每 20 秒钟被黑客成功地侵入一次的新记录,在 internet 上的网络防火墙超过 1/3 被突破,一银行,企业,行政机构都未能幸免.有调查报告指出,近 78%的信息 主管, 信息安全官及其它高级技术管理人员报告他们的的企业或机构己经因泄密受损 失,其中超过 25%的业损失高于 25 万美元,我国网络犯罪形式也不容乐观,到 2001 年 10 月己有几百起的络犯罪案件,给网络的正常运行造成严重威胁.网络安全已成 为一个很迫切的研究务和现实课题摆在我们面前,但是网络安全是一个系统性工程, 包括一个整体的安全略,综合多种防护工具 (如防火墙,操作系统身份认证,加密等 手段), 检测工具(如网络安全扫描器, 入侵检测系统等)和及时.响应的措施 (各种修补 漏洞和改进办).本课题的研究是整个网络安全体系的一部分,即设计和实现一种网络 安全扫描工,也就是通过对黑客攻击方法和步骤的研究,来开发一个检测远程或本地 系统脆弱性.和安全漏洞的软件,并藉此检测网络或主机的安全漏洞和脆弱性,能为 网络安全管理人员发现网络脆弱性和安全漏洞,及时采取补救措施,加强防范,使网

1

西南科技大学本科生毕业论文

络安全工作做到防患于未然. 人们对于计算机安全和网络安全的研究已有较长的历史, 也提出了一些行之有效 的安全策略和方法,例如身份认证,访问控制,加密/解密等许多方法,这些都是从 研究者和信息保护者的角度来考察安全问题,其实质是构筑一个坚固的防护屏障,将 各种信息置于保护屏障之后. 计算机网络安全实际上是入侵者与系统管理员之间的斗 争,仅仅从任何一方考虑问题都是不够全面的,需要将二者有机地结合起来.通俗地 讲, "解决计算机网络安全首先需要研究它的不安全" ,这句话向我们提示了一种解决 网络安全问题的新思路,即站在入侵者的角度来考虑计算机系统的安全,这种方法要 求我们模仿入侵者的常用手段攻击目标系统, 按照他们的思路和目标全面了解系统的 各种脆弱点,并采用相应的补救措施解决系统中存在的这些漏洞,使用这种方法来加 强网络和系统的安全性,避免入侵者再次利用这些漏洞侵入系统.事实证明,将传统 的安全解决方案和这种新的安全解决办法结合使用可以极大地提高系统的安全性. 根 据这种思路研究网络安全问题, 设计出方便实用的网络安全扫描工具对解决安全问题 是很有意义的. 1.2 网络安全扫描的必要性 就目前系统的安全状况而言,系统中存在着一定的漏洞,因此也就存在着潜在的 安全威胁,但是,如果我们能够根据具体的应用环境,尽可能早地通过网络扫描来发 现这些漏洞,并及时采取适当的处理措施进行修补,就可以有效地阻止入侵事件的发 生.虽然亡羊补牢十分可贵,但是对于"不怕一万,只怕万一"的关键业务来说,未雨 绸缪才是理想境界.为了确保网络的安全使用,研究防火墙和入侵检测系统的局限性 和脆弱性已经十分必要. 1.2.1 防火墙的局限性和脆弱性 防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网 络安全域之间的一系列部件的组合. 它是不同网络或网络安全域之间信息的唯一出入 口,能根据企业的安全政策控制(允许,拒绝,监测)出入网络的信息流,且本身具 有较强的抗攻击能力.它是提供信息安全服务,实现网络和信息安全的基础设施,但 是它也存在局限性. 1,防火墙不能防范不经过防火墙的攻击.没有经过防火墙的数据,防火墙无法检查, 比如拨号上网.

2

西南科技大学本科生毕业论文

2,防火墙不能解决来自内部网络的攻击和安全问题."外紧内松"是一般局域网络的 特点,一道严密防守的防火墙其内部的网络也有可能是一片混乱.如通过社会工程学 发送带木马的邮件,带木马的 URL 等方式,然后由中木马的机器主动对攻击者连接, 将瞬间破坏象铁壁一样的防火墙.另外,防火墙内部各主机间的攻击行为,防火墙也 只能如旁观者一样冷视而爱莫能助. 3,防火墙不能防止最新的未设置策略或错误配置引起的安全威胁.防火墙的各种策 略,也是在该攻击方式经过专家分析后给出其特征进而设置的.如果世界上新发现某 个主机漏洞的 cracker 把第一个攻击对象选中了您的网络,那么防火墙也没有办法帮 到您. 4,防火墙不能防止可接触的人为或自然的破坏.防火墙是一个安全设备,但防火墙 本身必须存在于一个安全的地方. 5,防火墙无法解决 TCP/IP 等协议的漏洞.防火墙本身就是基于 TCP/IP 等协议来实 现的,就无法解决 TCP/IP 操作的漏洞.比如利用 DOS 或 DDOS 攻击. 6,防火墙对服务器合法开放的端口的攻击大多无法阻止.例如利用开放了 3389 端口 取得没打过 sp 补丁的 win2k 的超级权限,利用 asp 程序进行脚本攻击等.由于其行 为在防火墙一级看来是"合理"和"合法"的,因此就被简单地放行了. 7,防火墙不能防止受病毒感染的文件的传输.防火墙本身并不具备查杀病毒的功能, 即使集成了第三方的防病毒软件,也没有一种软件可以查杀所有的病毒. 8,防火墙不能防止数据驱动式的攻击.当有些表面看来无害的数据邮寄或拷贝到内 部网的主机上并被执行时,可能会发生数据驱动式的攻击. 9,防火墙不能防止内部的泄密行为.防火墙内部的一个合法用户主动泄密,防火墙 对此是无能为力的. 10,防火墙不能防止本身安全漏洞的威胁.防火墙保护别人有时却无法保护自己,因 为目前还没有厂商绝对保证防火墙不会存在安全漏洞.防火墙也是一个 OS,也有着 其硬件系统和软件,因此依然有着漏洞和 bug.所以其本身也可能受到攻击和出现软 /硬件方面的故障. 1.2.2 针对 IDS 的逃避技术

防火墙有以上的诸多局限性,同时它又处于网关的位置,不可能对进出攻击作太 多判断,否则会严重影响网络性能.如果把防火墙比作大门警卫的话,入侵检测就是 网络中不间断的摄像机,入侵检测通过旁路监听的方式不间断的收取网络数据,对网
3

西南科技大学本科生毕业论文

络的运行和性能无任何影响,同时判断其中是否含有攻击的企图,通过各种手段向管 理员报警.不但可以发现从外部的攻击,也可以发现内部的恶意行为.所以说入侵检 测是网络安全的第二道闸门,是防火墙的必要补充,构成完整的网络安全解决方案. 然而,由于 NIDS 本身的局限性,黑帽社团正不断推出躲避或者越过网络入侵检测系 统(Network Intrusion Detection System,NIDS)的新技术,胜利的天平正在向黑帽子倾 斜. 1,字符串匹配的弱点 通过把字符串处理技术和字符替换技术结合到一起, 我们可以实现复杂点的字符串伪 装.对于 WEB 请求,我们不必使用命令解释器, 在我们的请求中使用 16 进制的 URL 即 可 , 以 下 的 请 求 可 以 被 目 标 WEB 服 务 器 解 释 为 /etc/passwd : GET %65%74%63/%70%61%73%73%77%64 或 者

GET %65%74%63/%70a%73%73%77d 为了捕获这一个字符串的所有变体,IDS 可能 需要 1000 个以上的特征码进行字符串匹配,这还没有考虑 UNICODE 啊! 2,会话拼接 就是把会话数据放到多个数据包中发出: +-------------------------+ | packet number | content | |---------------+---------| |1|G| |---------------+---------| |2|E| |---------------+---------| |3|T| |---------------+---------| | 4 | 20 | |---------------+---------| |5|/| |---------------+---------| |6|H| +---------------+---------+
4

西南科技大学本科生毕业论文

通过这种方式,每次只投递几个字节的数据,就可能避开字符串匹配入侵检测系 统的监视. 3,碎片攻击 所谓碎片覆盖就是发送碎片覆盖先前碎片中的数据.例如: 碎片 1 GET x.idd 碎片 2 a.?(缓冲区溢出数据) 第二个碎片的第一个字符覆盖第一个碎片最后一个字符, 这两个碎片被重组之后就变 成了 GET x.ida?(缓冲区溢出数据). 4,拒绝服务 还有一种比较野蛮的方法就是拒绝服务,消耗检测设备的处理能力,使真正的攻击逃 过检测.塞满硬盘空间,使检测设备无法记录日志.使检测设备产生超出其处理能力 的报警.使系统管理人员无法研究所有的报警.挂掉检测设备.对 IDS 来说,这类 IDS 无迹可寻,因此非常难以对付. 1.2.3 扫描器的意义 扫描的重要性在于把繁琐的安全检测,通过程序来自动完成,这不仅减轻了网络 管理员的工作,而且也缩短了检测时间. 同时,也可以认为扫描器是一种网络安全性评估软件,利用扫描器可以快速,深 入地对目标网络进行安全评估. 网络安全扫描技术与防火墙, 安全监控系统互相配合能够为网络提供很高的安全 性. 1.3 本课题的主要研究内容 通过使用漏洞扫描器,系统管理员能够发现所维护的 Web 服务器的各种 TCP 端 口的分配,提供的服务,Web 服务软件版本和这些服务及软件呈现在 Internet 上的安 全漏洞.从而在计算机网络系统安全保卫战中做到"有的放矢",及时修补漏洞,构筑 坚固的安全长城.

5

西南科技大学本科生毕业论文

第二章

漏洞扫描器的基本概念及工作原理

扫描器并不是一个直接的攻击网络漏洞的程序, 它仅仅能帮助我们发现目标机的 某些内在的弱点 .一个好的扫描器能对它得到的数据进行分析,帮助查找目标主机 的漏洞,但它不会提供进入一个系统的详细步骤. 扫描器应该有三项功能: (1)发现一个主机或网络; (2)一旦发现一台主机,能发现正运行的这台主机在进行何种服务; (3)通过测试这些服务,发现漏洞. 2.1 常见的扫描技术

1) 全 TCP 连接 全 TCP 连接是长期以来 TCP 端口扫描的基础.扫描主机尝试(使用三次握手) 与目的机指定端口建立建立正规的连接.连接由系统调用 connect()开始.对于每一个 监听端口,connect()会获得成功,否则返回-1,表示端口不可访问.由于通常情况 下, 这不需要什么特权, 所以几乎所有的用户 (包括多用户环境下) 都可以通过 connect 来实现这个技术. 这种扫描方法很容易检测出来 (在日志文件中会有大量密集的连接和错误记录) . Courtney,Gabriel 和 TCP Wrapper 监测程序通常用来进行监测.另外,TCP Wrapper 可 以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描. 2) TCP SYN 扫描 在这种技术中,扫描主机向目标主机的选择端口发送 SYN 数据段.如果应答是 RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含 SYN 和 ACK,说明目标端口处于监听状态.由于所有的扫描主机都需要知道这个信息,传送 一个 RST 给目标机从而停止建立连接.由于在 SYN 扫描时,全连接尚未建立,所以 这种技术通常被称为半打开扫描.SYN 扫描的优点在于即使日志中对扫描有所记录, 但是尝试进行连接的记录也要比全扫描少得多.缺点是在大部分操作系统下,发送主 机需要构造适用于这种扫描的 IP 包,通常情况下,构造 SYN 数据包需要超级用户或 者授权用户访问专门的系统调用. 3) 秘密扫描技术
6

西南科技大学本科生毕业论文

由于这种技术不包含标准的 TCP 三次握手协议的任何部分,所以无法被记录下 来,从而必 SYN 扫描隐蔽得多.另外,FIN 数据包能够通过只监测 SYN 包的包过滤 器. 秘密扫描技术使用 FIN 数据包来探听端口.当一个 FIN 数据包到达一个关闭的 端口,数据包会被丢掉,并且回返回一个 RST 数据包.否则,当一个 FIN 数据包到 达一个打开的端口,数据包只是简单的丢掉(不返回 RST) . Xmas 和 Null 扫描是秘密扫描的两个变种.Xmas 扫描打开 FIN,URG 和 PUSH 标记,而 Null 扫描关闭所有标记.这些组合的目的是为了通过所谓的 FIN 标记监测 器的过滤. 秘密扫描通常适用于 UNIX 目标主机,除过少量的应当丢弃数据包却发送 reset 信号的操作系统(包括 CISCO,BSDI,HP/UX,MVS 和 IRIX) .在 Windows95/NT 环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送 RST.跟 SYN 扫描类似,秘密扫描也需要自己构造 IP 包. 4) 间接扫描 间接扫描的思想是利用第三方的 IP(欺骗主机)来隐藏真正扫描者的 IP.由于 扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的 IP 行为,从而获得 原始扫描的结果.间接扫描的工作过程如下: 假定参与扫描过程的主机为扫描机,隐藏机,目标机.扫描机和目标记的角色非 常明显.隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任 何数据包(除了与扫描有关的包) . 5) 认证扫描 到目前为止,我们分析的扫描器在设计时都只有一个目的:判断一个主机中哪个 端口上有进程在监听.然而,最近的几个新扫描器增加了其它的功能,能够获取监听 端口的进程的特征和行为. 认证扫描是一个非常有趣的例子.利用认证协议,这种扫描器能够获取运行在某 个端口上进程的用户名(userid) .认证扫描尝试与一个 TCP 端口建立连接,如果连 接成功,扫描器发送认证请求到目的主机的 113TCP 端口.认证扫描同时也被成为反 向认证扫描,因为即使最初的 RFC 建议了一种帮助服务器认证客户端的协议,然而 在实际的实现中也考虑了反向应用(即客户端认证服务器) . 6) 代理扫描
7

西南科技大学本科生毕业论文

文件传输协议(FTP)支持一个非常有意思的选项:代理 ftp 连接.这个选项最 初的目的(RFC959)是允许一个客户端同时跟两个 FTP 服务器建立连接,然后在服 务器之间直接传输数据.然而,在大部分实现中,实际上能够使得 FTP 服务器发送 文件到 Internet 的任何地方.许多攻击正是利用了这个缺陷.最近的许多扫描器利用 这个弱点实现 ftp 代理扫描. ftp 端口扫描主要使用 ftp 代理服务器来扫描 tcp 端口.扫描步骤如下: 1:假定 S 是扫描机,T 是扫描目标,F 是一个 ftp 服务器,这个服务器支持代理选项, 能够跟 S 和 T 建立连接. 2:S 与 F 建立一个 ftp 会话,使用 PORT 命令声明一个选择的端口(称之为 p-T) 作为代理传输所需要的被动端口. 3:然后 S 使用一个 LIST 命令尝试启动一个到 p-T 的数据传输. . 4:如果端口 p-T 确实在监听,传输就会成功(返回码 150 和 226 被发送回给 S) 否则 S 回收到"425 无法打开数据连接"的应答. 5:S 持续使用 PORT 和 LIST 命令,直到 T 上所有的选择端口扫描完毕. 7) Ping 扫描 如果需要扫描一个主机上甚至整个子网上的成千上万个端口, 首先判断一个主机 是否开机就非常重要了.这就是 Ping 扫描器的目的.主要由两种方法用来实现 Ping 扫描. 1:真实扫描:例如发送 ICMP 请求包给目标 IP 地址,有相应的表示主机开机. 2:TCP Ping:例如发送特殊的 TCP 包给通常都打开且没有过滤的端口(例如 80 端口) .对于没有 root 权限的扫描者,使用标准的 connect 来实现.否则,ACK 数据 包发送给每一个需要探测的主机 IP.每一个返回的 RST 表明相应主机开机了.另外, 一种类似于 SYN 扫描端口 80(或者类似的)也被经常使用. 2.2 漏洞扫描器的工作原理 网络漏洞扫描器通过远程检测目标主机 TCP/IP 不同端口的服务,记录目标给予 的回答.通过这种方法,可以搜集到很多目标主机的各种信息(例如:是否能用匿名 登陆,是否有可写的 FTP 目录,是否能用 Telnet,httpd 是否是用 root 在运行) .在获 得目标主机 TCP/IP 端口和其对应的网络访问服务的相关信息后,与网络漏洞扫描系 统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存在.此外,通过模拟黑 客的进攻手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等,也
8

西南科技大学本科生毕业论文

是扫描模块的实现方法之一.如果模拟攻击成功,则视为漏洞存在. 在匹配原理上,该网络漏洞扫描器采用的是基于规则的匹配技术,即根据安全专 家对网络系统安全漏洞, 黑客攻击案例的分析和系统管理员关于网络系统安全配置的 实际经验,形成一套标准的系统漏洞库,然后再在此基础之上构成相应的匹配规则, 由程序自动进行系统漏洞扫描的分析工作. 所谓基于规则是基于一套由专家经验事先定义的规则的匹配系统.例如,在对 TCP 80 端口的扫描中,如果发现/cgi-bin/phf 或/cgi-bin/Count.cgi,根据专家经验以及 CGI 程序的共享性和标准化,可以推知该 WWW 服务存在两个 CGI 漏洞.同时应当 说明的是,基于规则的匹配系统也有其局限性,因为作为这类系统的基础的推理规则 一般都是根据已知的安全漏洞进行安排和策划的, 而对网络系统的很多危险的威胁是 来自未知的安全漏洞,这一点和 PC 杀毒很相似. 实现一个基于规则的匹配系统本质上是一个知识工程问题, 而且其功能应当能够 随着经验的积累而利用,其自学习能力能够进行规则的扩充和修正,即是系统漏洞库 的扩充和修正.当然这样的能力目前还需要在专家的指导和参与下才能实现.但是, 也应该看到, 受漏洞库覆盖范围的限制, 部分系统漏洞也可能不会触发任何一个规则, 从而不被检测到. 整个网络扫描器的工作原理是:当用户通过控制平台发出了扫描命令之后,控制 平台即向扫描模块发出相应的扫描请求, 扫描模块在接到请求之后立即启动相应的子 功能模块,对被扫描主机进行扫描.通过对从被扫描主机返回的信息进行分析判断, 扫描模块将扫描结果返回给控制平台,再由控制平台最终呈现给用户. 2.3 漏洞扫描器的功能 与 Windows 和 UNIX 相关的漏洞有很多,但这些操作系统漏洞基本上可以分为 两类: 一类是一些本地漏洞 (host-level, 主机级) 另一类是一些远程漏洞 , (remote-level, 远程级) . 对于远程漏洞,我们可以使用多种方法来完成漏洞自动扫描的任务.例如,一种 方法是使用诸如 nmap 的端口扫描工具识别出操作系统的类型,然后记录下所有处理 监听状态的端口;这样,用户就会得到一系列端口(如 21,25,53,80 等等)和操 作系统的类型(如 Linux kernet2.2) .然而,这种方法也有一定的缺陷:虽然用户得 到了不少数据(即端口信息) ,但却无法得到诸如究竟哪些服务存在安全漏洞等细节, 用户得到的只是关于自己系统的一些概要信息; 至于如何识别那些处于监听状态的服
9

西南科技大学本科生毕业论文

务,以及这些服务是否存在有漏洞,所有这些工作只能由用户自己来完成.例如,如 果通过数据得知识算机 X 运行的操作系统是 Linux 2.2 kernet,在端口 21 有一个服务正 处理监听状态,我们往往难以确定这样的系统是否会有 wu-ftpd 缓冲区溢出等问题; 事实上,我们甚至连该系统上是否运行有 wu-ftpd 都不清楚(可能正运行有 ProFTPd 或 glftpd 等) .因此,即使扫描到了哪些端口是开放的,我们仍然需要: a)识别该端口上有哪些服务正处于监听状态. b)识别这些服务的版本. c)研究与该服务及其版本相关的已知漏洞 尽管这种方法对于十几台机器是可行的,但对于拥有数百台机器听中大型企业, 这种方法却几乎是不可能实现的. 更实际一点的解决方法是, 在前面的端口扫描和操作系统识别的基础上再添加某 种识别监听服务类型和版本的机制.回到前面 wu-ftpd 缓冲区溢出的例子上,识别了 服务的版本以后,我们现在可以得知. a)服务器运行的操作系统是 Linux Kernel 2.2. b)端口 21 正处于监听状态. c)该监听服务的类型和版本号. 假定由上述过程,我们得知正在使用的服务器是 wu-ftpd 2.4.2 版本;这样,我们 的工作又进了一步,现在只需要研究 wu-ftpd 2.4.2 版本都有哪些漏洞就可以了. 注意 读者需要注意端口扫描 (port scanning) 和漏洞扫描 (vulnerability scanning)

的区别.尽管多数漏洞扫描器也需要扫描开放的 TCP 和 UDP 端口,但这只是它们的 一项功能.相反,尽管诸如 nmap 之类的端口扫描器也有某些其他功能(如操作系统 识别) ,但一般不包含漏洞数据库.简言之,多数漏洞扫描器所做的工作都比端口扫 描器所做的工作更进了一步. 漏洞扫描的最后一步就是研究对应版本的监听服务都有哪些漏洞.在很大程度 上,这个过程与黑客的攻击过程非常类似:扫描,查询,研究,攻击.在这个阶段, 我们会得知 wu-ftpd 2.4.2 版本的确存在着漏洞. 根据所有已知的产品漏洞(目前估计有 2000 到 3000 种之多)来建立一个完整的 系统,并正确识别和跟踪这些产品漏洞是一项相当艰巨的任务.这些漏洞数据的采集 和管理也为建立这种自动化的工具带来了极大的难度. 尽管实现的细节各不相同,但基于上述分析,我们可以推断出多数扫描方法所共

10

西南科技大学本科生毕业论文

有的一些部件: 漏洞数据 漏洞评估扫描器一般都具有内部的漏洞信息数据库, 以便精确地识别远端系统的 漏洞. 扫描机制 扫描的技术关键在于它能正确识别出对应的服务,子系统以及漏洞.根据扫描器 实现方法的不同,有些扫描器在扫描大范围的机器时可能效率不是很高. 报告机制 查找问题是一回事,精确地报告这些问题则完全是另一回事儿.有些产品能够更 清晰地报告扫描结果.

11

西南科技大学本科生毕业论文


景和趋势地展望.



在本章的最后一部分中, 将总结一下本系统的特点以及今后本系统的长期发展前

本系统的特点从使用角度看简单易用,数据输出明了;从设计角度看结构清晰, 设计过程逻辑性强,健壮性好.下面就系统的特点进行探讨. 1,实用性 操作容易上手,不管是专家还是从来没有使用过的用户,都能根据界面的提示运 行程序.可以通过设置,使用户自定义的扫描系统,完成用户的需要. 2,技术特点 系统的实现采用 MFC 套接字编程,开发平台是 Visual C++ 6.0.开发过程中,在 端口扫描部分使用了多线程技术,为端口的快速扫描提供了基础. 系统虽然具有实用性,技术上有着较多的特点,但仍然存在不足: 1,扫描器功能还不够多,不能满足许多用户的需要 2,扫描器的漏洞扫描取决于漏洞库的大小,本程序漏洞库不够强大 3,本程序只能完成单台主机的扫描. 系统的发展前景: 在端口扫描和路由信息的获取方面比较完善了,对于 NetBIOS 信息的获取还不 够,主要在于现在的网管都使用防火墙屏蔽了获取 NetBIOS 信息.在端口识别的方 面还需要做些工作,是扫描器能够自动根据端口识别服务,调用需要的模块.本程序 还需要加入漏洞更新模块以适应漏洞的更新. 今后的网络安全工作基本围绕漏洞扫描 与反扫描的技术上进行.

12

西南科技大学本科生毕业论文





本文是在唐峻老师精心指导和大力支持下完成的. 唐老师以其严谨求实的治学态 度,高度的敬业精神,兢兢业业,孜孜以求的工作作风和大胆创新的进取精神对我产 生重要影响.他渊博的知识,开阔的视野和敏锐的思维给了我深深的启迪.同时,在 此次毕业设计过程中我也学到了许多了关于网络编程方面的知识, 实验技能有了很大 的提高. 另外,我还要感谢班上同学们对我实验以及论文写作的指导,他们为我完成这篇 论文提供了巨大的帮助. 最后,再次对关心,帮助我的老师和同学表示衷心地感谢.

13

西南科技大学本科生毕业论文

参考文献
[1] 陈坚,陈伟.Visual C++网络高级编程[M].人民邮电出版社,2001.8 [2] 殷肖川,刘志宏,姬伟峰,万映辉.网络编程与开发技术[M].西安交通大学出版社,2003.9 [3] 侯俊杰.深入浅出 MFC(第 2 版)[M].华中科技大学出版社,2006.5 [4] 冉林仓,尹建民.Visual C++.NET 入门与进阶[M].清华大学出版社,2002 [5] 古天龙.网络协议的形式化分析与设计.电子工业出版社,2003.6 [6] 张越.Visual C++网络程序设计实例详解[M].人民邮电出版社,2006 [7] 邵波.计算机网络安全技术及应用[M].电子工业出版社,2005 [8] 杨波.网络安全理论与应用[M].电子工业出版社,2002 [9] William Stallings.Network Security Essentials: Applications and Standards (3rd

Edition)[M].Prentice Hall; 3 edition.2006.7 [10] Douglas C.Schmidt, Stephen D.Huston.C++ Network Programming, Volume 2: Systematic with ACE and Frameworks (C++ In-Depth Series)[M].Addison-Wesley

Reuse

Professional.2002.11

14


相关文档

漏洞扫描系统设计与应用
Web漏洞扫描系统设计与实现探讨
基于漏洞扫描的综合扫描系统设计
基于Nessus的漏洞扫描系统设计与实现
基于DeepLearn算法的漏洞扫描系统设计与实现
面向等级保护的漏洞扫描系统的设计与实现
基于Agent的网络漏洞扫描系统的设计与实现
漏洞扫描与补丁管理系统的设计与实现
网络安全漏洞扫描系统的设计与实现
基于OVAL的漏洞扫描系统设计与实现
电脑版