网络安全防护及漏洞检测技术

更新时间:2024-04-18 02:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

网络安全防护及漏洞检测技术

一、 网络安全重要吗?

这个问题现在似乎不能以是或否来回答。因为网络安全已不仅在企业显得重要,而且已上升到国家和政府的意识行为。我们知道,当今社会,随着计算机及通信技术的迅猛发展,网络已越来越渗透到一个国家的政治、经济和军事命脉,随着网络上各种业务的兴起,如电子商务、电子现金、数字货币、网络银行等的兴起,以及各种专用网(如金融网等)的建设,使得网络安全问题显得越来越重要,因此对网络安全技术的研究成为现在计算机通信界的一个热点,并且成为信息科学的一个重要研究领域。 现在世界上每年因利用计算机网络进行犯罪所造成的直接经济损失惊人。据美国AB联合会早年的调查和专家评估,美国每年因计算机犯罪所造成的经济损失高达150亿美元。1984年美国曾发生利用银行网络盗窃行为,造成了2500万美元的损失,我国也发生了多起类似事件。去年发生的世界著名网站Yahoo、sina等瘫痪的事件大家还记忆犹新,各种网络事件层出不穷,这充分暴露了网络安全的脆弱性,而且网络安全不仅威胁着企业的直接利益,同时也在很大程度上危及着一个国家的安全,仅美国就发生多起黑客潜入五角大楼、航天局等国家机密计算机网络系统,窃取重要的网络情报。而且,随着信息技术的发展,各国为了达到其政治、经济和军事的战略目的,掀起了一场前所未有的

战争即信息战。其实质就是利用各种计算机网络攻击技术来夺取未来信息战场的制信息权。今年五一的中美“黑客”大战在舆论上也产生了很大的影响。

因此,各国都非常重视本国的网络安全建设。我国也不例外,出台了一系列的政策和法规,并成立了相应的专门机构指导网络安全的建设工作。

为了有效地保障国家网络空间中的关键信息和基础设施的安全,建立全国性的计算机网络应急处理体系,国家成立了国家信息化工作领导小组(朱总理任组长),并成立了计算机网络与信息安全管理工作办公室,组建国家计算机网络应急保障体系,组织有关安全服务企业作为技术支撑单位。

主要采取的战略举措有:?

? 建立国家计算机病毒应急处理中心,专门负责全国范围的计算机病毒的防治、检测、发布公告等事宜;

? 建立国家计算机网络应急处理协调中心,为应急处理的全面开展提供参考;

? 建立计算机网络入侵防范中心,为防范和妥善处置黑客攻击事件提供技术支持;

? 建立国家信息安全测评认证体系;

? 在全国推行安全产品许可证发放制度,逐步规范安全产品的市场流通;

? 启动信息安全专项的科技计划和产业发展计划;

? 开展信息安全专门人才的培养与岗位培训; ? 出台一些信息安全管理的政策法规等

近几年来,网络安全不管是从它的发展需求,还是概念炒作上来讲,发展都是很快的,网络安全公司也是近几年IT产业发展的一道亮景。

二、 网络安全体系及技术 1. 基本知识

国际标准化组织(ISO)对“计算机安全”的定义是:为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因遭到破坏、更改和泄露。 而网络安全从其本质上讲就是网络上的信息安全。它涉及的领域非常广泛。具体来说,网络安全是指网络系统中的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改和泄露,系统连续可靠正常地运行,网络服务不中断。

随着计算机技术的发展和应用,1981年,美国国防部计算机安全中心就开始全面研究计算机系统所处理的机密信息的保护要求和控制手段,4年后即1985年开发出计算机安全标准《可信任计算机标准评估准则》(TCSEC,Trusted Computer Standards Evaluation Criteria),为计算机安全产品的评测提供了测试和方法,指导信息安全产品的制造和应用。它依照由低到高规定了计

算机信息安全等级即:D类,C类C1级,C类C2级,B类B1级,B类B2级,B类B3级和A类。

D类也叫“最低安全”类,只要评估产品达不到较高安全级别,就属于此类,一般认为:整个系统是不可信任的,是可用的最低安全形式。

C类也叫自由选择性安全保护,它包含两个安全等级,C1和C2级,该类产品对硬件提供了某种程度的保护,使它不再容易受到损害,它还提供按需知密的访问功能,即监控功能和基本审核功能。

C1级产品通过访问控制限制将用户和数据分开。而C2级则是在C1级基础上,通过强制执行更为细致的控制访问策略,审核所有与安全有关的事件,来提高资源的隔离性。

B类也叫强制性安全保护,包括B1,B2,B3三个级别。B1级的安全标签保护是系统中所有对象必须与一种加密标签相关联。B2级叫做结构保护,要求计算机系统中所有对象都加标签,而且给设备分配单个或多个安全级别。B3级叫做安全域保护,使用安装硬件的办法来加强域。

A类也叫验证设计,是当前规定中最高安全级别。它包含了一个严格的设计、控制和验证过程,创建安全政策的正式模型,设计方案的最高级正式技术说明。

2. 网络安全的威胁

病毒和黑客是目前网络安全的两大杀手。而病毒和黑客技术的融合发展趋势使网络安全面临着更大的威胁。如今年发生的红色代码病毒是开创了病毒新发展的里程碑,它即是利用了网络安全漏洞,并采用了高超的病毒编程技巧使得病毒迅速传播并造成了很大的破坏。

从一般意义上讲,网络安全所面临的威胁主要可分为两大类:即是对网络中信息的威胁,再就是对网络中设备的威胁。而从人的因素上来考虑,影响网络安全的因素有人为和非人为的两种情况。

根据RFC1244(Security Handbook)的定义,造成网络安全威胁的三个主要类型有:

? 非授权访问(unauthorized access)——一个非授权的人的入侵;

? 信息泄露(disclosure of information)——造成将有价值的和高度机密的信息泄露给无权访问该信息的人的所有问题;

? 拒绝服务(denial of service )——使得系统难以或无法继续执行任务的所有问题。 除此以外,还有:

? 人为的无意失误:如操作员使用不当、安全配置不规范等造成的安全漏洞; ? 人为的恶意攻击:

? 网络软件的漏洞和“后门”;

? 破坏数据的完整性——如以非法手段窃取得对数据的使用权,删除、修改某些重要信息等。

从根本上讲,网络安全的威胁来自于计算机基本技术自身存在的种种隐患。这主要表现在: ? 操作系统的脆弱性;

? 网络协议自身的安全脆弱性; ? 数据库管理系统的安全脆弱性 ? 网络配置的不规范等。

3.网络安全模型结构

为了适应网络技术的发展,国际标准化组织ISO的计算机专业委员会根据开放系统互连参考模型OSI制定了一个网络安全体系结构模型,该模型主要解决对网络系统中的传达室输信息进行保密的问题。下面列出了UNIX网络安全体系结构模型,该结构主要针对的是UNIX Internet连接。 层次 7 6 5 4 3 名称 POLICY 功能描述 POLICY 定义和指导 PERSONNEL 使用设备和数据的人员 LAN 计算机设备和数据 INTERNAL-MARK 连接器——内部连接器 GATEWAY OSI 7、6、5、4层的功能 2 1

PACKET-FILTER OSI 3、2、1层的功能 EXTERNAL-DEMA公共访问——外部RK 连接 ? 最顶层:定义了组织的安全策略,包括高层次定义的允许的安全风险,以及下层的如何配备设备及过程; ? 第六层:定义了安装、操作、维护、使用以及通过其他方法访问用户网络人员。在该层次上的安全策略,应该反映出用户对总体系统安全的期望值;

? 局域网层:定义用户的安全程序要保护的设备和数据。它也包括一些用于实现用户的安全策略所需的监控程序; ? 内部区分层:定义了用户如何将局域网连接到广域网以及如何将局域连接到防火墙上。这可能会涉及到很多的网络连接设备;

? 嵌入的UNIX网关层:定义整体平台,包括在第四层的网络接口以及在第三层的路由器。嵌入的UNIX网关用于为广域网提供防火墙服务;

? 数据包过滤层:该层次应该既提供到第一层的连接,又提供根据一定标准对输入输出的数据包进行过滤的功能; ? 外部区分层:定义用户的系统如何与设备、电话线路、或其它的用户不能在组织内直接控制的介质进行连接; 为了实现上述各种功能服务,其于这种安全体系提出的安全技术机制主要有:

? 加密机制:用加密的方法与其它技术结合,可以提供数据的保密性和完整性,目前加密技术非常先进; ? 数字签名机制;

? 访问控制机制:它是按事先确定的规则决定主体对客体的访问是否合法; ? 数据完整性机制;

? 交换鉴别机制:它是以交换信息的方式来确认实体身份的机制,如利用口令、指纹识别等技术;

? 业务流量填充机制:它主要是以对抗非法者在线路上监听数据并对其进行流量和流向分析; ? 路由控制技术;

? 公证机制:它使得能鹤双方进行数据通信时必须经过该机构来转换来保证信任度;

