一种SQL命令注入的检测方法及系统与流程

文档序号:11276734阅读:291来源:国知局
一种SQL命令注入的检测方法及系统与流程

本申请涉及数据检测技术领域,特别涉及一种sql命令注入的检测方法及系统。



背景技术:

在当今互联网时代,越来越多的企业将业务迁移到互联网上,而众多的企业业务应用主要是以web方式交互实现的,而通过web方式进行交互的数据也通过这种方式进入业务系统,最终被保存在企业的后台数据库中,对于以开发web应用软件为主的企业,后台数据库中数据的重要性不言而喻。

而通过web实现交互固然有其好的一面,但同时也存在潜在的风险。其中,一些恶意攻击者意图躲避后台程序开发人员的注意,在通过web方式提交的表单、输入域名以及页面请求的命令中插入sql(structuredquerylanguage,中文名为:结构化查询语言)命令的字符串,利用web应用程序的漏洞将恶意的sql命令注入正常的访问命令,来欺骗服务器执行恶意的sql命令,达到攻击数据库服务器或窃取数据的目的,为企业后台数据库中数据的安全造成了严重的威胁。

在现有技术中,主要通过“打疫苗”的方式来防范sql命令注入,换句话说,就是根据sql命令注入攻击特点形成特征库,利用该特征库来对所有外部命令进行是否携带有表现为同样特征库的sql命令检测,这种方法一方面过于依赖特征库的更新,一旦更新不及时就无法防范攻击;另一方面,只要对原sql命令做出些许变化、变异,形成的特征库就跟原来的不同,即,面对变异出来的新sql命令难以做到防范,且同时存在误伤的情况,对正常命令进行了拦截。综上,通过现有的方法无法对sql命令注入做出有效的防范。

那么,如何在无法避免外部命令中含有sql命令注入的情况下,提供一种更有效、准确率更高的,且无须频繁更新的sql命令注入的检测机制,是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种sql命令注入的检测方法及系统,在无法避免外部命令中含有sql命令注入的情况下,以一种更有效、准确率更高的,且无须频繁更新的检测方法,能够检测到外部命令中被注入的sql命令,保障企业后台数据库中数据的安全。

为解决上述技术问题,本申请提供一种sql命令注入的检测方法,该方法包括:

采集提交给业务端的请求数据;

采集所述业务端到数据库端的数据库协议流量,并从所述数据库协议流量中提取注入sql命令段;

判断是否能在所述请求数据中检测到所述注入sql命令段,若检测到所述注入sql命令段,则存在sql命令注入。

可选的,从所述数据库协议流量中提取注入sql命令段,包括:

从所述数据库协议流量中提取sql命令;

对所述sql命令进行模板化处理,得到sql模板,并对每两个所述sql模板进行对比,得到比较结果;

根据所述比较结果从所述sql模板中提取所述注入sql命令段。

可选的,对所述sql命令进行模板化处理,得到sql模板,并对每两个所述sql模板进行对比,得到比较结果,包括:

对第一sql命令进行所述模板化处理,得到sql基线模板;

对除所述第一sql外的其余所述sql命令进行所述模板化处理,得到新sql模板;

对所述sql基线模板与所述新sql模板均以最小单位进行拆分,分别得到第一集合和第二集合;

对所述第一集合中的最小单位与所述第二集合中的最小单位执行匹配操作,得到匹配比例;

对所述匹配比例与阈值进行对比,得到比较结果。

可选的,对所述匹配比例与阈值进行对比,得到比较结果,包括:

判断所述匹配比例是否超过阈值;

若所述匹配比例超过所述阈值,则对所述新sql模板附加疑似sql注入风险的标记。

可选的,根据所述比较结果从所述sql模板中提取所述注入sql命令段,包括:

从被附加所述标记的所述新sql模板中提取所述注入sql命令段。

本申请还提供了一种sql命令注入的检测系统,该系统包括:

请求数据采集单元,用于采集提交给业务端的请求数据;

采集提取单元,用于采集所述业务端到数据库端的数据库协议流量,并从所述数据库协议流量中提取注入sql命令段;

检测单元,用于判断是否能在所述请求数据中检测到所述注入sql命令段,若检测到所述注入sql命令段,则存在sql命令注入。

可选的,所述采集提取单元包括:

第一提取子单元,用于从所述数据库协议流量中提取sql命令;

模板化子单元,用于对所述sql命令进行模板化处理,得到sql模板,并对每两个所述sql模板进行对比,得到比较结果;

第二提取子单元,用于根据所述比较结果从所述sql模板中提取所述注入sql命令段。

可选的,所述模板化子单元包括:

第一模板处理模块,用于对第一sql命令进行所述模板化处理,得到sql基线模板;

第二模板处理模块,用于对除所述第一sql外的其余所述sql命令进行所述模板化处理,得到新sql模板;

拆分模块,用于将所述sql基线模板与所述新sql模板均以最小单位进行拆分,分别得到第一集合和第二集合;

匹配模块,用于对所述第一集合中的最小单位与所述第二集合中的最小单位执行匹配操作,得到匹配比例;

对比模块,用于对所述匹配比例与阈值进行对比,得到比较结果。

可选的,所述对比模块包括:

判断子模块,用于判断所述匹配比例是否超过阈值;

标记子模块,用于若所述匹配比例超过所述阈值,则对所述新sql模板附加疑似sql注入风险的标记。

可选的,所述第二提取子单元包括:

提取模块,用于从被附加所述标记的所述新sql模板中提取所述注入sql命令段。

本申请所提供的一种sql命令注入的检测方法,通过采集提交给业务端的请求数据;采集所述业务端到数据库端的数据库协议流量,并从所述数据库协议流量中提取注入sql命令段;判断能否在所述请求数据中检测到所述注入sql命令段,若检测到所述注入sql命令段,则存在sql命令注入。

显然,本申请所提供的技术方案通过在请求数据和数据库协议流量中进行双端的匹配检测,若在该请求数据中检测到了从数据库协议流量中提取出的相同的注入sql命令段,则判定为存在sql命令注入,打破了传统以特征库来识别的检测方法,能够无法避免外部命令中含有sql命令注入的情况下,以一种更有效、准确率更高的,且无须频繁更新的sql命令注入的检测方法来检测到外部命令中被注入的sql命令,得以更好的保障企业后台数据库中数据的安全。本申请同时还提供了一种sql命令注入的检测系统,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其它的附图。

图1为本申请实施例所提供的一种sql命令注入的检测方法的流程图;

图2为本申请实施例所提供的另一种sql命令注入的检测方法的流程图;

图3为本申请实施例所提供的又一种sql命令注入的检测方法的流程图;

图4为本申请实施例所提供的再一种sql命令注入的检测方法的流程图;

图5为本申请实施例所提供的还一种sql命令注入的检测方法的流程图;

图6为本申请实施例所提供的一种sql命令注入的检测方法中双端匹配检测原理图;

图7为本申请实施例所提供的一种sql命令注入的检测系统的结构图。

具体实施方式

本申请的核心是提供一种sql命令注入的检测方法及系统,在无法避免外部命令中含有sql命令注入的情况下,以一种更有效、准确率更高的,且无须频繁更新的sql命令注入的检测方法来检测到外部命令中被注入的sql命令,得以更好的保障企业后台数据库中数据的安全。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

以下结合图1,图1为本申请实施例所提供的一种sql命令注入的检测方法的流程图。

其具体包括以下步骤:

s101:采集提交给业务端的请求数据;

本步骤旨在采集提供提交给业务端的请求数据,为后续步骤中在外部命令生效端,即,从即将到达数据库端的数据库协议流量中提取出的注入sql命令段在提交给业务端的请求数据中做匹配检测。

