4

基于图卷积神经网络的 web 登录入口识别方法

 2 years ago
source link: https://paper.seebug.org/1969/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

作者:Alfy@墨云科技VLab Team
原文链接:https://mp.weixin.qq.com/s/MtFZc1Zv6uNo25ORNijpaQ

什么是web登录入口

目前,大多数Web站点都具备身份验证的功能,防止非授权访问。web站点中每个账户都有特定的操作权限,如果非授权用户能够通过非常规的方式(如弱口令爆破、窃取他人的用户名口令等)登录他人账户,则可能造成站点用户信息泄露、站点系统被控制等严重后果。

当用户访问相关页面时,系统会要求其输入用户名、口令等相关信息进行验证,验证通过才允许后续网页访问。网页中进行身份验证的输入点统称为登录入口;登录入口中不同的输入类型如username、password、captcha和login按钮等,分别称为登录实体。因而,登录入口是一种重要的攻击面。此外,web站点的管理后台的登录入口具有更高的价值,一旦被攻击者非法登录成功,会暴露出更多的攻击面(例如系统配置等)。

为了提升Web网站的安全防护能力,消除web登录入口中存在的风险是重要的一环。其中,通过自动化的识别网站登录入口,并进行弱口令检测,是最为有效的web登录入口风险检测手段。墨云科技的Vackbot智能渗透机器人在此方面取得了突破。

图片

登录实体示例图

登录入口识别方法

1.识别方法概述

传统识别方法基于规则的方法,误报和漏报的问题比较突出,规则一旦形成,除非人为更改,否则长期处于停滞状态,灵活性较差。传统建模方法只考虑了部分上下文信息,缺乏对登录入口整体信息的认识。

不同于基于规则和基于传统建模登录入口识别的方法,图神经网络建模在对每个节点表征时不仅参考自身节点信息同时考虑了邻居节点信息,更加充分利用网页结构信息来决策不同网页标签所属的登录实体类别。图神经网络是一种特征提取器,它对相关数据信息构造一个图结构,生成节点的特征时它不仅参考自身节点信息同时考虑了邻居节点信息,它能够充分利用网页标签之间结构信息,从而提升相关登录实体识别效果。

2.我们的方法

为了有效的自动识别登录入口,我们提出了基于GCN模型为主,传统规则为辅的登录入口识别方法。首先,对网页DOM TREE的前序遍历过滤掉不属于登录实体的网页标签,同时,根据网页标签类型和属性值包含的关键词分别识别不同的候选网页标签,不同网页标签构造一个全连接图,基于网页标签图进行网页标签建模学习。

图片

图卷积神经网络建模流程图

如何基于图卷积神经网络建模

基于图神经网络建模首先需要把网页数据转为一个具体的图数据,具体处理流程包括网页数据去噪、节点特征构建、分类建模。

1.网页数据去噪

网页DOM TREE中包含了大量的网页标签,这些网页标签中与登录入口相关的网页标签非常有限,并且登录入口相关的网页标签一般都相对集中在一颗网页子树中,基于规则的方法通过网页标签类型、网页属性关键词、网页标签相邻信息可以有效过滤掉大量的非登录的网页标签。在登录入口识别的具体实现中,为了方便使用邻居网页标签信息,使用了dom tree的后序遍历对不相关的网页标签过滤,获取候选的登录入口相关的网页标签集合。

图片

网页标签选择示例数据

2.特征设计

2.1 节点特征设计

网页标签属性值对判断一个网页标签所属的实体类别很重要,这里使用TFIDF算法计算登录实体与关键词的相关性。它由TF(词频)和DF(文档频率)组成。TF表示关键词在网页中出现的频次,TF值越大则关键词对网页标签的代表性越强,DF代表关键词在所有网页标签中出现的频次,DF越大关键词对网页标签的区分性越小。为了方便结合两部分引入了逆向文件频率 (IDF) ,它可以由所有关键词个数除以包含该关键词的数目,再取对数得到。具体实现如下所示:

● 对所有的网页标签属性值分词计算词语的IDF值;

● 针对每一个网页标签计算词语的TF值,由TF和IDF计算得到所有词语的TFIDF值;

● 计算TFIDF值选择值最大的若干个关键词作为登录入口识别任务特征词。

以下是根据TFIDF方法对大规模语料对所有的词语统计排序,选择与不同实体类型强相关的词语的相关关系如下表所示:

实体类型 部分关键词列表
username ['user', '用户名', 'account', '帐号', '邮箱', '身份证','email']
password ['pwd', '密码', 'password','pin','密钥']
captcha ['captcha', '验证码', 'valid','更换', 'yzm','verify', 'secret', 'code']
login ['login', '登录', '登入', '登陆', 'submit', '确认','进入系统']

节点特征部分示例表

2.2 边权重设计

网页内登录实体相关的网页标签一般相对集中,距离较近的网页标签的相关性也较强,因此,我们基于网页Dom TREE计算候选网页标签之间的距离distance,构建网页标签节点之间的边权重similarity,其计算公式如下所示,其中path length为网页标签在Dom tree中深度。

图片

3. GCN建模

在登录入口识别任务中使用了GCN模型提取特征,它是一种采用图卷积的神经网络,可以同时基于自身节点信息与邻居节点信息学习每个节点的表征,极大程度提升了登录实体识别的准确性。

图片

图卷积神经网络结构图

像其他深度学习结构一样,GCN也是一种特征提取器,生成节点的特征时它不仅参考自身节点信息同时考虑了邻居节点信息。对于第L+1层的节点特征图片,其模型公式如下所示:

图片

其中是节点的邻居节点,图片是节点在第l层的节点特征,图片是模型要学习的参数,图片为归一化的系数,图片为节点和节点的度。归一化就是除以节点的度,这样每个节点信息传递时就被规范化了,不会因为节点的度大,它对相邻的所有节点都分配很大的影响力。同时为了在更新节点特征时考虑到节点自己的信息,一般把节点自己加入邻居节点集合。通过gcn模型提取节点的特征后使用soft max分类器对网页标签分类,从而基于网页标签类别识别登录入口相关信息。

实验结果

测试数据集从网上随机找了1777个包含登录入口的网页数据,当网页内所有登入实体全部识别正确则视为识别正确,评估指标acc为0.98。同时基于相同测试集,我们增加了对比实验,其中基于规则的方法是根据网页标签类型和属性值包含的关键词分别识别不同的登录实体;基于条件随机场(CRF)的方法,首先,过滤掉不是登录实体的网页标签,然后对候选网页标签序列使用CRF建模。每种方案的测试结果如下表所示:

不同方法登录入口识别效果 基于规则的方法 基于条件随机场(CRF)的方法 基于图卷积神经网络(GCN)的方法
Acc 0.65 0.88 0.98

登录实体识别实验结果表

总结

随着网络安全行业日新月异的发展,人工智能技术作为一种交叉学科技术,需要被网络安全行业从业者良好的使用,以提升现有网络安全技术的能力。同时,人工智能技术面临着数据标签及质量,模型可解释性,模型迁移能力等各方面的挑战,网络安全从业者应正确的认识人工智能技术所带来的效益及其本身的局限性,挖掘人工智能与网络安全的落地应用结合点,切忌对人工智能盲目认知,实现两者的有效融合发展。


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1969/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK