漏洞检测的几种方法

发表于:2013-1-25 10:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:马欣    来源:51Testing软件测试网采编

  系统安全漏洞,也可以称为系统脆弱性,是指计算机系统在硬件、软件、协议的设计、具体实现以及系统安全策略上存在的缺陷和不足。系统脆弱性是相对系统安全而言的,从广义的角度来看,一切可能导致系统安全性受影响或破坏的因素都可以视为系统安全漏洞。安全漏洞的存在,使得非法用户可以利用这些漏洞获得某些系统权限,进而对系统执行非法操作,导致安全事件的发生。漏洞检测就是希望能够防患于未然,在漏洞被利用之前发现漏洞并修补漏洞。本文作者通过自己的实践,介绍了检测漏洞的几种方法。

  漏洞检测可以分为对已知漏洞的检测和对未知漏洞的检测。已知漏洞的检测主要是通过安全扫描技术,检测系统是否存在已公布的安全漏洞;而未知漏洞检测的目的在于发现软件系统中可能存在但尚未发现的漏洞。现有的未知漏洞检测技术有源代码扫描、反汇编扫描、环境错误注入等。源代码扫描和反汇编扫描都是一种静态的漏洞检测技术,不需要运行软件程序就可分析程序中可能存在的漏洞;而环境错误注入是一种动态的漏洞检测技术,利用可执行程序测试软件存在的漏洞,是一种比较成熟的软件漏洞检测技术。

  安全扫描

  安全扫描也称为脆弱性评估(Vulnerability Assessment),其基本原理是采用模拟黑客攻击的方式对目标可能存在的已知安全漏洞进行逐项检测,可以对工作站、服务器、交换机、数据库等各种对象进行安全漏洞检测。

  到目前为止,安全扫描技术已经达到很成熟的地步。安全扫描技术主要分为两类:基于主机的安全扫描技术和基于网络的安全扫描技术。按照扫描过程来分,扫描技术又可以分为四大类:Ping扫描技术、端口扫描技术、操作系统探测扫描技术以及已知漏洞的扫描技术。

  安全扫描技术在保障网络安全方面起到越来越重要的作用。借助于扫描技术,人们可以发现网络和主机存在的对外开放的端口、提供的服务、某些系统信息、错误的配置、已知的安全漏洞等。系统管理员利用安全扫描技术,可以发现网络和主机中可能会被黑客利用的薄弱点,从而想方设法对这些薄弱点进行修复以加强网络和主机的安全性。同时,黑客也可以利用安全扫描技术,目的是为了探查网络和主机系统的入侵点。但是黑客的行为同样有利于加强网络和主机的安全性,因为漏洞是客观存在的,只是未被发现而已,而只要一个漏洞被黑客所发现并加以利用,那么人们最终也会发现该漏洞。

  安全扫描器,是一种通过收集系统的信息来自动检测远程或本地主机安全性脆弱点的程序。安全扫描器采用模拟攻击的形式对目标可能存在的已知安全漏洞进行逐项检查。目标可以是工作站、服务器、交换机、数据库等各种对象。并且,一般情况下,安全扫描器会根据扫描结果向系统管理员提供周密可靠的安全性分析报告,为提高网络安全整体水平提供了重要依据。

  安全扫描器的性质决定了它不是一个直接的攻击安全漏洞的程序,它是一个帮助我们发现目标主机存在着弱点的程序。一个优秀的安全扫描器能对检测到的数据进行分析,帮助我们查找目标主机的安全漏洞并给出相应的建议。

  一般情况下,安全扫描器具备三项功能:

  ● 发现Internet上的一个网络或者一台主机;

  ● 一旦发现一台主机,能发现其上所运行的服务类型;

  ● 通过对这些服务的测试,可以发现存在的已知漏洞,并给出修补建议。

  源代码扫描

  源代码扫描主要针对开放源代码的程序,通过检查程序中不符合安全规则的文件结构、命名规则、函数、堆栈指针等,进而发现程序中可能隐含的安全缺陷。这种漏洞分析技术需要熟练掌握编程语言,并预先定义出不安全代码的审查规则,通过表达式匹配的方法检查源程序代码。

  由于程序运行时是动态变化的,如果不考虑函数调用的参数和调用环境,不对源代码进行词法分析和语法分析,就没有办法准确地把握程序的语义,因此这种方法不能发现程序动态运行过程中的安全漏洞。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号