CN107392016A - 一种基于代理的Web数据库攻击行为检测系统 - Google Patents

一种基于代理的Web数据库攻击行为检测系统 Download PDF

Info

Publication number
CN107392016A
CN107392016A CN201710551870.1A CN201710551870A CN107392016A CN 107392016 A CN107392016 A CN 107392016A CN 201710551870 A CN201710551870 A CN 201710551870A CN 107392016 A CN107392016 A CN 107392016A
Authority
CN
China
Prior art keywords
attack
sql
request
agency
data storehouse
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
Application number
CN201710551870.1A
Other languages
English (en)
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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN201710551870.1A priority Critical patent/CN107392016A/zh
Publication of CN107392016A publication Critical patent/CN107392016A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于代理的能够准确检测SQL注入攻击、恶意频率请求的系统,其特征在于通过分析网站产生的SQL请求实现对上述两种攻击行为的检测。

Description

一种基于代理的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请求是否是一次成功的攻击行为,最后对所验证的攻击行为进行告警。
附图说明
图1是本发明的主要系统架构图
图2是本发明的模型系统部署图
图3是本发明的SQL注入检测模块整体运行流程图
图4是本发明的恶意频率请求检测模块流程图
具体实施方式:
该基于代理的Web数据库攻击行为检测模型系统包含四个模块:数据库代理模块、SQL注入检测模块、恶意频率请求检测模块以及攻击行为验证和告警模块。
如图1所示为系统的主要架构图,详细的介绍了上述四个模块的相关设计,并说明了相关模块的工作流程以及主要功能。数据库代理模块主要是捕获MySQL流量包,并进行协议分析还原出SQL请求,并对SQL请求进行预处理;SQL注入攻击检测模块主要是对还原出的SQL语句进行词法分析后,提取关键的参数进行SQL注入攻击的检测;恶意频率请求的检测主要是利用三个特征构建决策树,并用于恶意频率请求的分类;攻击验证及告警模块主要是利用数据库的返回包来判断攻击者是否完成一次成功的攻击行为。
图2所示模型系统的部署图,从系统部署图上来看包含客户端、Web服务器、代理服务器、备份数据库以及主数据库等;其中检测模型主要部署在代理服务器上。备份数据库的数据结构以及数据内容都需要与主数据库保持同步,为了降低系统资源消耗,本文采用了定时同步的方案,每隔一定时间会将主数据库中的数据同步到备份数据库中,以保证攻击行为验证的准确性。最后分别对攻击请求和成功的攻击行为进行不同程度的告警。
图3是SQL注入攻击检测模块的详细流程图,在基于HMM的检测模型构建完成之前,先要将模块配置为训练模式。进行人工标记之后,对捕获的SQL请求进行词法分析,提取出关键的SQL参数,以保证进行训练的都是正常的SQL参数。待HMM模型训练好后,通过计算样本数据与模型的符合程度,设定相应的阈值,便可以达到检测SQL注入攻击的目的。同时,经基于HMM的检测模型检测为正常的SQL请求,可以将其导入训练部分进行再训练,以保持模型参数的最新以及最优。
图4是恶意频率请求检测模块流程图,对于训练数据,对其进行人工标记后提取时间窗口w内的特征值。利用C4.5算法及相应的改进措施,在每个节点处选择最优的属性以及最佳的连续属性分裂点,最终形成决策树分类器。再对测试数据进行处理和特征值计算,利用训练好的决策树分类器进行判决,最终得到检测结果。
本发明的工作过程是:
用户操作访问网站所产生的所有SQL请求都将通过代理服务器进行转发,与此同时SQL请求会被检测,一旦被检测出为SQL注入攻击行为,代理服务器会阻碍这些请求;而检测恶意频率请求行为是基于时间段的特征,因此无法对恶意频率请求行为做到实时阻碍。最后,检测出的攻击请求会被送往备份数据库执行,通过备份数据库的返回判定这些攻击行为是否是成功的攻击,若为一次成功的攻击行为,则说明Web程序存在漏洞,这些SQL请求将会辅助网站管理员定位Web程序的漏洞源。
其中,对于C4.5构建决策树的连续属性选取步骤如下:
1)将训练数据集D以属性Z按升序排列,假定排序后的属性Z的取值
列为,从中可以选取边界点序列(选取中间值)为,其中。同时引进参数,定义,分别对应着最大分裂点序号和最大信息增益比。
2)分别按照边界点序列的值ai将训练数据集D进行划分,计算其信息增益比,若,则有。边界点序列即为最佳分裂点。
3)改进的求连续属性最佳分裂点的方法,相对于传统的N-1次遍历所有属性值的计算过程,计算效率更高。并且,引入了虽然在内存中多占用了两个存储空间,但是也省略了多次顺序查找。
本发明在现有的诸多检测方法基础上,研究了基于代理的Web数据库攻击行为检测技术,针对两种特征迥异的攻击行为,分别提出了基于HMM和C4.5决策树的检测技术,并对两种检测技术提出了改进和优化。根据之前提出了理论算法基础,构建一套融合两种检测技术的检测模型。