当然,网络安全系统并非局限于上述各项技术手段,它还需要政策法规、管理策略上的各种支持,是一个涉及到方方面面的极其复杂的系统工程。我们可以以下面的三维体系图来描述网络安全的各个层面。

4.网络安全解决方案

完整的网络安全解决方案。应该根据应用特点,对症下药,有针对性地解决问题。具体问题包括: ? 关于物理安全的考虑 ? 关于数据安全的考虑 ? 数据备份的考虑 ? 防病毒的考虑

? 关于操作系统/数据库/应用系统的安全考虑 ? 网络系统安全结构的考虑 ? 通信系统安全的考虑 ? 关于口令安全的考虑 ? 关于软件研发安全的考虑

? 关于人员安全因素的考虑 ? 网络相关设施的设置和改造 ? 安全产品的选型

? 安全策略与安全管理保障机制的设计 ? 网络安全行政与法律保障体系的建立 ? 长期安全顾问服务 ? 服务的价格 ? 事件处理机制

? 安全监控网络和安全监控中心的建立 ? 安全培训等。

三、 漏洞及漏洞检测技术 1.

什么是漏洞

网络漏洞是黑客有所作为的根源所在。漏洞是指任意的允许非法用户未经授权获得访问或提高其访问权限的硬件或软件特征。它是由系统或程序设计本身存在的缺陷,当然也有人为系统配置上的不合理造成成的。目前流行的关于漏洞的分类主要有A类和B类的划分形式。

1)安全漏洞的几种形态A类划分: 1、操作系统漏洞(先天) 2、应用程序漏洞(先天)

3、系统配置漏洞(人为) 4、工作机制漏洞(人为) 5、网络系统漏洞(人为) 6、管理机制漏洞(人为) 2)安全漏洞的几种形态B类划分: 1、管理漏洞 2、软件漏洞 3、结构漏洞 4、信任漏洞 2.

CVE标准

目前,已公布的各种系统漏洞有上千种,国际上为了规范漏洞的行为特征和便于管理,也成立了相应的组织构,并规范收录和管理现存各种漏洞,即CVE标准。

CVE即Common Vulnerabilities and Exposures,它是经专门的国际权威机构对已分公开发布的信息安全漏洞的定义、归类和列表。

CAN——CVE的候选编号授权机构(the CVE Candidate Numbering Authority),它负责对一个新发现的信息安全漏洞进行预先编号,然后提交给CVE公告牌和编委们进行专门讨论,是否被收录入CVE库中,成为CVE的正式成员。

CVE编委(CVE Editorial Board):它负责对CAN编号的漏

洞进行讨论、修正、并表决是否可收录入CVE库中; MITRE是一个非盈利性的、与政府关系密切的相对独立的机构,它维护CVE的标准并对CVE的各项事务发展提供中立指导。它兼有CAN及CVE编委两个职能。

Http://cve.mitre.org.,是CVE公开发布的站点,并可自由下载。 CVE中各个漏洞条目的主要内容是漏洞编号及名称、漏洞描述及相关参考信息。

一个预选漏洞的编号定义,它包括漏洞发现的年度及该年度的序号,如CAN-1999-0067.当它正式被接纳为CVE正式成员后,它将更名为CVE-1999-0067,并给出它正式的定义描述。也就是说经CAN预选的漏洞不一定最终能成为CVE的正式成员。 一个漏洞被正式收入CVE库的过程一般为:

发现漏洞——公开讨论——CAN对其预编号——提交专委讨论、投票进入CVE——正式编号、修改、定义描述、正式入选CVE——公开发布。 3.

典型漏洞介绍

这里我们列出了今年SANS公布的20类最常见危险的安全漏洞,我们着重介绍几个。 1)针对所有系统的:

(1)操作系统和应用程序的默认安装

? 描述:大多数操作系统和应用软件提供了自动安装的功

能,实际上被安装的有些功能是用户不需要的,因而不对其进行设置,从而留下了大量漏洞。

? 受影响的系统:大多数的操作系统和应用程序 ? 相关CVE条目:

? 如何发现:使用端口扫描器和漏洞扫描器 ? 如何消除:对系统进行合理设置,打补丁。 (2)密码为空的帐号和弱密码帐号

? 描述:大多数系统都是通过密码来限制访问权限。某些系统存在默认的帐号和密码,如果不加以修改而直接使用,很容易被黑客利用。一般来讲,获得用户名是比较容易的,如果存在空密码和弱密码,很容易被破解。

? 受影响的系统:所有利用用户名和密码进行身份验证的主机。

? 相关CVE条目: CVE-1999-0291,

CAN-1999-0501,

CAN-1999-0502,

CAN-1999-0503, CAN-1999-0505, CAN-1999-0506,

CAN-1999-0507,

CAN-1999-0508,

CAN-1999-0516, CAN-1999-0517, CAN-1999-0518, CAN-1999-0519

? 如何发现:将所有的用户名列表,用专门的密码破解程序进行试探,发现弱密码并进行修改。对网内的用户名进行控制,添加用户名必须登记,及时删除不用的用户。

? 如何消除:

第一步,删除空密码和弱密码的用户或对其密码进行加强;

第二步,制定密码规则,限制用户使用简单的密码,限制密码的使用期限,降低被破解的可能性。 另外,须对内部人员就如何选择强密码进行培训。 (3)无备份或备份不完全

? 描述:当事故发生时,以前数据的一个完整备份对于灾难恢复是很重要的。有的单位每天都做备份,但是不检查该备份是否可以工作;有的单位有备份规则却没有相应的对备份文件存储规则。对备份文件的不完整的保护,容易导致泄密。

? 受影响的系统:所有的任务系统

? 如何发现:首先对系统进行风险评估,制定相应的备份规则。依据该备份规则,检查备份过程和备份介质的管理。 ? 如何消除:保持备份最新,定期检查备份文件是否正常。 (4)开放了大量端口

? 描述:用户和黑客都是通过端口连接系统,开放越多的系统,便为黑客入侵系统提供了越多的途径。因此应该尽可能的少开放端口。

? 受影响的系统:大多数操作系统。 ? 相关CVE条目:

CVE-1999-0189, CVE-1999-0288, CVE-1999-0351,

CVE-1999-0416, CVE-1999-0675, CVE-1999-0772,

CVE-1999-0903,

CVE-2000-0070,

CVE-2000-0179, CVE-2000-0339, CVE-2000-0453,

CVE-2000-0532,

CVE-2000-0558,

CVE-2000-0783, CVE-2000-0983

? 如何发现:使用netstat命令可以在本地查看开放的端口。更有效的方法是从另一台机器上运行端口扫描器,进行检测,比如NMAP。进行扫描时要考虑到可能对系统引起的问题。

? 如何消除:得知了开放的端口后,确定必须要开放的端口,然后进行设置。UNIX下,配置inetd.conf文件,关闭不需要的端口;Windows下,关闭不需要的服务,关闭相应端口。

(5)对于某些具有“正确”IP地址的数据包没有过滤 ? 描述:IP地址欺骗是黑客进行攻击时常用的手法。黑客利用你局域网内允许的正确地址,欺骗防火墙,进入内部网,进行扫描或攻击。该地址在内网是合法的,不会被怀疑。 ? 受影响的系统:大多数操作系统和网络设备。 ? 相关CVE条目: CAN-1999-0528, CAN-1999-0588

CAN-1999-0529,

CAN-1999-0240,

? 如何发现:发送欺骗数据包,查看你的外部防火墙或路由器能否对其拦截。

? 如何消除:配置防火墙,使其阻塞从外网来的、具有内网合法地址的数据包。 (6)无日志或不完全的日志

? 描述:当前的计算机网络,不可能从根本上阻挡黑客的入侵。当入侵事件发生后,没有日志,几乎不可能觉察到黑客究竟对你的系统做了什么。如果不能做到这一点,你只好重装系统或者冒着风险在可能已被黑客控制的机器上工作。

? 受影响的系统:所有操作系统和网络设备。 ? 相关CVE条目:

CAN-1999-0575, CAN-1999-0576, CAN-1999-0578

? 如何发现:检查个系统的日志。如果没有日志或者有但没进行几种保存和备份,就存在此方面的问题。

? 如何消除:对所有系统安装本地日志系统,并将日志发至远程的日志处理中心。这样提供了冗余并多了一层安全。这样远程备份的日志可以和本地日志进行比较。可疑的问题可以通过比较看出。同时,这种机制可以进行日志的交叉检查,一台服务器上的一条日志信息看起来可能没什么,但是50台服务器上的同一条日志信息可能就说明了一个大问题。 (7)易受攻击的CGI程序

? 描述:大多数Web服务器,包括微软的IIS和UNIX的Apache,都支持CGI(通用网关接口)以实现网页的交互性。实际上,许多WEB服务器使用相同的CGI程序。然而,许多CGI程序员都不能意识到这为来自任意地址的任意用户提供了对运行WEB 服务的本地系统提供了一个直接连接。CGI程序成了一个对入侵者特别有吸引力的目标,因为相对来讲WEB服务器软件的权限更容易获得并对其进行操作。入侵者通过有漏洞的CGI程序可以修改对方网页,偷盗信用卡号,预留后门等。这种漏洞一般是由于没有经验的程序员造成的。同时,作为一条基本的规则,样例程序应该从系统中删除。

? 受影响的系统:所有的WEB服务器。 ? 相关CVE条目: CVE-1999-0067,

CVE-1999-0346,

CVE-2000-0207,

CVE-1999-0467, CAN-1999-0509, CVE-1999-0021,

CVE-1999-0039,

CVE-1999-0058,

CVE-2000-0012, CVE-2000-0039,

CVE-2000-0208, CAN-1999-0455, CAN-1999-0477

如何发现:首先是系统提供的一些样例程序,一般来讲,有这些程序存在,你的系统就是危险的。其次,利用CGI漏洞扫描器(whisper)进行扫描,模拟一个攻击者的可能行为,发现可能存在的CGI漏洞。

? 如何消除:清楚系统提供的CGI样例程序。 a) 对留下的CGI程序进行检查,踢出不安全的脚本。 b) 保证CGI程序员的编程水平和经验。 c) 针对已发现的漏洞打补丁。

d) 保证你的CGI可执行目录(bin)下没有任何的编译器和解释程序。

e) 清除BIN目录下的查看原码脚本。

f) 不要以超级管理员或是根用户权限运行WEB服务器程序。

g) 对于不需CGI支持的服务器,不要运行CGI功能。

针对WINDOWS系统的: (8)UNICODE漏洞

? 描述:UNICODE为所有字符提供了唯一的编码,而不论是何种平台、程序和语言。UNICODE已被包括微软在内的大多数开发商所采纳。然而,通过向IIS服务器发送一个精心构造的URL(其中包括不合法的UNICODE UFT-8字符串),攻击者可以进出任意目录并执行任意脚本。这种攻击也被称为遍历目录攻击。

? 受影响的系统:Windows NT4.0+IIS4.0,Windows 2000+IIS5.0(未安装SP2)。 ? 相关CVE条目:

CVE-2000-0884

? 如何发现:如果使用一个未打过补丁的IIS服务器,你的系统可能就存在此漏洞。可以使用hfnetchk工具进行漏洞检测。该工具用来探测已经安装过的补丁。如果下列补丁没有安装,该漏洞就是存在的。

?

Q269862 - MS00-057 Q269862 - MS00-078 Q277873 - MS00-086 Q293826 - MS01-026 Q301625 - MS01-044 Windows 2000 Service Pack 2

?

?

?

?

?

也可以利用下面的URL进行漏洞检测:

http://victim/scripts/..àˉ../winnt/system32/cmd.exe?/c+dir+c:\\

如果该漏洞存在,就会返回C盘的目录。

? 如何消除:必须安装微软提供的最新补丁。IIS LockDown Tool和URLScan工具都可以阻止此漏洞。

(9)ISAPI缓冲区溢出

? 描述:绝大多数以Windows NT和Windows 2000为平台的WEB服务器使用的都是IIS服务程序。安装IIS服务程序会自动安装几个ISAPI(Internet服务应用编程接口)扩展。ISAPI使用DLL扩展IIS服务器的功能。有几个DLL,例如idq.dll,存在缓冲区溢出漏洞,容易被攻击者利用。 ? 受影响的系统:idq.dll缓冲区溢出漏洞影响运行索引服务的Windows 2000。

.printer缓冲区溢出漏洞影响运行IIS5.0的Windows 2000 Server, Advanced Server, 和 Server Data Center Edition。 ? 相关CVE条目: CVE-1999-0412, CAN-2001-0500

(10)针对IIS的远程数据服务的攻击

(11)NETBIOS——未受保护的WINDOWS共享 (12)利用空会话的信息泄漏

(13)局域网管理器(LAN Manager)的弱加密

针对UNIX系统的:

(14)远程过程调用(RPC)的缓冲区溢出

? 描述:RPC服务允许一台机器上的程序去执行另一台机器上的程序。已经有多种RPC缺陷造成的漏洞被利用来进行攻击。如1999和2000年的大规模拒绝服务攻击,有大

CVE-2001-0241,

CAN-2000-1147,

量的机器就是被利用此漏洞发起攻击。 ? 受影响的系统:大多数版本的UNIX系统。 ? 相关CVE条目: CVE-1999-0003,

