当前位置:赋力文档网 > 专题范文>公文范文> 正文

计算机网络漏洞分析及防范

发表于:2022-10-22 20:00:05 来源:网友投稿

摘 要 网络中存储的各种信息其中有不少是极为重要的资源,如何有效地保护这些资源不被非法使用和破坏也成为当前学术界和产业界的一个重要研究课题。主要结合经验,简单论述计算机网络中的漏洞的分析。

关键词 计算机;网络漏洞;分析

中图分类号 TP 文献标识码 A 文章编号 1673-9671-(2010)121-0026-01

网络已经成为人们生活的一部分。网络技术的发展和普及过程同时也是网络攻击的“傻瓜化”过程。漏洞不断被发现和公布,利用工具在 Internet上随便就可以找到漏洞并下载,使得网络攻击行为越来越猖獗,越来越傻瓜化。利用这些漏洞的蠕虫病毒在Internet上也是肆意作恶,给人们带来了巨大的损失,严重影响了人们的生产和生活。

1 计算机网络漏洞技术

1)漏洞的产生原因。漏洞是计算机系统在硬件、软件及协议的具体实现上存在的缺陷。漏洞一旦被发现,就可以被攻击者用以在未授权的情况下访问或破坏系统。无论是硬件还是软件平台都可能存在漏洞。系统漏洞的产生主要是在程序的开发阶段,由于程序员的不正确处理或者未注意安全编程而引起的。在程序投入使用后,用户的不正确配制也可能引发漏洞。漏洞的成因很多,一般有以下几种: ①网络协议漏洞:TCP/IP 协议组是目前使用最为广泛的网络互连协议之一。 但 TCP/IP 协议在设计时是将它置于可信的环境之下,并将网络互连和开放性作为首要考虑的问题,而没有过多地考虑安全性。②应用软件系统漏洞:任何一种软件系统都或多或少存在一定的脆弱性,安全漏洞可以看作是已知的系统脆弱性。例如,一些程序只要接收到一些异常或者超长的数据和参数,就会导致缓冲区溢出,这是因为很多软件在设计时忽略或者很少考虑安全性问题,即使在软件设计中考虑了安全性,也往往因为开发人员缺乏安全培训或没有安全经验而造成了安全漏洞。③配置不当引起的漏洞:在一些网络系统中忽略了安全策略的制定,即使采取了一定的网络安全措施,但由于系统的安全配置不合理或不完整,安全机制没有发挥作用;或者在网络系统发生变化后,由于没有及时更改系统的安全配置而造成安全漏洞。

2)漏洞的扫描技术。漏洞扫描技术主要是从环境错误注入入手,模拟攻击者的攻击行为,根据系统对合法和不合法数据包的回应来探测存在的漏洞。从获取远程主机信息的角度来看,扫描方法可以分为信息获取和模拟攻击。①信息获取:信息获取是通过与目标主机 TCP端口建立连接并请求某些服务,记录目标主机的应答,从而收集目标系统的信息,根据这些信息来判断目标主机是否存在漏洞。②模拟攻击:模拟攻击就是通过模拟攻击者对目标主机实施攻击,比如采用缓冲区溢出、DOS攻击等攻击方法对目标系统可能存在的已知漏洞进行逐项检查,从而发现系统的漏洞。

2 计算机网络漏洞分析系统的设计

1)原理分析。计算机网络漏洞探测属于主动的探测行为,其主要工作原理就是通过向目标主机发送探测数据包,然后等待接收目标主机的回应,分析返回的数据包来逐步探测目标主机信息。发送的探测数据包主要包括两种数据包:一种是建立正常的TCP/IP连接,根据特征码数据库来构造数据段的内容,另外一种是构造一些设定特殊包头的原始数据包。

这里需要注意的是:网络扫描是集中的、 重复的行为,同时它也是个比较耗资源的行为。我们在设计实现该网络漏洞探测系统的端口扫描时应从这一个角度出发,保证在达到同等目的的前提下,尽量少地占用网络、主机以及时间资源,提高资源的利用率和扫描系统的效率。

