The invention discloses a SQL injection detection system based on fine grained authority control and its method, which relates to the field of information security technology. This system is: receiving module and service code table and permissions extraction module interaction, extraction of the SQL statement for the user to receive and service code; permission extraction module is respectively connected with a receiving module and access detection module interaction, to achieve the extraction of access to information; access detection module is connected with the extraction module, access control permissions table and alarm module interaction, to detect SQL injection unauthorized operation; the alarm module respectively to interact with the authority detection module and service code table, the realization of the SQL into the event log, alarm and SQL injection interception. The invention has the following advantages and positive effects: accuracy: can accurately detect SQL injection attacks, prevent the disclosure of user data; scalability; the wide adaptability: can be applied to the Web server, middleware, database proxy server and database server.
【技术实现步骤摘要】
一种基于细粒度权限控制的SQL注入检测系统及其方法
本专利技术涉及信息安全
,尤其涉及一种基于细粒度权限控制的SQL注入检测系统及其方法。
技术介绍
所谓SQL注入(SQLInjection),就是通过把SQL命令插入到Web表单、URL和HTTP头部等地方,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。SQL注入危害巨大,可以在未经授权的情况下操作数据库中的数据,包括读取、篡改、添加和删除等行为。如何对SQL注入行为进行检测是信息安全中的重大课题,有着很重要的意义。当前,常见的SQL注入检测技术主要有以下几种:1)关键词识别关键词识别技术主要是对用户提交的SQL语句进行检查,如果有SQL语句关键词,则判断为SQL注入攻击;常用的关键词包括union,select,and,from等。2)正则表达式模式匹配使用正则表达式来描述SQL注入攻击,形成攻击模式特征库;用户提交的数据会与攻击模式特征库进行正则表达式匹配,若匹配成功则认为存在SQL注入攻击;相对于关键字识别技术来说,减少了误报和漏报。3)机器学习机器学习技术一般分为两个阶段:学习阶段和检测阶段;在学习阶段,在安全环境下通过统计分析和数据挖掘等方法,学习合法的SQL语句的正常流量特征,建立合法SQL语句知识库;在检测阶段,将用户提交的SQL语句与知识库中合法SQL语句进行匹配,数据特征不匹配时,则判定存在 ...
【技术保护点】
一种基于细粒度权限控制的SQL注入检测系统,其特征在于:包括接收模块(11)、权限提取模块(12)、权限检测模块(13)、告警模块(14)、业务代码表(15)和权限控制表(16);其交互关系是:接收模块(11)分别与业务代码表(15)和权限提取模块(12)交互,实现对用户提交的SQL语句的接收和业务代码的提取;权限提取模块(12)分别与接收模块(11)和权限检测模块(13)交互,实现对权限访问信息的提取;权限检测模块(13)分别与权限提取模块(12)、权限控制表(16)和告警模块(14)交互,实现对SQL注入越权操作的检测;告警模块(14)分别与权限检测模块(13)和业务代码表(15)进行交互,实现对SQL注入事件的日志、告警和SQL注入的拦截。
【技术特征摘要】
1.一种基于细粒度权限控制的SQL注入检测系统,其特征在于:包括接收模块(11)、权限提取模块(12)、权限检测模块(13)、告警模块(14)、业务代码表(15)和权限控制表(16);其交互关系是:接收模块(11)分别与业务代码表(15)和权限提取模块(12)交互,实现对用户提交的SQL语句的接收和业务代码的提取;权限提取模块(12)分别与接收模块(11)和权限检测模块(13)交互,实现对权限访问信息的提取;权限检测模块(13)分别与权限提取模块(12)、权限控制表(16)和告警模块(14)交互,实现对SQL注入越权操作的检测;告警模块(14)分别与权限检测模块(13)和业务代码表(15)进行交互,实现对SQL注入事件的日志、告警和SQL注入的拦截。2.按权利要求1所述系统的SQL注入检测方法,其特征在于包括下述步骤:①对于Web应用中涉及SQL语句执行的每个URL,为URL对应的每个SQL语句分配业务代码,生成业务代码表;②对每个业务代码,分析其对应的SQL语句,生成对应的权限控制表;③对于用户提交的SQL语句,提取权限信息,查询权限控制表,进行权限检测,如果存在越权访问,则确认存在SQL注入漏洞。3.按权利要求2所述的SQL注入检测方法,其特征在于所述的步骤①:A、对于Web应用中涉及SQL语句执行的每个URL,为URL对应的每个SQL语句分配业务代码,生成业务代码表;B、所述业务代码是Web应用中SQL语句的标识,其分配具有唯一性;在Web应用的所有URL对应的所有SQL语句中,单个业务代码对应着有且只有一条SQL语句;C、所述业务代码表,是一种数据存储结构;包括业务代码、URL、SQL语句模板和业务代码识别标识;D、所述的业务代码识别标识,是一个或多个关键词,可以从用户提...
【专利技术属性】
技术研发人员:罗蛟,保永武,叶猛,
申请(专利权)人:武汉虹旭信息技术有限责任公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。