CVE-1999-0693,

CVE-1999-0696,

CVE-1999-0018, CVE-1999-0019,

CVE-1999-0704, CAN-2001-0236, CVE-2000-0666

? 如何发现:查看你的机器是否运行了下面三个一般来讲容易被利用的服务:

?

rpc.ttdbserverd rpc.cmsd rpc.statd

?

?

这三项服务很容易被人使用缓冲区溢出攻击而取得用户帐号和权限。

? 如何消除:对于直接连到Internet上的机器,必须关闭上述3项服务。 a) 安装最新的补丁。

b) 在边缘路由器和防火墙过滤掉RPC111端口。 c) 堵塞RPC环回端口,32770-32789 (TCP and UDP)。 (15)SendMail漏洞 (16)BIND漏洞

? 描述:BIND(The Berkeley Internet Name Domain)是

广泛使用的域名服务程序。但是它存在一个漏洞,可以使入侵者清除系统日志并通过工具取得超级用户权限。控制机器后,入侵者可以发起更大的攻击。由于域名服务器的特殊地位,该攻击的影响面更广,造成的危害更大。新版本的BIND已经做了改进。

? 受影响的系统:大多数UNIX和Linux系统。 ? 相关CVE条目: CVE-1999-0024,

CVE-1999-0184,

CVE-1999-0833,

CVE-1999-0009, CVE-1999-0835, CVE-1999-0848,

CVE-1999-0849,

CVE-1999-0851,

CVE-2001-0010, CVE-2001-0011, CVE-2001-0013

? 如何发现:使用漏洞扫描器,或者用手工,对BIND的版本进行检查。 ? 如何消除:

a) 关闭BIND守护进程。

b) 必须使用BIND提供域名服务的机器,升级至最新版本或打补丁。

c) 将BIND以非特权用户模式运行,以防止被入侵者攻击后取得系统特权。 (17)远程命令

(18)远程打印守护程序

(19)、sadmind和mountd (20)默认的SNMP字符串 4.

漏洞检测技术

我们一般采用扫描器来检测网络漏洞。扫描器是一种自动检测远程和本地主机安全性弱点的程序,通过使用它扫描TCP端口,并记录反馈信息,可以不留痕迹地发现远程服务器各种TCP端口的分配、提供的服务,以及它们的软件版本。这就能让我们间接或直观地了解到远程主机所存在的安全问题。一个好的扫描器能对它得到的数据进行分析,帮助攻击者查找目标主机的漏洞,但它不会提供进入一个系统的说细步骤。

1.扫描器的主要功能: 1)发现一个主机或网络;

2)一旦发现一台主机,可以发现有什么服务程序正运行在这台主机上;

3) 通过测试这些服务,发现漏洞; 2. 扫描器的分类

按照扫描器使用对象的不同可以分为: ? 本地扫描器 ? 远程扫描器。

对于黑客来讲使用的更多的是远程扫描器,因为远程扫描器也可以用来扫描本地主机。

按照扫描的目的来分:

? 端口扫描器:它是单纯地用来扫描目标机开放的服务端口以及与端口相关的信息。常见的端口扫描器有NMAP、PORTSCAN等,这类扫描器并不能给出直接可以利用的漏洞,而是给出与突破系统相关的信息。这些信息对于普通人来说也许是极为平常的,丝毫不能对安全构成威胁,但一旦到了黑客的手里,它们就成为突破系统所必需的关键信息。它的基本原理:只是简单地利用操作系统提供的connect()系统调用,与每一个感兴趣的目标计算机的端口进行连接,如果端口处于侦听状态,那么connect()就能成功,否同,这个端口就没有提供服务。它的优点是无面任何权限,系统中的任何用户都有权利使用这个调用。另外它的扫描速度很快。

? 漏洞扫描器:与端口扫描器相比,漏洞扫描器更为直接,它检查扫描目标中可能包含的大量已知的漏洞,如果发现潜在的漏洞可能性,就报告给扫描者。这种扫描的威胁性极大,因为黑客可以利用扫描到的结果直接进行攻击。当然,它也不能告诉你如何利用这些被发现的漏洞,这不需要根据自己的经验和具体的情况来进行。这种扫描器的种类很多,最著名的有ISS、NESSUS、SATAN等。

3.主要扫描技术概述

下面简单介绍几种目前最常见的扫描技术: 1)

TCP SYN扫描

这种技术是一种“半开放”扫描,扫描程序并不打开一个完全的TCP连接,扫描程序发送的是一个带有SYN标志的数据包,好像准备打开一个实际的连接并等待反应一样。一个SYN/ACK的返回信息表示端口处于侦听状态,一个RST返回信息表示端口没有处于侦听状态。如果收到一个SYN/ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程,这种扫描技术的优点在于一般不会在目标计算机上留下记录,但这种方法的一个缺点是,必须有ROOT权限才能建立自己的SYN数据包。 2)

TCP FIN扫描

SYN扫描的隐蔽性较差,一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。但FIN数据包可以越过这些监视,因为关闭的端口会用适当的RST来回复FIN数据包,另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系,有的系统不管端口是否打开,都回复RST,对于这种系统,这种扫描方法可能就不适用。但这种方法在区分Unix和NT时十分有用。 3)

IP段扫描

这种扫描方法与其它技术相比,它并不是直接发送TCP探测数据包,而是将数据包分成两个较小的IP段,这样就将一个TCP头分成好几个数据包,从而使过滤器很难探测到,但必须小心,

一些程序在处理这些小数据包时会有些麻烦。 4)

UDP ICMP端口不能到达扫描

这种方法与上述几种方法的不同之处在于使用的是UDP协议。由于这个协议很简单,所以扫描比较困难。这是由于打开的端口对于扫描探测并不发送一个确认信息,而关闭的端口也并不需要发送一个错误信息包。但许多主机在向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误,这样就能发现哪个端口是关闭的。UDP和ICMP错误都不能保证到达,因此这种扫描必须能够实现当一个包看上去丢失的时候还能重新传输,这种扫描方法比较慢,因为RFC对ICMP错误消息的产生率做了规定,同样,这种扫描方法需要具有ROOT权限。 5)

ICMP echo扫描

它是通过发送ICMP包来检查主机是否可到达。

四、 入侵检测技术

在各种黑客资料、入侵工具泛滥的今天,成功的攻击案例很多,那么,对于一个网络系统而言,仅仅是被动地防御已不足以保证自身的安全,而需要一种对潜在的入侵动作和行为作出记录、并预测攻击后果的系统,这就是入侵检测系统即IDS(Intrusion Detection System)。目前,入侵检测系统已受到人们的高度重视,国内外不但有多个实验室在从事入侵检测系统的研

究和开发,并已完成一些原型系统和商业产品。 1.

入侵检测的内容

1) 试图闯入或成功闯入:它通过比较用户的典型行为特征或安全限制来检测网络非法入侵; 2) 冒充其他用户;

3) 违反安全策略:指用户行为超出了系统安全策略所定义的合法行为范围,可以通过具体行为模式检测;

4) 合法用户的泄露:指在多级安全模式下,系统中存在两个以上不同安全级别的用户,有权访问高级机密信息的用户将授权的敏感信息发送给非授权的一般用户。通过检测I/O资源使用情况来判定。

5) 独占资源:指攻击者企图独占特定的资源,以阻止合法用户的正常使用,或导致系统崩溃。一般通过检查系统资源使用状况来检测。

6) 恶意攻击:指攻击者进入系统后,企图执行系统不能正常运行的操作,如删除系统文件等。它可通过典型行为特征,安全限制或使用特征来检测。 2.

IDS的分类

IDS的分类很多,不同的标准有不同的分类方法。如按照入侵检测的功能不同可分为以下几类: 1)

网络入侵检测系统(NIDS):这类入侵检测能冠军对网

络中传输的数据包进行分析,从而发现可能的恶意攻击。 一个典型的例子是在不同的端口检查大量的TCP连接请求,以此来发现TCP端口扫描的攻击企图。网络入侵检测系统既可以运行在仅仅监视自的的端口上,也可以运行在监视整个网络状态的处于混杂模式的Sniffer主机上。 2)

系统完整性校验系统(SIV):此类入侵检测系统用来

校验系统文件,查看系统是否已经被黑客攻破而且更改了系统原文件并留下了后门,这类软件中最著名的是“Tripwire”。系统完整性校验系统不仅可以校验文件的完整性,也可以对其他组件,如Windows注册表,进行校验。 3)

日志文件分析系统(LFM):通过分析网络服务产生的

日志文件来获得潜在的恶意攻击企图。和网络入侵检测系统类似,这类软件寻找日志中暗示攻击企图的模式来发现入侵行为。此类软件的典型例子是Swatch,它通过分析HTTP服务器日志文件来寻找黑客扫描著名的CGI漏洞的行为。 4)

欺骗系统(DS):通过模拟一些著名漏洞并提供虚假服

务来设诡计欺骗入侵者。这类软件中比较著名的是Deception ToolKit。 5)

