CN104077530A - 用于评估数据访问语句的安全性的方法和装置 - Google Patents
用于评估数据访问语句的安全性的方法和装置 Download PDFInfo
- Publication number
- CN104077530A CN104077530A CN201310102163.6A CN201310102163A CN104077530A CN 104077530 A CN104077530 A CN 104077530A CN 201310102163 A CN201310102163 A CN 201310102163A CN 104077530 A CN104077530 A CN 104077530A
- Authority
- CN
- China
- Prior art keywords
- correlation rule
- harm
- infection
- density
- session
- 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.)
- Pending
Links
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的各实施方式提供了一种用于评估数据访问语句的安全性的方法和装置。具体地。在本发明的一个实施方式中,提供了一种用于评估数据访问语句的安全性的方法,包括:评估对数据库进行访问的多个会话中包括的多个SQL语句的危害度;从多个会话生成危害项集,危害项集中的每个元素指示在一个会话中包括的一个或者多个SQL语句;从危害项集提取至少一个关联规则,至少一个关联规则中的每个关联规则指示在一个会话中包括的SQL语句的序列;以及计算至少一个关联规则中的每个关联规则的危害度和置信度。在本发明的一个实施方式中,提供了一种用于评估数据访问语句的安全性的装置。
Description
技术领域
本发明的各实施方式涉及数据库,更具体地,涉及用于评估数据访问语句的安全性的方法和装置。
背景技术
随着计算机硬件技术以及软件技术的发展,数据库系统已经能够向广大用户提供越来越大的数据存储能力,并且对于这些数据库系统的访问安全性也有了极大的提高。目前,随着诸如银行、保险等企业的网络办公自动化,其中存储有广大用户的敏感信息的数据库系统已经成为重点保护对象。目前已经开发出基于数据挖掘技术,通过分析对数据库进行访问的结构化查询语言(Structured QueryLanguage,SQL)语句的安全等级,以便确保数据库安全的方法,目前这些方法已经能够检测单独SQL语句的安全性威胁。
随着数据库的日益复杂,单独的SQL语句往往不能满足用户的查询需求,并且目前在对数据库进行访问期间通常会涉及到多个SQL语句。基于历史经验可知,尽管某些单独的SQL语句对于数据库中的敏感信息可能并不存在风险(或者风险较低),然而当在一个会话中所涉及的多个SQL语句相结合时,则有可能产生严重的安全隐患。
现有的安全保障措施并不能评估SQL语句序列对于数据库的潜在风险,因而,如何评估包括多个SQL语句的序列的安全性成为目前数据库领域中的一个研究重点。
发明内容
因而,期望开发出一种能够评估包括多个SQL语句的会话的风险的技术方案,期望该技术方案能够在充分考虑到该会话中的每个单独SQL语句的潜在风险评级的同时,将多个单独的SQL语句进行结合,并且从整体上评价该会话的潜在风险。进一步,期望能够从历史会话中提取评估标准,并基于该标准来处理未来对数据库系统进行访问的会话。例如根据该评估标准来针对会话来采取相应的动作(例如,允许该会话、禁止该会话或者发出警报等),进而提高数据库系统的安全性。
根据本发明的一个方面,提供了一种用于评估数据访问语句的安全性的方法,包括:评估对数据库进行访问的多个会话中包括的多个SQL语句的危害度;从多个会话生成危害项集(critical item set),危害项集中的每个元素指示在一个会话中包括的一个或者多个SQL语句;从危害项集提取至少一个关联规则,至少一个关联规则中的每个关联规则指示在一个会话中包括的SQL语句的序列;以及计算至少一个关联规则中的每个关联规则的危害度。
在本发明的一个实施方式中,进一步包括:根据至少一个关联规则中的每个关联规则的危害度,将至少一个关联规则进行排序;以及根据排序来指定对应于至少一个关联规则中的每个关联规则的安全策略。
在本发明的一个实施方式中,进一步包括:响应于接收到对数据库进行访问的当前会话,在至少一个关联规则中搜索与当前会话相匹配的关联规则;以及基于对应于相匹配的关联规则的安全策略,处理当前会话。
在本发明的一个实施方式中,提供了一种用于评估数据访问语句的安全性的装置,包括:评估模块,配置用于评估对数据库进行访问的多个会话中包括的多个SQL语句的危害度;生成模块,配置用于从多个会话生成危害项集,危害项集中的每个元素指示在一个会话中包括的一个或者多个SQL语句;提取模块,配置用于从危害项集提取至少一个关联规则,至少一个关联规则中的每个关联规则指示在一个会话中包括的SQL语句的序列;以及计算模块,配置用于计算至少一个关联规则中的每个关联规则的危害度。
在本发明的一个实施方式中,进一步包括:排序模块,配置用于根据至少一个关联规则中的每个关联规则的危害度,将至少一个关联规则进行排序;以及指定模块,配置用于根据排序来指定对应于至少一个关联规则中的每个关联规则的安全策略。
在本发明的一个实施方式中,进一步包括:搜索模块,配置用于响应于接收到对数据库进行访问的当前会话,在至少一个关联规则中搜索与当前会话相匹配的关联规则;以及处理模块,配置用于基于对应于相匹配的关联规则的安全策略,处理当前会话。
采用本发明的各个实施方式所述的技术方案,可以充分考虑到一个会话中的多个SQL语句之间的关系,从历史会话中提取关联规则,并计算关联规则对于数据库系统的风险等级,以便作为对数据库系统进行的后续访问的安全规则。进一步,还可以根据关联规则的危害度来设置相应的安全策略,以便处理未来的会话。采用本发明的技术方案,可以基于历史数据来预期未来的数据访问会话的安全等级,进而提高数据库系统的安全性。
附图说明
结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
图1示意性示出了适于实现本发明实施方式的示例性计算系统的框图;
图2A和图2B分别示意性示出了对数据库进行访问的SQL语句和包括多个SQL语句的会话的示意图;
图3示意性示出根据本发明一个实施方式的从历史会话中提取关联规则的架构图;
图4示意性示出了根据本发明一个实施方式的用于评估数据访问语句的安全性的方法的流程图;
图5示意性示出了根据本发明一个实施方式的用于基于关联规则来处理针对数据库进行访问的当前会话的架构图;
图6示意性示出了根据本发明一个实施方式的处理对数据库进行访问的当前会话的流程图;以及
图7示意性示出了根据本发明一个实施方式的用于评估数据访问语句的安全性的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图2A和图2B分别示意性示出了对数据库进行访问的SQL语句和包括多个SQL语句的会话的示意图200A和200B。如图2A所示,可以单独执行单一的SQL语句220A(例如,单独执行SQL1、SQL2、...)来访问数据库210A(如箭头A1)所示。当某SQL语句旨在访问数据库系统中的敏感信息(例如,银行账号、账户余额、密码、身份证号码等)时,易于将该SQL语句标识为高度危险的SQL语句。然而,当某些危险较低甚至毫无危险的SQL语句组合在一起(例如,形成一个会话)执行时,则难以辨别该会话的危险等级。
如图2B所示,在现有的数据库访问期间,通常每个会话中都涉及多个SQL语句。在如图200B所示的数据库访问中,一个会话220B可以包括按顺序执行的多个SQL语句,例如,会话1包括SQL1、SQL2和SQL3,会话2包括SQL1、SQL3和SQL5,等等。本领域技术人员应当理解,在判断一个会话是否有可能危害数据库的安全时可以考虑两方面的因素,一是会话中所包括的SQL语句本身的内容,二是各个SQL语句的执行顺序。如图2B所示,当会话220B访问数据库210B(如箭头A2所示)时,需要提供一种预测会话的潜在风险的技术方案。
为了克服现有技术仅能针对单独SQL语句给出安全性预测的不足,本发明的各个实施方式提出了一种技术方案,该技术方案基于对历史会话中的SQL语句进行分析才形成安全性标准,进而基于该安全性标准来预测包括多个SQL语句的会话的安全性评级。在本发明的一个实施方式中,提出了危害度(criticality)的概念,危害度可以表示利用一个或者多个SQL语句访问数据库系统时的安全性评级。在下文中将结合附图进行详细描述。
应当注意,本发明的各个实施方式是基于数据挖掘基于的原理而实现的,在下文中将首先介绍本发明中所涉及的数据挖掘领域的术语的含义。
关联规则(Association Rule)指示事件之间的联系,关联规则例如可以采用“A->B”来表示事件A和B之间的联系,其中可以将A称为“前件(antecedent)”,而将B称为“后件(consequent)”。
支持度(support)的计算公式为,Support(A->B)=P(A∪B)。支持度指示事件A和B同时出现的频率。具体而言,如果事件A和B一起出现的频率非常小,则说明事件A和B之间的联系并不大;但如果事件A和B一起出现的频率非常高,则表明事件A和B总是相关联的。
置信度(confidence)的计算公式为Confidence(A->B)=p(A|B)。置信度是指在事件A出现时,事件B是否会出现或者出现的概率如何。例如,如果Confidence(A->B)=1,则表示事件A和B一定会出现;而如果Confidence(A->B)的数值相当低,则表明事件A的出现与事件B是否出现关系不大。
图3示意性示出根据本发明一个实施方式的从历史会话中提取关联规则的架构图300。如图3所示,可以从对数据库系统进行访问的历史会话310中所包括的SQL语句中提取关联规则320。继而,在对数据库进行的后续访问中,可以基于与关联规则相对应的风险等级,判断一历史会话中包括的多个SQL语句是否将对数据库系统造成潜在的风险。概括而言,在此关联规则320可以定义SQL语句之间的前后依赖关系,例如,在一个会话中,如果SQL2在SQL1之后执行,则可以提取得到关联规则(SQL1->SQL2)。
具体地,根据本发明的一个实施方式,提出了一种用于评估数据访问语句的安全性的方法,包括:评估对数据库进行访问的多个会话中包括的多个SQL语句的危害度;从多个会话生成危害项集,危害项集中的每个元素指示在一个会话中包括的一个或者多个SQL语句;从危害项集提取至少一个关联规则,至少一个关联规则中的每个关联规则指示在一个会话中包括的SQL语句的序列;以及计算至少一个关联规则中的每个关联规则的危害度和置信度。
如图4所示,该图示意性示出了根据本发明一个实施方式的用于评估数据访问语句的安全性的方法的流程图400。首先,在步骤S402中,评估对数据库进行访问的多个会话中包括的多个SQL语句的危害度。应当注意,在该多个会话中包括的多个SQL中,可能会存在相同的部分。因而针对相同的两个或者更多SQL语句可以仅执行一次计算操作。
在本发明的上下文中,SQL语句的危害度可以理解为使用该SQL语句来访问数据库系统时的安全性评级,危害度越高则该SQL语句对于数据库系统的潜在威胁越大,反之则潜在风险越小。
在本发明的一个实施方式中,可以根据业务需求来将SQL语句进行拆分并进行分析。例如,当某SQL语句需要在数据库系统中查询包括敏感信息的数据库表时,可以认为该SQL语句的危害度较高;当该SQL语句所访问的数据库表中并不包括任何敏感信息时,可以认为该SQL语句的危害度较低。具体地,本领域技术人员可以根据数据库系统相关联的具体业务需求,来设计和实现用于计算单独SQL语句的危害度的算法。
在步骤S404中,从多个会话生成危害项集,危害项集中的每个元素指示在一个会话中包括的一个或者多个SQL语句。
本发明的实施方式可以基于数据挖掘技术来从访问数据库系统的历史会话中提取关联规则。可以将危害项集中的各个项称作元素,其中每个元素可以包括包含在一个会话中的一个或者多个SQL语句。根据每个元素中包括的SQL语句的数量,可以将危害项集进行分类。具体地,当每个元素包括一个SQL语句时,可以将该危害项集称为危害1项集(critical1-item set),而当每个元素包括n个SQL语句时,可以将该危害项集称为危害n项集(critical n-item set)。在此所述的危害项集可以包括危害1项集、危害2项集、...危害n项集。
在步骤S406中,从危害项集提取至少一个关联规则,至少一个关联规则中的每个关联规则指示在一个会话中包括的SQL语句的序列。在本发明的一个实施方式中,关联规则描述两方面的内容,1)在一个会话中可以包括哪些SQL语句;以及2)这些SQL语句之间的执行顺序。例如,可以基于在步骤S404中所获得的危害2项集、危害3项集、...,来分别提取相应的包括2个SQL语句、3个SQL语句、...、的关联规则。
在步骤S408中,计算至少一个关联规则中的每个关联规则的危害度和置信度。类似于上文所述的单独SQL语句的危害度,在此所述的关联规则的危害度是指在按顺序执行关联规则中的各个SQL语句时,该SQL语句的序列对于数据库系统的安全性评级。通过计算关联规则的危害度,可以基于历史会话来评价包括多个SQL语句的SQL语句序列的安全性,进而为评估在未来可能出现的会话的安全性提供依据。
在下文中,将参见具体示例示出根据本发明的方法的实现。例如,如表1示出了用于从中提取关联规则的各个历史会话中包括的SQL语句。
表1历史会话的原始集合
序号 | 会话名称 | SQL语句 |
1 | 会话1 | SQL1、SQL2、SQL3 |
2 | 会话2 | SQL1、SQL3、SQL5 |
3 | 会话3 | SQL2、SQL4、SQL5 |
4 | 会话4 | SQL2 |
5 | 会话5 | SQL2、SQL3 |
6 | 会话6 | SQL1、SQL5 |
在本发明的一个实施方式中,可以采用较为保守方式来计算单个SQL语句的危害度。例如,可以仅在确定一SQL语句不会对数据库系统产生任何潜在风险时,将该SQL语句的危害度设置为第一阈值(例如,0)。本领域技术人员可以基于上文所述的方法来自行设计用于计算每个SQL语句的危害度的公式。当采用取值范围在[0,1]的小数来表示一个SQL语句的危害度时,SQL1-SQL5的危害度可以如下文表2所示。
表2SQL语句的危害度数值
序号 | SQL语句 | 危害度 |
1 | SQL1 | 0 |
2 | SQL2 | 0.3 |
3 | SQL3 | 0.4 |
4 | SQL4 | 0 |
5 | SQL5 | 0 |
在本发明的一个实施方式中,从多个会话生成危害项集包括:基于多个SQL语句的危害度来从多个会话中过滤得出至少一部分会话;以及从至少一部分会话生成危害项集。本发明的实施方式基于数据挖掘技术来生成危害项集,此时可以首先过滤掉对于数据库不会产生潜在风险的会话,以便降低用于生成危害项集时所基于的会话的数量,进而降低数据挖掘期间的计算量。
在本发明的一个实施方式中,基于多个SQL语句的危害度来从多个会话中过滤得出至少一部分会话包括:响应于多个会话中的一个会话所包括的全部SQL语句的危害度满足于第一阈值,从多个会话中删除会话以形成至少一部分会话。
应当注意,当一个会话中包括的全部SQL语句的危害度均为0时,可以认为该会话中SQL语句及其组合不会对数据库系统造成任何危害。此时,可以将该SQL语句从原始历史会话集合中删除。尽管在原始历史会话集合中保留满足删除条件的SQL语句并不会对所提取的关联规则的正确性造成影响;然而,由于原始历史会话集合中通常包括海量会话,因而过滤掉满足删除条件的安全的会话,这将会提高后续处理步骤的效率。针对如上文表1和表2所示的示例,由于会话6中包括的SQL1和SQL5的危害度均为0,因而可以删除会话6。在下文表3中示出了过滤后的历史会话的集合,其中该表3示出了历史会话的原始集合中的至少一部分会话。在下文中,将基于如表3中所示的会话的集合来生成危害项集。
表3过滤后的历史会话的集合
序号 | 会话名称 | SQL语句 |
1 | 会话1 | SQL1、SQL2、SQL3 |
2 | 会话2 | SQL1、SQL3、SQL5 |
3 | 会话3 | SQL2、SQL4、SQL5 |
4 | 会话4 | SQL2 |
5 | 会话5 | SQL2、SQL3 |
在本发明的一个实施方式中,从至少一部分会话生成危害项集包括:生成至少一部分会话的危害1项集,其中危害1项集中的每个元素包括一个SQL语句;在至少一个轮次中,响应于至少一部分会话的危害(n-1)项集为非空,生成至少一部分会话的危害n项集,其中n≥2以及危害n项集中的每个元素包括n个有序排列的SQL语句。
基于如上文表3所示的过滤后的历史会话的集合,可以在多个轮次中逐步生成危害1项集、危害2项集、...。继续上文表1-表3中的示例,现在将逐步描述生成危害项集的步骤。首先,基于如表3所示的过滤后的会话集合来生成危害1项集,该危害1项集中的每个元素可以包括一个SQL语句。具体地,危害1项集中的各个元素可以分别是SQL1、SQL2、...、SQL5。基于数据挖掘的原理以及上文所述的方法,可以计算与危害1项集中的每个元素(即,每个SQL语句)相对应的危害度和支持度。在下文表4中示出了危害1项集的内容。
表4危害1项集
序号 | 元素 | 危害度 | 支持度 |
1 | SQL1 | 0 | 0.4 |
2 | SQL2 | 0.3 | 0.8 |
3 | SQL3 | 0.4 | 0.6 |
4 | SQL4 | 0 | 0.2 |
5 | SQL5 | 0 | 0.4 |
基于危害1项集的内容,可以生成危害2项集。危害2项集中的元素包括2个有序排列的SQL语句。此时,可以按照排列组合的规则,在危害1项集中的元素之后分别添加有可能在元素1中包括的SQL语句后续执行的SQL语句。例如,对于在表4中所示的元素1(SQL1),在SQL1之后可以执行SQL2、SQL3、SQL4、SQL5,以此方式可以构造得出危害2项集的前5行。本领域技术人员还可以基于如表4中所示的元素2(SQL2),来构造危害2项集,依此类推。在下文表5中示出了危害2项集中包括的元素,之后可以计算与每个元素相对应的危害度和支持度。
表5危害2项集
序号 | 元素 | 危害度 | 支持度 |
1 | SQL1,SQL2 | 0.3*ξ | 0.2 |
2 | SQL1,SQL3 | 0.4*ξ | 0.4 |
3 | SQL1,SQL4 | 0 | 0 |
4 | SQL1,SQL5 | 0 | 0.2 |
5 | SQL2,SQL3 | 1-ξ(1-0.3)*(1-0.4) | 0.4 |
6 | SQL2,SQL4 | 0 | 0.2 |
7 | SQL2,SQL5 | 0.3*ξ | 0.2 |
8 | SQL3,SQL4 | 0.4*ξ | 0 |
9 | SQL3,SQL5 | 0.4*ξ | 0.2 |
10 | SQL4,SQL5 | 0 | 0.2 |
如表5中第3列示出了针对危害2项集中的每个元素所计算的危害度数值。在计算危害度时,可以基于元素中所涉及的两个SQL语句本身的危害度,以及描述这两个SQL语句之间的关系的函数ξ来求解。例如,上文表5中所示的ξ可以是表示元素中的两个SQL语句之间的关系的函数,例如,对于第一个元素(SQL1,SQL2),函数ξ可以是以SQL1和SQL2作为自变量的函数。本领域技术人员可以自定义函数来表示。
在本发明的一个实施方式中,进一步包括:在至少一个轮次中,响应于以下中的任一项而从危害n项集中删除一元素:元素的支持度为0,元素的危害度为0。
在求解危害n项集的过程中,可能会出现某些元素中的多个SQL不会对数据库系统造成威胁的情况。此时,如果将这些元素继续保留在危害n项集中,则有可能会增加后续处理的计算量。因而可以对危害n项集进行剪枝(prune)以便提高数据挖掘的效率。
具体地,基于数据挖掘的原理可知,当危害n项集中的元素1的支持度为0时,则基于该元素1构造的危害(n+1)项集的元素2的支持度也将为0,因而该元素1对于属于无用元素,因而可以将其从危害n项集中删除。另外,如果危害n项集中的元素1的危害度为0,则基于该元素1构造的危害(n+1)项集中的危害度非零的元素2可以由危害n项集中的其他元素来生成。例如,可以基于危害2项集中的元素{SQL1,SQL2}和{SQL2,SQL5},来生成危害3项集中的元素{SQL1、SQL2,SQL5}。因而可以从危害2项集中去除元素{SQL1,SQL5}。通过采用上文所述的方法,在下文表6中示出了被剪枝后的危害2项集。
表6剪枝后的危害2项集
序号 | 元素 | 危害度 | 支持度 |
1 | SQL1,SQL2 | 0.3*ξ | 0.2 |
2 | SQL1,SQL3 | 0.4*ξ | 0.4 |
3 | SQL2,SQL3 | 1-ξ(1-0.3)*(1-0.4) | 0.4 |
4 | SQL2,SQL5 | 0.3*ξ | 0.2 |
5 | SQL3,SQL5 | 0.4*ξ | 0.2 |
在上文中已经详细描述了如何生成危害1项集以及如何基于危害1项集来生成危害2项集,本领域技术人员可以基于上文所述的原理来生成危害3项集。在下文表7中示出了危害3项集的示例。
表7危害3项集
序号 | 元素 | 危害度 | 支持度 |
1 | SQL1,SQL2,SQL3 | 1-β(1-0.3)*(1-0.4) | 0.2 |
2 | SQL1,SQL3,SQL5 | 1-β(1-0.4) | 0.2 |
3 | SQL2,SQL3,SQL5 | 1-β(1-0.3)*(1-0.4) | 0 |
在表7中,类似于上文参见表5所示的函数ξ,β可以是表示元素中的各个SQL语句之间的关系的函数。例如,对于表7中所示的第一个元素{SQL1,SQL2,SQL3},如果在三个SQL语句之间没有关系,则β可以取值为1;如果在其中的两个SQL语句之间存在某些关系,则β的数值可以小于1;如果在三个SQL语句之间存在某些关系,则β的数值可以更小。换言之,如果一个元素中的SQL语句之间的关系越密切,则β的数值越大,反之则越小。
在下文中,将详细描述如何从危害项集中提取关联规则。在本发明的一个实施方式中,从危害项集提取至少一个关联规则包括:针对危害项集中的每个元素,将元素中包括的最后一个SQL语句作为后件;将元素中的其余SQL语句作为前件;以及利用公式(前件->后件)来表示多个关联规则中的一个关联规则。
例如,对于如表5所示的危害2项集中的第一个元素{SQL1,SQL2},所提取的关联规则可以表示为(SQL1->SQL2);对于如表7所示的危害3项集中的第一个元素{SQL1,SQL2,SQL3},所提取的关联规则可以表示为(SQL1->SQL2->SQL3)。关联规则可以表示在一个会话中包括的SQL语句的序列。在已经提取关联规则之后,还需要计算每个关联规则的危害度和置信度。在下文表8中示出了从上文所示的危害项集提取的关联规则及其相关的置信度和危害度。
表8关联规则及其相关的置信度和危害度
序号 | 关联规则 | 置信度 | 危害度 |
1 | SQL1->SQL3 | 0.4/0.4=1 | 0.4*ξ |
2 | SQL3->SQL1 | 0.4/0.6=0.667 | 0.4*ξ |
3 | SQL1->SQL2 | 0.2/0.4=0.5 | 0.3*ξ |
4 | SQL2->SQL1 | 0.2/0.8=0.25 | 0.3*ξ |
5 | SQL2->SQL3 | 0.4/0.8=0.5 | 1-ξ(1-0.3)*(1-0.4)=1-0.42ξ |
6 | SQL3->SQL2 | 0.4/0.6=0.667 | 1-0.42ξ |
... | ... | ... | ... |
在本发明的一个实施方式中,计算至少一个关联规则中的每个关联规则的危害度包括:针对每个关联规则,基于关联规则中的前件的危害度、后件的危害度、以及前件和后件之间的关系,计算关联规则的危害度。
在本发明的实施方式中,关联规则的危害度的计算方法可以与上文所述的计算危害项集中的元素的危害度相同。例如,可以将基于前件的危害度和后件的危害度计算所得的结果乘以一个表示前件和后件之间关系的系数,以便更准确地表示规则的危害度。具体地,该系数可以是[0,1]范围内的数值。
在本发明的一个实施方式中,进一步包括:根据至少一个关联规则中的每个关联规则的危害度,将至少一个关联规则进行排序;以及根据排序来指定对应于至少一个关联规则中的每个关联规则的安全策略。
关联规则可以表示在一个会话中包括的SQL语句的序列,而该关联规则的危害度可以表示该序列对于数据库系统的潜在风险的评级。因而,基于危害度可以将关联规则按照风险从高到底的顺序进行排序。可以根据排序的高低来向每个安全规则赋予适当的安全策略。例如,在安全策略中可以规定:当某会话满足风险较高的关联规则时,可以终止会话;或者当某会话满足风险较低的关联规则时,可以继续该会话。
本领域技术人员可以自定义用于保存安全策略的数据结构,例如,为简单起见可以在上文表8所示的表格中加入“安全策略”的列,具体格式可以入下文表9所示。
表9关联规则及其相关的安全策略
序号 | 关联规则 | 置信度 | 危害度 | 安全策略 |
1 | SQL1->SQL3 | 0.4/0.4=1 | 0.4*ξ | 警报 |
... | ... | ... | ... | ... |
n | SQL1->SQL2->SQL3 | 0.5 | 1-β(1-0.3)*(1-0.4) | 终止 |
... | ... | ... | ... | ... |
在本发明的一个实施方式中,根据至少一个关联规则中的每个关联规则的危害度,将至少一个关联规则进行排序包括:响应于至少一个关联规则中的两个关联规则的危害度相同,针对两个关联规则中的每个关联规则,基于所述关联规则的支持度和所述关联规则中的前件的支持度,计算所述关联规则的置信度;以及根据两个关联规则的置信度将两个关联规则进行排序。
根据本发明的实施方式,已经计算了与每个关联规则相关联的危害度和置信度,危害度可以在一定程度上衡量关联规则中的SQL序列对于数据库系统的潜在风险等级,然而当两个关联规则的危害度相同时则无法对这两个关联规则进行排序。此时,由于通常置信度较高的关联规则的潜在风险更大,还可以考虑关联规则的置信度。
由于关联规则的置信度可以表示出现前件时出现后件的概率,因而置信度越高则关联规则中的前件和后件一起出现的概率越大。具体地,参见表8中的关联规则1(SQL1->SQL3)和关联规则2(SQL3->SQL1),尽管关联规则1和关联规则2的危害度相同(均为0.4*ξ),然而由于在SQL1语句之后出现SQL3语句的概率高于在SQL3语句之后出现SQL1语句的概率,因而可以认为关联规则1的潜在危害等级更高。
在本发明的一个实施方式中,进一步包括:响应于接收到对数据库进行访问的当前会话,在至少一个关联规则中搜索与当前会话相匹配的关联规则;以及基于对应于相匹配的关联规则的安全策略,处理当前会话。在下文中将参见图5详细描述。
图5示意性示出了根据本发明一个实施方式的、用于基于关联规则来处理针对数据库进行访问的当前会话的架构图500。在成功建立关联规则之后,可以利用关联规则来判断对数据库系统进行访问的会话对于数据库系统的潜在威胁。此时可以在关联规则520中查找是否存在与会话510相匹配的关联规则(如箭头A所示),继而输出相匹配的安全策略530(如箭头B所示),并基于安全策略530来决定发出警报(如箭头C1所示)、允许访问(如箭头C2所示)或者终止访问(如箭头C3所示)。
图6示意性示出了根据本发明一个实施方式的处理对数据库进行访问的当前会话的流程图600。基于从历史会话中提取的关联规则以及相应的安全策略,可以合理地处理未来对数据库系统进行访问的会话。
在步骤S602中,接收对数据库进行访问的当前会话。在此的当前会话可以是一个或者多个会话,并且本发明并不限定多个会话是并行执行还是串行执行。继而,在步骤S604中,在至少一个关联规则中搜索与当前会话相匹配的关联规则。例如,假设当前会话包括三个SQL语句:SQL1、SQL2和SQL3,则从如表9所示的关联规则中可以发现第n条关联规则(SQL1->SQL2->SQL3)匹配于当前会话。最后,在步骤S606中,基于对应于相匹配的关联规则的安全策略,处理当前会话。从与第n条关联规则相对应的安全策略“终止”可知,当前的会话属于高危会话,因而应当终止该当前会话,以避免对数据库系统可能产生的威胁。
在本发明的一个实施方式中,还可以基于对当前的会话的处理,实时地更新关联规则以及与其相关的危害度、置信度和安全规则,以便作为处理后续会话时所依据的标准。
图7示意性示出了根据本发明一个实施方式的用于评估数据访问语句的安全性的装置的框图700。具体地,图7示出了一种用于评估数据访问语句的安全性的装置,包括:评估模块710,配置用于评估对数据库进行访问的多个会话中包括的多个SQL语句的危害度;生成模块720,配置用于从多个会话生成危害项集,危害项集中的每个元素指示在一个会话中包括的一个或者多个SQL语句;提取模块730,配置用于从危害项集提取至少一个关联规则,至少一个关联规则中的每个关联规则指示在一个会话中包括的SQL语句的序列;以及计算模块740,配置用于计算至少一个关联规则中的每个关联规则的危害度。
在本发明的一个实施方式中,生成模块720包括:过滤模块,配置用于基于多个SQL语句的危害度来从多个会话中过滤得出至少一部分会话;以及第一生成模块,配置用于从至少一部分会话生成危害项集。
在本发明的一个实施方式中,过滤模块包括:删除模块,配置用于响应于多个会话中的一个会话所包括的全部SQL语句的危害度满足于第一阈值,从多个会话中删除会话以形成至少一部分会话。
在本发明的一个实施方式中,生成模块720包括:第二生成模块,配置用于生成至少一部分会话的危害1项集,其中危害1项集中的每个元素包括一个SQL语句;第三生成模块,配置用于在至少一个轮次中,响应于至少一部分会话的危害(n-1)项集为非空,生成至少一部分会话的危害n项集,其中n≥2以及危害n项集中的每个元素包括n个有序排列的SQL语句。
在本发明的一个实施方式中,进一步包括:剪枝模块,配置用于在至少一个轮次中,响应于以下中的任一项而从危害n项集中删除一元素:元素的支持度为0,元素的危害度为0。
在本发明的一个实施方式中,提取模块730包括:第一提取模块,配置用于针对危害项集中的每个元素,将元素中包括的最后一个SQL语句作为后件;第二提取模块,配置用于将元素中的其余SQL语句作为前件;以及关联模块,配置用于利用公式(前件->后件)来表示多个关联规则中的一个关联规则。
在本发明的一个实施方式中,计算模块740包括:第一计算模块,配置用于针对每个关联规则,基于关联规则中的前件的危害度、后件的危害度、以及前件和后件之间的关系,计算关联规则的危害度。
在本发明的一个实施方式中,进一步包括:排序模块,配置用于根据至少一个关联规则中的每个关联规则的危害度,将至少一个关联规则进行排序;以及指定模块,配置用于根据排序来指定对应于至少一个关联规则中的每个关联规则的安全策略。
在本发明的一个实施方式中,排序模块包括:第二计算模块,配置用于响应于所述至少一个关联规则中的两个关联规则的危害度相同,针对每个关联规则,基于所述关联规则的支持度和所述关联规则中的前件的支持度,计算所述关联规则的置信度;以及第一排序模块,配置用于根据所述两个关联规则的置信度将所述两个关联规则进行排序。
在本发明的一个实施方式中,进一步包括:搜索模块,配置用于响应于接收到对数据库进行访问的当前会话,在至少一个关联规则中搜索与当前会话相匹配的关联规则;以及处理模块,配置用于基于对应于相匹配的关联规则的安全策略,处理当前会话。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (20)
1.一种用于评估数据访问语句的安全性的方法,包括:
评估对所述数据库进行访问的多个会话中包括的多个SQL语句的危害度;
从所述多个会话生成危害项集,所述危害项集中的每个元素指示在一个会话中包括的一个或者多个SQL语句;
从所述危害项集提取至少一个关联规则,所述至少一个关联规则中的每个关联规则指示在一个会话中包括的SQL语句的序列;以及
计算所述至少一个关联规则中的每个关联规则的危害度。
2.根据权利要求1所述的方法,其中从所述多个会话生成危害项集包括:
基于所述多个SQL语句的危害度来从所述多个会话中过滤得出至少一部分会话;以及
从所述至少一部分会话生成危害项集。
3.根据权利要求2所述的方法,其中基于所述多个SQL语句的危害度来从所述多个会话中过滤得出至少一部分会话包括:
响应于所述多个会话中的一个会话所包括的全部SQL语句的危害度满足于第一阈值,从所述多个会话中删除所述会话以形成所述至少一部分会话。
4.根据权利要求1-3中的任一项所述的方法,其中从所述多个会话生成危害项集包括:
生成所述至少一部分会话的危害1项集,其中所述危害1项集中的每个元素包括一个SQL语句;
在至少一个轮次中,响应于所述至少一部分会话的危害(n-1)项集为非空,生成所述至少一部分会话的危害n项集,其中n≥2以及所述危害n项集中的每个元素包括n个有序排列的SQL语句。
5.根据权利要求4所述的方法,进一步包括:
在所述至少一个轮次中,响应于以下中的任一项而从所述危害n项集中删除一元素:所述元素的支持度为0,所述元素的危害度为0。
6.根据权利要求4所述的方法,其中从所述危害项集提取至少一个关联规则包括:
针对所述危害项集中的每个元素,将所述元素中包括的最后一个SQL语句作为后件;
将所述元素中的其余SQL语句作为前件;以及
利用公式(前件->后件)来表示所述多个关联规则中的一个关联规则。
7.根据权利要求1-3中的任一项所述的方法,其中计算所述至少一个关联规则中的每个关联规则的危害度包括:针对每个关联规则,
基于所述关联规则中的前件的危害度、所述后件的危害度、以及所述前件和所述后件之间的关系,计算所述关联规则的危害度。
8.根据权利要求1-3中的任一项所述的方法,进一步包括:
根据所述至少一个关联规则中的每个关联规则的危害度,将所述至少一个关联规则进行排序;以及
根据所述排序来指定对应于所述至少一个关联规则中的每个关联规则的安全策略。
9.根据权利要求8所述的方法,其中根据所述至少一个关联规则中的每个关联规则的危害度,将所述至少一个关联规则进行排序包括:
响应于所述至少一个关联规则中的两个关联规则的危害度相同,针对两个关联规则中的每个关联规则,基于所述关联规则的支持度和所述关联规则中的前件的支持度,计算所述关联规则的置信度;以及
根据所述两个关联规则的置信度将所述两个关联规则进行排序。
10.根据权利要求8所述的方法,进一步包括:
响应于接收到对所述数据库进行访问的当前会话,在所述至少一个关联规则中搜索与所述当前会话相匹配的关联规则;以及
基于对应于相匹配的关联规则的安全策略,处理所述当前会话。
11.一种用于评估数据访问语句的安全性的装置,包括:
评估模块,配置用于评估对所述数据库进行访问的多个会话中包括的多个SQL语句的危害度;
生成模块,配置用于从所述多个会话生成危害项集,所述危害项集中的每个元素指示在一个会话中包括的一个或者多个SQL语句;
提取模块,配置用于从所述危害项集提取至少一个关联规则,所述至少一个关联规则中的每个关联规则指示在一个会话中包括的SQL语句的序列;以及
计算模块,配置用于计算所述至少一个关联规则中的每个关联规则的危害度。
12.根据权利要求11所述的装置,其中所述生成模块包括:
过滤模块,配置用于基于所述多个SQL语句的危害度来从所述多个会话中过滤得出至少一部分会话;以及
第一生成模块,配置用于从所述至少一部分会话生成危害项集。
13.根据权利要求12所述的装置,其中所述过滤模块包括:
删除模块,配置用于响应于所述多个会话中的一个会话所包括的全部SQL语句的危害度满足于第一阈值,从所述多个会话中删除所述会话以形成所述至少一部分会话。
14.根据权利要求11-13中的任一项所述的装置,其中所述生成模块包括:
第二生成模块,配置用于生成所述至少一部分会话的危害1项集,其中所述危害1项集中的每个元素包括一个SQL语句;
第三生成模块,配置用于在至少一个轮次中,响应于所述至少一部分会话的危害(n-1)项集为非空,生成所述至少一部分会话的危害n项集,其中n≥2以及所述危害n项集中的每个元素包括n个有序排列的SQL语句。
15.根据权利要求14所述的装置,进一步包括:
剪枝模块,配置用于在所述至少一个轮次中,响应于以下中的任一项而从所述危害n项集中删除一元素:所述元素的支持度为0,所述元素的危害度为0。
16.根据权利要求14所述的装置,其中所述提取模块包括:
第一提取模块,配置用于针对所述危害项集中的每个元素,将所述元素中包括的最后一个SQL语句作为后件;
第二提取模块,配置用于将所述元素中的其余SQL语句作为前件;以及
关联模块,配置用于利用公式(前件->后件)来表示所述多个关联规则中的一个关联规则。
17.根据权利要求11-13中的任一项所述的装置,其中所述计算模块包括:
第一计算模块,配置用于针对每个关联规则,基于所述关联规则中的前件的危害度、所述后件的危害度、以及所述前件和所述后件之间的关系,计算所述关联规则的危害度。
18.根据权利要求11-13中的任一项所述的装置,进一步包括:
排序模块,配置用于根据所述至少一个关联规则中的每个关联规则的危害度,将所述至少一个关联规则进行排序;以及
指定模块,配置用于根据所述排序来指定对应于所述至少一个关联规则中的每个关联规则的安全策略。
19.根据权利要求18所述的装置,其中所述排序模块包括:
第二计算模块,配置用于响应于所述至少一个关联规则中的两个关联规则的危害度相同,针对每个关联规则,基于所述关联规则的支持度和所述关联规则中的前件的支持度,计算所述关联规则的置信度;以及
第一排序模块,配置用于根据所述两个关联规则的置信度将所述两个关联规则进行排序。
20.根据权利要求18所述的装置,进一步包括:
搜索模块,配置用于响应于接收到对所述数据库进行访问的当前会话,在所述至少一个关联规则中搜索与所述当前会话相匹配的关联规则;以及
处理模块,配置用于基于对应于相匹配的关联规则的安全策略,处理所述当前会话。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310102163.6A CN104077530A (zh) | 2013-03-27 | 2013-03-27 | 用于评估数据访问语句的安全性的方法和装置 |
US14/223,339 US9680830B2 (en) | 2013-03-27 | 2014-03-24 | Evaluating security of data access statements |
US14/338,359 US10693877B2 (en) | 2013-03-27 | 2014-07-23 | Evaluating security of data access statements |
US16/787,255 US11228595B2 (en) | 2013-03-27 | 2020-02-11 | Evaluating security of data access statements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310102163.6A CN104077530A (zh) | 2013-03-27 | 2013-03-27 | 用于评估数据访问语句的安全性的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104077530A true CN104077530A (zh) | 2014-10-01 |
Family
ID=51598780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310102163.6A Pending CN104077530A (zh) | 2013-03-27 | 2013-03-27 | 用于评估数据访问语句的安全性的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US9680830B2 (zh) |
CN (1) | CN104077530A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294380A (zh) * | 2015-05-18 | 2017-01-04 | 中兴通讯股份有限公司 | 数据库的查询方法及装置 |
CN107092668A (zh) * | 2017-04-10 | 2017-08-25 | 广州油融互联网金融信息服务有限公司 | 一种数据分析方法 |
CN107798025A (zh) * | 2016-09-05 | 2018-03-13 | 华为技术有限公司 | 存储过程的运行、编译方法、装置和数据库系统 |
CN108573156A (zh) * | 2018-04-25 | 2018-09-25 | 杭州闪捷信息科技股份有限公司 | 一种基于sql序列的数据库风险检测的方法 |
US10693877B2 (en) | 2013-03-27 | 2020-06-23 | International Business Machines Corporation | Evaluating security of data access statements |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394808B2 (en) | 2015-02-26 | 2019-08-27 | International Business Machines Corporation | Database query execution tracing and data generation for diagnosing execution issues |
CN106548264A (zh) * | 2015-09-22 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种数据分析方法和装置 |
US10380334B2 (en) * | 2015-11-06 | 2019-08-13 | Sap Se | Data access rules in a database layer |
US11108823B2 (en) | 2018-07-31 | 2021-08-31 | International Business Machines Corporation | Resource security system using fake connections |
GB2580467A (en) * | 2018-09-20 | 2020-07-22 | Idera Inc | Database access, monitoring, and control system and method for reacting to suspicious database activities |
US11334569B2 (en) * | 2020-01-21 | 2022-05-17 | International Business Machines Corporation | Unique SQL query transfer for anomaly detection |
CN113742371B (zh) * | 2021-11-08 | 2022-02-15 | 北京安华金和科技有限公司 | 一种sql语句块分析处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260947A1 (en) * | 2002-10-21 | 2004-12-23 | Brady Gerard Anthony | Methods and systems for analyzing security events |
US20080046964A1 (en) * | 2004-12-22 | 2008-02-21 | Nithya Muralidharan | Enabling relational databases to incorporate customized intrusion prevention policies |
KR100906449B1 (ko) * | 2009-03-11 | 2009-07-08 | 주식회사 신시웨이 | 데이터베이스 툴 식별 장치 및 방법 |
CN101901219A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 数据库注入攻击检测方法及系统 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023697A (en) * | 1997-02-24 | 2000-02-08 | Gte Internetworking Incorporated | Systems and methods for providing user assistance in retrieving data from a relational database |
US6301575B1 (en) | 1997-11-13 | 2001-10-09 | International Business Machines Corporation | Using object relational extensions for mining association rules |
US6073129A (en) * | 1997-12-29 | 2000-06-06 | Bull Hn Information Systems Inc. | Method and apparatus for improving the performance of a database management system through a central cache mechanism |
US6801916B2 (en) * | 1998-04-01 | 2004-10-05 | Cyberpulse, L.L.C. | Method and system for generation of medical reports from data in a hierarchically-organized database |
US7043426B2 (en) * | 1998-04-01 | 2006-05-09 | Cyberpulse, L.L.C. | Structured speech recognition |
US6446062B1 (en) * | 1999-12-23 | 2002-09-03 | Bull Hn Information Systems Inc. | Method and apparatus for improving the performance of a generated code cache search operation through the use of static key values |
US6681098B2 (en) * | 2000-01-11 | 2004-01-20 | Performance Assessment Network, Inc. | Test administration system using the internet |
WO2002041114A2 (en) * | 2000-10-30 | 2002-05-23 | Raf Technology, Inc. | Verification engine for user authentication |
US7904454B2 (en) * | 2001-07-16 | 2011-03-08 | International Business Machines Corporation | Database access security |
US20030110153A1 (en) * | 2001-12-11 | 2003-06-12 | Sprint Communications Company L.P. | Database performance monitoring method and tool |
US7962483B1 (en) * | 2002-12-20 | 2011-06-14 | Oracle International Corporation | Association rule module for data mining |
US7680862B2 (en) * | 2005-04-18 | 2010-03-16 | Oracle International Corporation | Rewriting table functions as SQL strings |
US7660792B2 (en) * | 2005-04-29 | 2010-02-09 | Microsoft Corporation | System and method for spam identification |
US7668904B2 (en) * | 2005-07-28 | 2010-02-23 | International Business Machines Corporation | Session replication |
US8069153B2 (en) * | 2005-12-02 | 2011-11-29 | Salesforce.Com, Inc. | Systems and methods for securing customer data in a multi-tenant environment |
US8126874B2 (en) * | 2006-05-09 | 2012-02-28 | Google Inc. | Systems and methods for generating statistics from search engine query logs |
US8555288B2 (en) * | 2006-05-17 | 2013-10-08 | Teradata Us, Inc. | Managing database utilities to improve throughput and concurrency |
US7836004B2 (en) | 2006-12-11 | 2010-11-16 | International Business Machines Corporation | Using data mining algorithms including association rules and tree classifications to discover data rules |
JP5011006B2 (ja) * | 2007-07-03 | 2012-08-29 | 株式会社日立製作所 | リソース割当方法、リソース割当プログラム、および、リソース割当装置 |
US7870095B2 (en) * | 2007-12-03 | 2011-01-11 | International Business Machines Corporation | Apparatus, system, and method for replication of data management information |
US9411864B2 (en) * | 2008-08-26 | 2016-08-09 | Zeewise, Inc. | Systems and methods for collection and consolidation of heterogeneous remote business data using dynamic data handling |
US8499170B1 (en) * | 2008-10-08 | 2013-07-30 | Trend Micro, Inc. | SQL injection prevention |
US20100185603A1 (en) * | 2009-01-09 | 2010-07-22 | Phibbs Paul H | Techniques for using database rule results |
US8452754B2 (en) * | 2009-05-08 | 2013-05-28 | Microsoft Corporation | Static analysis framework for database applications |
KR101320956B1 (ko) | 2009-12-16 | 2013-10-23 | 한국전자통신연구원 | 연관규칙 마이닝에서의 프라이버시 보호 장치 및 방법 |
US8549650B2 (en) * | 2010-05-06 | 2013-10-01 | Tenable Network Security, Inc. | System and method for three-dimensional visualization of vulnerability and asset data |
US8812543B2 (en) * | 2011-03-31 | 2014-08-19 | Infosys Limited | Methods and systems for mining association rules |
US9430505B2 (en) * | 2011-04-18 | 2016-08-30 | Infosys Limited | Automated data warehouse migration |
US8898109B2 (en) * | 2012-07-27 | 2014-11-25 | Microsoft Corporation | Automatic transaction retry after session failure |
US9009169B2 (en) * | 2012-09-20 | 2015-04-14 | Intelliresponse Systems Inc. | Disambiguation framework for information searching |
WO2014078585A2 (en) * | 2012-11-14 | 2014-05-22 | University Of Virginia Patent Foundation | Methods, systems and computer readable media for detecting command injection attacks |
WO2014110281A1 (en) * | 2013-01-11 | 2014-07-17 | Db Networks, Inc. | Systems and methods for detecting and mitigating threats to a structured data storage system |
KR101400214B1 (ko) * | 2013-01-28 | 2014-05-28 | 주식회사 알티베이스 | Hybrid C 인터페이스를 지원하는 장치 |
US9083736B2 (en) * | 2013-01-28 | 2015-07-14 | Hewlett-Packard Development Company, L.P. | Monitoring and mitigating client-side exploitation of application flaws |
US9582500B2 (en) * | 2013-03-15 | 2017-02-28 | Oracle International Corporation | Run-time SQL language translation |
CN104077530A (zh) | 2013-03-27 | 2014-10-01 | 国际商业机器公司 | 用于评估数据访问语句的安全性的方法和装置 |
US9524322B2 (en) * | 2013-06-28 | 2016-12-20 | Oracle International Corporation | Composite active reports |
EP3145130B1 (en) * | 2014-06-18 | 2019-02-27 | Nippon Telegraph and Telephone Corporation | Network system, communication control method, and communication control program |
-
2013
- 2013-03-27 CN CN201310102163.6A patent/CN104077530A/zh active Pending
-
2014
- 2014-03-24 US US14/223,339 patent/US9680830B2/en active Active
- 2014-07-23 US US14/338,359 patent/US10693877B2/en active Active
-
2020
- 2020-02-11 US US16/787,255 patent/US11228595B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260947A1 (en) * | 2002-10-21 | 2004-12-23 | Brady Gerard Anthony | Methods and systems for analyzing security events |
US20080046964A1 (en) * | 2004-12-22 | 2008-02-21 | Nithya Muralidharan | Enabling relational databases to incorporate customized intrusion prevention policies |
KR100906449B1 (ko) * | 2009-03-11 | 2009-07-08 | 주식회사 신시웨이 | 데이터베이스 툴 식별 장치 및 방법 |
CN101901219A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 数据库注入攻击检测方法及系统 |
Non-Patent Citations (2)
Title |
---|
阿迪力江·阿布都热扎克: "数据挖掘技术在数据库安全检测中应用的探讨", 《硅谷》 * |
黄晓燕 等: "数据库入侵检测的一种数据挖掘方法", 《计算机系统应用》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10693877B2 (en) | 2013-03-27 | 2020-06-23 | International Business Machines Corporation | Evaluating security of data access statements |
US11228595B2 (en) | 2013-03-27 | 2022-01-18 | International Business Machines Corporation | Evaluating security of data access statements |
CN106294380A (zh) * | 2015-05-18 | 2017-01-04 | 中兴通讯股份有限公司 | 数据库的查询方法及装置 |
CN106294380B (zh) * | 2015-05-18 | 2021-02-12 | 中兴通讯股份有限公司 | 数据库的查询方法及装置 |
CN107798025A (zh) * | 2016-09-05 | 2018-03-13 | 华为技术有限公司 | 存储过程的运行、编译方法、装置和数据库系统 |
CN107798025B (zh) * | 2016-09-05 | 2020-06-02 | 华为技术有限公司 | 存储过程的运行、编译方法、装置和数据库系统 |
CN107092668A (zh) * | 2017-04-10 | 2017-08-25 | 广州油融互联网金融信息服务有限公司 | 一种数据分析方法 |
CN108573156A (zh) * | 2018-04-25 | 2018-09-25 | 杭州闪捷信息科技股份有限公司 | 一种基于sql序列的数据库风险检测的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140298471A1 (en) | 2014-10-02 |
US9680830B2 (en) | 2017-06-13 |
US20200186529A1 (en) | 2020-06-11 |
US20140337916A1 (en) | 2014-11-13 |
US10693877B2 (en) | 2020-06-23 |
US11228595B2 (en) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104077530A (zh) | 用于评估数据访问语句的安全性的方法和装置 | |
US10671750B2 (en) | System and method for data classification centric sensitive data discovery | |
Halvaiee et al. | A novel model for credit card fraud detection using Artificial Immune Systems | |
US11151573B2 (en) | Intelligent chargeback processing platform | |
CN111222976B (zh) | 一种基于双方网络图数据的风险预测方法、装置和电子设备 | |
CN111612038B (zh) | 异常用户检测方法及装置、存储介质、电子设备 | |
CN111199474B (zh) | 一种基于双方网络图数据的风险预测方法、装置和电子设备 | |
CN111127178A (zh) | 数据处理方法与装置、存储介质、电子设备 | |
CN111343161A (zh) | 异常信息处理节点分析方法、装置、介质及电子设备 | |
CN111160749A (zh) | 一种情报质量评估和情报融合方法及装置 | |
US10217178B2 (en) | Customer identity verification | |
CN105740667A (zh) | 一种基于用户行为的信息识别方法及装置 | |
CN110348977A (zh) | 基于多层模型结构的金融风险分析方法、装置及电子设备 | |
CN111931047B (zh) | 基于人工智能的黑产账号检测方法及相关装置 | |
CN110727740B (zh) | 关联分析方法及装置、计算机设备与可读介质 | |
CN112925914B (zh) | 数据安全分级方法、系统、设备及存储介质 | |
CN113011889A (zh) | 账号异常识别方法、系统、装置、设备及介质 | |
CN111179051A (zh) | 金融目标客户确定方法、装置及电子设备 | |
CN111833182A (zh) | 识别风险对象的方法和装置 | |
CN117291722A (zh) | 对象管理方法、相关设备及计算机可读介质 | |
CN111210109A (zh) | 基于关联用户预测用户风险的方法、装置和电子设备 | |
US20230214591A1 (en) | Methods and devices for generating sensitive text detectors | |
CN110059480A (zh) | 网络攻击行为监控方法、装置、计算机设备及存储介质 | |
CN114357180A (zh) | 知识图谱的更新方法及电子设备 | |
US20200125325A1 (en) | Identification of users across multiple platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141001 |