CN108712448A - 一种基于动态污点分析的注入式攻击检测模型 - Google Patents
一种基于动态污点分析的注入式攻击检测模型 Download PDFInfo
- Publication number
- CN108712448A CN108712448A CN201810744105.6A CN201810744105A CN108712448A CN 108712448 A CN108712448 A CN 108712448A CN 201810744105 A CN201810744105 A CN 201810744105A CN 108712448 A CN108712448 A CN 108712448A
- Authority
- CN
- China
- Prior art keywords
- stain
- attack
- detection
- request
- analysis
- 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
-
- 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
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明设计一种动态污点分析的注入式攻击检测系统,通过动态污点分析提取攻击向量,基于语法分析技术将扁平的字符串抽象画,使用卷积神经网络模型和优化的FastText分类模型建立SQL注入攻击和恶意代码注入攻击模型,从而实现准确有效地检测出注入式攻击的目的。
Description
技术领域
本发明设计一种基于动态污点分析、针对Web应用中的注入式攻击进行检测的系统。针对SQL注入攻击和恶意代码注入攻击,基于动态污点分析技术提取攻击向量,分别基于卷积神经网络和FastText分类模型建立SQL注入攻击检测模型和恶意代码注入攻击检测模型,达到注入式攻击检测的目的。
背景技术
近年批量服务器攻击事件、数据泄露事件频发,Web安全越来越受到重视。在已发现的Web攻击类型中,注入式攻击发生频率最高,其攻击手段根据Web应用漏洞位置千变万化,且注入式攻击能够直接威胁到数据库或系统安全,造成数据泄露、权限窃取等危害。因此,研究一种高准确率且高效的检测模型来应对频繁的注入式攻击,具有重要的理论意义和实际价值。
一个功能完整并有实用价值的Web攻击检测系统,其主要关键技术分别是攻击向量的提取与处理,和异常行为的判断。
传统的基于规则的检测技术,其能力取决于长久以来储备的大量规则集合,只能检测已知攻击行为,无法抵御新型攻击手段和复杂攻击向量,因此只能作为一种防御手段,用以增加攻击者的攻击成本。Igino Corona等提出了基于机器学习的入侵检测系统SuStorID,并且作为一款开源的入侵检测工具,在国内外已拥有大量的用户。SuStorID以HTTP流量为检测源,利用ModSecurity的服务器嵌入优势,将Modsecurity的请求转发至自身的检测程序,对于不同种类的攻击行为,分别使用隐马尔可夫模型、统计分布模型进行数据训练,大大提高了ModSecurity的检测准确率。
污点分析技术被广泛应用于移动应用的安全检测中,相对较少的学者将污点分析技术和Web应用安全相结合。其中,主要研究方向分为基于源代码的静态分析技术研究和基于执行过程的动态分析技术研究。单一使用静态分析技术已经不能检测出变化多端的程序漏洞,黄强等提出基于信息流策略的污点分析方法,首先基于信息流策略使用静态分析技术分析程序漏洞,然后使用程序插桩方法进行动态验证,降低了误报率。
研究重点在于动态污点分析技术和基于机器学习的攻击检测技术,其创新之处在于以下几点。
(1)利用污点分析技术,该模型模型能够跟踪污点源,定位漏洞位置,获得攻击向量的变化过程。
(2)对于攻击向量的处理,本文使用语法分析技术,从中提取词法和语义等特征训练分类器。
(3)基于SQL注入和恶意代码注入两种攻击向量的特征,本文分别使用卷积神经网络算法和FastText算法建立分类模型。
本系统重点基于上述技术,实现一个基于动态五点分析的注入式攻击检测模型。
发明内容
该发明基于动态污点分析技术完成训练阶段的攻击向量提取,和系统测试时检测阶段的请求数据提取。动态污点分析模块在系统中作为扩展的形式加载在Web服务器中。然后将待检测数据分发至基于卷积神经网络的SQL注入检测模型和基于FastText的恶意代码注入检测模型。各检测模型基于语法分析技术将攻击向量抽象化后训练分类器。该发明旨在实现如下目标。
(1)模型的检测数据提取程序能够兼容当前Web编程语言下的所有Web应用,作为扩展的形式加载在Web服务器中,不影响Web应用的正常运作。
(2)模型能够完整地提取包含不可信源请求数据的SQL请求和代码执行请求。
(3)模型在检测SQL注入行为前,检测数据初始化时需要区分污点数据和原始语句;对于检测的准确率要高于普通的规则性检测程序,并在性能上体现出优势。
(4)使用优化后的FastText模型检测恶意代码注入行为,准确率需要在原本基础上有所提升。
(5)模型在进行日志监控时,需要对SQL注入行为和恶意代码注入行为分发到不同的检测器,预警模块需要为网站管理员提供足够的漏洞信息。
为了实现上述目的,该发明采用了如下技术方案:攻击向量提取与检测器分发、攻击向量抽象化、攻击检测。
攻击向量提取与检测器分发,主要完成日志监控与预警,进行整个系统的调度模块,将各模块连接在一起。动态污点分析以日志的方式记录符合检测目标的请求信息;在日志监控与预警模块,实时监控日志产生的新数据,将待检测请求信息分发给检测器。
攻击向量抽象化,主要包括SQL语句和代码语句的预处理。基于语法分析技术,将扁平的字符串转化为树结构,对于SQL语句,进入污点元素后,将其转化为污点矩阵,作为卷积神经网络的输入;同样,在代码语句生成的抽象语法树中,提取函数节点,组成有序的函数序列,作为FastText分类模型的输入。
攻击检测主要是基于卷积神经网络模型和FastText模型进行分类模型的训练,利用未知类型样本进行模型分类性能测试。
附图说明
图1是本发明的模型架构图。
具体实施方式
基于动态污点分析的注入式攻击检测模型包括三个模块:动态污点模块、恶意SQL注入检测模块、恶意代码注入检测模块、日志监控与预警模块。
如图1所示为模型架构图,详细地描绘了各个模块的功能与交互。顶层为动态污点分析模块,直接加载在Web服务器中;系统的主要模块为SQL注入检测模块和恶意代码注入检测模块;最后日志监控与预警模块作为整个系统的调度模块,将各模块连接在一起。由图中可知,首先在Web服务器运行时,动态污点分析模块依附在Web服务器中开始运行,以日志的方式记录符合检测目标的请求信息;在日志监控与预警模块,实时监控日志产生的新数据,将待检测请求信息分发给SQL注入检测模块和恶意代码注入检测模块;SQL注入检测和恶意代码检测模块相互独立运行,完整赋予的检测功能后,将检测结果回传给日志监控与预警模块,由预警部分将检测结果进行汇总,完成整个系统的一次请求是否合法的检测。
本发明的工作过程是:传入Web服务器的海量请求最初都是未知类型的,加载在服务器上的动态污点分析程序,使用动态污点分析技术,首先通过污点源筛选出带有污点源的请求;请求数据在服务端代码中经过层层函数处理,通过污点跟踪,筛选出将代码处理后保留污点源,并且未被净化函数处理后的请求;在污点汇聚检测时,判断带有污点数据的请求是否为系统需要检测的请求类型;最终将无污点数据请求和非检测类型请求进行丢弃,记录SQL请求和代码执行请求。
基于卷积神经网络的SQL注入检测模型,基于污点语法树,生成污点矩阵;在语法分析阶段,已经对节点的类型进行了定义,经过灰度污点图的构建,保留了原节点的两个属性,即节点类型和污点值。灰度污点图由原节点的污点值组成矩阵,对于保留的节点类型,则构成了输入矩阵的色彩通道。将污点图包含的灰度图和色彩通道模拟为一个图像的像素矩阵。传入卷积神经网络分类器。
将提取后的函数序列传入FastText分类器,对于FastText模型的优化:首先,考虑到待检测代码中用户自定义函数的语义复杂性,根据函数命名规则,先进行词粒度的分割再进行字粒度的分割,并且基于信息熵筛选掉无语义的训练样本;然后,在投影层通过减小恶意函数在正常样本中所占比重来避免误报,在提取函数序列的同时提取其参数,基于网页木马建立恶意字符串语料库,基于TF-IDF模型计算其权值加入投影层共享向量的计算中。
Claims (4)
1.本发明公开了一种基于动态污点分析的注入式攻击检测模型,其特征包括以下步骤:
步骤一:日志文件监控与预警,首先由监控程序对动态污点分析日志进行持续监控,当收集到一次完整的请求内容后,然后通过数据预处理,将散乱的请求内容进行整理,整理为检测内容、请求信息、请求页面、请求类型的三元消息,根据请求类型将消息分发给检测服务器的SQL注入攻击检测模块或恶意代码注入检测模块;
步骤二:SQL注入检测模型,对输入数据进行语法分析,生成污点语法树,然后,将污点语法树转化为由污点矩阵构成的污点图集合,然后分别按操作进行训练或检测;
步骤三:恶意代码注入检测模型,对输入代码片段进行语法分析,进而提取代码片段的函数序列和当前函数的参数集合;然后根据恶意语料库计算函数参数集合权值,与函数序列一齐作为训练模型和检测模型的输入;
步骤四:检测服务器检测完毕后,会将检测结果回传至攻击预警子模块,最后攻击预警子模块根据一次请求是否包含上述攻击行为,将检测结果、漏洞信息和攻击者信息进行整合后,反馈给网站管理员。
2.根据权利要求1所述的日志处理技术,其特征在于:
从全局变量“SERVER”中可获取攻击者请求头信息,以IP 地址(Internet ProtocolAddress)、用户代理(User-Agent))、HTTP cookie(Cookie)、当前时间戳(Timestamp))作为攻击者的标识参数,使用MurmurHash 算法对以上参数加密,得到识别攻击者的Hash 值;将外部变量中的元素带入SQL 语句中进行匹配,对匹配到的内容使用上文中的Hash 值进行首尾标记。
3.根据权利要求1所述的实现SQL注入检测模型,其特征在于:
根据SQL语言特性,将SQL语句数组化,根据污点元素,生成污点语法树; 定义恶意节点组成威胁系数表,根据节点类型生成威胁系数构成色彩系数的污点矩阵。
4.根据权利要求1所述的FastText分类模型优化,其特征在于:
输入层分词规则的优化,无语以函数样本筛选,根据网页木马建立恶意语料库,基于TF-IDF模型计算函数参数全值,加入共享向量的计算中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810744105.6A CN108712448A (zh) | 2018-07-09 | 2018-07-09 | 一种基于动态污点分析的注入式攻击检测模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810744105.6A CN108712448A (zh) | 2018-07-09 | 2018-07-09 | 一种基于动态污点分析的注入式攻击检测模型 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108712448A true CN108712448A (zh) | 2018-10-26 |
Family
ID=63873824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810744105.6A Pending CN108712448A (zh) | 2018-07-09 | 2018-07-09 | 一种基于动态污点分析的注入式攻击检测模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108712448A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362597A (zh) * | 2019-06-28 | 2019-10-22 | 华为技术有限公司 | 一种结构化查询语言sql注入检测方法及装置 |
CN110381033A (zh) * | 2019-06-24 | 2019-10-25 | 深圳开源互联网安全技术有限公司 | Web应用漏洞检测方法、装置、系统、存储介质和服务器 |
CN111488585A (zh) * | 2020-04-17 | 2020-08-04 | 北京墨云科技有限公司 | 一种基于深度学习的攻击向量生成方法 |
CN112003873A (zh) * | 2020-08-31 | 2020-11-27 | 成都安恒信息技术有限公司 | 一种抗DDoS攻击的http流量防御方法及系统 |
CN112507337A (zh) * | 2020-12-18 | 2021-03-16 | 四川长虹电器股份有限公司 | 基于语义分析的恶意JavaScript代码检测模型的实现方法 |
CN113810343A (zh) * | 2020-06-15 | 2021-12-17 | 深信服科技股份有限公司 | 函数注入攻击的检测方法、装置、设备及可读存储介质 |
CN114936369A (zh) * | 2022-04-25 | 2022-08-23 | 中山大学 | 基于标记的sql注入攻击主动防御方法、系统及存储介质 |
US11568282B2 (en) | 2019-09-24 | 2023-01-31 | International Business Machines Corporation | Mitigating adversarial effects in machine learning systems |
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104766012A (zh) * | 2015-04-09 | 2015-07-08 | 广东电网有限责任公司信息中心 | 基于动态污点追踪的数据安全动态检测方法及系统 |
CN107346388A (zh) * | 2017-07-03 | 2017-11-14 | 四川无声信息技术有限公司 | Web攻击检测方法及装置 |
CN107392016A (zh) * | 2017-07-07 | 2017-11-24 | 四川大学 | 一种基于代理的Web数据库攻击行为检测系统 |
-
2018
- 2018-07-09 CN CN201810744105.6A patent/CN108712448A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104766012A (zh) * | 2015-04-09 | 2015-07-08 | 广东电网有限责任公司信息中心 | 基于动态污点追踪的数据安全动态检测方法及系统 |
CN107346388A (zh) * | 2017-07-03 | 2017-11-14 | 四川无声信息技术有限公司 | Web攻击检测方法及装置 |
CN107392016A (zh) * | 2017-07-07 | 2017-11-24 | 四川大学 | 一种基于代理的Web数据库攻击行为检测系统 |
Non-Patent Citations (2)
Title |
---|
LIANG HE, YONG FANG, LIANG LIU: "Website Regional Rapid Security Detection Method", 《2013IEEE》 * |
易楠,方勇,黄诚,刘亮: "基于语义分析的Webshell检测技术研究", 《信息安全研究》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3918500B1 (en) * | 2019-03-05 | 2024-04-24 | Siemens Industry Software Inc. | Machine learning-based anomaly detections for embedded software applications |
CN110381033B (zh) * | 2019-06-24 | 2021-06-08 | 深圳开源互联网安全技术有限公司 | Web应用漏洞检测方法、装置、系统、存储介质和服务器 |
CN110381033A (zh) * | 2019-06-24 | 2019-10-25 | 深圳开源互联网安全技术有限公司 | Web应用漏洞检测方法、装置、系统、存储介质和服务器 |
CN110362597A (zh) * | 2019-06-28 | 2019-10-22 | 华为技术有限公司 | 一种结构化查询语言sql注入检测方法及装置 |
WO2020259260A1 (zh) * | 2019-06-28 | 2020-12-30 | 华为技术有限公司 | 一种结构化查询语言sql注入检测方法及装置 |
US11568282B2 (en) | 2019-09-24 | 2023-01-31 | International Business Machines Corporation | Mitigating adversarial effects in machine learning systems |
CN111488585B (zh) * | 2020-04-17 | 2023-06-27 | 北京墨云科技有限公司 | 一种用于漏洞检测的基于深度学习的攻击向量生成方法 |
CN111488585A (zh) * | 2020-04-17 | 2020-08-04 | 北京墨云科技有限公司 | 一种基于深度学习的攻击向量生成方法 |
CN113810343A (zh) * | 2020-06-15 | 2021-12-17 | 深信服科技股份有限公司 | 函数注入攻击的检测方法、装置、设备及可读存储介质 |
CN113810343B (zh) * | 2020-06-15 | 2023-05-12 | 深信服科技股份有限公司 | 函数注入攻击的检测方法、装置、设备及可读存储介质 |
CN112003873A (zh) * | 2020-08-31 | 2020-11-27 | 成都安恒信息技术有限公司 | 一种抗DDoS攻击的http流量防御方法及系统 |
CN112507337A (zh) * | 2020-12-18 | 2021-03-16 | 四川长虹电器股份有限公司 | 基于语义分析的恶意JavaScript代码检测模型的实现方法 |
CN114936369A (zh) * | 2022-04-25 | 2022-08-23 | 中山大学 | 基于标记的sql注入攻击主动防御方法、系统及存储介质 |
CN114936369B (zh) * | 2022-04-25 | 2024-04-19 | 中山大学 | 基于标记的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 |
---|---|---|
CN108712448A (zh) | 一种基于动态污点分析的注入式攻击检测模型 | |
Uwagbole et al. | Applied machine learning predictive analytics to SQL injection attack detection and prevention | |
CN107392025B (zh) | 基于深度学习的恶意安卓应用程序检测方法 | |
CN110233849B (zh) | 网络安全态势分析的方法及系统 | |
CN106055980B (zh) | 一种基于规则的JavaScript安全性检测方法 | |
CN108156131B (zh) | Webshell检测方法、电子设备和计算机存储介质 | |
CN107659570A (zh) | 基于机器学习与动静态分析的Webshell检测方法及系统 | |
CN105893848A (zh) | 一种基于代码行为相似度匹配的Android恶意应用程序防范方法 | |
Zhu et al. | Android malware detection based on multi-head squeeze-and-excitation residual network | |
CN112149124B (zh) | 一种基于异构信息网络的安卓恶意程序检测的方法和系统 | |
CN107392016A (zh) | 一种基于代理的Web数据库攻击行为检测系统 | |
KR20170035892A (ko) | 온라인 서비스의 거동 변화의 인식 기법 | |
CN107360152A (zh) | 一种基于语义分析的Web威胁感知系统 | |
Qiu et al. | Predicting the impact of android malicious samples via machine learning | |
Li et al. | Large-scale third-party library detection in android markets | |
Kozik et al. | Pattern extraction algorithm for NetFlow‐based botnet activities detection | |
CN113961930A (zh) | Sql注入漏洞检测方法、装置及电子设备 | |
CN109344614A (zh) | 一种Android恶意应用在线检测方法 | |
Zuo | Defense of Computer Network Viruses Based on Data Mining Technology. | |
Zhao et al. | Suzzer: A vulnerability-guided fuzzer based on deep learning | |
Mohammad et al. | A novel local network intrusion detection system based on support vector machine | |
Altaher et al. | Application of adaptive neuro-fuzzy inference system for information secuirty | |
Khan et al. | A dynamic method of detecting malicious scripts using classifiers | |
Xiao et al. | ANNs on co-occurrence matrices for mobile malware detection | |
Shakya et al. | Intrusion detection system using back propagation algorithm and compare its performance with self organizing map |
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 |
Application publication date: 20181026 |
|
WD01 | Invention patent application deemed withdrawn after publication |