其它入侵检测系统;

如按具体的检测方法分类可分为:基于行为的检测和基于知识的检测。

1) 基于行为的检测:指根据使用者的行为或资源使用状

况的正常程度来判定是否入侵,而不依赖于具体行是否出现来检测。即建立被检测系统正常行为的参考库,并通过与当前行为比较来寻找偏离参考库的异常行为。具体检测方法主要有:

(1) 概率统计方法:它首先根据用户对象的动作为每个

用户都建立一个用户特征表,通过比较当前特征与已存储定型的以前特征,从而判断是否是异常行为。 (2) 神经网络方法:它是利用一系列信息单元训练神经

元,这样在给定一组输入后,就可能预测出输出。与统计理论相比,神经网络更好地表达了变量间的非线性关系,并能自主学习和更新。

2)

基于知识的检测(也称违规检测):是指运用已知攻击

方法,根据已定义好的入侵模式,通过判定这些入侵模式是否出现来检测。因为很大一部分的入侵是利用了系统的脆弱性,通过分析入侵过程的特征、条件、排列及事件间关系能具体描述入侵行为的迹象。这些迹象不仅对分析已经发生的入侵行为有帮助,而且对即将发生的入侵也有警示作用,因为只要部分满足这些入侵迹象主意味着可能有入侵发生。其主要方法有:

(1) 专家系统:它通过将有关入侵的知识转化成if-then

结构的规则,即将构成入侵所要求的条件转化为IF部分,而将发现入侵后采取的相应措施转化为THEN部分。

(2) 模型推理:它是通过入侵模型的结合推理出入侵行

为是否出现。

(3) 状态转换分析:即是将状态转换图应用于入侵行为

的分析。它将入侵过程看作一个行为序列,这个行为序列导致系统从初始状转入被入侵状态。人析时首先针对每一种入侵方法确定系统的初始状态和被入侵状态,以及导致状态转换的转换条件,即导致系统进入被入侵状态必须执行的操作。

3.

IDS模型

下图是一个综合各种入侵检测技术的通用入侵检测模型。 入侵模式库 Pattern DB 数据源 系统剖析引擎 模式匹配机 数据库 Pattern Matcher Data Base Profiling Engine 异常检测器 anomaly Detector

4.

事件响应和恢复

对于IDS来说,还必须有相应的响应手段或措施,一般将响应分为两类,即实时响应和静态响应。 1)

实时响应的主要方式有:

(1) 当有事件发生时显示一条消息。当检测到一次攻击后,

感应器就会将攻击的名称、攻击的源IP地址和目标IP地址,以及端口号发送到控制台,控制台以图示化方法显示,并说明这种攻击方式的特点和一些技术细节,以帮助系统管理员决定下一步的对策。

(2) 发响应包通知响应控制中心切断连接。如果管理员感

到某种类型的攻击对系统安全构在威胁,他可以决定封锁来自攻击方的IP地址。这种响应方式可以由管理员手工操作,也可预定义,当某种类型的攻击发生时,由系统自动封锁IP,管理员还可以确定经过多少时间后重新开通

这个IP地址。

(3) 发E-Mail通知管理员。

(4) 启用紧急事件下的接管系统。当一些重要的部门检测

到外来的攻击时,特别是高风险的入侵时,应及时通知应急响应中心。

(5) 生成报告。管理员可以指定生成一段时间内的系统报

告,报告中显示各种攻击的发生频率和攻击方的IP地址,从而帮助管理员掌握整个网络的安全状况。 2)

静态响应的主要方式:

(1) 信号分析:对收集到的与入侵有关的信息进行分析:

模式匹配、统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。 (2) 模式匹配:是将收集到的信息与已知的网络入侵和

系统误用模式数据库进行比较,从而发现违背安全策略的行为。不断的升级以对付不断出现的黑客攻击方法。

(3) 统计分析:它首先给系统对象创建一个统计描述,

统计正常使用时的一些测量属性(如访问次数、操作失败次数等)。测量属性的平均值将被用来与网络、系统的行为进行比较而确定入侵行为。

(4) 完整性分析:它主要关注某个文件或对象是否被更

改,这经常包括文件和目录的内容及属性,它在发现

被更改的应用程序方面特别有效。

(5) 全面扫描系统,如口令、新的用户及系统结构有否

变化,及时恢复系统的正常工作。 (6) 搜寻证据,用法律手段对付入侵者。

五、 几种安全检测产品介绍

本文来源:https://www.bwwdw.com/article/96ip.html

Top