CN107346388B - Web攻击检测方法及装置 - Google Patents
Web攻击检测方法及装置 Download PDFInfo
- Publication number
- CN107346388B CN107346388B CN201710534596.7A CN201710534596A CN107346388B CN 107346388 B CN107346388 B CN 107346388B CN 201710534596 A CN201710534596 A CN 201710534596A CN 107346388 B CN107346388 B CN 107346388B
- Authority
- CN
- China
- Prior art keywords
- web
- detected
- character string
- request
- processing
- 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.)
- Active
Links
Images
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种Web攻击检测方法及装置。所述方法包括:获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串。对所述目标字符串进行向量化处理,得到对应的目标向量。根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求。由此,能及时、有效地检测出攻击请求,甚至是新型未知攻击。并且检测模型构建完成后,无需人工进行干预,无需制定检测规则,降低人工成本。
Description
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种Web攻击检测方法及装置。
背景技术
传统的Web攻击检测方法(比如,基于传统正则表达式的检测方法、黑/白名单方法)需要人工制定检测规则,人工构造训练样本进行监督检测,这些操作需要由经验丰富的白帽子(正面的黑客,可以识别计算机系统或网络系统中的安全漏洞,但并不会恶意去利用,而是公布漏洞,便于系统在被其他人(例如黑帽子)利用之前修补漏洞)来完成,以此保证检测方法的有效性,需要较高的人工成本,而很多企业员工的专业技能达不到要求。
在现有技术中,基于规则、白名单、黑名单、基于正则表达式及字符串匹配的检测方法,虽然可以拦截大多数的攻击,但检测规则写的太严,误报率太高会影响用户正常使用。检测规则写的宽泛又容易让攻击者绕过。
除此以外,现有技术的检测方法无法及时发现并阻断新型未知攻击,新型攻击出现后,通常要经过传播、发现、披露后,相关人员才能分析并制定检测规则,对攻击检测有一定的延迟。
发明内容
为了克服现有技术中的上述不足,本发明提供一种Web攻击检测方法及装置,其能够有效地检测出攻击请求,甚至未知攻击,并且检测模型构建完成后,无需人工进干预,无需制定检测规则,降低人工成本。
本发明的第一目的在于提供一种Web攻击检测方法,所述方法包括:
获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串;
对所述目标字符串进行向量化处理,得到对应的目标向量;
根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求。
本发明的第二目的在于提供一种Web攻击检测装置,所述装置包括:
预处理模块,用于获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串;
向量化处理模块,用于对所述目标字符串进行向量化处理,得到对应的目标向量;
检测模块,用于根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求。
相对于现有技术而言,本发明具有以下有益效果:
本发明提供一种Web攻击检测方法及装置。所述方法包括:获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串。对所述目标字符串进行向量化处理,得到对应的目标向量。根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求。由此,能及时、有效地检测出攻击请求,甚至是新型未知攻击。并且检测模型构建完成后,无需人工进行干预,无需制定检测规则,降低人工成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明较佳实施例提供的终端设备的方框示意图。
图2是本发明第一实施例提供的Web攻击检测方法的步骤流程图之一。
图3是本发明第一实施例提供的图2所示的步骤S130的子步骤流程图。
图4是本发明第一实施例提供的Web攻击检测方法的步骤流程图之二。
图5是本发明第一实施例提供的图4所示的步骤S110的子步骤流程图。
图6是本发明第一实施例提供的图2所示的步骤S150的子步骤流程图。
图7为第二实施例提供的Web攻击检测装置的功能模块框图。
图标:100-终端设备;110-存储器;120-处理器;130-网络模块;200-Web攻击检测装置;210-构建模块;220-训练模块;230-预处理模块;240-向量化处理模块;250-检测模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本发明较佳实施例提供的终端设备100的方框示意图。所述终端设备100包括存储器110、Web攻击检测装置200、处理器120及网络模块130。
在本实施例中,所述终端设备100可以是,但不限于,个人电脑(PC)、平板电脑、移动上网设备、便携式计算机等。
所述存储器110、处理器120及网络模块130相互之间直接或间接地电性连接,以实现数据的传输或交互。存储器110中存储有Web攻击检测装置200,所述Web攻击检测装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块,所述处理器120通过运行存储在存储器110内的软件程序以及模块,从而执行各种功能应用以及数据处理。
其中,所述存储器110可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器110用于存储程序,所述处理器120在接收到执行指令后,执行所述程序。进一步地,上述存储器110内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
所述处理器120可以是一种集成电路芯片,具有信号的处理能力。上述的处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块130用于通过网络建立终端设备100与外部设备之间的通信连接。
可以理解,图1所述的结构仅为示意,终端设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
第一实施例
请参照图2,图2是本发明第一实施例提供的Web攻击检测方法的步骤流程图之一。所述方法应用于终端设备100。下面对Web攻击检测方法具体流程进行详细阐述。所述方法包括步骤S130、步骤S140及步骤S150。
步骤S130,获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串。
请参照图3,图3是本发明第一实施例提供的图2所示的步骤S130的子步骤流程图。所述步骤S130包括:子步骤S131、子步骤S132、子步骤S133、子步骤S134、子步骤S135及子步骤S136。
子步骤S131,获得待检测Web请求的路径及参数。
在本实施例中,终端设备100在接收到用户提交的待检测Web请求时,会获得待检测Web请求对应的用户访问路径及用户提交的访问参数。
在本实施例中,Web请求是指用户向终端设备100提交的HTTP请求。HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从Web服务器传输超文本到本地浏览器。HTTP包括多种请求方法:GET-从指定的资源请求数据、POST-向指定的资源提交要被处理的数据、DELETE-删除指定资源及PUT-上传指定的URI表示等。在本实施例中,常用的是GET及POST。
子步骤S132,对获得的待检测Web请求的参数进行参数拆解处理,得到对应的键值对,并对所述键值对进行保存。
在本实施例中,终端设备100对用户提交的HTTP请求的POST及GET等方法里的参数进行参数拆解处理,统一拆解成键值对的形式。其中,键值对存储是最简单的组织形式,键(key)是指存储的值的标识符,值(value)是指存放的数据内容。例如,用户登录提交了密码(password)123456,键(key)就是password,值(value)就是password对应存放的内容:123456。
在本实施例中,HTTP的POST及GET等方法各自对应参数的位置不一样,为了统一不同的HTTP方法,将参数以“&”进行分割,参数的键与值以“=”进行分割,可得到一个键值对列表,在python中表现为“字典”。本方案使用python的split函数进行分割,使用字典结构存储键值对。
在本实施例中,python是一种面向对象的解释型计算机程序设计语言,字典是python语言中的映射类型,是python中最强大的数据类型之一。
子步骤S133,对所述键值对中经过编码的字符参数进行解码处理。
在本实施例中,终端设备100将键值对中经过urlencode编码的值进行urldecode解码。HTTP中的参数如果有特殊字符、中文等,会被urlencode编码,如中文“异常检测”被编码成“%E5%BC%82%E5%B8%B8%E6%A3%80%E6%B5%8B”。由此,需要将参数中的经过编码的键值对进行urldecode解码处理。
在本实施例中,urlencode是一个函数,用于编码处理,可将字符串以URL编码,urldecode函数可对字符串进行URL解码。urlencode和urldecode是对应的。
子步骤S134,对经过解码处理的键值对中属于非规范编码类型的字符参数进行编码类型转化处理。
在本实施例中,终端设备100会将键值对中的字符参数统一转换成规范编码类型(UTF-8编码)。虽然,通常参数中的字符均采用是utf-8编码,但有些网站或页面参数会使用非规范的url编码,比如,POST的参数使用GBK编码。由此,需要使用decode函数将属于非规范编码类型的字符参数转换成unicode编码,再使用encode函数转为utf-8编码。
在本实施例中,decode、encode函数,是Python提供的用于处理字符串编码和解码的内建函数。unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。字符参数在python内部的表示是unicode编码,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符参数解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
子步骤S135,将经过编码类型转化处理的键值对与所述待检测Web请求的路径进行合并处理,得到字符串。
在本实施例中,可将经过上述处理的键值对和路径用空格符分隔合并,串接为字符串。
子步骤S136,根据预设分词规则对所述字符串进行分词处理,得到目标字符串。
在本实施例中,终端设备100根据预设分词规则对所述字符串进行分词处理,得到目标字符串。所述预设分词规则可以是,但不限于,采用python的“jieba”分词组件对所述字符串进行分词处理。其中,可根据实际需求对“jieba”分词中的正则表达式re_han_default及re_skip进行修改,以得到满足需求的目标字符串。
例如,将re_han_default修改为:
re_han_default=re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._\-\_]+)",re.U)。
将re_skip修改为:
re_skip=re.compile("(\d+\.\d+|[a-zA-Z0-9\-\.\_]+)")。
一般情况下,“jieba”分词组件会将“a.b”、“a-b”和“a_b”分割成“a”、“b”、“.”、“_”、“-”等单个字符,但经过修改的re_han_default和re_skip处理之后,“jieba”分词组件就不会将“a.b”、“a-b”和“a_b”这样的字符串分割开。
对所述待检测Web请求进行预处理,可统一不同的编码类型,过滤干扰参数,得到符合要求的目标字符串,以便于后续的运算处理。
步骤S140,对所述目标字符串进行向量化处理,得到对应的目标向量。
在本实施例中,终端设备100根据向量空间模型及预设向量算法对所述目标字符串进行向量化处理,得到对应的目标向量。
在本实施例中,所述向量空间模型(VSM,Vector Space Model)是由Salton等人于20世纪70年代提出,并成功地应用于著名的SMART文本检索系统,把对文本内容的处理简化为向量空间中的向量运算,直观易懂。
在本实施例中,所述预设向量算法可以是,但不限于TF-IDF算法。TF-IDF(TermFrequency-InversDocument Frequency)是一种常用于信息处理和数据挖掘的加权技术。该技术采用一种统计方法,根据字词的在文本中出现的次数和在整个语料中出现的文档频率来计算一个字词在整个语料中的重要程度。它的优点是能过滤掉一些常见的却无关紧要本的词语,同时保留影响整个文本的重要字词。通过使用sklearn的TfidfVectorizer或CountVectorizer可将目标字符串转换成向量形式,得到对应的目标向量。
步骤S150,根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求。
在本实施例中,所述检测模型通过所述终端设备100预先进行训练运算得到。下面对如何得到所述检测模型进行说明。
请参照图4,图4是本发明第一实施例提供的Web攻击检测方法的步骤流程图之二。所述方法还包括:步骤S110及步骤S120。
步骤S110,构建机器学习的训练集。
请参照图5,图5是本发明第一实施例提供的图4所示的步骤S110的子步骤流程图。所述步骤S110包括:子步骤S111、子步骤S112及子步骤S113。
子步骤S111,获得多个Web样本。
在本实施例中,所述终端设备100获得多个Web样本。其中,所述Web样本包括Web请求和/或Web日志。
子步骤S112,对获得的多个Web样本进行预处理,得到字符串样本集。
在本实施例中,所述终端设备100对获得的多个Web样本进行预处理,得到字符串样本集。其中,所述预处理包括:参数拆解处理、解码处理、编码类型转化处理、合并处理及分词处理。关于预处理操作的具体介绍可参照上述对步骤S130及其子步骤的相关描述。
子步骤S113,对字符串样本集中的每个字符串进行向量化处理,得到对应的训练集。
在本实施例中,所述终端设备100对字符串样本集中的每个字符串进行向量化处理,得到对应的训练集。其中,所述训练集包括的数据为经过向量化处理的向量数据。关于向量化处理操作的具体介绍可参照上述对步骤S140的相关描述。
步骤S120,根据异常检测算法对所述训练集进行训练运算,得到所述检测模型。
在本实施例中,所述异常检测算法可以包括,但不限于,One-classSVM算法及孤立森林算法Isolation Forest。优选采用One-class SVM算法。
在本实施例中,One-class SVM通常适用于,需要对训练样本进行一定比例的筛选,或者已知的训练样本都是正样本,而负样本较少的情况。这种情况下,需要训练运算出一个对于训练样本紧凑的分类边界,可筛选出负样本。例如,一个工厂在需要产品的合格性进行检查时,往往所知道的是合格产品的参数,而不合格产品的参数要么空间较大,要么知之甚少。这种情况下,可通过已知的合格产品参数训练得到一个紧凑的分类边界,而超出这个分类边界产品可认为是不合格产品。对于异常事件来说,异常事件就是样本量极少的事件。利用正常情况下的数据训练得到分类边界,根据分类边界对数据进行测试,处于分类边界之内则认为是正常事件,否则认为是异常事件。
在本实施例中,iForest(Isolation Forest)孤立森林算法是一个基于Ensemble的快速异常检测方法,具有线性时间复杂度和高精准度,可用于网络安全中的攻击检测,金融交易欺诈检测,疾病侦测和噪声数据过滤等。iForest适用于连续数据(Continuousnumerical data)的异常检测,将异常定义为“容易被孤立的离群点(more likely to beseparated)”,可以理解为分布稀疏且离密度高的群体较远的点。用统计学来解释,在数据空间里面,分布稀疏的区域表示数据发生在此区域的概率很低,因而可以认为落在这些区域里的数据是异常的。
在本实施例中,由于正常Web请求是大量重复性存在的,而攻击性Web请求极为稀少,本发明可通过上述的异常检测算法对所述训练集进行训练运算,得到检测模型。通过检测模型验证待检测Web请求,能够能及时、有效地检测出攻击请求,甚至能检测出新型未知攻击。并且检测模型构建完成后,无需人工进行干预,降低人工成本。
下面结合上述说明对步骤S150进行介绍。请参照图6,图6是本发明第一实施例提供的图2所示的步骤S150的子步骤流程图。所述步骤S150包括:子步骤S151、子步骤S152及子步骤S153。
子步骤S151,使用检测模型对所述目标向量进行检测,并判断检测结果是否异常。
在本实施例中,将所述目标向量带入到检测模型中进行运算。若目标向量处于分类边界之外(采用One-class SVM算法),或者,所述目标向量落在分布稀疏的区域(采用Isolation Forest算法),则可判断所述目标向量的检测结果异常,反之检测结果正常。
子步骤S152,当检测结果异常时,判定所述待检测Web请求为攻击请求,记录所述待检测Web请求,并进行预警处理。
在本实施例中,在检测到所述待检测Web请求为攻击请求时,终端设备100可记录所述待检测Web请求的相关信息,发出预警通知,并阻断该请求。
子步骤S153,当检测结果正常时,判定所述待检测Web请求为非攻击请求,不进行预警处理。
第二实施例
请参照图7,图7为第二实施例提供的Web攻击检测装置200的功能模块框图。所述装置应用于终端设备100。所述装置包括:预处理模块230、向量化处理模块240及检测模块250。
预处理模块230,用于获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串。
在本实施例中,所述预处理模块230用于执行图2中的步骤S130,关于所述预处理模块230的具体描述可以参照步骤S130的描述。
向量化处理模块240,用于对所述目标字符串进行向量化处理,得到对应的目标向量。
在本实施例中,所述向量化处理模块240用于执行图2中的步骤S140,关于所述向量化处理模块240的具体描述可以参照步骤S140的描述。
检测模块250,用于根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求。
在本实施例中,所述检测模块250用于执行图2中的步骤S150,关于所述检测模块250的具体描述可以参照步骤S150的描述。
所述装置还包括:构建模块210及训练模块220。
构建模块210,用于构建机器学习的训练集。
在本实施例中,所述构建模块210用于执行图4中的步骤S110,关于所述构建模块210的具体描述可以参照步骤S110的描述。
训练模块220,用于根据异常检测算法对所述训练集进行训练运算,得到所述检测模型。
在本实施例中,所述训练模块220用于执行图4中的步骤S120,关于所述训练模块220的具体描述可以参照步骤S120的描述。
综上所述,本发明提供一种Web攻击检测方法及装置。所述方法包括:获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串。对所述目标字符串进行向量化处理,得到对应的目标向量。根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求。
由此,能及时、有效地检测出攻击请求,甚至是新型未知攻击。并且检测模型构建完成后,无需人工进行干预,无需制定检测规则,降低人工成本。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种Web攻击检测方法,其特征在于,所述方法包括:
获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串;
对所述目标字符串进行向量化处理,得到对应的目标向量;
根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求;
其中,所述获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串的步骤包括:
获得待检测Web请求的路径及参数;
对获得的待检测Web请求的参数进行参数拆解处理,得到对应的键值对,并对所述键值对进行保存;
对所述键值对中经过编码的字符参数进行解码处理;
对经过解码处理的键值对中属于非规范编码类型的字符参数进行编码类型转化处理;
将经过编码类型转化处理的键值对与所述待检测Web请求的路径进行合并处理,得到字符串;
根据预设分词规则对所述字符串进行分词处理,得到目标字符串。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标字符串进行向量化处理,得到对应的目标向量的步骤包括:
根据向量空间模型及预设向量算法对所述目标字符串进行向量化处理,得到对应的目标向量。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
构建机器学习的训练集;
根据异常检测算法对所述训练集进行训练运算,得到所述检测模型。
4.根据权利要求3所述的方法,其特征在于,所述构建机器学习的训练集的步骤包括:
获得多个Web样本,其中,所述Web样本包括Web请求和/或Web日志;
对获得的多个Web样本进行预处理,得到字符串样本集,其中,所述预处理包括:参数拆解处理、解码处理、编码类型转化处理、合并处理及分词处理;
对字符串样本集中的每个字符串进行向量化处理,得到对应的训练集。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求的步骤包括:
使用检测模型对所述目标向量进行检测;
当检测结果异常时,判定所述待检测Web请求为攻击请求,记录所述待检测Web请求,并进行预警处理;
当检测结果正常时,判定所述待检测Web请求为非攻击请求,不进行预警处理。
6.一种Web攻击检测装置,其特征在于,所述装置包括:
预处理模块,用于获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串;
向量化处理模块,用于对所述目标字符串进行向量化处理,得到对应的目标向量;
检测模块,用于根据检测模型对所述目标向量进行检测,并判断所述待检测Web请求是否为攻击请求;
所述预处理模块获得待检测Web请求,对所述待检测Web请求进行预处理得到对应的目标字符串的方式包括:
获得待检测Web请求的路径及参数;
对获得的待检测Web请求的参数进行参数拆解处理,得到对应的键值对,并对所述键值对进行保存;
对所述键值对中经过编码的字符参数进行解码处理;
对经过解码处理的键值对中属于非规范编码类型的字符参数进行编码类型转化处理;
将经过编码类型转化处理的键值对与所述待检测Web请求的路径进行合并处理,得到字符串;
根据预设分词规则对所述字符串进行分词处理,得到目标字符串。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
构建模块,用于构建机器学习的训练集;
训练模块,用于根据异常检测算法对所述训练集进行训练运算,得到所述检测模型。
8.根据权利要求7所述的装置,其特征在于,所述构建模块构建机器学习的训练集的方式包括:
获得多个Web样本,其中,所述Web样本包括Web请求和/或Web日志;
对获得的多个Web样本进行预处理,得到字符串样本集,其中,所述预处理包括:参数拆解处理、解码处理、编码类型转化处理、合并处理及分词处理;
对字符串样本集中的每个字符串进行向量化处理,得到对应的训练集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710534596.7A CN107346388B (zh) | 2017-07-03 | 2017-07-03 | Web攻击检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710534596.7A CN107346388B (zh) | 2017-07-03 | 2017-07-03 | Web攻击检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107346388A CN107346388A (zh) | 2017-11-14 |
CN107346388B true CN107346388B (zh) | 2020-06-02 |
Family
ID=60257591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710534596.7A Active CN107346388B (zh) | 2017-07-03 | 2017-07-03 | Web攻击检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107346388B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918905B (zh) * | 2017-11-22 | 2021-10-15 | 创新先进技术有限公司 | 异常交易识别方法、装置及服务器 |
CN108040052A (zh) * | 2017-12-13 | 2018-05-15 | 北京明朝万达科技股份有限公司 | 一种基于Netflow日志数据的网络安全威胁分析方法及系统 |
CN108229910B (zh) * | 2017-12-14 | 2022-01-11 | 四川虹信软件股份有限公司 | 一种居民上报事件的分类处理方法 |
CN108229156A (zh) * | 2017-12-28 | 2018-06-29 | 阿里巴巴集团控股有限公司 | Url攻击检测方法、装置以及电子设备 |
CN108616498A (zh) * | 2018-02-24 | 2018-10-02 | 国家计算机网络与信息安全管理中心 | 一种web访问异常检测方法和装置 |
CN108920463A (zh) * | 2018-06-29 | 2018-11-30 | 北京奇虎科技有限公司 | 一种基于网络攻击的分词方法及系统 |
CN109190371A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 一种基于行为图的Android恶意软件检测方法和技术 |
CN108769079A (zh) * | 2018-07-09 | 2018-11-06 | 四川大学 | 一种基于机器学习的Web入侵检测技术 |
CN108712448A (zh) * | 2018-07-09 | 2018-10-26 | 四川大学 | 一种基于动态污点分析的注入式攻击检测模型 |
CN109274675A (zh) * | 2018-09-30 | 2019-01-25 | 上海视岳计算机科技有限公司 | 一种基于云平台的大规模Web攻击检测方法和系统 |
CN109522454B (zh) * | 2018-11-20 | 2022-06-03 | 四川长虹电器股份有限公司 | 自动生成web样本数据的方法 |
CN110351299B (zh) * | 2019-07-25 | 2022-04-22 | 新华三信息安全技术有限公司 | 一种网络连接检测方法和装置 |
CN110765459A (zh) * | 2019-10-18 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种恶意脚本检测方法、装置和存储介质 |
CN111371776A (zh) * | 2020-02-28 | 2020-07-03 | 北京邮电大学 | Http请求数据的异常检测方法、装置、服务器及存储介质 |
CN111800409B (zh) * | 2020-06-30 | 2023-04-25 | 杭州数梦工场科技有限公司 | 接口攻击检测方法及装置 |
TWI774582B (zh) | 2021-10-13 | 2022-08-11 | 財團法人工業技術研究院 | 惡意超文本傳輸協定請求的偵測裝置和偵測方法 |
CN114297641A (zh) * | 2021-12-31 | 2022-04-08 | 深信服科技股份有限公司 | 一种Web应用的异常检测方法、系统、存储介质和终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692639A (zh) * | 2009-09-15 | 2010-04-07 | 西安交通大学 | 一种基于url的不良网页识别方法 |
CN104537303A (zh) * | 2014-12-30 | 2015-04-22 | 中国科学院深圳先进技术研究院 | 一种钓鱼网站鉴别系统及鉴别方法 |
CN104766013A (zh) * | 2015-04-10 | 2015-07-08 | 北京理工大学 | 一种基于跳表的跨站脚本攻击防御方法 |
WO2016127858A1 (zh) * | 2015-02-10 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 网页入侵脚本特征的识别方法及设备 |
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
-
2017
- 2017-07-03 CN CN201710534596.7A patent/CN107346388B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692639A (zh) * | 2009-09-15 | 2010-04-07 | 西安交通大学 | 一种基于url的不良网页识别方法 |
CN104537303A (zh) * | 2014-12-30 | 2015-04-22 | 中国科学院深圳先进技术研究院 | 一种钓鱼网站鉴别系统及鉴别方法 |
WO2016127858A1 (zh) * | 2015-02-10 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 网页入侵脚本特征的识别方法及设备 |
CN104766013A (zh) * | 2015-04-10 | 2015-07-08 | 北京理工大学 | 一种基于跳表的跨站脚本攻击防御方法 |
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107346388A (zh) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107346388B (zh) | Web攻击检测方法及装置 | |
US11637859B1 (en) | System and method for analyzing binary code for malware classification using artificial neural network techniques | |
CN107659570B (zh) | 基于机器学习与动静态分析的Webshell检测方法及系统 | |
CN112567367A (zh) | 用于聚类和加速多个事故调查的基于相似性的方法 | |
CN111585955B (zh) | 一种http请求异常检测方法及系统 | |
US20190312908A1 (en) | Cyber chaff using spatial voting | |
CN109858248B (zh) | 恶意Word文档检测方法和装置 | |
CN112511546A (zh) | 基于日志分析的漏洞扫描方法、装置、设备和存储介质 | |
CN104158828B (zh) | 基于云端内容规则库识别可疑钓鱼网页的方法及系统 | |
US11556640B1 (en) | Systems and methods for automated cybersecurity analysis of extracted binary string sets | |
AU2018298640B2 (en) | Determination device, determination method, and determination program | |
CN111586005B (zh) | 扫描器扫描行为识别方法及装置 | |
US11470114B2 (en) | Malware and phishing detection and mediation platform | |
WO2021051536A1 (zh) | 安全预警方法及相关设备、计算机可读存储介质 | |
CN111835777A (zh) | 一种异常流量检测方法、装置、设备及介质 | |
CN110602030A (zh) | 网络入侵阻断方法、服务器及计算机可读介质 | |
CN112131249A (zh) | 一种攻击意图识别方法及装置 | |
Zhang et al. | Automatic detection of Android malware via hybrid graph neural network | |
US20230252146A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
US20230048076A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
CN108701401B (zh) | 报警方法、装置、系统及电子设备 | |
US10187495B2 (en) | Identifying problematic messages | |
CN118103839A (zh) | 用于检测可疑网络活动的随机字符串分类 | |
CN114826628A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
WO2021133592A1 (en) | Malware and phishing detection and mediation platform |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |