CN113987516B - 一种漏洞扫描方法、装置、存储介质和电子设备 - Google Patents
一种漏洞扫描方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN113987516B CN113987516B CN202111288165.XA CN202111288165A CN113987516B CN 113987516 B CN113987516 B CN 113987516B CN 202111288165 A CN202111288165 A CN 202111288165A CN 113987516 B CN113987516 B CN 113987516B
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- scanning
- rule
- vulnerability detection
- detection rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种漏洞扫描方法、装置、存储介质和电子设备,该漏洞扫描方法包括:判断本次扫描是否为待扫描对象的首次扫描;若确定本次扫描为针对待扫描对象的首次扫描时,则利用评分规则库中的第一漏洞检测规则,对待扫描对象进行漏洞扫描;若确定本次扫描为针对待扫描对象的非首次扫描并且在除本次扫描之外的非首次扫描过程中扫描到待扫描对象的漏洞时,则利用待扫描对象特有的特定规则库中的第二漏洞检测规则,对待扫描对象进行漏洞扫描。借助于上述技术方案,本申请实施例能够提高测试效率。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种漏洞扫描方法、装置、存储介质和电子设备。
背景技术
渗透测试作为一种应对当前网络(WEB)应用被攻击的有效预防手段,其通过模拟黑客入侵的方式,对WEB应用实施模拟攻击。因此,其需要构建一套用于模拟攻击的规则库(或者漏洞规则库),并且全面、高效的规则库能够直接决定着渗透测试的性能以及最终的安全评估结果。
但是,随着人们安全意识的提高,各种安全防护软件的使用,攻击者的手段也随着发生变化。这种情况就造成了一成不变的规则库并不能应对攻击者新的攻击手段,这就需要定时的往规则库中增加新的内容,同时,规则库中还包含有攻击者已经放弃的攻击手段,这就导致了规则库只增不减,越来越臃肿,测试效率也就越来越低。
因此,如何提高测试效率是目前急需解决的问题。
发明内容
本申请实施例的目的在于提供一种漏洞扫描方法、装置、存储介质和电子设备,以提高测试效率。
第一方面,本申请实施例提供了一种漏洞扫描方法,该漏洞扫描方法包括:判断本次扫描是否为待扫描对象的首次扫描;若确定本次扫描为针对待扫描对象的首次扫描时,则利用评分规则库中的第一漏洞检测规则,对待扫描对象进行漏洞扫描,其中,评分规则库存储有多个第一漏洞检测规则和多个第一漏洞检测规则中每个第一漏洞检测规则的漏洞探测能力评分;若确定本次扫描为针对待扫描对象的非首次扫描并且在除本次扫描之外的非首次扫描过程中扫描到待扫描对象的漏洞时,则利用待扫描对象特有的特定规则库中的第二漏洞检测规则,对待扫描对象进行漏洞扫描,其中,特定规则库中存储有待扫描对象的至少一个注入点中每个注入点对应的第二漏洞检测规则。
因此,在确定本次扫描为针对待扫描对象的首次扫描时,本申请实施例可使用上述评分规则库进行扫描,在确定本次扫描为针对待扫描对象的非首次扫描并且在除本次扫描之外的非首次扫描过程中扫描到待扫描对象的漏洞时,本申请实施例可使用该对象的特定规则库进行扫描,从而,由于本申请的特定规则库中存在有注入点对应的第二漏洞扫描规则,相较于现有的按照开发人员的经验设置的固定顺序的遍历方式,其能够缩短漏洞扫描时间,进而能够提高测试效率。
以及,由于漏洞探测能力评分越高的第一漏洞检测规则检测到漏洞的概率越大,故可通过漏洞探测能力评分的高低进行注入,能够提高漏洞检测的概率,从而也能够缩短漏洞扫描时间,进而能够提高测试效率。
在一个可能的实施例中,若确定本次扫描为针对待扫描对象的非首次扫描并且在除本次扫描的非首次扫描过程中扫描到待扫描对象的漏洞时,则利用待扫描对象特有的特定规则库中的第二漏洞检测规则,对待扫描对象进行漏洞扫描,包括:判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则;若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则未被标记异常时,则根据第二目标漏洞检测规则,对当前注入点进行漏洞扫描。
在一个可能的实施例中,漏洞扫描方法还包括:若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则被标记为忽略时,则转至判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则的步骤。
因此,在确定第二目标漏洞检测规则被标记为忽略的情况下,可返回判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则的步骤,从而能够避免无效注入的情况,进而也能够提高测试效率。
在一个可能的实施例中,漏洞扫描方法还包括:若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则被标记为修复时,则从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第一漏洞扫描结果;若通过第一漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则,并删除修复标记。
因此,借助于上述技术方案,本申请实施例能够实现对特定规则库的优化。
在一个可能的实施例中,在确定第二目标漏洞检测规则未报出漏洞的情况下,漏洞扫描方法还包括:从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第二漏洞扫描结果;若通过第二漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则。
因此,借助于上述技术方案,本申请实施例能够实现对特定规则库的优化。
在一个可能的实施例中,漏洞扫描方法还包括:若确定特定规则库中不存在第二目标漏洞检测规则时,则从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第三漏洞扫描结果;若通过第三漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则在特定规则库中添加报出漏洞的第一漏洞检测规则。
因此,借助于上述技术方案,本申请实施例能够实现对特定规则库的优化。
在一个可能的实施例中,漏洞探测能力评分的获取过程包括:获取第一漏洞检测规则的可信次数、第一漏洞检测规则的误报次数和第一漏洞检测规则的报出漏洞次数;根据可信次数和报出漏洞次数,确定第一漏洞检测规则的可信程度值;根据误报次数和报出漏洞次数,确定第一漏洞检测规则的误报程度值;根据可信程度值和误报程度值,确定第一漏洞检测规则的漏洞探测能力评分。
第二方面,本申请实施例提供了一种漏洞扫描装置,该漏洞扫描装置包括:判断模块,用于判断本次扫描是否为待扫描对象的首次扫描;第一漏洞扫描模块,用于若确定本次扫描为针对待扫描对象的首次扫描时,则利用评分规则库中的第一漏洞检测规则,对待扫描对象进行漏洞扫描,其中,评分规则库存储有多个第一漏洞检测规则和多个第一漏洞检测规则中每个第一漏洞检测规则的漏洞探测能力评分;第二漏洞扫描模块,用于若确定本次扫描为针对待扫描对象的非首次扫描并且在除本次扫描之外的非首次扫描过程中扫描到待扫描对象的漏洞时,则利用待扫描对象特有的特定规则库中的第二漏洞检测规则,对待扫描对象进行漏洞扫描,其中,特定规则库中存储有待扫描对象的至少一个注入点中每个注入点对应的第二漏洞检测规则。
在一个可能的实施例中,第二漏洞扫描模块,具体用于:判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则;若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则未被标记异常时,则根据第二目标漏洞检测规则,对当前注入点进行漏洞扫描。
在一个可能的实施例中,第二漏洞扫描模块,具体用于:若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则被标记为忽略时,则转至判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则的步骤。
在一个可能的实施例中,第一漏洞扫描模块,具体用于:若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则被标记为修复时,则从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第一漏洞扫描结果;若通过第一漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则,并删除修复标记。
在一个可能的实施例中,第一漏洞扫描模块,具体用于:在确定第二目标漏洞检测规则未报出漏洞的情况下,从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第二漏洞扫描结果;若通过第二漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则。
在一个可能的实施例中,第一漏洞扫描模块,具体用于:若确定特定规则库中不存在第二目标漏洞检测规则时,则从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第三漏洞扫描结果;若通过第三漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则在特定规则库中添加报出漏洞的第一漏洞检测规则。
在一个可能的实施例中,漏洞扫描装置包括:获取模块,具体用于:获取第一漏洞检测规则的可信次数、第一漏洞检测规则的误报次数和第一漏洞检测规则的报出漏洞次数;根据可信次数和报出漏洞次数,确定第一漏洞检测规则的可信程度值;根据误报次数和报出漏洞次数,确定第一漏洞检测规则的误报程度值;根据可信程度值和误报程度值,确定第一漏洞检测规则的漏洞探测能力评分。
第三方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第四方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种漏洞扫描方法的流程图;
图2示出了本申请实施例提供的一种获取漏洞探测能力评分的方法的流程图;
图3示出了本申请实施例提供的一种对待扫描对象进行漏洞扫描的方法的具体流程图;
图4示出了本申请实施例提供的一种漏洞扫描装置的结构框图;
图5示出了本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前,现有技术中提出了一种漏洞检测方法,其是基于自动化漏洞扫描工具,并且在不断测试过程中进行规则库的优化。并且,其还提出了一种基于用户配置、规则库探测能力和侵入能力的评分机制,该评分机制中用户可以配置侵入能力的可接收程度,并通过计算得出一套规则库列表,然后将规则库列表提供给漏洞扫描工具使用。在漏洞扫描工具扫描后,将反馈结果给规则库进行优化。
但是,对于该漏洞检测方法来说,其优化结果适用性太泛,没有特点。对于已扫描过的站点,其漏洞信息是已知的,如果还采取不能直接报出漏洞的规则,那是会降低扫描效率,浪费资源的。
以及,该漏洞检测方法也没有对异常数据进行处理,因此也会造成优化结果畸形。其中,该异常数据包括:
相同样本:其会造成优化结果中某些规则的评分随着扫描次数的增多而增多;
漏洞误报:对于误报的规则没有进行清除,会使得其优先级越来越高,但是又一直是误报,形成恶性循环;
漏洞确认:当用户确认了某个规则报出的漏洞时,其评分如果和未确认的一样,那么对于漏洞探测能力评分是不公平的;
漏洞忽略:当用户确认忽略某个规则报出的漏洞时,说明用户对该漏洞并不关注,继续使用该规则进行注入,其是没有意义的;
漏洞修复:当用户已经修复了某个漏洞时,其可以认定该规则的注入注定是不会有结果的,若仍然注入该规则,其是没有意义的。
基于此,本申请实施例巧妙地提出了一种漏洞扫描方法,其通过将规则库分类两个类型,其中一个是针对已经扫描过的对象的特定规则库,另外一个是针对新的没有扫描过的对象的评分规则库(或者优化后的规则库)。
以及,本申请实施例还对异常数据进行了相关处理,具体如下:
对于相同样本,不计入优化样本中;
若用户确认漏洞存在,则对规则的漏洞探测能力评分进行补偿;
若用户确认漏洞误报,则对规则库优化结果进行修复;
若用户忽略漏洞,则对特定规则库中的相关规则增加忽略标记;
若用户修复漏洞,则对特定规则库中的相关规则增加修复标记。
请参见图1,图1示出了本申请实施例提供的一种漏洞扫描方法的流程图。应理解,图1所示的漏洞扫描方法可以由漏洞扫描装置执行,该漏洞扫描装置可以与下文中的图4所示的漏洞扫描装置对应,该漏洞扫描装置可以是能够执行该方法的各种装置,例如,如个人计算机、服务器或网络装置等,本申请实施例并不限于此,具体包括如下步骤:
步骤S110,判断本次扫描是否为待扫描对象的首次扫描。
应理解,待扫描对象的具体对象可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,待扫描对象可以是待扫描站点。
为了便于理解步骤S110,下面通过具体的实施例来进行描述。
具体地,判断本次扫描是否为待扫描对象的首次扫描。若确定本次扫描为针对待扫描对象的首次扫描(即待扫描对象为新的扫描对象)时,则执行步骤S120;若确定本次扫描为针对待扫描对象的非首次扫描(即待扫描对象为已经扫描过的对象)并且在除本次扫描之外的非首次扫描过程中扫描到待扫描对象的漏洞(即对于待扫描对象来说,其在历史扫描过程中已经扫描出漏洞,从而特定规则库中已经存储有报出漏洞的至少一个注入点及其对应的第二漏洞检测规则,进而不会存在由于待扫描对象的历史扫描过程中未扫描出漏洞导致的特点规则库为空的情况)时,则执行步骤S130。
步骤S120,利用评分规则库中的第一漏洞检测规则,对待扫描对象进行漏洞扫描。其中,评分规则库存储有多个第一漏洞检测规则和多个第一漏洞检测规则中每个第一漏洞检测规则的漏洞探测能力评分。
应理解,评分规则库可以是根据已经扫描的历史记录数据来生成的。
例如,可统计所有关于第一漏洞检测规则的历史记录数据,并根据历史记录数据,确定第一漏洞检测规则的漏洞探测能力评分。
还应理解,漏洞探测能力评分的具体获取方式可根据实际需求来进行设置,本申请实施例并不局限于此。
可选地,漏洞探测能力评分的获取过程包括:获取第一漏洞检测规则的可信次数、第一漏洞检测规则的误报次数和第一漏洞检测规则的报出漏洞次数;根据可信次数和报出漏洞次数,确定第一漏洞检测规则的可信程度值;根据误报次数和报出漏洞次数,确定第一漏洞检测规则的误报程度值;根据可信程度值和误报程度值,确定第一漏洞检测规则的漏洞探测能力评分。
例如,可通过如下公式计算漏洞探测能力评分:
其中,S表示漏洞探测能力评分;b表示可信次数;c表示报出漏洞次数;fb表示确认状态的标记,若第一漏洞检测规则被标记为确认,则fb的取值为1,若第一漏洞检测规则未被标记为确认,则fb的取值为0;表示可信程度值;e表示误报次数;fe表示误报状态的标记,若第一漏洞检测规则被标记为忽略,则fe的取值为1,若第一漏洞检测规则未被标记为忽略,则fe的取值为0;表示误报程度值;表示漏洞探测能力评分的评分权值;S'表示原始的优化策略或者现有的优化策略。其中,原始的优化策略可以是根据探测次数等确定的。
应理解,S'对应的具体优化策略可根据实际需求来进行设置,只要保证探测成功次数和/或探测次数起到决定性作用即可,本申请实施例并不局限于此。
例如,该原始的优化策略可以为探测成功率,并且该探测成功率为通过探测成功次数/探测次数获得。
再例如,该原始的优化策略也可以为:探测能力评分-侵入性评分×(1-侵入性接受程度)。
为了便于理解漏洞探测能力评分的计算公式,下面通过具体的实施例来进行描述。
具体地,请参见图2,图2示出了本申请实施例提供的一种获取漏洞探测能力评分的方法的流程图。应理解,图2所示的方法可以由漏洞扫描装置执行,该漏洞扫描装置可以与下文中的图4所示的漏洞扫描装置对应,该漏洞扫描装置可以是能够执行该方法的各种装置,例如,如个人计算机、服务器或网络装置等,本申请实施例并不限于此,具体包括如下步骤:
提取漏洞扫描结果(例如,其可以是第一漏洞扫描结果,也可以是第二漏洞扫描结果等)。其中,漏洞扫描结果是指在每次扫描之后,是否报出漏洞。
随后,可判断漏洞扫描结果是否处理完毕。若处理完毕,则确定完成评分计算;若确定未处理完毕,则可从漏洞扫描结果中选取一条记录数据继续进行处理,以及,可继续判断选取的记录数据是否报出漏洞,若未报出漏洞,则可将探测次数加1,若报出漏洞,则可将报出漏洞次数加1,并可判断是否是相同样本,若是相同样本,则可转至判断漏洞扫描结果是否处理完毕的步骤,若不是相同样本,则可将探测次数加1,并可将探测成功次数加1,随后,可根据探测次数和探测成功次数,计算探测成功率。其中,探测成功率是漏洞探测能力评分的主要依据,只有报出漏洞的规则才能够获得比较高的评分,也才能在插件调用漏洞检测规则时,优先采用该规则。
此外,可获取用户操作反馈结果。其中,用户操作反馈结果用于表示用户确认的漏洞状态。若通过用户操作反馈结果,确定检测出的漏洞为误报的,则可将误报次数加1,并可判断是否是相同样本,若不是相同样本,则可将探测成功次数减1,若是相同样本,则不作处理;若通过用户操作反馈结果,确定检测出的漏洞被用户确认,则可信次数加1。随后,可根据可信次数、误报次数和报出漏洞次数,计算漏洞探测能力评分的评分权值。
最后,可根据探测成功率和漏洞探测能力评分的评分权值,计算当前漏洞探测规则的漏洞探测能力评分。
这里需要说明的是,评分规则库中的多个第一漏洞检测规则中每个第一漏洞检测规则的漏洞探测能力评分可以是实时变化的。例如,在利用评分规则库对待扫描对象进行漏洞扫描后,其相关数值(例如,探测成功次数等)可发生变化,使得最终的漏洞探测能力评分也会发生变化。再例如,在利用某个特定规则库对待扫描对象进行漏洞扫描后,由于评分规则库中的第一漏洞检测规则和特定规则库中的第二漏洞检测规则是部分重合的,从而使得评分规则库中的第一漏洞检测规则的相关数值(例如,探测成功次数等)也会发生变化,从而使得最终的漏洞探测能力评分也会发生变化。
这里需要说明的是,评分规则库中也存在有漏洞和漏洞检测规则之间的映射关系。例如,第一漏洞对应有100条第一漏洞检测规则,第二漏洞对应有20条第一漏洞检测规则。
为了便于理解步骤S120,下面通过具体的实施例来进行描述。
具体地,在确定待扫描对象为新的扫描对象的情况下,则可统计评分规则库对应的漏洞。随后,对于待扫描对象的至少一个注入点的每个注入点来说,其都需要遍历所有的漏洞。
其中,对于第一漏洞来说,该第一漏洞可对应有至少一个第一漏洞检测规则,并且至少一个第一漏洞检测规则中每个漏洞检测规则都具有漏洞探测能力评分,则考虑到漏洞探测能力评分越高检测到漏洞的几率越高,则可按照第一漏洞对应的至少一个第一漏洞检测规则的漏洞探测能力评分的高低(即从评分高到评分低的顺序进行注入)进行注入。其中,若至少一个第一漏洞检测规则中的任意一个第一漏洞检测规则检测到漏洞后,则可进行下一个漏洞的检测,直至所有漏洞遍历完,则结束当前注入点的注入,后续按照上述过程进行下一个注入点的漏洞扫描过程。
这里需要说明的是,虽然上面以“若确定本次扫描为针对待扫描对象的首次扫描时,则利用评分规则库中的第一漏洞检测规则,对待扫描对象进行漏洞扫描”为例来进行描述的,但本领域的技术人员应当理解,其他的情况也可以使用评分规则库进行漏洞扫描。
例如,在确定本次扫描为针对待扫描对象的非首次扫描并且在除本次扫描之外的非首次扫描过程中均未扫描到漏洞时,由于未扫描到漏洞,故该扫描对象对应的特定规则库内未存储有注入点和漏洞等相关映射关系,或者说该扫描对象对应的特定规则库内是空的,故此时可使用评分规则库对扫描对象进行扫描。
步骤S130,利用待扫描对象特有的特定规则库中的第二漏洞检测规则,对待扫描对象进行漏洞扫描。
应理解,特定规则库中可存储有待扫描对象的至少一个注入点中每个注入点对应的第二漏洞检测规则,或者特定规则库也可以是空的。
还应理解,特定规则库中的第二漏洞检测规则可以是被标记的。例如,可以被标记为忽略,也可以被标记为修复等。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
具体地,本申请实施例可将规则库分为2类,一类是已扫描的对象特有的特定规则库,另外一类是根据已扫描的对象的记录数据进行评分后获得的评分规则库。但是,不管是哪种规则库,其都需要依赖本申请的新的评分机制对规则库进行优化。其中,新的评分机制采取的是基于自动化扫描工具的评分机制,并在该基础上进行了异常数据的处理和评分规则的重新设计,该评分规则主要是根据漏洞扫描结果以及用户操作反馈结果进行评分,具体可参见图2的相关内容。
此外,在现有的评分机制中,不管是新的扫描对象还是已扫描过的对象,采取的都是优化过后的规则库。但是,对于已扫描过的对象来说,优化过后的规则库,并不是该对象的最优规则库。显而易见,最优规则库是由已扫描结果中报出漏洞的漏洞检测规则作为最优先的漏洞检测规则组成的规则库。
另外,本申请实施例可按照对象的相关信息(例如,在对象为站点的情况下,该对象的相关信息可以为站点特征)对对象进行划分,并为每个已扫描过的对象生成特定规则库。其中,该特定规则库中包含已经报出漏洞的那一部分规则,其他规则仍然需要使用评分机制优化后的规则库(即对于已扫描过的对象来说,其扫描过程可以是通过对应的特定规则库和评分规则库来实现扫描的)。以及,对于特定规则库中的第二漏洞检测规则来说,其还需要记录注入点、漏洞、规则和标记。例如,如下表1所示,其记录了特定规则库中的第二漏洞检测规则的相关信息。
表1
编号 | 注入点 | 漏洞 | 第二漏洞检测规则 | 标记 |
1 | 注入点1 | 漏洞1 | 第二漏洞检测规则1 | 忽略 |
2 | 注入点2 | 漏洞2 | 第二漏洞检测规则2 | |
3 | 注入点3 | 漏洞3 | 第二漏洞检测规则3 | 修复 |
4 | 注入点4 | 漏洞4 | 第二漏洞检测规则4 |
应理解,在对象的相关信息为站点特征的情况下,站点特征的获取方法可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,当扫描目标是IP时,其特征为IP地址(例如,当扫描目标是http://192.168.1.3时,其特征为192.168.1.3);当扫描目标是域名时,需要通过DNS服务器解析出其IP地址,并可将该IP地址作为其特征(例如,当扫描目标是http://www.example.com/时,通过解析,其IP地址为192.168.1.4)。随后,可判断两个扫描目标的特征是不是相同的,如果特征是相同的,则可确定其是相同的站点。
此外,为了便于识别异常数据,本申请实施例将对漏洞设置状态,其分别为未修复、确认、忽略、误报和修复这五种状态。其中,漏洞报出后默认状态为未修复,用户可以根据自身判断,确认漏洞是否存在(确认状态),是否是误报(误报状态),是否是已经修复(修复状态),甚至是用户不关注这个漏洞了(忽略状态)。以及,用户每次对漏洞状态的修改,都将会影响到对应的第二漏洞检测规则的评分。除了漏洞状态属于异常数据之外,相同样本也属于异常数据,所谓相同样本即相同对象(例如,相同站点和相同页面等)、相同的注入点和相同的规则所生成的反馈数据。
另外,本申请实施例还对不同的异常数据做了不同的处理。其中,异常数据中相同样本的处理包括:
对于相同样本来说,其可以满足扫描目标具有相同的特征、相同的注入统一资源定位系统(uniform resource locator,URL)、相同的注入点和相同的注入规则等条件。其中,相同的注入URL可以是发现漏洞的URL;注入点是注入规则在注入URL页面中的位置。
以及,在传统评分机制中,规则库优化结果中出现相同样本的注入规则的评分会随着相同样本出现的次数增多而增多。然而,其他没有经过相同样本训练的漏洞检测规则,评分会比较低。
例如,对于同一漏洞,其对应有漏洞检测规则1和漏洞检测规则2,扫描目标有站点1、站点2和站点3。假如扫描出一次漏洞得分加1,站点1扫描10次,站点2扫描5次,站点3扫描2次,其得分可参见下表2。
表2
漏洞检测规则 | 站点1 | 站点2 | 站点3 | 总分 |
漏洞检测规则1 | 10 | 0 | 0 | 10 |
漏洞检测规则2 | 0 | 5 | 2 | 7 |
按照传统的评分机制来说,漏洞检测规则1的评分比漏洞检测规则2的评分要高,那么再次扫描站点2时,漏洞检测规则1优先,但是漏洞检测规则1并不是最优的规则,漏洞检测规则2才是最优的。同样对于一个新的站点来说,漏洞检测规则1只对一个站点探测能力强,其他2个站点的探测能力弱;相反,漏洞检测规则2对于2个站点探测能力强。显然漏洞检测规则2的探测能力是比漏洞检测规则1要强的,因此其评分应该是更高的。所以,有必要过滤掉相同样本对优化结果的影响。其中,过滤方法可以是在报出漏洞后,判断是否存在相同样本,是则不进行漏洞探测次数增加、不进行探测成功次数增加。
以及,对确认漏洞的处理,包括:
在传统的评分机制中,不管漏洞是否是确认漏洞,评分都是一样。但是很明显,一个漏洞被用户确认是真实存在的,那么表明这条漏洞检测规则相对同漏洞的其他漏洞检测规则,其是更可信的,也是价值更高。所以,可信的漏洞检测规则相对不可信(或不确定是否可信)的漏洞检测规则,应该获得更高的评分,以作为该漏洞检测规则的补偿。
在本申请实施例中用户通过设置漏洞的为确认状态,表明用户对该漏洞检测规则(例如,第二漏洞检测规则)是可信的。但是一次标记一个漏洞检测规则仅能表明该漏洞检测规则是可信的,不能展示出其可信程度。所以,需要统计该规则的可信次数,计算其可信程度,具体地,该可信程度的计算公式为:可信程度=可信次数/漏洞报出总数。
以及,对误报的漏洞的处理,包括:
在传统的评分机制中,不管漏洞是否是误报漏洞,其评分都是有效的评分。但是很明显,一个被用户标记是误报的漏洞,是不应该获得有效的评分,故误报是属于不可信的,不可信的漏洞检测规则是需要扣分的。
在本申请实施例中,当用户设置漏洞状态为误报时,将统计其探测成功次数加1的基础上把这个成功次数减去,修复漏洞误报带来的影响,并增加其误报次数,用来计算该规则的不可信程度,并且该不可信程度程度的计算公式为:不可信程度=误报次数/漏洞报出总数。
以及,对漏洞忽略的处理,包括:
在传统的评分机制中,不管漏洞是否是用户关注的,其评分都是有效的。但是很明显,一个被用户标记是忽略的漏洞,表明用户并不关注此漏洞,那么该漏洞中的漏洞检测规则再进行注入的话,是完全没有意义的,还会增加资源消耗,降低测试效率。
在本申请实施例中,当用户设置漏洞状态为忽略时,默认是对该注入点的该漏洞进行忽略(如果有必要,可以设置成对该对象进行忽略,或者设置成对所有对象进行忽略)。因此,需要对特有规则库中相应的第二漏洞检测规则添加忽略标识,有忽略标识的第二漏洞检测规则,不再在当前注入点进行注入任何该漏洞的规则。
以及,对漏洞修复的处理,包括:
在传统的评分机制中,不管漏洞是否是被用户修复,其评分都是没有变化的。但是很明显,当用户修复了一个漏洞后,报出漏洞的漏洞检测规则再进行注入是没有意义的。
在本申请实施例中,当用户设置漏洞状态为已修复时,对特有规则库中对应的第二漏洞检测规则添加已修复标识。有已修复标识的漏洞检测规则,在注入时不再注入。
还应理解,利用待扫描对象特有的特定规则库中的第二漏洞检测规则,对待扫描对象进行漏洞扫描的具体过程可根据实际需求来进行设置,本申请实施例并不局限于此。
可选地,在确定待扫描对象为已扫描过的对象的情况下,则可统计对应的特有规则库和评分规则库的所有漏洞。随后,对于待扫描对象的至少一个注入点的每个注入点来说,其都需要遍历特有规则库和评分规则库的所有漏洞。
其中,对于当前注入点的第一漏洞来说,可先从特有规则库中查询是否存在与当前注入点和第一漏洞对应的第二目标漏洞检测规则。若存在第二目标漏洞检测规则,则可进一步确定第二目标漏洞检测规则是否被标记为异常(例如,被标记为忽略或者被标记为修复等),若没有被标记为异常,则可将第二目标漏洞检测规则注入到当前注入点中,若被标记为异常,则可执行相应的操作;若不存在第二目标漏洞检测规则,则可按照评分规则库中与第一漏洞对应的至少一个第一漏洞检测规则的漏洞规则评分的高低,对当前注入点进行注入。待当前注入点遍历完所有漏洞后,则可进行下一个注入点的漏洞扫描过程。
这里需要说明的是,对于同一漏洞对应的多个漏洞检测规则来说,只需要多个漏洞检测规则中的任意一个漏洞检测规则检测到漏洞,则可停止该漏洞的检测。
这里还需要说明的是,由于本申请的特定规则库中存在有注入点对应的第二漏洞扫描规则,相较于现有的按照开发人员的经验设置的固定顺序的遍历方式,其能够缩短漏洞扫描时间。以及,由于漏洞探测能力评分越高的第一漏洞检测规则检测到漏洞的概率越大,故可通过漏洞探测能力评分的高低进行注入,能够提高漏洞检测的概率,从而也能够缩短漏洞扫描时间,进而能够提高测试效率。
为了便于理解利用待扫描对象特有的特定规则库中的第二漏洞检测规则,对待扫描对象进行漏洞扫描的具体过程,下面通过具体的实施例来进行描述。
请参见图3,图3示出了本申请实施例提供的一种对待扫描对象进行漏洞扫描的方法的具体流程图。应理解,图3所示的方法可以由漏洞扫描装置执行,该漏洞扫描装置可以与下文中的图4所示的漏洞扫描装置对应,该漏洞扫描装置可以是能够执行该方法的各种装置,例如,如个人计算机、服务器或网络装置等,本申请实施例并不限于此,具体包括如下步骤:
步骤S301,下发一个漏洞扫描任务。
步骤S302,判断遍历注入点和漏洞(或者插件)是否结束。
若结束,则可执行步骤S319,若未结束,则可执行步骤S303。
步骤S303,判断当前注入点和当前待扫描漏洞是否在特定规则库中。
若在特定规则库中,则可执行步骤S307,若不在特定规则库中,则可执行步骤S304。
步骤S304,按照当前待扫描漏洞对应的所有第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行注入。
步骤S305,判断是否报出漏洞。
如果报出漏洞,则执行步骤S306,若没有报出漏洞,则返回步骤S302。
步骤S306,在特定规则库中添加报出漏洞的第一漏洞检测规则,并返回步骤S302。
这里需要说明的是,虽然步骤S304至步骤S306是分开进行描述的,但是本领域的技术人员应当理解,步骤S304至步骤S306可以总结为以下步骤“确定特定规则库中不存在第二目标漏洞检测规则时,则从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第三漏洞扫描结果;若通过第三漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则在特定规则库中添加报出漏洞的第一漏洞检测规则”。
步骤S307,判断第二目标漏洞检测规则是否被标记为忽略。
若确定第二目标漏洞检测规则被标记为忽略,则返回步骤S302,若确定第二目标漏洞检测规则未被标记为忽略,则执行步骤S308。
也就是说,若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则被标记为忽略时,则转至判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则的步骤。
步骤S308,判断第二目标漏洞检测规则是否被标记为修复。
若确定第二目标漏洞检测规则被标记为修复,则执行步骤309,若确定第二目标漏洞检测规则未被标记为修复,则返回步骤S313。
步骤S309,按照当前待扫描漏洞对应的所有第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行注入。
步骤S310,判断是否报出漏洞。
如果报出漏洞,则执行步骤S311,若没有报出漏洞,则执行步骤S312。
步骤S311,将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则,并删除修复标记,并返回步骤S302。
这里需要说明的是,虽然步骤S309至步骤S312是分开进行描述的,但是本领域的技术人员应当理解,步骤S309至步骤S312可以总结为以下步骤“若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则被标记为修复时,则从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第一漏洞扫描结果;若通过第一漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则,并删除修复标记”。
步骤S312,删除第二目标漏洞检测规则的记录数据,并返回步骤S302。
步骤S313,将第二目标漏洞检测规则注入到当前注入点中。
也就是说,判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则;若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则未被标记异常时,则根据第二目标漏洞检测规则,对当前注入点进行漏洞扫描。
步骤S314,判断是否报出漏洞。
若报出漏洞,则返回步骤S302,若没有报出漏洞,则执行步骤S315。
步骤S315,按照当前待扫描漏洞对应的所有第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行注入。
步骤S316,判断是否报出漏洞。
若报出漏洞,则执行步骤S317,若没有报出漏洞,则执行步骤S318。
步骤S317,将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则,并返回步骤S302。
这里需要说明的是,虽然步骤S315至步骤S317是分开进行描述的,但是本领域的技术人员应当理解,步骤S315至步骤S317可以总结为以下步骤“从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第二漏洞扫描结果;若通过第二漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则”。
步骤S318,删除第二目标漏洞检测规则的记录数据,并返回步骤S302。
步骤S319,扫描任务结束。
因此,在扫描新的对象时,可使用上述评分规则库(或者使用评分机制排序后的规则库),扫描已扫描对象时,使用该对象的特定规则库,这样的扫描效率将是最高效的,也减少了因为相同样本和误报的规则库造成的优化结果畸形,同时也为规则发现漏洞做出了补偿,对用户忽略和修复的漏洞也做出了反应,这样的优化结果将是比较全面的、高效的。
应理解,上述漏洞扫描方法仅是示例性的,本领域技术人员根据上述的方法可以进行各种变形,对应的修改或变形也在本申请保护范围内。
请参见图4,图4示出了本申请实施例提供的一种漏洞扫描装置400的结构框图。应理解,该漏洞扫描装置400与上述图1的方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该漏洞扫描装置400具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。漏洞扫描装置400包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在漏洞扫描装置400的操作系统(operating system,OS)中的软件功能模块。具体地,该漏洞扫描装置400包括:
判断模块410,用于判断本次扫描是否为待扫描对象的首次扫描;
第一漏洞扫描模块420,用于若确定本次扫描为针对待扫描对象的首次扫描时,则利用评分规则库中的第一漏洞检测规则,对待扫描对象进行漏洞扫描,其中,评分规则库存储有多个第一漏洞检测规则和多个第一漏洞检测规则中每个第一漏洞检测规则的漏洞探测能力评分;
第二漏洞扫描模块430,用于若确定本次扫描为针对待扫描对象的非首次扫描并且在除本次扫描之外的非首次扫描过程中扫描到待扫描对象的漏洞时,则利用待扫描对象特有的特定规则库中的第二漏洞检测规则,对待扫描对象进行漏洞扫描,其中,特定规则库中存储有待扫描对象的至少一个注入点中每个注入点对应的第二漏洞检测规则。
在一个可能的实施例中,第二漏洞扫描模块430,具体用于:判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则;若确定特定规则库中存在第二目标漏洞检测规则(此时当前注入点可以为特定规则库中记录的至少一个注入点中的一个注入点)并且第二目标漏洞检测规则未被标记异常时,则根据第二目标漏洞检测规则,对当前注入点进行漏洞扫描。
在一个可能的实施例中,第二漏洞扫描模块430,具体用于:若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则被标记为忽略时,则转至判断特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则的步骤。
在一个可能的实施例中,第一漏洞扫描模块420,具体用于:若确定特定规则库中存在第二目标漏洞检测规则并且第二目标漏洞检测规则被标记为修复时,则从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第一漏洞扫描结果;若通过第一漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则,并删除修复标记。
在一个可能的实施例中,第一漏洞扫描模块420,具体用于:在确定第二目标漏洞检测规则未报出漏洞的情况下,从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第二漏洞扫描结果;若通过第二漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将第二目标漏洞检测规则替换为报出漏洞的第一漏洞检测规则。
在一个可能的实施例中,第一漏洞扫描模块420,具体用于:若确定特定规则库中不存在第二目标漏洞检测规则(例如,当前注入点可以为本次扫描过程中新增的注入点等,故特定规则库中不存在相关记录;再例如,当前注入点也可以是在历史扫描过程(即除本次扫描之外的非首次扫描过程中)没有扫描到漏洞,故特定规则库中也不存在相关记录),则从评分规则库中查找与当前注入点和待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对当前注入点进行漏洞扫描,获得第三漏洞扫描结果;若通过第三漏洞扫描结果确定至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则在特定规则库中添加报出漏洞的第一漏洞检测规则。
在一个可能的实施例中,漏洞扫描装置400包括:获取模块(未示出),具体用于:获取第一漏洞检测规则的可信次数、第一漏洞检测规则的误报次数和第一漏洞检测规则的报出漏洞次数;根据可信次数和报出漏洞次数,确定第一漏洞检测规则的可信程度值;根据误报次数和报出漏洞次数,确定第一漏洞检测规则的误报程度值;根据可信程度值和误报程度值,确定第一漏洞检测规则的漏洞探测能力评分。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参见图5,图5示出了本申请实施例提供的一种电子设备500的结构框图。电子设备500可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中的通信接口520用于与其他设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。上述的处理器510可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。
存储器530可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,电子设备500可以执行上述方法实施例中的各个步骤。
电子设备500还可以包括存储控制器、输入输出单元、音频单元、显示单元。
所述存储器530、存储控制器、处理器510、外设接口、输入输出单元、音频单元、显示单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块。并且,电子设备500用于执行下述方法:判断本次扫描是否为待扫描对象的首次扫描;若确定所述本次扫描为针对所述待扫描对象的首次扫描时,则利用评分规则库中的第一漏洞检测规则,对所述待扫描对象进行漏洞扫描,其中,所述评分规则库存储有多个第一漏洞检测规则和多个第一漏洞检测规则中每个第一漏洞检测规则的漏洞探测能力评分;若确定所述本次扫描为针对所述待扫描对象的非首次扫描并且在除所述本次扫描之外的非首次扫描过程中扫描到所述待扫描对象的漏洞时,则利用所述待扫描对象特有的特定规则库中的第二漏洞检测规则,对所述待扫描对象进行漏洞扫描,其中,所述特定规则库中存储有所述待扫描对象的至少一个注入点中每个注入点对应的第二漏洞检测规则。
输入输出单元用于提供给用户输入数据实现用户与所述服务器(或本地终端)的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
音频单元向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元在所述电子设备与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
可以理解,图5所示的结构仅为示意,所述电子设备500还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
本申请还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行方法实施例所述的方法。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种漏洞扫描方法,其特征在于,包括:
判断本次扫描是否为待扫描对象的首次扫描;
若确定所述本次扫描为针对所述待扫描对象的首次扫描时,则利用评分规则库中的第一漏洞检测规则,对所述待扫描对象进行漏洞扫描,其中,所述评分规则库存储有多个第一漏洞检测规则和多个第一漏洞检测规则中每个第一漏洞检测规则的漏洞探测能力评分;
若确定所述本次扫描为针对所述待扫描对象的非首次扫描并且在除所述本次扫描之外的非首次扫描过程中扫描到所述待扫描对象的漏洞时,则利用所述待扫描对象特有的特定规则库中的第二漏洞检测规则,对所述待扫描对象进行漏洞扫描,其中,所述特定规则库中存储有所述待扫描对象的至少一个注入点中每个注入点对应的第二漏洞检测规则;
所述若确定所述本次扫描为针对所述待扫描对象的非首次扫描并且在除所述本次扫描的非首次扫描过程中扫描到所述待扫描对象的漏洞时,则利用所述待扫描对象特有的特定规则库中的第二漏洞检测规则,对所述待扫描对象进行漏洞扫描,包括:
判断所述特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则;
若确定所述特定规则库中存在所述第二目标漏洞检测规则并且所述第二目标漏洞检测规则未被标记异常时,则根据所述第二目标漏洞检测规则,对所述当前注入点进行漏洞扫描;
在确定所述第二目标漏洞检测规则未报出漏洞的情况下,所述漏洞扫描方法还包括:
从所述评分规则库中查找与所述当前注入点和所述待扫描漏洞相匹配的至少一个第一漏洞检测规则;
按照所述至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对所述当前注入点进行漏洞扫描,获得第二漏洞扫描结果;
若通过所述第二漏洞扫描结果确定所述至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将所述第二目标漏洞检测规则替换为所述报出漏洞的第一漏洞检测规则。
2.根据权利要求1所述的漏洞扫描方法,其特征在于,所述漏洞扫描方法还包括:
若确定所述特定规则库中存在所述第二目标漏洞检测规则并且所述第二目标漏洞检测规则被标记为忽略时,则转至所述判断所述特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则的步骤。
3.根据权利要求1所述的漏洞扫描方法,其特征在于,所述漏洞扫描方法还包括:
若确定所述特定规则库中存在所述第二目标漏洞检测规则并且所述第二目标漏洞检测规则被标记为修复时,则从所述评分规则库中查找与所述当前注入点和所述待扫描漏洞相匹配的至少一个第一漏洞检测规则;
按照所述至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对所述当前注入点进行漏洞扫描,获得第一漏洞扫描结果;
若通过所述第一漏洞扫描结果确定所述至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将所述第二目标漏洞检测规则替换为所述报出漏洞的第一漏洞检测规则,并删除修复标记。
4.根据权利要求1所述的漏洞扫描方法,其特征在于,所述漏洞扫描方法还包括:
若确定所述特定规则库中不存在所述第二目标漏洞检测规则时,则从所述评分规则库中查找与所述当前注入点和所述待扫描漏洞相匹配的至少一个第一漏洞检测规则;
按照所述至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对所述当前注入点进行漏洞扫描,获得第三漏洞扫描结果;
若通过所述第三漏洞扫描结果确定所述至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则在所述特定规则库中添加所述报出漏洞的第一漏洞检测规则。
5.根据权利要求1所述的漏洞扫描方法,其特征在于,所述漏洞探测能力评分的获取过程包括:
获取所述第一漏洞检测规则的可信次数、所述第一漏洞检测规则的误报次数和所述第一漏洞检测规则的报出漏洞次数;
根据所述可信次数和所述报出漏洞次数,确定所述第一漏洞检测规则的可信程度值;
根据所述误报次数和所述报出漏洞次数,确定所述第一漏洞检测规则的误报程度值;
根据所述可信程度值和所述误报程度值,确定所述第一漏洞检测规则的漏洞探测能力评分。
6.一种漏洞扫描装置,其特征在于,包括:
判断模块,用于判断本次扫描是否为待扫描对象的首次扫描;
第一漏洞扫描模块,用于若确定所述本次扫描为针对所述待扫描对象的首次扫描时,则利用评分规则库中的第一漏洞检测规则,对所述待扫描对象进行漏洞扫描,其中,所述评分规则库存储有多个第一漏洞检测规则和多个第一漏洞检测规则中每个第一漏洞检测规则的漏洞探测能力评分;
第二漏洞扫描模块,用于若确定所述本次扫描为针对所述待扫描对象的非首次扫描并且在除所述本次扫描之外的非首次扫描过程中扫描到所述待扫描对象的漏洞时,则利用所述待扫描对象特有的特定规则库中的第二漏洞检测规则,对所述待扫描对象进行漏洞扫描,其中,所述特定规则库中存储有所述待扫描对象的至少一个注入点中每个注入点对应的第二漏洞检测规则;
所述第二漏洞扫描模块,具体用于:判断所述特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则;若确定所述特定规则库中存在所述第二目标漏洞检测规则并且所述第二目标漏洞检测规则未被标记异常时,则根据所述第二目标漏洞检测规则,对所述当前注入点进行漏洞扫描;
所述第一漏洞扫描模块,具体用于:在确定所述第二目标漏洞检测规则未报出漏洞的情况下,从所述评分规则库中查找与所述当前注入点和所述待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照所述至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对所述当前注入点进行漏洞扫描,获得第二漏洞扫描结果;若通过所述第二漏洞扫描结果确定所述至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将所述第二目标漏洞检测规则替换为所述报出漏洞的第一漏洞检测规则。
7.根据权利要求6所述的漏洞扫描装置,其特征在于,所述第二漏洞扫描模块,具体用于:若确定所述特定规则库中存在所述第二目标漏洞检测规则并且所述第二目标漏洞检测规则被标记为忽略时,则转至所述判断所述特定规则库中是否存在有与当前注入点和待扫描漏洞相匹配的第二目标漏洞检测规则的步骤。
8.根据权利要求6所述的漏洞扫描装置,其特征在于,所述第一漏洞扫描模块,具体用于:若确定所述特定规则库中存在所述第二目标漏洞检测规则并且所述第二目标漏洞检测规则被标记为修复时,则从所述评分规则库中查找与所述当前注入点和所述待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照所述至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对所述当前注入点进行漏洞扫描,获得第一漏洞扫描结果;若通过所述第一漏洞扫描结果确定所述至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则将所述第二目标漏洞检测规则替换为所述报出漏洞的第一漏洞检测规则,并删除修复标记。
9.根据权利要求6所述的漏洞扫描装置,其特征在于,所述第一漏洞扫描模块,具体用于:若确定所述特定规则库中不存在所述第二目标漏洞检测规则时,则从所述评分规则库中查找与所述当前注入点和所述待扫描漏洞相匹配的至少一个第一漏洞检测规则;按照所述至少一个第一漏洞检测规则的漏洞探测能力评分的高低,对所述当前注入点进行漏洞扫描,获得第三漏洞扫描结果;若通过所述第三漏洞扫描结果确定所述至少一个第一漏洞检测规则中存在报出漏洞的第一漏洞检测规则时,则在所述特定规则库中添加所述报出漏洞的第一漏洞检测规则。
10.根据权利要求6所述的漏洞扫描装置,其特征在于,所述漏洞扫描装置包括:
获取模块,具体用于:获取所述第一漏洞检测规则的可信次数、所述第一漏洞检测规则的误报次数和所述第一漏洞检测规则的报出漏洞次数;根据所述可信次数和所述报出漏洞次数,确定所述第一漏洞检测规则的可信程度值;根据所述误报次数和所述报出漏洞次数,确定所述第一漏洞检测规则的误报程度值;根据所述可信程度值和所述误报程度值,确定所述第一漏洞检测规则的漏洞探测能力评分。
11.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-5任一所述的漏洞扫描方法。
12.一种电子设备,其特征在于,所述电子设备包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1-5任一所述的漏洞扫描方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111288165.XA CN113987516B (zh) | 2021-11-02 | 2021-11-02 | 一种漏洞扫描方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111288165.XA CN113987516B (zh) | 2021-11-02 | 2021-11-02 | 一种漏洞扫描方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113987516A CN113987516A (zh) | 2022-01-28 |
CN113987516B true CN113987516B (zh) | 2022-11-29 |
Family
ID=79745741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111288165.XA Active CN113987516B (zh) | 2021-11-02 | 2021-11-02 | 一种漏洞扫描方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987516B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547628B (zh) * | 2022-02-24 | 2024-07-12 | 浙江网商银行股份有限公司 | 漏洞检测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685228A (zh) * | 2013-10-12 | 2014-03-26 | 北京奇虎科技有限公司 | 一种网站漏洞快速扫描方法及设备 |
CN110572399A (zh) * | 2019-09-10 | 2019-12-13 | 百度在线网络技术(北京)有限公司 | 漏洞检测处理方法、装置、设备及存储介质 |
CN111935149A (zh) * | 2020-08-11 | 2020-11-13 | 北京天融信网络安全技术有限公司 | 一种漏洞检测方法及系统 |
CN112783749A (zh) * | 2019-11-07 | 2021-05-11 | 北京奇虎科技有限公司 | 一种静态代码扫描优化方法、装置、电子设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917426B (zh) * | 2005-08-17 | 2010-12-08 | 国际商业机器公司 | 端口扫描方法与设备及其检测方法与设备、端口扫描系统 |
CN103207970B (zh) * | 2013-04-28 | 2016-06-08 | 北京奇虎科技有限公司 | 病毒文件扫描方法及装置 |
CN106790190B (zh) * | 2016-12-30 | 2019-11-19 | 北京神州绿盟信息安全科技股份有限公司 | 一种漏洞管理系统及方法 |
-
2021
- 2021-11-02 CN CN202111288165.XA patent/CN113987516B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685228A (zh) * | 2013-10-12 | 2014-03-26 | 北京奇虎科技有限公司 | 一种网站漏洞快速扫描方法及设备 |
CN110572399A (zh) * | 2019-09-10 | 2019-12-13 | 百度在线网络技术(北京)有限公司 | 漏洞检测处理方法、装置、设备及存储介质 |
CN112783749A (zh) * | 2019-11-07 | 2021-05-11 | 北京奇虎科技有限公司 | 一种静态代码扫描优化方法、装置、电子设备和存储介质 |
CN111935149A (zh) * | 2020-08-11 | 2020-11-13 | 北京天融信网络安全技术有限公司 | 一种漏洞检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
面向等级保护的漏洞扫描系统的设计与实现;王超等;《核电子学与探测技术》;20100720(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113987516A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102739675B (zh) | 网站安全检测方法与装置 | |
EP2805286B1 (en) | Online fraud detection dynamic scoring aggregation systems and methods | |
CN101164333B (zh) | 用于对文件授权和评定的方法和系统 | |
CN106789939B (zh) | 一种钓鱼网站检测方法和装置 | |
KR102355973B1 (ko) | 스미싱 메시지 판별장치 및 스미싱 메시지 판별방법 | |
RU2012156436A (ru) | Система и способ защиты от нелегального использования облачных инфраструктур | |
US20200125729A1 (en) | Online assets continuous monitoring and protection | |
CN113259392B (zh) | 一种网络安全攻防方法、装置及存储介质 | |
CN109871683B (zh) | 一种数据库防护系统及方法 | |
CN111460445A (zh) | 样本程序恶意程度自动识别方法及装置 | |
CN110945538A (zh) | 自动规则推荐引擎 | |
CN104135467B (zh) | 识别恶意网站的方法及装置 | |
US8402537B2 (en) | Detection accuracy tuning for security | |
CN113987516B (zh) | 一种漏洞扫描方法、装置、存储介质和电子设备 | |
CN112422574A (zh) | 风险账号的识别方法、装置、介质及电子设备 | |
CN112016078A (zh) | 一种登录设备的封禁检测方法、装置、服务器和存储介质 | |
CN110598959A (zh) | 一种资产风险评估方法、装置、电子设备及存储介质 | |
Yao et al. | Logophish: A new two-dimensional code phishing attack detection method | |
CN113810518A (zh) | 有效子域名识别方法、装置和电子设备 | |
CN115022152B (zh) | 一种用于判定事件威胁度的方法、装置及电子设备 | |
CN114238279A (zh) | 数据库安全防护方法、装置、系统、存储介质和电子设备 | |
KR101450009B1 (ko) | 휴대 단말 기반의 피싱 공격 방지 방법 | |
CN106685966B (zh) | 泄露信息的检测方法、装置及系统 | |
US20030221129A1 (en) | Save and compare method to detect corruption of WWW pages | |
CN112395600B (zh) | 恶意行为的去误报方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |