`
leo_dream
  • 浏览: 132237 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

检测你的Web系统有多少安全漏洞

阅读更多

转载自http://security.zdnet.com.cn/security_zone/2008/1204/1264862.shtml

Internet的开放性使得Web系统面临入侵攻击的威胁,而建立一个安全 的Web系统一直是人们的目标。一个实用的方法是,建立比较容易实现的相对安全 的系统,同时按照一定的安全策略建立相应的安全辅助系统,漏洞扫描器就是这样一类安全辅助系统。

    漏洞扫描就是对计算机系统或者其他网络设备进行安全相关的检测,以找出安全隐患和可被黑客利用的漏洞。作为一种保证Web信息系统和网络安全必不可少的手 段,我们有必要仔细研究利用。值得注意的是,漏洞扫描软件是把双刃剑,黑客利用它入侵系统,而系统管理员掌握它以后又可以有效的防范黑客入侵。

    四种漏洞扫描技术

    漏洞扫描通常采用两种策略,第一种是被动式策略,第二种是主动式策略。所谓被动式策略就是基于主机之上,对系统中不合适的设置、脆弱的口令以及其他与安全 规则抵触的对象进行检查;而主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。利用被动式 策略的扫描称为系统安全扫描,利用主动式的策略扫描称为网络安全扫描。

    漏洞扫描有以下四种检测技术:

    1.基于应用的检测技术。它采用被动的、非破坏性的办法检查应用软件包的设置,发现安全漏洞。

    2.基于主机的检测技术。它采用被动的、非破坏性的办法对系统进行检测。通常,它涉及到系统的内核、文件的属性、操作系统的补丁等。这种技术还包括口令解 密、把一些简单的口令剔除。因此,这种技术可以非常准确地定位系统的问题,发现系统的漏洞。它的缺点是与平台相关,升级复杂。

    3.基于目标的漏洞检测技术。它采用被动的、非破坏性的办法检查系统属性和文件属性,如数据库、注册号等。通过消息文摘算法,对文件的加密数进行检验。这 种技术的实现是运行在一个闭环上,不断地处理文件、系统目标、系统目标属性,然后产生检验数,把这些检验数同原来的检验数相比较。一旦发现改变就通知管理 员。

    4. 基于网络的检测技术。它采用积极的、非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,然后对结果进行分 析。它还针对已知的网络漏洞进行检验。网络检测技术常被用来进行穿透实验和安全审记。这种技术可以发现一系列平台的漏洞,也容易安装。但是,它可能会影响 网络的性能。

    网络漏洞扫描

    在上述四种方式当中,网络漏洞扫描最为适合我们的Web信息系统的风险评估工作,其扫描原理和工作原理为:通过远程检测目标主机TCP/IP不同端口的服 务,记录目标的回答。通过这种方法,可以搜集到很多目标主机的各种信息(例如:是否能用匿名登录,是否有可写的FTP目录,是否能用Telnet, httpd是否是用root在运行)。

    在获得目标主机TCP/IP端口和其对应的网络访问服务的相关信息后,与网络漏洞扫描系统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存在。此 外,通过模拟黑客的进攻手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等,也是扫描模块的实现方法之一。如果模拟攻击成功,则视为漏洞存 在。

    在匹配原理上,网络漏洞扫描器采用的是基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员关于网络系统安全配置的实 际经验,形成一套标准的系统漏洞库,然后再在此基础之上构成相应的匹配规则,由程序自动进行系统漏洞扫描的分析工作。

    所谓基于规则是基于一套由专家经验事先定义的规则的匹配系统。例如,在对TCP80端口的扫描中,如果发现/cgi-bin/phf/cgi- bin/Count.cgi,根据专家经验以及CGI程序的共享性和标准化,可以推知该WWW服务存在两个CGI漏洞。同时应当说明的是,基于规则的匹配 系统有其局限性,因为作为这类系统的基础的推理规则一般都是根据已知的安全漏洞进行安排和策划的,而对网络系统的很多危险的威胁是来自未知的安全漏洞,这 一点和PC杀毒很相似。

    这种漏洞扫描器是基于浏览器/服务器(B/S)结构。它的工作原理是:当用户通过控制平台发出了扫描命令之后,控制平台即向扫描模块发出相应的扫描请求, 扫描模块在接到请求之后立即启动相应的子功能模块,对被扫描主机进行扫描。通过分析被扫描主机返回的信息进行判断,扫描模块将扫描结果返回给控制平台,再 由控制平台最终呈现给用户。

    另一种结构的扫描器是采用插件程序结构。可以针对某一具体漏洞,编写对应的外部测试脚本。通过调用服务检测插件,检测目标主机TCP/IP不同端口的服 务,并将结果保存在信息库中,然后调用相应的插件程序,向远程主机发送构造好的数据,检测结果同样保存于信息库,以给其他的脚本运行提供所需的信息,这样 可提高检测效率。如,在针对某FTP服务的攻击中,可以首先查看服务检测插件的返回结果,只有在确认目标主机服务器开启FTP服务时,对应的针对某FTP 服务的攻击脚本才能被执行。采用这种插件结构的扫描器,可以让任何人构造自己的攻击测试脚本,而不用去了解太多扫描器的原理。这种扫描器也可以用做模拟黑 客攻击的平台。采用这种结构的扫描器具有很强的生命力,如著名的Nessus就是采用这种结构。这种网络漏洞扫描器的结构如图2所示,它是基于客户端/服 务器(C/S)结构,其中客户端主要设置服务器端的扫描参数及收集扫描信息。具体扫描工作由服务器来完成。

    漏洞扫描器的发展趋势

    值得我们注意的是漏洞扫描软件从最初的专门为UNIX系统编写的一些只具有简单功能的小程序,发展到现在,已经出现了多个运行在各种操作系统平台上的、具 有复杂功能的商业程序。今后的发展趋势主要有以下几点,我们可以根据实际Web信息系统风险评估的需求进行选用:

    1. 使用插件或者叫做功能模块技术。每个插件都封装一个或者多个漏洞的测试手段,主扫描程序通过调用插件的方法来执行扫描。仅仅是添加新的插件就可以使软件增 加新功能,扫描更多漏洞。在插件编写规范公布的情况下,用户或者第三方公司甚至可以自己编写插件来扩充软件的功能。同时这种技术使软件的升级维护都变得相 对简单,并具有非常强的扩展性。

    2. 使用专用脚本语言。这其实就是一种更高级的插件技术,用户可以使用专用脚本语言来扩充软件功能。这些脚本语言语法通常比较简单易学,往往用十几行代码就可 以定制一个简单的测试,为软件添加新的测试项。脚本语言的使用,简化了编写新插件的编程工作,使扩充软件功能的工作变得更加容易,也更加有趣。

    3. 由漏洞扫描程序到安全评估专家系统。最早的漏洞扫描程序只是简单地把各个扫描测试项的执行结果罗列出来,直接提供给测试者而不对信息进行任何分析处理。而 当前较成熟的扫描系统都能够将对单个主机的扫描结果整理,形成报表,能够并对具体漏洞提出一些解决方法。不足之处是对网络的状况缺乏一个整体的评估,对网 络安全没有系统的解决方案。未来的安全扫描系统,应该不但能够扫描安全漏洞,还能够智能化地协助网络信息系统管理人员评估本网络的安全状况,给出安全建 议,成为一个安全评估专家系统。

    Web系统的风险等级评估

    在实现了对Web信息系统的安全扫描后,便可根据扫描结果,对Web信息系统的安全性能进行评估,从而给出Web信息系统的风险状况。这里,风险评估的依 据是根据扫描结果,根据Web信息系统所具有的漏洞数目及漏洞的危害程度,将Web信息系统的安全状态进行分级。

    划分的风险评估级别如下:

    l.A级:扫描结果显示没有漏洞,但这并不表明系统没有漏洞,因为有许多漏洞是尚未发现的,我们只能针对已知的漏洞进行测试。

    2.B级:具有一些泄漏服务器版本信息之类的不是很重要内容的漏洞,或者提供容易造成被攻击的服务,如允许匿名登录,这种服务可能会造成许多其它漏洞。

    3.C级:具有危害级别较小的一些漏洞,如可以验证某账号的存在,可以造成列出一些页面目录、文件目录等,不会造成严重后果的漏洞。

    4.D级:具有一般的危害程度的漏洞。如拒绝服务漏洞,造成Web信息系统不能正常工作;可以让黑客获得重要文件的访问权的漏洞等。

    5.E级:具有严重危害程度的漏洞。如存在缓冲区溢出漏洞,存在木马后门,存在可以让黑客获得根用户权限或根用户的shell漏洞,根目录被设置一般用户可写等一些后果非常严重的漏洞。

    另外,我们需要强调的是:漏洞的产生主要源于Web信息系统的不正当配置以及其提供的服务自身的弱点。前面我们详细介绍了如何使用漏洞扫描来进行风险评 估。其实还有一个非常重要的问题我们不能忽略,那就是需要检测Web信息系统到底提供了哪些服务,因为它直接关系到系统的漏洞的产生以及危害。一方面, Web信息系统为用户提供了多种优质的网络服务,包括Http、Ftp、Smtp、Pop3等;另一方面,服务的增多意味着更多的风险。每种服务本身都必 然存在着某些缺陷,而这些缺陷很有可能被高明的黑客利用来对系统进行攻击。所以,提供特定服务的服务器应该尽可能开放提供服务必不可少的端口,而将与服务 器服务无关的服务关闭,比如:一台作为www和ftp服务器的机器,应该只开放80和25端口,而将其他无关的服务如关掉,以减少系统漏洞。

    因此,我们需要针对Web系统的实际用途使用相关的工具来对系统开放的网络服务及其端口等进行有效地检测和适时的处理,以及时关闭那些不必需要的服务和端 口,以免为黑客和不法用户利用,从而侵入信息系统。显然,这是一项非常艰巨和长期的工作,管理者们需要在技术和管理两个层面上投入相当的物力和财力,从而 保证Web信息系统的安全性。

分享到:
评论

相关推荐

    如何检测你的Web系统究竟有多少安全漏洞

    1. **基于应用的检测技术**:通过非侵入式检查应用软件配置,识别安全漏洞,适用于检测特定应用程序的安全性。 2. **基于主机的检测技术**:分析系统内核、文件属性和操作系统补丁,同时包括口令强度检查,准确度高...

    信息安全技术Web应用安全检测系统安全技术要求和测试评价方法.pdf

    "信息安全技术Web应用安全检测系统安全技术要求和测试评价方法" 根据提供的文件信息,吾可以总结出以下知识点: 1. Web应用安全检测的重要性:随着互联网的普及和web应用的普及,Web应用安全检测变得日益重要。Web...

    Web编程常见漏洞与检测

    检测Web漏洞的方法通常分为两类: - **白盒检测**:需要了解程序的内部结构和工作方式。这包括代码审查、静态分析和动态分析。开发人员应该熟悉代码中可能存在的安全风险点,并定期进行代码审计。 - **黑盒检测**...

    web安全漏洞入门

    总结来说,Web安全漏洞的检测和防御是一项复杂的工作,需要安全专家充分理解各类漏洞的特性,并且利用多种工具和方法进行检测。通过合理的漏洞管理流程,以及不断的培训和教育,可以有效提高整个组织的安全防御能力...

    基于网络的Web漏洞检测系统的研究与实现

    这是一篇关于互联网漏洞的检测与分析的,已经对一些主要漏洞的详细分析

    WEB漏洞检测与评估系统实施方案.docx

    WEB 漏洞检测与评估系统实施方案 WEB 漏洞检测与评估系统是一个集基本信息扫描、... WEB 漏洞检测与评估系统实施方案可以帮助用户评估电脑网络系统安全,发现和解决 WEB 安全问题,是一种非常有效的安全评估方法。

    WEB开发安全漏洞修复方案 (2).pdf

    文档名称为"WEB开发安全漏洞修复方案",其主要关注的是在互联网开发中常见的安全问题以及对应的修复策略。本文档的目的是提供一个详尽的安全漏洞清单,并为每个问题提出具体的解决方案,以保护Web应用程序免受攻击。...

    Web及网络数据库系统的安全漏洞与应对技术探究_平小红.pdf

    下面对文章中提到的Web及网络数据库系统安全漏洞和应对技术的知识点进行详细阐述。 首先,文章对Web及网络数据库系统所面临的安全漏洞进行了分析。根据文章的描述,安全漏洞主要可以分为以下几类: 1. 木马病毒:...

    WEB漏洞检测与评估系统实施计划方案.doc

    WEB 漏洞检测与评估系统是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个...

    Web应用安全漏洞分析

    Web应用安全漏洞分析是一份关于网络应用系统在安全层面所面临风险的专业分析文档。该文档旨在帮助开发人员和安全研究人员了解和掌握Web应用中常见的安全漏洞,并采取措施进行防护。在深入探讨Web应用安全漏洞分析...

    web安全漏洞(上)_01.pdf

    Web安全漏洞是网络应用开发和运营中的重大关注点,这些漏洞可能导致数据泄露、系统瘫痪甚至法律风险。本文将详细探讨OWASP(开放式网络应用安全项目)2017年发布的十大Web安全风险,并以其中的SQL注入为例,阐述其...

    基于web的漏洞扫描系统设计-kaic.docx

    基于web漏洞扫描及分析系统设计 摘 要 Abstract 1、绪论 1.1 研究背景 1.2 研究现状 1.3 研究目的与内容 1.4 设计目标及论文结构 2、渗透测试概要及流程 2.1 PTES渗透测试标准 2.2 定制化渗透测试流程 2.3本章小结 3...

    网络安全漏洞扫描服务方案.docx

    安全漏洞,即Security Hole,是系统在设计、实现或策略上的缺陷,允许未经授权的访问或破坏。0-day攻击是指利用尚未公开或未修复的漏洞进行的攻击,由于没有可用的补丁,这些攻击极具危险性。 1.2 服务发展情况 ...

    毕业设计:基于Python的漏洞扫描系统(源码 + 数据库 + 说明文档)

    第2章 安全漏洞检测的理论基础 7 2.1 网络安全概述 7 2.2 安全漏洞 7 2.3安全漏洞扫描技术 8 第3章 漏洞扫描系统的设计 9 3.1 漏洞扫描系统的设计目标和原则 9 3.2 漏洞扫描系统总体设计 9 3.3系统的设计可行性分析 ...

    安恒明鉴web漏洞扫描器

    漏扫是指通过自动化工具定期或者不定期地对网络设备、系统、应用进行扫描,寻找可能存在的安全漏洞。安恒明鉴Web漏洞扫描器通过模拟黑客攻击的方式,对目标网站进行无害化的渗透测试,以检测其安全性。这种做法不仅...

    基于PHP的Web应用SQL注入漏洞检测系统的设计和实现.pdf

    SQL 注入是一种常见的 Web 应用安全漏洞。它是通过构建特殊的输入作为参数传入 Web 应用程序,而这些输入大都是 SQL 语法里的一些组合,通过执行 SQL 语句进而执行攻击者所要的操作。SQL 注入的主要原因是程序没有...

    Web 程序 SQL 漏洞检测工具.zip

    WhiteWidow是一款强大的自动化SQL注入测试工具,它专门设计用于检测Web应用程序中的SQL漏洞。作为开源软件,WhiteWidow允许社区成员参与其开发和改进,使其功能不断优化,适应最新的安全威胁。 WhiteWidow的工作...

Global site tag (gtag.js) - Google Analytics