Claims (4)

1.本发明公开了一种基于代理的Web数据库攻击行为检测模型,其特征在于以下步骤:
步骤一:将SQL流量还原所得的请求进行人工标注处理后分别进行隐马尔可夫模型训练和C4.5决策树构建;
步骤二:待两个分类器被训练好后,分别对样本检测SQL注入攻击和恶意频率请求攻击;
步骤三:将经检测为攻击的SQL请求送往备份数据库进行攻击验证,通过备份数据库的返回信息确定该攻击行为是否是一次成功的攻击行为;
步骤四:将成功的攻击行为和未成功的攻击行为分别进行程度不同的告警,网站管理员可根据标记为成功攻击行为的SQL请求来定位网站程序的漏洞点。
2.根据权利要求1所述的基于代理的Web数据库攻击行为检测模型,其特征在于:对还原的SQL语句进行词法分析,提取关键SQL参数,并以表名为单位进行聚合;提出泛化规则将SQL参数进行泛化后,再通过改进的HMM对样本进行训练,以3sigma原则确定攻击行为的阈值,从而实现对SQL注入攻击的检测。
3.根据权利要求1所述的基于代理的Web数据库攻击行为检测模型,其特征在于:通过对事件窗口w内的SQL语句进行分析,提出三个特征SQL请求频率、SQL请求敏感表比例、SQL请求相似度用于区分正常和攻击行为,并以改进的C4.5算法构建决策树,通过排序以最快的速度寻找到连续属性的最佳分裂点。
4.根据权利要求1所述的基于代理的Web数据库攻击行为检测模型,其特征在于:提出利用备份数据库对攻击行为进行验证,备份数据库需要与主数据库定时同步更新;对SQL注入攻击的验证提出数据泄露、SQL报错、响应延时三个响应特征用于检测;对恶意频率请求攻击验证提出利用返回值是否是空来判断。
CN201710551870.1A 2017-07-07 2017-07-07 一种基于代理的Web数据库攻击行为检测系统 Pending CN107392016A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710551870.1A CN107392016A (zh) 2017-07-07 2017-07-07 一种基于代理的Web数据库攻击行为检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710551870.1A CN107392016A (zh) 2017-07-07 2017-07-07 一种基于代理的Web数据库攻击行为检测系统

Publications (1)

Publication Number Publication Date
CN107392016A true CN107392016A (zh) 2017-11-24

Family

ID=60333792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710551870.1A Pending CN107392016A (zh) 2017-07-07 2017-07-07 一种基于代理的Web数据库攻击行为检测系统

Country Status (1)

