[发明专利]一种基于chrome插件的危险网页识别方法有效
申请号: | 201910720615.4 | 申请日: | 2019-08-06 |
公开(公告)号: | CN110427579B | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | 成卫青;刁健峰;褚佳乐;蔡晨阳 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F16/955 | 分类号: | G06F16/955;G06F16/958;G06F21/56 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 彭雄 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于chrome插件的危险网页识别方法,包括根据网页中所有外部链接的URL提取支持向量机第一维度数据,根据页面html代码中所有script标签内嵌或引用的JavaScript代码提取支持向量机第二维度数据,根据提取到的支持向量机第一维度数据和第二维度数据求解支持向量机,输出是分离超平面的参数w*和b*以及分类决策函数,本发明通过比对域名与知名网页域名的相似程度,以及对网页内嵌或引用JavaScript代码进行分析来判别网页是否为危险网页,有效解决了已有网页安全性识别方法存在的准确率不够高和通用性不够强的问题。 | ||
搜索关键词: | 一种 基于 chrome 插件 危险 网页 识别 方法 | ||
【主权项】:
1.一种基于chrome插件的危险网页识别方法,其特征在于,包括如下步骤:步骤1)根据网页中所有外部链接的URL提取支持向量机第一维度数据,步骤包括:步骤1.1)提取一个网页中所有外部链接的URL;步骤1.2)访问http://data.alexa.com,根据网页URL中的域名获得网页所在网站的Alexa排名;若该网站排名在1000名以内,直接将该网页视为安全,若该网站排名在1000名以外或索取不到排名,则危险因素零danger0置1;步骤1.3)分析当前网页URL以及网页外部链接的URL中的各级域名,取其中最长的一级域名;若最长的一段域名长度大于18,危险因素三danger3置1,否则为0;对URL的划分方法如下:先以“/”划分URL,取其中的域名段,再在域名段用“.”划分,将各级域名作为字符串加入到一个数组中;步骤1.4)对当前网页URL以及网页外部链接的URL进行再次切割并提取信息:若域名以“.com.cn”结尾,则提取三级域名;若不是,则提取二级域名;步骤1.5)将从每个外部链接URL提取的域名与知名域名数据库中的域名一一比对,计算相似率,取相似率小于1的最高值,记为p,与知名域名数据库中某域名相似率为p的从外部链接提取的域名记为dname;步骤1.6)若dname长度大于6且p值大于0.8,或者dname长度小于6且p值大于0.54,则取危险因素一danger1为1,不符合上述情况,危险因素一置0;步骤1.7)将从当前网页URL提取的域名与知名域名数据库中的域名一一比对,并计算相似率,若所提取的域名长度大于6且相似率大于0.8,或者所提取的域名长度小于6且相似率大于0.54,则取危险因素二danger2为1,不符合上述情况,危险因素二置0;步骤1.8)若danger1=1而其他危险因素为0,则输出“The web pageisnot famous!”,并令danger=danger0+danger1+danger2+danger3,danger为0、1、2或3时分别输出“The web page is safe!”,“The web page isslightlysuspicious!”,“The web pageissuspicious!”,“The web pageisdangerous!”;步骤2)根据页面html代码中所有<script>标签提取支持向量机第二维度数据,具体步骤包括:步骤2.1)获取页面html代码中所有<script>标签里面内容,将里面所有src指向内容提取出来,组成数组X,统计数组元素总数,设共有x个;步骤2.2)匹配页面URL,提取当前页面URL的二级域名,若出现诸如.com.cn类型的则提取三级域名,将数组元素中含有此二级或三级域名的元素归入X1组,个数记为x1;对数组X的其余元素,匹配国内知名开源静态资源公共库,匹配的元素归入X2组,个数记为x2;对数组X的其余元素,匹配国外著名开源静态资源公共库,匹配的元素归入X3组,个数记为x3;最终未匹配的元素归入X4组,个数记为x4;满足关系:x1+x2+x3+x4=x;其中国内知名开源静态资源公共库为百度或Bootstrap中文网,国外著名开源静态资源公共库为google或Microsoft Ajax;步骤2.3)若x4/x大于0.1,则判定脚本引用存在甲类风险,若x2、x3同时不为0,并且x4不为0,则判定脚本引用存在乙类风险;若x4为0同时满足如下三种条件之一:x1/x>0.8、(x1+x2)/x>0.9、(x1+x3)/x>0.9,认为脚本引用存在丁类风险,其余情形判定脚本引用存在丙类风险;其中甲类风险为高风险类,乙类风险为可能存在危险类,丁类风险为安全类,丙类风险为尚未发现危险类;步骤2.4)获取html代码中所有内部js脚本以及所有外部js脚本,将所有js脚本组成一个数组Y,统计数组元素个数,设共有y个;匹配以下三种常见js挂马方法:1.document.write(“<iframe2.document.body.innerHTML3.open(***,”NewWindow”,”toolbar统计每个脚本中以上三个语句出现的次数;统计每个js脚本的字符数;一个数组元素含有以上三种常见挂马a个,脚本长度b个字符,比较lg(b2)与a的关系;数组Y中满足lg(b2)>a的元素,组成数组K,共有k个;再观察K中每一个元素与之前X数组元素的关系,若发现数组K中任意一个元素的来源是之前X4中的元素,判定js代码危险级别为A类;再记K中元素来源于X1中的元素的数量为k1个;若k/y>0.2且k1/k>0.5,则判定危险级别为B类;若k/y>0.1且k1/k>0.3,则判定危险级别为C类,其他情况为D类;其中A类为高风险类,B类为可能存在危险类,C类为小概率危险类,D类为安全类;步骤2.5)在两次判定之后,记甲、乙、丙、丁类依次为4、3、2、1分;记A、B、C、D类依次为4、3、2、1分;将两个分值相乘得到最终该网页第二维判定得分;步骤3)根据提取到的支持向量机第一维度数据和第二维度数据求解支持向量机,输出是分离超平面的参数w*和b*和分类决策函数,其中,w*表示超平面的法向量,b*表示超平面的截距,分类决策函数表示:若输入数据所在的特征空间存在作为决策边界的超平面,则将学习目标按正类和负类分开,并使任意样本的点到平面距离大于等于1。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910720615.4/,转载请声明来源钻瓜专利网。