基于语义重编码与特征空间分离的Web入侵检测方法技术

技术编号:20425901 阅读:22 留言:0更新日期:2019-02-23 08:45
本发明专利技术涉及一种基于语义重编码与特征空间分离的Web入侵检测方法。本发明专利技术将Web访问数据流中访问本地资源的“GET”“POST”命令后续字符串及Web日志中的特征值作为检测对象。通过Web入侵检测模型训练与Web入侵检测模型检测,对现有的Web入侵字符流检测。本发明专利技术有效利用了Web访问正常字符流与异常字符流之间往往有明显语义差别的特点,通过单词重编码让正常字符流与异常字符流之间的差异突显,同时用空间重投影技术进一步分离正常异常样本,提高了Web入侵检测的准确率,对现有的Web入侵字符流检测,准确率达到99%以上。

【技术实现步骤摘要】
基于语义重编码与特征空间分离的Web入侵检测方法
本专利技术属于网络安全
,涉及一种基于语义重编码与特征空间分离的Web入侵检测方法。
技术介绍
随着Web应用的极大丰富,特别是用户使用数据及用户个人信息数据极大丰富,针对Web系统的安全攻击、数据窃取等行为也日益增多。Web应用系统因其搭建过程牵涉的软件系统、技术环节众多,使用过程涉及的数据流处理节点也很多,使得Web应用系统成为极易被攻击的对象。Web安全问题成为日常网络安全问题中最为普遍问题的之一。Web入侵检测是Web安全防护的重要措施之一。Web入侵检测系统通常通过反向代理或交换机流量旁路的方式导出Web应用访问数据流,结合Web日志或HTTP日志,运用入侵检测算法对数据流和日志进行安全性分析,检测异常和入侵行为。Web入侵检测一般分为误用检测和异常检测两大类,误用检测以现有异常数据流为主要分析对象,从已有异常数据流中提取特征,形成规则,检测时以规则匹配为主要手段,此种方法对已知威胁有较好的检测效果,但Web流量变化丰富,固定规则容易被经验丰富的攻击者绕过,从而大大降低检测效果。异常检测以正常数据流为建模对象,分析正常数据流的特点,建立正常流量模型,与正常流量模型不匹配的即为异常流量,模型建立过程以及检测过程往往采用各种机器学习、人工智能方法,各类方法各有特点。异常检测是目前入侵检测新技术研究的主要模型,异常检测需要克服的问题是容易产生虚警,而大量虚警容易导致用户失去耐心,甚至关闭检测系统。基于机器学习的异常检测采用的方法有神经网络、决策树、支持向量机(SVM)、遗传算法等,这些方法大部份脱胎于数据挖掘经典方法,在面对海量大数据、不要求极高准确率的时候,具有不错的数据挖掘能力,但面对准确率要求高的Web入侵检测场景,单纯的数据挖掘方法难以达到理想的识别准确率,从而影响整个入侵检测系统的性能。
技术实现思路
本专利技术针对现有技术的不足,提出了一种基于语义重编码与特征空间分离的Web入侵检测方法。本专利技术包括Web入侵检测模型训练与Web入侵检测模型检测。将Web访问数据流中访问本地资源的“GET”“POST”命令后续字符串及Web日志中的特征值作为检测对象。步骤如下:步骤一、Web入侵检测模型训练,具体步骤如下:(1)对提取的Web访问字符串进行分词操作,用http字符流断词标点、特殊字符作为分隔符,特殊字符由用户根据经验及Web入侵常用单词预先设定,切分Web访问字符串为单词串;http字符流断词标点、特殊字符随着http协议的变化,以及Web系统流量特点的变化会有差异,需要不断更新,使用时能够预定义断词标点与特殊字符串表,表格的更新由用户自行维护;(2)对Web日志进行提取特征值操作,提取Web日志IP地址、日期、时间、状态码基本信息,用自定义函数计算Web日志特征值;Web日志信息及自定义函数会随着系统变化更新,由用户自行维护;(3)构建单词表,将步骤(1)获取的切分后字符串视为单词填入单词表,将步骤(2)获取的每一个特征值视为一个单词填入单词表;(4)将Web访问字符串以单词的方式重新整理为记录,一次访问一条记录;对Web日志信息中与当前Web访问字符串同一时间段内的日志信息计算特征值,如同一时间段内有多条日志信息则计算它们的平均值,日志特征值按固定顺序排列,特征值1,特征值2,……,特征值n,形成一条记录;将2条记录前后顺次拼接为1条记录;(5)从Web访问流量中提取的攻击样本与正常样本,进行步骤(1)(2)(3)(4)的操作,形成正负样本记录集合;(6)排序单词表,分别扫描正样本记录和负样本记录,统计单词在正样本和负样本中出现的频率,一行记录中出现多次按一次统计;计算同一个单词在正负样本中出现的频率差,依据频率差对单词排序,依据综合词频单词表被重新排序;(7)单词表重编码,设定阈值T1大于0、T2小于0,如果综合词频单词表中单词综合词频大于T1或小于T2,一对一重编码;如果单词综合词频小于T1并且大于T2,多对一重编码,综合词频小于T1并且大于T2的多个单词合并为一个单词WordM,未知单词也编码为WordM;重编码后单词表为新码表;(8)将正负样本按新码表重映射,样本中有n个单词映射到同一个单词时,该单词对应位置上的值加n,映射结果使得任意不等长单词序列映射为等长的单词序列;所有正负样本经重映射后,形成等长训练样本集合S,表示为S={(xi,yi)},1≤i≤m,y∈{0,1},m表示训练样本的个数,xi为训练集合中的记录(单词序列),长度等长记为n,y∈{0,1}表示正负样本标签,用于训练分类器;(9)别计算正负样本均值向量见式(1):其中j表示正负样本分类,mj表示正负样本的个数,m0+m1=m,m为参加训练的样本总数;(10)计算正负样本类内离散度,得类内离散度矩阵Sw,见式(2):其中X0表示训练样本S中的正样本集合,X1表示训练样本S中的负样本集合;μ0为正样本均值向量,μ1为负样本均值向量。(11)计算正负样本间平均离散度,得类间离散度矩阵Sd,见式⑶:Sd=(μ0-μ1)(μ0-μ1)T⑶;T表示矩阵转置;(12)计算正负样本空间分离投影矩阵W:计算矩阵Sw-1Sd的特征值及对应的特征向量,即:(Sw-1Sd)w=λw,w为矩阵的特征向量,λ为特征值。将前n1个大于0的最大的特征值按序排列,各特征值对应的特征向量{w1,w2,....,wn1}作为矩阵的列顺次组合,得到分离投影矩阵W,n1取值可由用户根据经验进行。进行空间分离操作时将样本左乘WT,即WTxi,其中Sw-1表示矩阵的逆,xi含义参见步骤(8);(13)用空间分离投影矩阵W对正负样本均值进行投影,得式⑷与式⑸:U0=WTμ0⑷;U1=WTμ1⑸;(14)保留综合词频单词表,重编码后单词表(新码表),正负样本空间分离投影矩阵W,正负样本均值投影向量U0,U1,为后续新样本测试时使用;步骤二、Web入侵检测模型检测,具体步骤如下:①、提取待测试的Web访问字符串并进行分词操作,分词操作http字符流断词标点、特殊字符作为分隔符,特殊字符由用户根据经验及Web入侵常用单词预先设定。切分Web访问字符串为单词串;http字符流断词标点、特殊字符随着http协议的变化,以及Web系统流量特点的变化会有差异,需要不断更新,使用时可预定义断词标点与特殊字符串表,表格的更新由用户自行维护;②、对Web日志进行提取特征值操作,用与步骤(2)同样的方法提取待测试Web访问的特征值;③、调取步骤一建立的综合词频单词表,重编码后单词表;④、对照综合词频单词表、重编码后单词表将待测试Web访问字符串映射为由单词序列组成的待测试记录t;⑤、调取步骤一中保留的投影矩阵W,计算Ts=WTt;Ts为待测试记录t经特征空间分离投影后得到的特征向量,用该特征向量刻画的正负样本具有更好的区分度。⑥、判断Ts与U0,U1之间的距离,与U0更近则判断为正样本,与U1更近则判断为负样本,距离计算采用向量欧氏距离,入侵检测过程结束。本专利技术有效利用了Web访问正常字符流与异常字符流之间往往有明显语义差别的特点,通过单词重编码让正常字符流与异常字符流之间的差异突显,同时用空间重投影技术进一步分离正本文档来自技高网
...

【技术保护点】
1.基于语义重编码与特征空间分离的Web入侵检测方法,将Web访问数据流中访问本地资源的“GET”“POST”命令后续字符串及Web日志中的特征值作为检测对象;其特征在于:包括Web入侵检测模型训练与Web入侵检测模型检测;步骤如下:步骤一、Web入侵检测模型训练,具体步骤如下:(1)对提取的Web访问字符串进行分词操作,用http字符流断词标点、特殊字符作为分隔符,特殊字符由用户根据经验及Web入侵常用单词预先设定,切分Web访问字符串为单词串;http字符流断词标点、特殊字符随着http协议的变化,以及Web系统流量特点的变化会有差异,需要不断更新,使用时能够预定义断词标点与特殊字符串表,表格的更新由用户自行维护;(2)对Web日志进行提取特征值操作,提取Web日志IP地址、日期、时间、状态码基本信息,用自定义函数计算Web日志特征值;Web日志信息及自定义函数会随着系统变化更新,由用户自行维护;(3)构建单词表,将步骤(1)获取的切分后字符串视为单词填入单词表,将步骤(2)获取的每一个特征值视为一个单词填入单词表;(4)将Web访问字符串以单词的方式重新整理为记录,一次访问一条记录;对Web日志信息中与当前Web访问字符串同一时间段内的日志信息计算特征值,如同一时间段内有多条日志信息则计算它们的平均值,日志特征值按固定顺序排列,特征值1,特征值2,……,特征值n,形成一条记录;将2条记录前后顺次拼接为1条记录;(5)从Web访问流量中提取的攻击样本与正常样本,进行步骤(1)(2)(3)(4)的操作,形成正负样本记录集合;(6)排序单词表,分别扫描正样本记录和负样本记录,统计单词在正样本和负样本中出现的频率,一行记录中出现多次按一次统计;计算同一个单词在正负样本中出现的频率差,依据频率差对单词排序,依据综合词频单词表被重新排序;(7)单词表重编码,设定阈值T1大于0、T2小于0,如果综合词频单词表中单词综合词频大于T1或小于T2,一对一重编码;如果单词综合词频小于T1并且大于T2,多对一重编码,综合词频小于T1并且大于T2的多个单词合并为一个单词WordM,未知单词也编码为WordM;重编码后单词表为新码表;(8)将正负样本按新码表重映射,样本中有n个单词映射到同一个单词时,该单词对应位置上的值加n,映射结果使得任意不等长单词序列映射为等长的单词序列;所有正负样本经重映射后,形成等长训练样本集合S,表示为S={(xi,yi)},1≤i≤m,y∈{0,1},m表示训练样本的个数,xi为训练集合中的记录(单词序列),长度等长记为n,y∈{0,1}表示正负样本标签,用于训练分类器;(9)分别计算正负样本均值向量见式(1):...

【技术特征摘要】
1.基于语义重编码与特征空间分离的Web入侵检测方法,将Web访问数据流中访问本地资源的“GET”“POST”命令后续字符串及Web日志中的特征值作为检测对象;其特征在于:包括Web入侵检测模型训练与Web入侵检测模型检测;步骤如下:步骤一、Web入侵检测模型训练,具体步骤如下:(1)对提取的Web访问字符串进行分词操作,用http字符流断词标点、特殊字符作为分隔符,特殊字符由用户根据经验及Web入侵常用单词预先设定,切分Web访问字符串为单词串;http字符流断词标点、特殊字符随着http协议的变化,以及Web系统流量特点的变化会有差异,需要不断更新,使用时能够预定义断词标点与特殊字符串表,表格的更新由用户自行维护;(2)对Web日志进行提取特征值操作,提取Web日志IP地址、日期、时间、状态码基本信息,用自定义函数计算Web日志特征值;Web日志信息及自定义函数会随着系统变化更新,由用户自行维护;(3)构建单词表,将步骤(1)获取的切分后字符串视为单词填入单词表,将步骤(2)获取的每一个特征值视为一个单词填入单词表;(4)将Web访问字符串以单词的方式重新整理为记录,一次访问一条记录;对Web日志信息中与当前Web访问字符串同一时间段内的日志信息计算特征值,如同一时间段内有多条日志信息则计算它们的平均值,日志特征值按固定顺序排列,特征值1,特征值2,……,特征值n,形成一条记录;将2条记录前后顺次拼接为1条记录;(5)从Web访问流量中提取的攻击样本与正常样本,进行步骤(1)(2)(3)(4)的操作,形成正负样本记录集合;(6)排序单词表,分别扫描正样本记录和负样本记录,统计单词在正样本和负样本中出现的频率,一行记录中出现多次按一次统计;计算同一个单词在正负样本中出现的频率差,依据频率差对单词排序,依据综合词频单词表被重新排序;(7)单词表重编码,设定阈值T1大于0、T2小于0,如果综合词频单词表中单词综合词频大于T1或小于T2,一对一重编码;如果单词综合词频小于T1并且大于T2,多对一重编码,综合词频小于T1并且大于T2的多个单词合并为一个单词WordM,未知单词也编码为WordM;重编码后单词表为新码表;(8)将正负样本按新码表重映射,样本中有n个单词映射到同一个单词时,该单词对应位置上的值加n,映射结果使得任意不等长单词序列映射为等长的单词序列;所有正负样本经重映射后,形成等长训练样本集合S,表示为S={(xi,yi)},1≤i≤m,y∈{0,1},m表示训练样本...

【专利技术属性】
技术研发人员:吴震东
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1