Country Link
CN (1) CN107392016A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712453A (zh) * 2018-08-30 2018-10-26 杭州安恒信息技术股份有限公司 基于逻辑回归算法的注入攻击检测方法、装置和服务器
CN108712448A (zh) * 2018-07-09 2018-10-26 四川大学 一种基于动态污点分析的注入式攻击检测模型
CN108769079A (zh) * 2018-07-09 2018-11-06 四川大学 一种基于机器学习的Web入侵检测技术
CN108875366A (zh) * 2018-05-23 2018-11-23 四川大学 一种面向php程序的sql注入行为检测系统
CN108920463A (zh) * 2018-06-29 2018-11-30 北京奇虎科技有限公司 一种基于网络攻击的分词方法及系统
CN109324985A (zh) * 2018-09-03 2019-02-12 中新网络信息安全股份有限公司 一种基于机器学习的自动适应场景的sql注入识别方法
CN109711171A (zh) * 2018-05-04 2019-05-03 360企业安全技术(珠海)有限公司 软件漏洞的定位方法及装置、系统、存储介质、电子装置
CN111783132A (zh) * 2020-05-27 2020-10-16 平安科技(深圳)有限公司 基于机器学习的sql语句安全检测方法、装置、设备及介质
CN111917788A (zh) * 2020-08-07 2020-11-10 四川长虹电器股份有限公司 基于hmm模型的sql注入攻击检测方法
CN112000984A (zh) * 2020-08-24 2020-11-27 杭州安恒信息技术股份有限公司 一种数据泄露检测方法、装置、设备及可读存储介质
CN112866292A (zh) * 2021-03-04 2021-05-28 哈尔滨安天科技集团股份有限公司 一种面向多样本组合攻击的攻击行为预测方法和装置
CN113992447A (zh) * 2021-12-28 2022-01-28 北京未来智安科技有限公司 一种sql注入告警处理方法及装置
CN116192537A (zh) * 2023-04-27 2023-05-30 四川大学 一种apt攻击报告事件抽取方法、系统和存储介质
EP3918500B1 (en) * 2019-03-05 2024-04-24 Siemens Industry Software Inc. Machine learning-based anomaly detections for embedded software applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020168664A1 (en) * 1999-07-30 2002-11-14 Joseph Murray Automated pathway recognition system
CN106131071A (zh) * 2016-08-26 2016-11-16 北京奇虎科技有限公司 一种Web异常检测方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020168664A1 (en) * 1999-07-30 2002-11-14 Joseph Murray Automated pathway recognition system
CN106131071A (zh) * 2016-08-26 2016-11-16 北京奇虎科技有限公司 一种Web异常检测方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
易倩: ""改进的聚类与决策树算法在入侵检测中的应用"", 《中国优秀硕士学位论文全文数据库•信息科技辑》 *
杨晓峰 等: ""基于改进引马尔可夫模型的网络攻击检测方法"", 《通信学报》 *
查凯 等: ""基于标识的SQL注入攻击防御方法"", 《信息安全与通信保密》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711171B (zh) * 2018-05-04 2021-07-20 360企业安全技术(珠海)有限公司 软件漏洞的定位方法及装置、系统、存储介质、电子装置
CN109711171A (zh) * 2018-05-04 2019-05-03 360企业安全技术(珠海)有限公司 软件漏洞的定位方法及装置、系统、存储介质、电子装置
CN108875366A (zh) * 2018-05-23 2018-11-23 四川大学 一种面向php程序的sql注入行为检测系统
CN108920463A (zh) * 2018-06-29 2018-11-30 北京奇虎科技有限公司 一种基于网络攻击的分词方法及系统
CN108769079A (zh) * 2018-07-09 2018-11-06 四川大学 一种基于机器学习的Web入侵检测技术
CN108712448A (zh) * 2018-07-09 2018-10-26 四川大学 一种基于动态污点分析的注入式攻击检测模型
CN108712453A (zh) * 2018-08-30 2018-10-26 杭州安恒信息技术股份有限公司 基于逻辑回归算法的注入攻击检测方法、装置和服务器
CN109324985A (zh) * 2018-09-03 2019-02-12 中新网络信息安全股份有限公司 一种基于机器学习的自动适应场景的sql注入识别方法
EP3918500B1 (en) * 2019-03-05 2024-04-24 Siemens Industry Software Inc. Machine learning-based anomaly detections for embedded software applications
CN111783132A (zh) * 2020-05-27 2020-10-16 平安科技(深圳)有限公司 基于机器学习的sql语句安全检测方法、装置、设备及介质
WO2021135919A1 (zh) * 2020-05-27 2021-07-08 平安科技(深圳)有限公司 基于机器学习的sql语句安全检测方法、装置、设备及介质
CN111917788A (zh) * 2020-08-07 2020-11-10 四川长虹电器股份有限公司 基于hmm模型的sql注入攻击检测方法
CN112000984A (zh) * 2020-08-24 2020-11-27 杭州安恒信息技术股份有限公司 一种数据泄露检测方法、装置、设备及可读存储介质
CN112866292A (zh) * 2021-03-04 2021-05-28 哈尔滨安天科技集团股份有限公司 一种面向多样本组合攻击的攻击行为预测方法和装置
CN113992447B (zh) * 2021-12-28 2022-03-15 北京未来智安科技有限公司 一种sql注入告警处理方法及装置
CN113992447A (zh) * 2021-12-28 2022-01-28 北京未来智安科技有限公司 一种sql注入告警处理方法及装置
CN116192537A (zh) * 2023-04-27 2023-05-30 四川大学 一种apt攻击报告事件抽取方法、系统和存储介质
CN116192537B (zh) * 2023-04-27 2023-07-07 四川大学 一种apt攻击报告事件抽取方法、系统和存储介质