其中,提交给业务端的请求数据是通过web方式进行的表单提交或输入域名或页面请求等命令,而由于web应用程序开发人员检查的时候可能无法面面俱到,恶意的外部攻击者就意图在通过web方式在业务前端提交的各种请求数据中注入恶意的sql命令,该sql命令通常以查询字符串的方式体现,其实它的最终目的是通过这种方式绕开服务器的防护欺骗服务器去执行注入的恶意sql命令。

s102:采集业务端到数据库端的数据库协议流量,并从数据库协议流量中提取注入sql命令段;

本步骤旨在从即将到达数据库端的数据库协议流量中提取得到注入sql命令段,其中,该注入sql命令段是从该业务端到数据库端这一数据流向上的数据库协议流量得到的,之所以从该数据库协议流量中提取该注入sql命令段,是因为该数据库协议流量马上就要到达该数据库端生效,且sql命令一般都被携带在该数据库协议流量中,如果该数据库协议流量真的携带有注入sql命令段,一旦进入该数据库端就会随着其他正常请求命令一起被执行,按照外部攻击者的意愿来进行攻击操作或获取相应的敏感数据信息,而对于web应用程序的开发商来说,敏感数据一旦丢失几乎是毁灭性的打击,会让使用者的信息泄露,进而降低对自己程序的评价,甚至转投其他应用程序,会有很严重的后果。

其中,具体怎样从该数据库协议流量中最终提取到该注入sql命令段,方式多种多样,基于各应用程序开发商的不同、硬件设备不同、数据存在方式不同等各方面因素,在不同的实际场景下会存在不同的从数据库协议流量中最终提取到该注入sql命令段的方式,此处说的只是从该数据库协议流量中最终提取到该注入sql命令段的结果,并不对通过怎样的手段和流程来获得做具体限定。

在后续的其它实施例中会对怎样从该数据库协议流量中最终提取得到该注入sql命令段做出详细的介绍。

s103:判断是否能在请求数据中检测到注入sql命令段;

本步骤建立在s102的基础上,拿在s102中提取得到的该注入sql命令段在s101中采集到的提交给业务端的各种表单数据、输入域名、查询请求等进行匹配检测,旨在看是否能在该请求数据中查询到与该注入sql命令段相同的命令段,以便进行后续的判定和处理工作。

s104:存在sql命令注入。

本步骤建立在经过s103的检测后,确实在向外部命令输入端提交的该请求数据中检测到了与在s102中最终提取得到的该注入sql命令段,则判定确实存在sql命令注入行为。

进一步的,在判定确实存在sql命令注入行为后,可以通过各种方式阻止注入了该sql命令段的该数据库协议流量在数据库端的生效,即,对即将到达数据库端的数据库协议流量进行拦截,并通过各种预设路径对后台程序开发管理人员进行预警,以达到警醒的作用,例如,在后台管理界面进行弹窗提示、发出报警音、发送邮件或短信等给管理员等。

基于上述技术方案,本申请实施例提供的sql命令注入的检测方法,通过在请求数据和数据库协议流量中进行双端的匹配检测,若在该请求数据中检测到了从数据库协议流量中提取出的相同的注入sql命令段,则判定为存在sql命令注入,打破了传统以特征库来识别的检测方法,能够无法避免外部命令中含有sql命令注入的情况下,以一种更有效、准确率更高的,且无须频繁更新的sql命令注入的检测方法来检测到外部命令中被注入的sql命令,得以更好的保障企业后台数据库中数据的安全。

以下结合图2,图2为本申请实施例所提供的另一种sql命令注入的检测方法的流程图。

本实施例是针对上一实施例中s102做出的一个具体限定,其它步骤与上一实施例大体一致,在此不再赘述。

其具体包括以下步骤:

s201:采集业务端到数据库端的数据库协议流量;

s202:从数据库协议流量中提取sql命令;

即从该数据库协议流量中执行提取sql命令的操作,该sql命令段包括了sql命令的主要部分和注入sql命令段。

s203:对sql命令进行模板化处理,得到sql模板,并对每两个sql模板进行对比,得到比较结果;

将从s202中提取出的sql命令进行模板化处理,通常情况下,从数据库协议流量中能够提取出多个sql命令,也就是说在对每个sql命令分别进行该模板化处理后,会得到多个sql命令,而在得到的多个sql命令中,两两的进行对比,旨在比较出各模板之间是否存在差异或者差异是否足够大。具体的,是串行的一个接一个的对提取到的多个sql命令进行模板化处理,还是并行的同时对所有sql命令一起进行模板化处理,应该是实际情况的不同基于一定的原则进行选择,此处并不做具体的限定。

其中,模板化处理,顾名思义的就是将该sql命令按照一定处理操作形成模板,即,去掉sql命令中可变的参数,同时保留固定不变的部分的处理为模板化处理。例如,例如:将该sql命令“select*fromusernamewherename=’u1’andpassword=’123456’”按照去除变量、保留固定不变的部分后,提取出成模板后“select*fromusernamewherename=’$’andpassword=’$’”,之所以这样处理,是因为在该sql命令中u1是name的一个变量、123456是password的一个变量,所以将它们视为一个变量$,最终得到这样的一个模板。

将从数据库协议流量中提取到的sql命令均执行这样的一个模板化处理,会得到多个sql模板,接下来的目的是在两两对比进行差异的比对,比较出两两模板之间是否存在差异以及差异的大小,而比较的方式多种多样,可视应用程序开发厂家的规模、硬件设备的使用、设置习惯等多方面因素进行考虑并基于一定原则进行符合自身利益的变化,此处并不做具体限定。在后续的其它实施例中会进行详细的介绍。

s204:根据比较结果从sql模板中提取注入sql命令段。

本步骤基于s203的比较结果,在该比较结果呈现为两个相互进行比较的sql模板相似度很高,同时得到了两个sql模板之间相互存在差异的部分,与另一个sql模板在大体上都相同,仅仅存在些许不同的部分,这些许不同的部分就是需要提取出的该注入sql命令段。

以下结合图3,图3为本申请实施例所提供的又一种sql命令注入的检测方法的流程图。

本实施例是对第二实施例中s202做出的一个具体限定,假设能够从数据库协议流量中提取到多个sql命令,其它步骤与上一实施例大体一致,在此不再赘述。

其具体包括以下步骤:

s301:对第一sql命令进行模板化处理,得到sql基线模板;

先对其中的一个sql命令进行去除变量、保留固定的部分的模板化处理,得到该sql基线模板。其中,怎样从多个sql命令中选取一个的方式多种多样,可以遵循多种原则,例如,考虑到sql命令都有一套不会变化太多的书写格式,可以选择形成命令的最小单位个数最少的,因为个数最小也就越容易与其它的sql命令存在相同的部分,容易找到共同点,也就好作为基线模板使用;也可以随机挑选,因为最终的目标是每两个sql命令形成的模板都要进行比较,不管基于何种原则,只需要两两比较完毕即可,此处并不对如何选择做具体限定。

s302:对除第一sql命令外的其余sql命令进行模板化处理,得到新sql模板;

与s203相对应,可以选择串行的处理方式也可以选择并行的处理方式,其中各自有各自的优点,串行的处理方式的优点在于可以尽可能小的占用处理能力和资源;并行的处理方式的优点在于可以尽可能快的完成模板化处理的过程,省时,可以根据实际情况灵活选择,灵活切换。

s303:将sql基线模板与新sql模板均以最小单位进行拆分,分别得到第一集合和第二集合;

这里通过一个实际的拆分过程来描述这个过程:

sql基线模板:select*fromusernamewherename=’$’andpassword=’$’;新sql模板:select*fromusernamewherename=’$’andpassword=’$’or$=$,将这两个模板按照原排列顺序进行按照构成命令最小单位进行拆分,分别得到包含如下多个最小单位的第一集合和第二集合。

其中,第一集合:{select*from,username,where,name=’$’,and,password=’$’};第二集合:{select*from,username,where,name=’$’,and,password=’$’,or$=$}。

当然,就如何进行拆分就有很多种方法,本实施例只是就通常可能会使用到的一种方法进行了描述,即,只要能够为后续步骤中两两模板作对比得到两者之间的差异程度即可,并不做具体限定。

s304:对第一集合中的最小单位与第二集合中的最小单位执行匹配操作,得到匹配比例;

本步骤为依次按顺序从第一集合中选取一个最小单位在第二集合中进行匹配对比,目的在于看是否能够在第二集合中匹配到相同的最小单位。即,首先拿select*from这个拆分出的最小单位在第二集合中进行匹配对比,显然在第二集合中的第一个最小单位中就找到的相同的最小单位,接着的换下一个最小单位:username再次在第二集合中进行匹配,依次类推。

就本实施例所举出的这个例子来看,可以很明显得出相似度为85.7%,有6个最小单位相同。

s304:对匹配比例与阈值进行对比,得到比较结果。

本步骤所说的阈值是根据应用程序开发厂家基于对sql命令的自身理解以及一定的认识所设定的一个大致相似度范围,即,通过该设定的阈值来判定是否该新sql模板是根据该sql基线模板经过微调、变异出来的,还是就是完完全全区别于该sql基线模板为另一个sql基线模板。通常情况下,该阈值所设定的相似度范围也不是固定的,可能各个应用程序的厂家基于不同的重要性和规模以及各方面因素、出于各种原因的考虑做出一定差异化的改变,此处并不对该阈值的具体范围做限定。例如,一个比较适合的阈值可以为55-70%,只要处于该阈值范围内,则认定为该新sql模板相似与该sql基线模板,并以相似这个结果进行后续操作。

以下结合图4,图4为本申请实施例所提供的再一种sql命令注入的检测方法的流程图。

本实施例是对第三实施例中s304做出的一个具体限定,其它步骤与上一实施例大体一致,在此不再赘述。

其具体包括以下步骤:

s401:对第一集合中的最小单位与第二集合中的最小单位执行匹配操作,得到匹配比例;

s402:判断匹配比例是否超过阈值;

假设该阈值取60%,即应该在该匹配比例超过60%时认定该新sql模板与该sql基线模板大体相同,同时将剩下的不同的部分被后续处理过程提取出来当做注入sql命令段;而在当该匹配比例低于该60%的阈值时,则认定这两个sql模板大体上不相同,则将该大体不相同的新sql模板当做一个新的sql基线模板来做后续匹配使用。

s403:对新sql模板附加疑似sql注入风险的标记;

本步骤是建立在经过s402的判断,且判断结果为该匹配比例超过了阈值,可以判定为该新sql模板是基于该sql基线模板进行了微调、变异出来的,并非是一个新的sql基线模板,所以此处为该新sql模板附加一个疑似sql注入风险的标记,便于在后续的检测步骤中进行识别。

以下结合图5,图5为本申请实施例所提供的还一种sql命令注入的检测方法的流程图。

本实施例是建立在一个具体的实际情景下,在本场景下的数据库协议流量中提取到了两条sql命令,同时在通过web方式向业务端提交的是输入域名的命令。其中,两条sql命令分别为:

select*fromusernamewherename=’lhd’andpassword=’11223344’;

select*fromusernamewherename=’lhd’andpassword=’11223344’or10=10。

s501:采集到提交给业务端的输入域名命令;

s502:采集业务端到数据库端的数据库协议流量;

s503:从数据库协议流量中提取到两个sql命令;

s504:依次对这两sql命令进行模板化处理,得到sql基线模板和新sql模板;

得到sql基线模板:select*fromusernamewherename=’$’andpassword=’$’;新sql模板:select*fromusernamewherename=’$’andpassword=’$’or$=$。

s505:对得到的两个模板按最小单位进行拆分,得到第一集合和第二集合;

