[发明专利]一种基于代理的Web数据库攻击行为检测系统在审
申请号: | 201710551870.1 | 申请日: | 2017-07-07 |
公开(公告)号: | CN107392016A | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 方勇;黄诚;刘亮;刘小凯;龙啸 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/55 | 分类号: | G06F21/55 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 代理 web 数据库 攻击行为 检测 系统 | ||
技术领域
本发明涉及一种基于代理的能够准确检测SQL注入攻击、恶意频率请求的系统,其特征在于通过分析网站产生的SQL请求实现对上述两种攻击行为的检测。
背景技术
随着互联网通信技术和网站技术的迅猛发展,Web应用已经越来越多样化。Web已经不再只由静态网页提供信息服务,而变成了可与数据库进行交互的一项技术。正是由于Web技术与数据库技术的完美融合,如今的Web应用才分布的愈发广泛。除了云计算、O2O、电子商务等新兴领域,Web数据库技术在传统教育、政府、医疗等方面发挥了重要作用。
网站技术的发展日新月异,但是网站安全问题也随之越发突出,近几年数据库泄露事件更是频繁发生。攻击者针对数据库的攻击,主要有两种方式:一. 攻击者利用数据库漏洞或者弱口令等,直接连接数据库盗取、损害数据;二. 攻击者利用Web程序等漏洞,间接获取数据库中数据。传统数据库安全讨论的重点是访问控制、身份认证等安全机制,同时要为可信用户提供及时、可靠、安全的数据库服务,即主要防范第一种攻击方式。然而,通过对国内网站安全现状数据以及信息泄露事件评估后,攻击者借助Web程序作为跳板进而攻击数据库的情形更加普遍;其中,常见且危害严重的漏洞有SQL注入,攻击者利用Web程序过滤参数不严插入恶意的SQL语句,造成数据库数据库泄露;另外,暴力破解、撞库、恶意注册、接口泄露等都是针对数据库的攻击行为。
综上所述,可以将常见的Web数据库攻击行为分为两类,分别为SQL注入攻击行为、恶意频率请求行为,并提出一个基于代理的Web数据库攻击行为检测模型用于及时检测和告警威胁。本发明除了在检测SQL注入攻击技术上的改进外,更创新地提出利用机器学习算法检测恶意频率请求行为,这样可以更好地保护广大用户信息,同时也能保护公司、机构的网络资产不受侵害,因此具有很大的研究价值和应用意义。
Web数据攻击行为检测对保护数据库资产具有十分重要的意义。
Web数据库攻击行为主要分为SQL注入攻击行为以及恶意频率请求行为。
对于Web数据攻击行为的检测,主要需要解决的难题在于:
(1)如何对未知SQL注入攻击进行检测;
(2)如何区分恶意频率请求行为和普通的爬虫行为。
(3)如何判定检测出的攻击行为是否对数据库造成了损害。
本系统重点对于以上三个问题进行解决,实现一个基于代理的Web数据库攻击行为检测系统。
检测系统。
发明内容
该发明是采用数据库代理、隐马尔可夫模型、C4.5决策树等技术而开发的先进检测系统,通过数据库代理对网站产生的SQL语句进行训练和检测,实现对攻击行为的预警。
该发明旨在实现如下目标:
(1)透明性。在网站与数据库之间做透明代理,在获取网站产生的SQL语句的同时,不影响网站用户的正常访问。
(2)通用性。系统适用于常见的关系型数据库如MySQL、Oracle、SQL Server等,关系型数据库的SQL语法大同小异,针对不同的关系型数据库设定不同的规则进行关键参数的提取。
(3)针对性。针对不同的网站,需要先采集网站产生的SQL请求进行训练,通过机器学习的方式训练得到特定的参数值和阈值,从而实现对该网站的检测和预警。对于不同的网站,训练的模型参数会不同。
为实现上述目的,该发明采用了如下技术方案:该Web数据库攻击行为检测系统主要部署在代理服务器上。系统主要包括数据库代理模块、SQL注入检测模块、恶意频率请求检测模块以及攻击行为验证和告警模块。
所述的数据库代理模块利用Golang以及Python编写,主要实现了数据包捕获、SQL请求以及SQL请求预处理等功能。
所述的SQL注入检测模块由人工标记、词法分析、SQL参数、模型训练、模型检测等部分组成,先将模块设置为训练模式收集SQL请求进行分析和模型构建,训练好的模型可用于SQL注入攻击的检测。
所述的恶意频率请求检测模块由人工标记、特征提取、特征训练、攻击检测等部分组成,同样先进行决策树的参数训练,待决策树构建好后可用于恶意频率请求行为的检测。
所述的攻击行为验证和告警模块由备份数据库、攻击验证、攻击行为告警部分组成,通过将检测出有攻击倾向的SQL请求送往备份数据库,通过设定的规则从SQL响应中判断该条SQL请求是否是一次成功的攻击行为,最后对所验证的攻击行为进行告警。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710551870.1/2.html,转载请声明来源钻瓜专利网。