CN106294375B - 一种数据请求实时处理方法和装置 - Google Patents

一种数据请求实时处理方法和装置 Download PDF

Info

Publication number
CN106294375B
CN106294375B CN201510250823.4A CN201510250823A CN106294375B CN 106294375 B CN106294375 B CN 106294375B CN 201510250823 A CN201510250823 A CN 201510250823A CN 106294375 B CN106294375 B CN 106294375B
Authority
CN
China
Prior art keywords
request
normalization
cache
data
identifier
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
Application number
CN201510250823.4A
Other languages
English (en)
Other versions
CN106294375A (zh
Inventor
徐大丁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510250823.4A priority Critical patent/CN106294375B/zh
Publication of CN106294375A publication Critical patent/CN106294375A/zh
Application granted granted Critical
Publication of CN106294375B publication Critical patent/CN106294375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24528Standardisation; Simplification

Abstract

本发明实施例公开了一种数据请求实时处理方法和装置,获取数据库的数据请求;将所述数据请求根据所述数据库请求协议进行正规化,得到正规化请求,所述正规化具体为确定出所述数据请求中符合所述数据库请求协议的固定范式的固定部分和使用预设字符代替所述数据请求中的变量部分;为所述正规化请求设置对应的标识;判断缓存中是否保存有所述标识,如果是,确定所述正规化请求已经执行过安全分析并将所述标识保存在所述缓存中,将不对所述正规化请求再一次进行安全分析。可见,所述数据请求的所述正规化请求不具有再一次执行安全分析的必要。本发明免去了不必要的重复安全分析,减少了安全分析的次数,提高安全分析的效率。

Description

一种数据请求实时处理方法和装置
技术领域
本发明涉及数据处理领域,特别是涉及一种数据请求实时处理方法和装置。
背景技术
安全检测系统通过对数据库的数据请求进行安全分析,识别可能出现的系统风险,以保证数据库的安全性。
对于海量的数据请求,目前安全检测系统采用的在线实时分析方式是在现有安全分析的规则下,对需要被分析的每一个数据请求逐个进行安全分析。所述安全分析可以理解为一种深层的安全分析,比如通过结构化查询语言(Structured Query Language,SQL)解析、SQL涉及到的数据库存储的对象判断,模式匹配来分析该事件的风险值等。
这种对每一个数据请求均进行安全分析的方式需要占用大量系统资源,安全分析的效率低,难以满足现有安全分析的需求。
发明内容
为了解决上述技术问题,本发明提供了一种数据请求实时处理方法和装置,通过对所述数据请求进行正规化并设置标识,根据缓存中保存的标识确定所述数据请求正规化后的正规化请求是否已经被分析,由此对具有相同正规化请求的不同数据请求只需安全分析一次,减少安全分析的次数,提高效率。
本发明实施例公开了如下技术方案:
一种数据请求实时处理方法,所述方法包括:
获取数据库的数据请求,所述数据请求是根据对应的数据库请求协议生成的;
将所述数据请求根据所述数据库请求协议进行正规化,得到正规化请求,所述正规化具体为确定出所述数据请求中符合所述数据库请求协议的固定范式的固定部分和使用预设字符代替所述数据请求中的变量部分,所述正规化请求包括所述固定部分,原变量部分所在位置由预设字符代替;
为所述正规化请求设置对应的标识;
判断缓存中是否保存有所述标识,
如果是,确定所述正规化请求已经执行过安全分析并将所述标识保存在所述缓存中,将不对所述正规化请求再一次进行安全分析。
优选的,所述判断缓存中是否保存有所述标识,还包括:
如果否,对所述正规化请求进行安全分析;
根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识。
优选的,所述根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识,具体包括:
若根据所述安全分析的结果确定所述正规化请求的危险级别高于预设范围,不在所述缓存中保存所述正规化请求对应的所述标识;
若根据所述安全分析的结果确定所述正规化请求的危险级别低于所述预设范围,在所述缓存中保存所述正规化请求对应的所述标识。
优选的,所述为所述正规化请求设置对应的标识,具体包括:
对所述正规化请求进行哈希计算,将所述哈希计算的结果作为所述正规化请求对应的所述标识。
优选的,还包括:
使用页面最近两次被访问的间隔短的算法LIRS对所述缓存中保存的标识进行维护。
优选的,
所述数据请求具体为结构化查询语言SQL请求。
优选的,还包括:
统计所述判断缓存中是否保存有所述标识的判断结果为是的次数;
结合所述次数对所述缓存中保存的标识进行维护。
一种数据请求实时处理装置,包括:
获取单元,用于获取数据库的数据请求,所述数据请求是根据对应的数据库请求协议生成的;
正规化单元,用于将所述数据请求根据所述数据库请求协议进行正规化,得到正规化请求,所述正规化具体为确定出所述数据请求中符合所述数据库请求协议的固定范式的固定部分和使用预设字符代替所述数据请求中的变量部分,所述正规化请求包括所述固定部分,原变量部分所在位置由预设字符代替;
设置单元,用于为所述正规化请求设置对应的标识;
判断单元,用于判断缓存中是否保存有所述标识,如果是,触发确定单元;
所述确定单元,用于确定所述正规化请求已经执行过安全分析并将所述标识保存在所述缓存中,将不对所述正规化请求再一次进行安全分析。
优选的,还包括:
如果所述判断单元的判断结果为否,触发处理单元;
所述处理单元,用于对所述正规化请求进行安全分析;
保存单元,用于根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识。
优选的,
所述保存单元具体用于若根据所述安全分析的结果确定所述正规化请求的危险级别高于预设范围,不在所述缓存中保存所述正规化请求对应的所述标识;
所述保存单元具体用于若根据所述安全分析的结果确定所述正规化请求的危险级别低于所述预设范围,在所述缓存中保存所述正规化请求对应的所述标识。
优选的,
所述正规化单元具体用于对所述正规化请求进行哈希计算,将所述哈希计算的结果作为所述正规化请求对应的所述标识。
优选的,还包括:
维护单元,用于使用页面最近两次被访问的间隔短的算法LIRS对所述缓存中保存的标识进行维护。
优选的,
所述数据请求具体为结构化查询语言SQL请求。
优选的,还包括:
统计单元,用于统计所述判断缓存中是否保存有所述标识的判断结果为是的次数;
所述维护单元还用于结合所述次数对所述缓存中保存的标识进行维护。
由上述技术方案可以看出,通过对所述数据请求进行正规化,并设置对应的标识,当缓存中保存了所述标识时,可以确定具有相同正规化请求的其他数据请求的所述正规化请求已经被安全分析过了。由此所述数据请求的所述正规化请求不具有再一次执行安全分析的必要,或者说具有相同正规化请求的不同数据请求可以只需安全分析一次。相对现有技术中对每一个数据请求均要安全分析的方式,本发明免去了不必要的重复安全分析,减少了安全分析的次数,提高安全分析的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据请求处理方法的方法流程图;
图2为本发明实施例提供的一种数据请求处理方法的方法流程图;
图3为本发明实施例提供的一种LIRS算法的算法流程图;
图4为本发明实施例提供的一种数据请求实时处理装置的装置结构图;
图5为本发明实施例提供的一种数据请求实时处理装置的装置结构图;
图6为本发明实施例提供的一种缓存维护装置的装置结构图。
具体实施方式
为了保证数据库的安全性,现有技术中的在线实时安全分析方式是根据安全分析规则,对需要进行安全分析的数据请求逐一进行安全分析,也就是每一个数据请求都要分析,降低了安全检测系统的分析效率,还会占用大量的系统资源。现有安全分析手段难以负担对海量数据请求的安全分析强度。也就是说,目前对在保证安全分析级别下,能够高效率的对数据请求进行安全分析的方式具有很高的需求。
为此,本发明实施例提供了一种数据请求处理方法和装置,通过对所述数据请求进行正规化,并设置对应的标识,当缓存中保存了所述标识时,可以确定具有相同正规化请求的其他数据请求的所述正规化请求已经被安全分析过了。由此所述数据请求的所述正规化请求不具有再一次执行安全分析的必要,或者说具有相同正规化请求的不同数据请求可以只需安全分析一次。相对现有技术中对每一个数据请求均要安全分析的方式,本发明免去了不必要的重复安全分析,减少了安全分析的次数,提高安全分析的效率。
并可以根据所述正规化请求的安全分析结果确定所述正规化请求的危险级别,对于危险级别较高的所述正规化请求,不会将其对应的标识保存在缓存中。由此每次遇到这种正规化请求都会进行一次安全分析,杜绝了可能出现的漏洞,提高了对数据库的安全保障。
还需注意的是,保存标识的所述缓存容量有限,一般不能将所有标识都保存在所述缓存中,通过使用页面最近两次被访问的间隔短的算法(Low Inter-Reference RecencySet,LIRS),一种缓存替换算法。可以有效的将所述缓存中不常用的标识移除,为常用的标识释放存储空间,进一步提高了本发明的实用性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例提供的一种数据请求处理方法的方法流程图,所述方法包括:
S101:获取数据库的数据请求,所述数据请求是根据对应的数据库请求协议生成的。
举例说明,所述数据请求可以理解为是符合安全分析规则的数据请求。所述数据请求中的内容格式需要符合所述数据库所运行的数据库请求协议。
SQL是一种通用的数据库请求协议。故可选的,所述数据请求具体为SQL请求。安全检测系统可以通过分析数据库的SQL请求来识别系统风险,进行安全认证。SQL请求中的内容格式需要符合SQL的要求,可以理解为SQL请求中的内容格式必须使用SQL所规定的范式。
S102:将所述数据请求根据所述数据库请求协议进行正规化,得到正规化请求,所述正规化具体为确定出所述数据请求中符合所述数据库请求协议的固定范式的固定部分和使用预设字符代替所述数据请求中的变量部分,所述正规化请求包括所述固定部分,原变量部分所在位置由预设字符代替。
举例说明,通过所述正规化,可以从所述数据请求的内容中确定出固定的内容,例如符合所述数据库请求协议的固定语句等,不同数据库请求协议的固定语句、范式可以不同。并可以使用预设字符替换所述数据请求内容中的变量部分,所述变量部分可以理解为内容中非固定语句的部分,或者是冗余信息。接下来通过举例说明所述正规化:
假设所述数据库请求协议为SQL,那么所述数据请求为SQL请求。所述SQL请求的内容可以为:
SQL1:select*from student where age>20and sex=‘M’,含义为从学生中选择出年龄大于20且性别为男的。假设用于替换变量部分的所述预设字符具体为“?”
那么对SQL1进行正规化后的SQL1′(normalized_sql)为:
SQL1′:select*from student where age>?and sex=?,可见,原SQL1中的变量部分“20”和“M”被替换为预设字符“?”。
对所述数据请求进行正规化的好处是,多个数据请求可以通过正规化得到一个相同的正规化请求,这样在对该正规化请求进行一次安全分析就可以相当于同时对该多个数据请求进行了安全分析。而且,对该多个数据请求进行的多次安全分析从实质上来说,得到的分析结果肯定相同,属于重复分析,直接导致系统资源浪费,降低安全分析效率。而通过正规化处理后,相当于对数据请求进行了合并,避免了上述重复分析的出现。接下来通过例子说明进行正规化的好处:
假设所述数据库请求协议为SQL,那么所述数据请求为SQL请求。假设获取了三个SQL,分别为:
SQL1:select*from student where age>20and sex=‘M’;
SQL2:select*from student where age>23and sex=‘F’;(还具有多个空格)含义为从学生中选择出年龄大于23且性别为女的。
SQL3:select*from student where id=1222;含义为从学生中选择出id为1222的。
那么通过对这三个SQL进行正规化后得到的SQL1′、SQL2′和SQL3′为:
SQL1′和SQL2′均为:select*from student where age>?and sex=?;
SQL3′为:select*from student where id=?;
可见,SQL1和SQL2正规化后得到的正规化请求相同,相当于SQL1和SQL2得到了合并,减少了后续安全分析的次数。
S103:为所述正规化请求设置对应的标识。
举例说明,可以使用预设的规则得到所述标识,例如可以是通过预设规则配置的,也可以是通过预设算法对所述正规化请求计算得出的。本发明实施例提供了一种优选的为所述正规化请求设置对应的标识的方式,对所述正规化请求进行哈希计算,将所述哈希计算的结果(hash_code)作为所述正规化请求对应的所述标识。
S104:判断缓存中是否保存有所述标识,如果是,触发S105。
S105:确定所述正规化请求已经执行过安全分析并将所述标识保存在所述缓存中,将不对所述正规化请求再一次进行安全分析。
举例说明,当判断出所述缓存中已经保存了所述标识可以理解为所述正规化请求已经通过了安全分析,且根据所述安全分析的结果可以保存在所述缓存中。在导致所述标识保存在所述缓存中那次安全分析中,所述正规化请求在正规化之前的数据请求A可以与S101中获取的所述数据请求不同。在现有技术中需要在获取所述数据请求A时对所述数据请求A进行一次安全分析,通过S101获取所述数据请求时再对所述数据请求再进行一次安全分析,一共进行两次安全分析。而在本发明实施例中,即使分别接收到了所述数据请求A和所述数据请求,也只需在获取所述数据请求A时对通过对所述数据请求A正规化后的所述正规化请求进行一次安全分析即可,避免了重复分析,提高了安全分析的效率。
还需要注意的是,还需要结合数据请求中携带的用户信息(client)和时间戳(timestamp)进行所述安全分析。
通过上述实施例可见,通过对所述数据请求进行正规化,并设置对应的标识,当缓存中保存了所述标识时,可以确定具有相同正规化请求的其他数据请求的所述正规化请求已经被安全分析过了。由此所述数据请求的所述正规化请求不具有再一次执行安全分析的必要,或者说具有相同正规化请求的不同数据请求可以只需安全分析一次。相对现有技术中对每一个数据请求均要安全分析的方式,本发明免去了不必要的重复安全分析,减少了安全分析的次数,提高安全分析的效率。
实施例二
在实施例一的基础上,本实施例将继续对正规化请求的安全分析以及是否将标识保存所述缓存进行说明。在图1所对应实施例的基础上,图2为本发明实施例提供的一种数据请求处理方法的方法流程图,所述方法包括:
S201:获取数据库的数据请求,所述数据请求是根据对应的数据库请求协议生成的。
S202:将所述数据请求根据所述数据库请求协议进行正规化,得到正规化请求,所述正规化具体为确定出所述数据请求中符合所述数据库请求协议的固定范式的固定部分和使用预设字符代替所述数据请求中的变量部分,所述正规化请求包括所述固定部分,原变量部分所在位置由预设字符代替。
S203:为所述正规化请求设置对应的标识。
S204:判断缓存中是否保存有所述标识,
如果是,触发S205;如果否,触发S206。
S205:确定所述正规化请求已经执行过安全分析并将所述标识保存在所述缓存中,将不对所述正规化请求再一次进行安全分析。
S206:对所述正规化请求进行安全分析。
举例说明,当判断出所述缓存中没有保存所述标识,可以理解为两种情况,第一种情况是所述正规化请求尚未被安全检测系统进行安全分析;第二种情况是所述正规化请求已经被安全分析过了,但是由于还具有再一次安全分析的必要,故所述正规化请求对应的标识没有被允许保存在所述缓存中。针对所述第二种情况,将在稍后进行详细说明。
S207:根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识。
举例说明,根据安全分析结果的不同,可以针对性的选择是否将所述标识保存在缓存中。可选的,本发明实施例给出了一种根据安全分析结果判断是否将所述正规化请求的所述标识保存到所述缓存中的方法。
所述根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识,具体包括:
若根据所述安全分析的结果确定所述正规化请求的危险级别高于预设范围,不在所述缓存中保存所述正规化请求对应的所述标识。
若根据所述安全分析的结果确定所述正规化请求的危险级别低于所述预设范围,在所述缓存中保存所述正规化请求对应的所述标识。
举例说明,通过安全分析,可以确定所述正规化请求是否具有安全漏洞,还可以确定所述正规化请求可能造成安全漏洞的程度或者说危险级别的高低。若一个正规化请求属于容易被黑客利用作为攻击手段的请求类型,或者是属于黑客常用连续攻击中的中间语句,那么该正规化请求通过安全分析后被确定出的危险级别就会比较高。若所述正规化请求的危险级别高于安全检测系统可容忍范围,可以理解为成为高危攻击事件的可能,那么为了保证数据库的安全程度,不会将所述正规化请求的标识保存在所述缓存中,每一次遇到所述正规化请求,都将对其进行一次安全分析,以杜绝可能会出现的安全漏洞。
当所述正规化请求的危险级别处于安全检测系统的可容忍范围内,那么证明所述正规化请求被黑客用于攻击的可能性较低,或者属于成为一般攻击事件的级别,可以将所述正规化请求的标识保存在所述缓存中,下一次再遇到所述正规化请求时可以不再对其进行安全分析,提高了安全分析的效率。
需要注意的是,用于保存标识的所述缓存容量有限,一般不能将所有标识都保存在所述缓存中,需要对所述缓存中保存的标识进行有效的淘汰更新。本发明实施例提供了一种优选的缓存淘汰方式,能够针对本发明技术方案的特点有效的对所述缓存中的标识进行管理。
通过使用LIRS算法,一种缓存替换算法。可以有效的将所述缓存中不常用的标识移除,为常用的标识释放存储空间,进一步提高了本发明的实用性。通过附图对所述LIRS算法进行说明,图3为本发明实施例提供的一种LIRS算法的算法流程图,如图3所示,LIRS算法中,将所述缓存中的标识分为两个栈,分别是栈S(图3中的stack S)和栈Q(图3中的stackQ)。通过页面最近两次被访问的间隔(Inter-Reference Recency,IRR)作为量化基础。
图3中所示的方形图标为LIR页面或标识,圆形实心图标为常驻的(resident)页面最近两次被访问的间隔长(High Inter-Reference Recency,HIR)页面或标识,圆形空心图标为非常驻的(non-resident)HIR页面或标识。所有最近被访问的页面被放置于栈S,所有的常驻HIR页面被放置于栈Q。
LIRS算法中,当栈S中的一个页面被访问时,其就会被移至栈S的顶部,同时要确保栈S的尾部的页面为LIR页面。依据上述LIRS算法准则,在(a)部分的情况下,若页面B被访问,就会得到(b)部分所示情况。
当栈S中的的一个HIR页面被访问时,该HIR页面就会转变为LIR页面,相应的栈S底部的LIR页面会转变为HIR页面,并移至栈Q的顶部,在(a)部分的情况下,若页面E被访问,就会得到(c)部分所示情况。
当栈S和栈Q中的页面都不命中时,就得考虑常驻页面的替换,首先被替换出去的是处于栈Q底部的常驻HIR页面。在(a)部分的情况下,若页面D被访问,就会得到(d)部分所示情况。在(a)部分的情况下,若页面C被访问,就会得到(e)部分所示情况。
可见,通过LIRS算法,可以有效的淘汰所述缓存中标识,为其他标识腾出存储空间,提高所述缓存存储空间的利用率。
可选的,本发明实施例还提供了一种用于所述缓存更新的统计方法,统计所述判断缓存中是否保存有所述标识的判断结果为是的次数;结合所述次数对所述缓存中保存的标识进行维护。
也就是说,通过统计次数,可以获知所述标识在缓存中每个统计周期内(例如一小时或者一天)被判断是否保存的次数。通过分析一个标识在每个统计周期的次数和数量和变化,来确定该标识是否需要被固定保存在所述缓存中,或者不再需要被固定保存在所述缓存中。由此进一步提高了所述缓存资源的利用效率。
实施例三
图4为本发明实施例提供的一种数据请求实时处理装置的装置结构图,包括:
获取单元401,用于获取数据库的数据请求,所述数据请求是根据对应的数据库请求协议生成的。
举例说明,所述数据请求可以理解为是符合安全分析规则的数据请求。所述数据请求中的内容格式需要符合所述数据库所运行的数据库请求协议。
SQL是一种通用的数据库请求协议。故可选的,所述数据请求具体为SQL请求。安全检测系统可以通过分析数据库的SQL请求来识别系统风险,进行安全认证。SQL请求中的内容格式需要符合SQL的要求,可以理解为SQL请求中的内容格式必须使用SQL所规定的范式。
正规化单元402,用于将所述数据请求根据所述数据库请求协议进行正规化,得到正规化请求,所述正规化具体为确定出所述数据请求中符合所述数据库请求协议的固定范式的固定部分和使用预设字符代替所述数据请求中的变量部分,所述正规化请求包括所述固定部分,原变量部分所在位置由预设字符代替。
举例说明,通过所述正规化,可以从所述数据请求的内容中确定出固定的内容,例如符合所述数据库请求协议的固定语句等,不同数据库请求协议的固定语句、范式可以不同。并可以使用预设字符替换所述数据请求内容中的变量部分,所述变量部分可以理解为内容中非固定语句的部分,或者是冗余信息。
对所述数据请求进行正规化的好处是,多个数据请求可以通过正规化得到一个相同的正规化请求,这样在对该正规化请求进行一次安全分析就可以相当于同时对该多个数据请求进行了安全分析。而且,对该多个数据请求进行的多次安全分析从实质上来说,得到的分析结果肯定相同,属于重复分析,直接导致系统资源浪费,降低安全分析效率。而通过正规化处理后,相当于对数据请求进行了合并,避免了上述重复分析的出现。
设置单元403,用于为所述正规化请求设置对应的标识。
举例说明,可以使用预设的规则得到所述标识,例如可以是通过预设规则配置的,也可以是通过预设算法对所述正规化请求计算得出的。本发明实施例提供了一种优选的为所述正规化请求设置对应的标识的方式,所述设置单元403对所述正规化请求进行哈希计算,将所述哈希计算的结果(hash_code)作为所述正规化请求对应的所述标识。
判断单元404,用于判断缓存中是否保存有所述标识,如果是,触发确定单元405。
所述确定单元405,用于确定所述正规化请求已经执行过安全分析并将所述标识保存在所述缓存中,将不对所述正规化请求再一次进行安全分析。
举例说明,当判断出所述缓存中已经保存了所述标识可以理解为所述正规化请求已经通过了安全分析,且根据所述安全分析的结果可以保存在所述缓存中。在导致所述标识保存在所述缓存中那次安全分析中,所述正规化请求在正规化之前的数据请求A可以与所述获取单元401中获取的所述数据请求不同。在现有技术中需要在获取所述数据请求A时对所述数据请求A进行一次安全分析,通过所述获取单元401获取所述数据请求时再对所述数据请求再进行一次安全分析,一共进行两次安全分析。而在本发明实施例中,即使分别接收到了所述数据请求A和所述数据请求,也只需在获取所述数据请求A时对通过对所述数据请求A正规化后的所述正规化请求进行一次安全分析即可,避免了重复分析,提高了安全分析的效率。
还需要注意的是,还需要结合数据请求中携带的用户信息(client)和时间戳(timestamp)进行所述安全分析。
通过上述实施例可见,通过对所述数据请求进行正规化,并设置对应的标识,当缓存中保存了所述标识时,可以确定具有相同正规化请求的其他数据请求的所述正规化请求已经被安全分析过了。由此所述数据请求的所述正规化请求不具有再一次执行安全分析的必要,或者说具有相同正规化请求的不同数据请求可以只需安全分析一次。相对现有技术中对每一个数据请求均要安全分析的方式,本发明免去了不必要的重复安全分析,减少了安全分析的次数,提高安全分析的效率。
实施例四
在图4所对应实施例的基础上,图5为本发明实施例提供的一种数据请求实时处理装置的装置结构图,还包括:
如果所述判断单元404的判断结果为否,触发处理单元501;
所述处理单元501,用于对所述正规化请求进行安全分析。
举例说明,当判断出所述缓存中没有保存所述标识,可以理解为两种情况,第一种情况是所述正规化请求尚未被安全检测系统进行安全分析;第二种情况是所述正规化请求已经被安全分析过了,但是由于还具有再一次安全分析的必要,故所述正规化请求对应的标识没有被允许保存在所述缓存中。针对所述第二种情况,将在稍后进行详细说明。
保存单元502,用于根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识。
举例说明,根据安全分析结果的不同,可以针对性的选择是否将所述标识保存在缓存中。
可选的,所述保存单元502具体用于若根据所述安全分析的结果确定所述正规化请求的危险级别高于预设范围,不在所述缓存中保存所述正规化请求对应的所述标识。
所述保存单元502具体用于若根据所述安全分析的结果确定所述正规化请求的危险级别低于所述预设范围,在所述缓存中保存所述正规化请求对应的所述标识。
举例说明,通过安全分析,可以确定所述正规化请求是否具有安全漏洞,还可以确定所述正规化请求可能造成安全漏洞的程度或者说危险级别的高低。若一个正规化请求属于容易被黑客利用作为攻击手段的请求类型,或者是属于黑客常用连续攻击中的中间语句,那么该正规化请求通过安全分析后被确定出的危险级别就会比较高。若所述正规化请求的危险级别高于安全检测系统可容忍范围,可以理解为成为高危攻击事件的可能,那么为了保证数据库的安全程度,不会将所述正规化请求的标识保存在所述缓存中,每一次遇到所述正规化请求,都将对其进行一次安全分析,以杜绝可能会出现的安全漏洞。
当所述正规化请求的危险级别处于安全检测系统的可容忍范围内,那么证明所述正规化请求被黑客用于攻击的可能性较低,或者属于成为一般攻击事件的级别,可以将所述正规化请求的标识保存在所述缓存中,下一次再遇到所述正规化请求时可以不再对其进行安全分析,提高了安全分析的效率。
需要注意的是,用于保存标识的所述缓存容量有限,一般不能将所有标识都保存在所述缓存中,需要对所述缓存中保存的标识进行有效的淘汰更新。
在图4所对应实施例的基础上,图6为本发明实施例提供的一种缓存维护装置的装置结构图,还包括:
维护单元601,用于使用LIRS对所述缓存中保存的标识进行维护。
通过使用LIRS算法,一种缓存替换算法。可以有效的将所述缓存中不常用的标识移除,为常用的标识释放存储空间,进一步提高了本发明的实用性。
可见,通过LIRS算法,可以有效的淘汰所述缓存中标识,为其他标识腾出存储空间,提高所述缓存存储空间的利用率。
可选的,如图6所示,还包括:
统计单元602,用于统计所述判断缓存中是否保存有所述标识的判断结果为是的次数。
所述维护单元601还用于结合所述次数对所述缓存中保存的标识进行维护。
也就是说,通过统计次数,可以获知所述标识在缓存中每个统计周期内(例如一小时或者一天)被判断是否保存的次数。通过分析一个标识在每个统计周期的次数和数量和变化,来确定该标识是否需要被固定保存在所述缓存中,或者不再需要被固定保存在所述缓存中。由此进一步提高了所述缓存资源的利用效率。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种数据请求实时处理方法,其特征在于,所述方法包括:
获取数据库的数据请求,所述数据请求是根据对应的数据库请求协议生成的;
将所述数据请求根据所述数据库请求协议进行正规化,得到正规化请求,所述正规化具体为确定出所述数据请求中符合所述数据库请求协议的固定范式的固定部分和使用预设字符代替所述数据请求中的变量部分,所述正规化请求包括所述固定部分,原变量部分所在位置由预设字符代替,多个数据请求通过正规化得到一个相同的正规化请求;
为所述正规化请求设置对应的标识;
判断缓存中是否保存有所述标识,其中,缓存中存储的标识是经过安全分析且危险级别低于预设范围的正规化请求的标识;
如果是,确定所述正规化请求已经执行过安全分析并将所述标识保存在所述缓存中,将不对所述正规化请求再一次进行安全分析。
2.根据权利要求1所述的方法,其特征在于,所述判断缓存中是否保存有所述标识,还包括:
如果否,对所述正规化请求进行安全分析;
根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识。
3.根据权利要求2所述的方法,其特征在于,所述根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识,具体包括:
若根据所述安全分析的结果确定所述正规化请求的危险级别高于预设范围,不在所述缓存中保存所述正规化请求对应的所述标识;
若根据所述安全分析的结果确定所述正规化请求的危险级别低于所述预设范围,在所述缓存中保存所述正规化请求对应的所述标识。
4.根据权利要求1所述的方法,其特征在于,所述为所述正规化请求设置对应的标识,具体包括:
对所述正规化请求进行哈希计算,将所述哈希计算的结果作为所述正规化请求对应的所述标识。
5.根据权利要求1至4任一项所述的方法,其特征在于,还包括:
使用页面最近两次被访问的间隔短的算法LIRS对所述缓存中保存的标识进行维护。
6.根据权利要求1至4任一项所述的方法,其特征在于,
所述数据请求具体为结构化查询语言SQL请求。
7.根据权利要求5任一项所述的方法,其特征在于,还包括:
统计所述判断缓存中是否保存有所述标识的判断结果为是的次数;
结合所述次数对所述缓存中保存的标识进行维护。
8.一种数据请求实时处理装置,其特征在于,包括:
获取单元,用于获取数据库的数据请求,所述数据请求是根据对应的数据库请求协议生成的;
正规化单元,用于将所述数据请求根据所述数据库请求协议进行正规化,得到正规化请求,所述正规化具体为确定出所述数据请求中符合所述数据库请求协议的固定范式的固定部分和使用预设字符代替所述数据请求中的变量部分,所述正规化请求包括所述固定部分,原变量部分所在位置由预设字符代替,多个数据请求通过正规化得到一个相同的正规化请求;
设置单元,用于为所述正规化请求设置对应的标识;
判断单元,用于判断缓存中是否保存有所述标识,如果是,触发确定单元,其中,缓存中存储的标识是经过安全分析且危险级别低于预设范围的正规化请求的标识;
所述确定单元,用于确定所述正规化请求已经执行过安全分析并将所述标识保存在所述缓存中,将不对所述正规化请求再一次进行安全分析。
9.根据权利要求8所述的装置,其特征在于,还包括:
如果所述判断单元的判断结果为否,触发处理单元;
所述处理单元,用于对所述正规化请求进行安全分析;
保存单元,用于根据所述安全分析的结果在所述缓存中保存所述正规化请求对应的所述标识。
10.根据权利要求9所述的装置,其特征在于,
所述保存单元具体用于若根据所述安全分析的结果确定所述正规化请求的危险级别高于预设范围,不在所述缓存中保存所述正规化请求对应的所述标识;
所述保存单元具体用于若根据所述安全分析的结果确定所述正规化请求的危险级别低于所述预设范围,在所述缓存中保存所述正规化请求对应的所述标识。
11.根据权利要求8所述的装置,其特征在于,
所述正规化单元具体用于对所述正规化请求进行哈希计算,将所述哈希计算的结果作为所述正规化请求对应的所述标识。
12.根据权利要求8至11任一项所述的装置,其特征在于,还包括:
维护单元,用于使用页面最近两次被访问的间隔短的算法LIRS对所述缓存中保存的标识进行维护。
13.根据权利要求8至11任一项所述的装置,其特征在于,
所述数据请求具体为结构化查询语言SQL请求。
14.根据权利要求12任一项所述的装置,其特征在于,还包括:
统计单元,用于统计所述判断缓存中是否保存有所述标识的判断结果为是的次数;
所述维护单元还用于结合所述次数对所述缓存中保存的标识进行维护。
CN201510250823.4A 2015-05-15 2015-05-15 一种数据请求实时处理方法和装置 Active CN106294375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510250823.4A CN106294375B (zh) 2015-05-15 2015-05-15 一种数据请求实时处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510250823.4A CN106294375B (zh) 2015-05-15 2015-05-15 一种数据请求实时处理方法和装置

Publications (2)

Publication Number Publication Date
CN106294375A CN106294375A (zh) 2017-01-04
CN106294375B true CN106294375B (zh) 2020-04-10

Family

ID=57631921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510250823.4A Active CN106294375B (zh) 2015-05-15 2015-05-15 一种数据请求实时处理方法和装置

Country Status (1)

Country Link
CN (1) CN106294375B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909518B (zh) * 2017-01-24 2020-06-26 朗坤智慧科技股份有限公司 一种实时数据缓存机制
CN107294953B (zh) * 2017-05-18 2020-04-28 深信服科技股份有限公司 攻击操作检测方法及装置
CN113408854A (zh) * 2021-05-19 2021-09-17 常州大学 一种基于bim技术的建筑全生命周期环境影响评价管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577561A (zh) * 2013-10-24 2014-02-12 华为技术有限公司 执行计划的存储方法、装置及系统
CN104008349A (zh) * 2014-04-28 2014-08-27 国家电网公司 数据库安全访问控制方法和系统
CN104077284A (zh) * 2013-03-26 2014-10-01 中国移动通信集团湖北有限公司 一种数据安全访问方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246918B2 (en) * 2013-05-10 2016-01-26 Airwatch Llc Secure application leveraging of web filter proxy services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077284A (zh) * 2013-03-26 2014-10-01 中国移动通信集团湖北有限公司 一种数据安全访问方法及系统
CN103577561A (zh) * 2013-10-24 2014-02-12 华为技术有限公司 执行计划的存储方法、装置及系统
CN104008349A (zh) * 2014-04-28 2014-08-27 国家电网公司 数据库安全访问控制方法和系统

Also Published As

Publication number Publication date
CN106294375A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
US11956272B2 (en) Identifying legitimate websites to remove false positives from domain discovery analysis
CN105590055B (zh) 用于在网络交互系统中识别用户可信行为的方法及装置
CN109495467B (zh) 拦截规则的更新方法、设备及计算机可读存储介质
CN110033302B (zh) 恶意账户识别方法及装置
CN109670091B (zh) 一种基于数据标准的元数据智能维护方法和装置
CN110110160B (zh) 确定数据异常的方法及装置
CN106294375B (zh) 一种数据请求实时处理方法和装置
CN113111951B (zh) 数据处理方法以及装置
CN112364014B (zh) 数据查询方法、装置、服务器及存储介质
CN112732693B (zh) 智能化物联网数据采集方法、装置、设备及存储介质
CN116708369B (zh) 网络应用信息合并方法、装置、电子设备和存储介质
CN105718599A (zh) 数据库访问数据包解析的方法及装置
CN113849595A (zh) 一种基层治理事件类型识别方法及系统
CN108337100B (zh) 一种云平台监测的方法和装置
CN115174205B (zh) 一种网络空间安全实时监测方法、系统及计算机存储介质
CN112118189A (zh) 一种流量采样方法、计算机设备及计算机可读存储介质
CN113297583B (zh) 漏洞风险分析方法、装置、设备及存储介质
CN105897776A (zh) 一种基于云计算系统的安全管控方法及系统
CN111090787A (zh) 一种消息处理方法、设备、系统及存储介质
CN111209284B (zh) 基于元数据的分表方法及装置
CN112528339A (zh) 一种基于Caché数据库的数据脱敏方法及电子设备
CN111949363A (zh) 业务访问的管理方法、计算机设备、存储介质及系统
CN110333968A (zh) 应用于数据库的数据管理方法、装置及计算机设备
CN111125685A (zh) 一种网络安全态势的预测方法及装置
CN117336097B (zh) 一种基于大数据的网络信息安全管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231228

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox

Patentee before: ALIBABA GROUP HOLDING Ltd.