得到第一集合:{select*from,username,where,name=’$’,and,password=’$’};第二集合:{select*from,username,where,name=’$’,and,password=’$’,or$=$}。

s506:对第一集合中的最小单位与第二集合中的最小单位执行匹配操作;

s507:第一集合与第二集合的匹配比例为85.7%,并提取出不匹配的注入sql命令段;

相同的最小单位为6个,第二集合中共有7个最小单位,则显而易见的该匹配比例为85.7%,并相应的提取出不匹配的注入sql命令段:or10=10。

s508:利用注入sql命令段在输入域名命令中进行匹配检测;

将提取到的注入sql命令段:or10=10与在业务端采集到的通过web方式提交的请求数据进行匹配校队,旨在看该注入sql命令段是否出现在该请求数据中,这种校队方式与该注入sql命令段具体注入在sql命令的何位置无关,具体匹配校队方法原理图请参见图6。

本步骤采用了本申请这样的双端对比检测的方式,可以很好的避免传统方法使用特征库的对比检测容易出现检测不到的缺陷,因为直接使用最小单位进行一一对比检测,不管这个sql命令段插入在请求数据中的哪个位置,只要存在就一定能够发现,被检测出来,不会因为在传统方法中,因为插入位置的不同,导致现有技术中存在的因变异后的sql命令拥有不同的特征库进而无法检测到的缺点。

s509:检测到相同sql命令段;

检测到相同的sql命令段,判定存在sql注入风险。

s510:通过弹出警示弹窗来提醒应用程序后台开发人员。

基于上述技术方案,本申请实施例提供的sql命令注入的检测方法,通过在请求数据和数据库协议流量中进行双端的匹配检测,若在该请求数据中检测到了从数据库协议流量中提取出的相同的注入sql命令段,则判定为存在sql命令注入,打破了传统以特征库来识别的检测方法,能够无法避免外部命令中含有sql命令注入的情况下,以一种更有效、准确率更高的,且无须频繁更新的sql命令注入的检测方法来检测到外部命令中被注入的sql命令,得以更好的保障企业后台数据库中数据的安全。

上面提及的几种方式,只是从实际出发提出的几种具体例子,当然可以有其他的方式来达到同样的效果,此处并不做具体限定。

下面请参见图7,图7为本申请实施例所提供的一种sql命令注入的检测系统的结构框图。

该系统可以包括:

请求数据采集单元100,用于采集提交给业务端的请求数据;

采集提取单元200,用于采集业务端到数据库端的数据库协议流量,并从数据库协议流量中提取注入sql命令段;

检测单元300,用于判断是否能在请求数据中检测到注入sql命令段,若检测到注入sql命令段,则存在sql命令注入。

其中,该采集提取单元200包括:

第一提取子单元,用于从数据库协议流量中提取sql命令;

模板化子单元,用于对sql命令进行模板化处理,得到sql模板,并对每两个sql模板进行对比,得到比较结果;

第二提取子单元,用于根据比较结果从sql模板中提取注入sql命令段。

其中,该模板化子单元包括:

第一模板处理模块,用于对第一sql命令进行模板化处理,得到sql基线模板;

第二模板处理模块,用于对除第一sql外的其余sql命令进行模板化处理,得到新sql模板;

拆分模块,用于将sql基线模板与新sql模板均以最小单位进行拆分,分别得到第一集合和第二集合;

匹配模块,用于对第一集合中的最小单位与第二集合中的最小单位执行匹配操作,得到匹配比例;

对比模块,用于对匹配比例与阈值进行对比,得到比较结果。

其中,该对比模块包括:

判断子模块,用于判断匹配比例是否超过阈值;

标记子模块,用于若匹配比例超过阈值,则对新sql模板附加疑似sql注入风险的标记。

其中,该第二提取子单元包括:

提取模块,用于从被附加标记的新sql模板中提取注入sql命令段。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上对本申请所提供的sql命令注入的检测方法及系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1