Similar Documents

Publication Publication Date Title
CN107392016A (zh) 一种基于代理的Web数据库攻击行为检测系统
CN110233849B (zh) 网络安全态势分析的方法及系统
Yu et al. Deescvhunter: A deep learning-based framework for smart contract vulnerability detection
Rathnayaka et al. An efficient approach for advanced malware analysis using memory forensic technique
CN105893848A (zh) 一种基于代码行为相似度匹配的Android恶意应用程序防范方法
CN107659570A (zh) 基于机器学习与动静态分析的Webshell检测方法及系统
US11170113B2 (en) Management of security vulnerabilities
US10187412B2 (en) Robust representation of network traffic for detecting malware variations
CN103577323B (zh) 基于动态关键指令序列胎记的软件抄袭检测方法
CN109922065B (zh) 恶意网站快速识别方法
CN103428196A (zh) 一种基于url白名单的web应用入侵检测方法和装置
CN109190372A (zh) 一种基于字节码的JavaScript恶意代码检测模型
CN108985061A (zh) 一种基于模型融合的webshell检测方法
CN109522221A (zh) 一种提高模糊测试效率的方法和系统
CN106874760A (zh) 一种基于层次式SimHash的Android恶意代码分类方法
CN104123501A (zh) 一种基于多鉴定器集合的病毒在线检测方法
CN106169050B (zh) 一种基于网页知识发现的PoC程序提取方法
CN106027528A (zh) 一种web水平权限自动化识别的方法及装置
Patel Malware detection in android operating system
CN114531283B (zh) 入侵检测模型的鲁棒性测定方法、系统、存储介质及终端
CN103971054A (zh) 一种基于行为序列的浏览器扩展漏洞的检测方法
CN113536322A (zh) 一种基于对抗神经网络的智能合约可重入漏洞检测方法
KR102068507B1 (ko) 기계 학습 모델의 신뢰도를 판단하기 위한 후처리 방법 및 이를 사용한 후처리 장치
CN116074092B (zh) 一种基于异构图注意力网络的攻击场景重构系统
CN116932381A (zh) 小程序安全风险自动化评估方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171124