2)计算机网络漏洞分析系统总体设计。为了使更多的人同时使用该系统,并且能够很方便地管理,本系统的结构采用了Client/Server 模式,用户通过客户端提交任务和察看任务处理结果,服务器主要处理客户端提交过来的任务,漏洞扫描服务器开启之后开始监听客户端的各种连接请求并接收发送过来的任务,根据设定的协议分解客户端的请求任务,然后开始处理任务,最后将执行结果传给客户端。

我们将系统的漏洞扫描服务器划分成一些子功能模块,包括端口扫描模块、 服务版本探测、操作系统探测模块、漏洞分析引擎模块等等,这样的划分使得网络漏洞扫描服务器更有层次,极大地方便了系统的开发和维护。

3 系统关键模块的实现

1)端口扫描模块。端口扫描主要是了解对方主机每个端口的状态及正在进行的服务信息,由于每个操作系统的对连接请求的应答不大一样,所以需要具备多种扫描方式,即建立不同的连接请求。可以通过测试的情况添加及组合几种连接请求,扫描出不同操作系统的端口服务信息。

端口扫描的第一步是向目标主机的TCP/UDP端口发送探测数据包,根据对方的回应判断端口是否开放。由于网络环境的差异以及操作系统对连接请求的应答并不一致,在端口扫描中支持多种扫描方式,以保证扫描的准确和快速。端口扫描模块采用的扫描技术包括 TCP Connect全连接扫描、TCPSYN半连接扫描、秘密扫描、UDPICMP端口不可到达扫描等扫描技术。默认采用的是TCP SYN半连接扫描技术。

经过前期设置侦听原始套接字的同步和超时之后,调用sendto()函数发送 IP数据包。原始套接字包发送完后,就可以开始接收目标主机的回应了。通过设置原始套接字的这个I/O控制命令,便可以调用recv()函数接收返回的数据包。

具体实现的部分代码如下:

UINT_ListenThread(LPVOID lparam){if (WSAStartup (MAKEWORD(2,2), &WSAData1)!=0)//检查 Winsock 版本号

return 0;

// 初始化 Raw Socket

if((sock1=WSASocket(AF_INET,SOCK_RAW,IPPRO-TO_RAW,NULL,0, WSA_FLAG_OVERLAPPED))==IN-VALID_SOCKET)

return 0;

……//设置IP头操作选项

……//获取本机名

……//获取本地IP地址

if ((pHost=gethostbyname((char*)LocalName))==NULL)re-turn 0;

……//把sock绑定到本地地址上

……//设置SOCK_RAW为SIO_RCVALL,以便接收所有的IP包

if(ioctlsocket(sock1, SIO_RCVALL, &dwValue)!=0)

return 0;

int ret=recv(sock1, RecvBuf, BUFFER_SIZE, 0);

if(ret>0){

……//通过IP数据包的协议类型、IP源地址、目的地址TCP数据包的标志位来过

}

}

2)分析引擎模块。分析引擎主要通过两个方面来完成,一个是通过以上探测的目标主机的信息来查找漏洞数据库得出漏洞信息,另外一个方法就是对历史数据进行对比分析得出可能存在的漏洞。

国外一直在进行对分析引擎的相关研究,漏洞的理论、漏洞的分类、漏洞数据库、 通用漏洞检测、漏洞修补等都是研究侧重点。在实际的应用中,已经有很多的组织依据自己的需要,构建了自己的漏洞数据库,这些漏洞依据某种分类方法进行分类,最终形成一个漏洞分析数据库的结构,并构建漏洞数据库,成为漏洞研究的基础,也是网络安全漏洞扫描研究的基础。

4 结束语

网络安全技术的发展总是随着黑客攻击手段的发展而发展的,而黑客攻击的可实施性又依赖于网络和系统所存在的安全问题。所以,网络安全的关键在于了解自身网络的缺陷并进行积极主动的防御。

参考文献

[1]王琪.网络漏洞成为计算机最薄弱环节[J].科学咨询(决策管理),2009.

[2]孙凌洁,钟于胜,沈焱萍.网络漏洞安全检测系统的研究与设计[J].广东农业科学,2009.

推荐访问:计算机网络 漏洞 防范 分析