学堂 学堂 学堂公众号手机端

漏洞扫描有哪几种技术_漏洞扫描包括哪些内容

lewis 4年前 (2021-08-14) 阅读数 5 #技术

  漏洞检测的目的在于发现漏洞,修补漏洞,能够提高网络的安全性。那么漏洞扫描有哪几种技术?漏洞扫描包括哪些内容?学会运用漏洞扫描技术从根本上减少安全事件的发生。我们可以通过网络漏洞扫描,全面掌握目标服务器存在的安全隐患。



  漏洞扫描有哪几种技术?




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



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



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



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



  漏洞扫描包括哪些内容?



  1.安全扫描



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



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



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



  2.源代码扫描



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



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



  3.反汇编扫描



  反汇编扫描对于不公开源代码的程序来说往往是最有效的发现安全漏洞的办法。分析反汇编代码需要有丰富的经验,也可以使用辅助工具来帮助简化这个过程,但不可能有一种完全自动的工具来完成这个过程。例如,利用一种优秀的反汇编程序IDA就可以得到目标程序的汇编脚本语言,再对汇编出来的脚本语言进行扫描,进而识别一些可疑的汇编代码序列。



  通过反汇编来寻找系统漏洞的好处是,从理论上讲,不论多么复杂的问题总是可以通过反汇编来解决。它的缺点也是显然的,这种方法费时费力,对人员的技术水平要求很高,同样不能检测到程序动态运行过程中产生的安全漏洞。






  4.环境错误注入



  由程序执行是一个动态过程这个特点,不难看出静态的代码扫描是不完备的。环境错误注入是一种比较成熟的软件测试方法,这种方法在协议安全测试等领域中都已经得到了广泛的应用。



  系统通常由“应用程序”和“运行环境”组成。由于各种原因,程序员总是假定认为他们的程序会在正常环境中正常地运行。当这些假设成立时,他们的程序当然是正确运行的。但是,由于作为共享资源的环境,常常被其他主体所影响,尤其是恶意的用户,这样,程序员的假设就可能是不正确的。程序是否能够容忍环境中的错误是影响程序健壮性的一个关键问题。



  错误注入,即在软件运行的环境中故意注入人为的错误,并验证反应——这是验证计算机和软件系统的容错性、可靠性的一种有效方法。在测试过程中,错误被注入环境中,所以产生了干扰。换句话说,在测试过程中干扰软件运行的环境,观察在这种干扰情况下程序如何反应,是否会产生安全事件,如果没有,就可以认为系统是安全的。概言之,错误注入方法就是通过选择一个适当的错误模型试图触发程序中包含的安全漏洞。



  在真实情况下,触发某些不正常的环境是很困难的,知道如何触发依赖于测试者的有关“环境”方面的知识。所以,在异常的环境下测试软件安全变得困难。错误注入技术提供了一种模仿异常环境的方法,而不必关心实际中这些错误如何发生。



  软件环境错误注入分析还依赖于操作系统中已知的安全缺陷,也就是说,对一个软件进行错误注入分析时,要充分考虑到操作系统本身所存在的漏洞,这些操作系统中的安全缺陷可能会影响到软件本身的安全。所以选择一个适当的错误模型来触发程序中所隐含的安全漏洞是非常重要的。我们需要选择一个适当的错误模型,能够高水平地模拟真实的软件系统,然后分析漏洞数据库记录的攻击者利用漏洞的方法,把这些利用变为环境错误注入,从而缩小在测试过程中错误注入和真实发生的错误之间的差异。



  这里介绍的几种漏洞检测的方法,其中安全扫描技术主要是针对已知漏洞的检测,后面三种主要是针对未知漏洞的检测。对于未知漏洞的检测,源代码扫描、反汇编扫描属于静态检测技术,而环境错误注入法属于动态检测技术。



  另外,换个视角来看,源代码扫描、反汇编扫描类似于白盒测试,它检测软件系统源码中可能存在的问题。环境错误注入方法类似于黑盒测试,它不关注代码的问题,而是通过对程序运行环境的干扰,关注运行程序对于注入错误的反应,以便从程序外围发现问题。



  漏洞扫描有哪几种技术看完小编的介绍就能清楚知道,在虚拟环境提供漏洞扫描系统,也是保证系统和网洛安全必不可少的一种手段。漏洞扫描包括的内容比较多,所以说能更有效保障用户的安全。




版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门