一种基于人工智能的Web 风险防控方法与装置
2023-02-19中国银联股份有限公司技术开发中心许斌陈林
中国银联股份有限公司技术开发中心 许斌 陈林
随着大数据时代的到来,互联网发展日新月异,Web 系统作为互联网的主要载体,其安全性越来越受到重视。针对数据较敏感型或者用户操作较严肃型的互联网Web 系统,一种常用的安全升级方案是单点登录及浏览器上安装定制控件与证书,然而这同时也带来了控件与证书使用成本及兼容性问题。基于此,提出了一套新的Web 风险防控方法与装置来规避上述问题,同时保障一定的安全性和易用性。根据用户登录风险检测和限流业务场景设计特征矩阵,选用流行的XGBoost 算法进行建模,并应用SMOTE 采样算法得到相对均衡的最终训练数据正负样本,解决Web 系统登录安全隐患及限流问题。同时,采用双向LSTM 网络的深度学习模型对用户行为进行分类,阻断可疑操作行为来保障用户信息安全。此外,通过结合用户实时操作数据,交易数据和业务知识图谱,自动筛查业务操作不熟练的用户,智能提示用户下一步操作事项及注意事项,优化用户体验。所提方法使用Python3 进行仿真实验,并和相关Web 系统进行了对接,实验结果表明该方法是可行的。
随着数字化产业的发展,互联网企业数量越来越多。互联网的迅速发展和广泛应用在给人们带来便捷的同时,也带来了非常严峻的安全隐患问题,例如近年来频繁发生的个人信息泄露事件[1]。针对数据较敏感型或者用户操作较严肃型的互联网Web 系统,常见的安全加固是基于单点登录及用户浏览器上安装第三方定制安全控件与专属证书,由此安全性得到较好的保障,随之而来的问题是系统开发对厂商有一定依赖,并且使用过程中需要持续承担控件和专属证书使用的不菲成本,同时面对世界各地不同电脑环境和技术水平的用户,控件的安装和兼容性都存在一些挑战[2,3]。
现有较高安全级别的Web 系统一般采用的单点登录解决方案是基于PKI 技术,访问前端Web 页面的同时先安装并启用定制Web 客户端控件,使用客户端数字证书作为身份认证的解决方案[4-6]。每个登录用户需安装并启用定制控件,申请并安装一个全球通用的客户端数字证书,同时在单点登录系统上配置好用户所申请的客户端数字证书ID。另外当用户发起动账类请求时,前端Web页面调用定制控件,由控件基于所安装的客户端数字证书加密后发往Web 服务器,Web 服务器解密通过即视为合法请求。
然而,现有的Web 定制控件和数字证书解决方案存在一些缺点[7,8]。(1)成本较高,每个用户需要向证书签发机构支付证书年费;(2)使用上存在一定难度,用户首次使用时需要向证书签发机构提交证书申请表,Web 浏览器需要安装并启用控件,兼容性和易用性较差。用户登录口令和客户端证书一旦泄露,非法持有者可较为轻易仿冒。
基于此,本文提出了一种新的Web 风险防控方法与装置,致力于规避上述问题的同时,保障一定安全性和易用性。本装置包含登录前风险检测、登录后风险检测和用户操作智能提示三大块。登录前风险检测用于检测用户登录环境风险等级,自动拦截风险用户登录;登录后风险检测用于实时捕获用户在页面上的操作数据,自动拦截异常或跳跃式操作数据;用户操作智能提示用于结合用户前续操作数据和所操作的业务数据状态,动态的给予用户相关操作提示,方便用户使用。而且,本文所提方法成功使用Python3 进行仿真实验,并和相关Web 系统进行了对接,模拟结果体现了本文方法的有效性和优越性。
1 Web 风险防控方法与装置
本文提出了一种新的Web 风险防控方法与装置,该方案无需用户支付证书成本及安装控件,根据先验知识智能判别用户登录风险等级以及已登录用户操作风险等级,Web 服务系统根据装置中的核心风控模块所反馈的风险等级,可进一步采用不同的用户验证方式,针对高风险等级系统可直接拒绝用户登录操作,可持续实时追踪登录后所有操作进而阻断风险请求或增加附加多因素校验,有效防止现有技术方案的证书泄露后仿冒问题。此外,核心风控模块根据实时获取的用户TPS 数据和先验知识进行风控限流决策,针对短时多频次请求直接拦截该操作。最后,核心风控模块结合业务知识图谱、用户操作序列和交易数据,可提示用户下一步可能的操作步骤,来提高用户操作易用性,帮助用户提高业务熟练度。
本文所述的Web 风险防控方法与装置包括前端Web页面、后端Web 服务和智能风控服务三大子装置,该方法时序图如图1 所示。
图1 Web 风险防控装置图Fig.1 Web risk prevention and control device diagram
前端Web 页面在正常通用Web 页面实现的基础上内嵌JavaScript 加解密代码块和用户环境获取代码块。其中加密代码块支持使用用户在Web 页面上输入的OTP 作为种子针对待传输到后端的请求数据进行加密,解密模块是前端Web 页面针对后端Web 服务响应数据的解密。用户环境获取代码块负责收集用户环境信息和操作信息,包括用户IP,用户操作系统,用户浏览器,点击按钮等一系列信息。
后端Web 服务在正常提供业务服务的基础上,还包括登录信息校验、OTP 触发、加解密及风险处置子模块。登录信息校验子模块除了完成常见的用户名、密码等有效性校验外,同时结合前端Web 页面传递到后台的登录信息作为参数请求智能风控服务进行登录前风险研判,登录信息包括用户名是否存在、密码是否正确、登录时间、用户注册时间、用户IP 地址、用户操作系统、浏览器版本号等。只有当智能风控服务研判为“无风险登录”时才视同真实登录成功,进行后续Session 存储及向前端Web 页面响应登录请求。如果智能风控服务判断为“可疑登录”时,则向前端Web 页面发起辅助验证请求,如OTP、滑块或辅助问答等,若辅助验证请求通过则视登录成功;如果智能风控服务判断为“高风险登录”则直接拒绝前端Web 页面,不进行后续Session 存储等真实登录成功处理步骤。
后端Web 服务的加解密模块负责完成与前端Web页面的加解密处理,其中OTP 触发是一个关键要素,如前序所述,该OTP 是加解密的种子,如此实现多因素验证和加密秘钥的动态调整。进一步有别于常规操作的是,每一个前端Web 页面发往后端Web 服务的请求都包括用户和点击按钮信息并且是基于OTP 加密后的数据,后端Web 服务收到前端请求后,有别于一般性直接进行业务处理,转而先进行数据解密并将用户和点击按钮信息传递给智能风控的登录后风控子模块,登录后风控子模块首先根据用户实时TPS 数据进行限流决策,然后进行用户行为智能分析,判断是正常操作行为/路径,还是可疑操作行为/路径,比如1s 内针对同一个按钮的反复点击,则判定为可疑操作行为,因为一般性是无法手工发起如此高频请求;再比如某个请求的正常操作路径是bizA →bizB →bizC,如果一段时间内没有出现前序两个数据而直接出现bizC,也就是用户操作路径及行为轨迹异常,智能风控服务也会将该请求判定为异常操作行为。后端Web 服务风险处置装置根据登录后风控子模块的响应,针对正常操作行为则继续正常执行业务处理并向前端Web 页面反馈响应,针对可疑操作行为进行告警后继续正常执行业务处理并向前端Web 页面反馈响应,针对异常操作行为则直接阻断、不执行后续真实业务处理而直接向前端Web 页面反馈失败,并将用户登录踢出。
智能风控服务的智能提示子模块实时接收用户的操作序列,根据配置的规则判断是否存在犹豫不决现象,若判断用户存在犹豫现象时,反馈后端Web 服务需要对该用户进行操作提示。后端Web 服务随即收集用户当前交易信息,并发送智能风控服务,智能风控服务的智能提示子模块根据用户当前交易信息查询配置在数据库内的业务数据结构定义,针对存在状态码的数据进行状态分析,逐条查看当前页面业务数据的状态码是否是终末状态,如果非终末状态,则根据配置在数据库内的状态流转信息,提示对应业务数据的下一步可选操作及注意事项。
通过前端Web 页面、后端Web 服务和智能风控服务三大子装置的协同与特别设计的交互方式,加上引入人工智能技术,从用户登录环境、用户登录习惯、用户行为分析等角度来了解每个登录用户身份的可信度、属性和信誉等,进而构建一套全链路智能风险识别网络,最大限度保护用户账号安全。
2 Web 风险防控模型设计
本节主要针对Web 风险防控装置中所涉及的模型进行研究。对Web 风险防控模型根据阶段设计区分登录前风险检测、登录后风险检测和用户操作智能提示。其中登录前风险检测又细分为风控限流决策和用户登录风险检测,登录后风险检测又细分为风控限流决策和行为序列分析,Web 风险防控模型划分示意图如图2 所示。
图2 Web 风险防控模型划分示意图Fig.2 Schematic diagram of Web risk prevention and control model division
2.1 用户登录风险检测
通过用户登录服务页面过程中可采集如用户登录时间、登录失败次数、登录环境如操作系统信息、IP 地址信息等特征数据,利用人工智能算法对用户某次登录特征的风险状况予以智能评估,根据评估得到的风险状况来决定对用户无风险放行还是有风险干预,干预包括多因素强化登录验证或直接决绝访问等。由此可见,用户登录风险检测是个基于特征的分类问题,适用于有监督学习算法,因此本文选用流行的XGBoost[9]算法进行建模,考虑到正负样本存在不均衡现象,我们应用SMOTE[10]采样算法得到相对均衡的最终训练数据正负样本,以便模型更稳定且泛化能力更好。
根据潜在可采集的用户特征,设计如下特征工程:
最近登录的操作系统是否一样、最近登录的浏览器是否一样、最近登录的IP 是否一样、登录操作系统是否是常用登录操作系统、登录浏览器是否是常用登录浏览器、是否是常用IP、登录操作系统以前是否出现过、登录浏览器以前是否出现过、登录IP 以前是否出现过、登录IP 是否风险IP、用户操作时长、用户输错密码次数、用户输错验证码次数、用户点击忘记密码次数等。
2.2 风控限流决策模型
系统的攻击者们能够开发出模仿人类行为的黑产工具对系统进行自动化操作甚至攻击,例如短时多频次请求等,系统需要能捕获该种场景并进行有效拦截。通过实时获取用户点击TPS 数据提取用户特征,利用人工智能算法对用户本次行为进行风险决策,由此可见,风控限流决策也是个基于特征的分类问题,适用于有监督学习算法,因此本文选用流行的XGBoost 算法进行建模,考虑到正负样本存在不均衡现象,我们应用SMOTE 采样算法进行得到相对均衡的最终训练数据正负样本,以便模型更稳定且泛化能力更好。
根据潜在可采集的用户特征,设计如下特征工程:用户1s 内URL 请求总次数、用户1s 内点击特定URL 的请求总次数、用户1s 内URL 请求总数与种类数的比值等。
2.3 行为序列风险检测模型
不管鼠标点击还是键盘敲击触发页面热点并向后传导数据,点击对象前后都依存关系,即用户在界面上按键的点击序列与具体业务关联,突破常见业务嵌套序列的跳跃式行为或者连续性行为均可判断为异常。因此我们可以把用户操作行为风险检测看成是一个序列分类问题,这里选用基于双向LSTM 网络[11]的深度学习模型进行序列分类。模型训练前需要先做数据预处理,数据预处理包括词汇表文件生成,训练集、验证集与测试测试集数据集划分文件生成,并构造正常点击序列和异常点击序列,每个按键点击之间用空格分割。
模型使用双向LSTM 网络的Encoder 层作为主体框架,包括如下主要处理过程:
(1)采用随机初始化的方式对Word 词表中的每个Word进行Embedding,并在训练模型的同时训练词向量;
(2)Encoder 层采用2 层的双向LSTM 网络结构,并在LSTM 网络结构加入Dropout 暂时丢弃处理,防止过拟合;
(3)对Encoder 层的输出结果加全连接层,并采用Sigmoid 函数作为激活函数预测分类概率;
(4)损失函数采用交叉熵;
(5)在模型参数的训练过程中,采用Adam 算法优化器进行求解;
(6)使用Accuracy 等指标进行模型评估。
2.4 用户操作智能提示模型
经过前几步风险识别后,可过滤绝大部分异常用户,通过实时捕捉用户操作数据,可判断当前用户是否存在操作不熟练的情况。首先提取放于数据库内的用户常规操作路径配置信息,加工成多个N 叉树,从根节点到叶节点表示一条常规操作路径。如某业务处理操作序列bizA →bizB →bizC →bizD,数据库内同时配置有每一个操作的操作方法和注意事项。接着根据时间排列提取该用户前续若干次操作序列集,然后判断用户是否犹豫,这里我们主要关注2 条规则,第一条为在N 叉树中检测操作序列集合的每一个操作的操作路径最大完整度和重复性,如发现用户连续停留在某完整路径的某一段,则向用户提示进行该路径的下一步操作。例如用户完成某项业务处理的操作路径是:bizA →bizB →bizC →bizD,如果检测到用户连续3 次操作停留bizC,则当用户再次触发bizC 操作后,获取用户当前交易信息,查询用户常规操作路径配置信息获取对外提示bizD 操作方法和注意事项。第二条是对所接收到的用户操作进行路径完整度计算,如果发现未达到100%,则定时查询该用户最新操作,如设定时间阈值内无任何操作,获取用户当前交易信息,查询用户常规操作路径配置信息获取对外提示操作方法和注意事项。智能提示总体流程图如图3 所示。
图3 智能提示流程图Fig.3 Flow chart of smart tips
2.5 人工智能即服务AIaas 总体架构
考虑到扩展性和易用性,我们将前述用户登录风险检测、风控限流决策、用户行为风险检测和用户操作智能提示等人工智能模型封装成RESTFUL 接口,即将模型能力转化为Web 服务接口供上游Web 系统请求并获得风险甄别反馈,根据反馈进行风险处理,实现风险早识别、早预警、早处置,提升Web 风险防范能力,降低损失。
综上,基于人工智能的Web 风险防控模型总体技术架构如图4 所示。
图4 Web 风险防控模型总体技术架构图Fig.4 Overall technical architecture diagram of Web risk prevention and control model
考虑到性能、扩展和灵活性,我们采用数据库共享样本数据和训练结果集,多节点并发提供服务,与上游系统关系及逻辑部署规划如图5 所示。
图5 Web 风险防控逻辑部署图Fig.5 Logical deployment diagram of Web risk prevention and control
3 结语
随着大数据、互联网的迅速发展,Web 安全性问题受到社会的广泛重视。现有解决Web 系统隐患的方法主要是采用定制控件和数字证书,然而这些方案存在成本高、安全性低、不稳定等一系列问题。因此,本文提出了一种新的Web 风险防控方法与装置,将人工智能引入到了Web 系统中,有效解决了以往方案中的安全隐患问题。人工智能在Web 风险防控的成功引入,提升了业务系统的技术含量,能有效实现用户登录风险检测、风控限流决策、用户行为分析检测和用户操作提示等,能够一定程度上针对Web 系统攻击进行告警与拦截,剔除第三方控件和证书同时依然能给Web 系统增加一层保护罩。同时,本文的方法相比已有方案更具有便捷性,基于用户前续操作和所操作的业务数据状态,动态的给予用户相关操作提示,优化用户体验。
引用
[1] 谭彬,杨明,梁业裕,等.Web安全漏洞研究和防范[J].通信技术,2017,50(4):795-802.
[2] 李鑫.Web安全问题与防范策略分析[J].网络安全技术与应用,2017(10):31-32.
[3] 张炳帅.Web安全深度剖析[J].中国信息化,2019(1):85-86.
[4] 祁凌.基于PKI技术下的电子商务信息安全研究[J].网络安全技术与应用,2020(12):127-129.
[5] 刘那仁格日乐,王郝日钦.基于PKI技术的用户身份数据转发认证算法仿真[J].计算机仿真,2020,37(9):373-376+403.
[6] 乔明秋,赵振洲.数据加密与PKI技术混合式教学设计—以数字证书实现网站HTTPS访问为例[J].信息与电脑(理论版),2021,33(16):210-212.
[7] CANFORA G,VISAGGIO C A.A Set of Features to Detect Web Security Threats[J].Journal of Computer Virology &Hacking Techniques,2016,12(4):1-19.
[8] LI M Y,HU C,WANG C F.Analysis and Summary for" Security Performance Experiments of Web Page and Web Site"[J].Proc of the 2nd Int Conf on Software,Multimedia and Communication Engineering.Pennsylvania:Destech,2017:75-78.
[9] CHEN T Q,GUESTRIN C.Xgboost:A Scalable Tree Boosting System[C]//Proceedings of the 22nd Acm Sigkdd International Conference on Knowledge Discovery and Data Mining,2016:785-794.
[10] CHAWLA N V,BOWYER K W,HALL L O,et al.SMOTE: Synthetic Minority Over-sampling Technique[J].Journal of Artificial Intelligence Research,2002(16):321-357.
[11] 任勉,甘刚.基于双向 LSTM 模型的文本情感分类[J].计算机工程与设计,2018(7):2064-2068.