APP下载

基于神经网络的恶意弹窗识别技术研究

2022-07-21董羽凡刘力军刘军

电子制作 2022年12期
关键词:弹窗列表欺诈

董羽凡,刘力军,刘军

(南京审计大学金审学院,江苏南京,210033)

0 引言

随着互联网的普及,“弹窗广告”肆意而为,“弹出窗口”是指当人们浏览某网页时,会自动弹出一个窗口,当用户试图关闭该窗口时,往往会有另一个窗口弹出。弹窗几乎遍布各大网站和诸多应用软件,海量的弹窗,极大程度上影响了人们的上网和使用体验。不法分子借助弹窗,传播低俗、反动、虚假诈骗信息,发布违规的新闻信息的同时,木马病毒恶意插件也通过弹窗的形式不断出现。

1 绪论

■1.1 背景与意义

网络诈骗层出不穷,越来越多的不法分子通过发布恶意弹窗,诱使人们点击弹窗,以缴纳手续费为由实施诈骗。也有的不良弹窗通过发布低俗、反动、虚假诈骗信息来迫使用户观看,影响社会安定与和谐。同时用户电脑因为这些不良弹窗占用更多内存,影响CPU运行效率。 弹窗“强制式”的呈现及其造成的“视觉污染”,给人们的互联网生活带来了极大的不良影响。

本作品在有效拦截各类恶意弹窗的基础上,让系统通过神经网络机器培训自主识别恶意弹窗。一方面减轻系统负担,提升用户的使用体验,并且通过引入神经网络实现真正的自主拦截恶意弹窗;另一方面,抵御包含恶意代码,有效守护用户个人隐私,提高主机和信息系统的安全防御能力。以上两方面不仅具有很好的社会效益,同时通过降低网络诈骗成功率、守护个人隐私,减少用户损失,也具有一定的经济效益。

■1.2 研究现状

当前对于移动广告欺诈的研究一般都集中于移动广告的行为以及其静态属性,针对传统移动端广告欺诈类型,Feng Dong 等设计实现了FraudDroid,针对传统移动端广告欺诈的行为以及其静态信息,将其总结为九种类别,针对每一种类别制定单独的检测方案检测传统类型的移动端广告欺诈。

对于新型的基于内容的广告欺诈的研究比较少,TonTon Hsien-De Huan等对嵌入广告的文本进行了研究,他们收集提取了十五万则广告的文本其进行深度学习训练得出一个能够根据文本分类区分广告是否是良性的模型;Arunesh Mathur等针对购物网站在用户界面设计上引导或欺骗用户消费的“潜规则(Dark Pattern)”,通过分析与评估了11,000个购物网站的约53,000个产品页面,发现了1,818个欺骗性“潜规则(Dark Pattern)”实例。前者没有对广告图像进行分析,不够完善;而后者主要是通过社会工程学的人工分析,不具备大批量自动化检测的条件。现有的对广告欺诈的检测技术很难对这种欺诈进行检测,导致了当前新型广告欺诈的肆虐猖獗的现状。

2 关键技术

■2.1 句柄

Windows操作系统中所谓句柄是唯一标识某个Windows对象(例如程序实例、窗口、光标、图标、画刷和菜单等)的一个32位无符号整数,句柄是Windows对象的唯一标识符,只有有了句柄,程序才能使用与其对应的Widows对象。Windows程序通常通过调用win32API函数来获取某个Windows对象的句柄。

■2.2 进程号

进程号(PID)是操作系统中的内核用于唯一标识进程的一个数值,简而言之就是进程的名字,当检测到恶意弹窗或者恶意广告出现的时候,通过获取恶意弹窗或恶意广告的进程号将恶意弹窗和恶意广告关闭。

■2.3 守护程序

在整个系统运行的过程中,可能因为人为或系统的原因导致系统被关闭,这就需要一个守护程序能够实时保护系统。守护程序具有自启功能且实时监控系统进程,当发现软件进程被关闭后,重新启动拦截程序。

■2.4 机器学习算法

机器学习有三种传统的机器学习算法构建分类器模型,分别为逻辑回归(Logistic Regression)、支持向量机(SVM)、随机森林(Random Forest)。

逻辑回归模型(LogisticRegression,LR)对具有两个可能结果的分类问题的概率进行建模,它是针对线性回归模型的扩展,主要思想是通过使用逻辑回归函数来计算给定自变量的后验概率,根据后验概率给样本进行分类。支持向量机(Support Vector Machine, SVM)是一种 监督学习算法,可用于回归和分类任务。SVM算法的目的是在N(N是特征数)维空间中找到一个能够清晰的将数据点分开的超平面。为了分离两类数据点,可以选择许多可能的超平面,而目标是找到一个具有最大余量(边距)的超平面,使得这个超平面与两个类别的数据点之间的距离最大,这样的超平面称作最优分界。随机森林(Random Forest)以决策树为基础,通过构造多棵决策树形成“森林”。将输入数据放入森林中的每棵树上,决策树是在一个数据集的不同部分上进行训练的,每颗树都会给出一个分类结果,我们将该结果称为这棵树的“投票”。随机森林算法通过平衡多个深决策树的分类误差使得模型的最终性能得到提高。

■2.5 集成学习

在机器学习中我们期待学习出一个表现全面且稳定的模型,但现实中往往只能得到多个弱分类模型,即仅在某些方面表现良好的模型。集成学习34方法通过组合多种算法来获得比单独使用其中任何一种算法更好的性能。那么使用集成学习思想的模型,其子模型采用不同的特征用于训练,可以在数据上获得不同角度的表达能力,进而结合不同子模型的优点。集成学习不属于一种独立的机器学习算法,更多的是强调一种思想,通过融合弱的学习器来提高整体的学习能力以更好的完成任务。

3 系统设计

■3.1 开发平台设计

Visual Studio是由微软推出的代码编程工具,而本作品使用的Visual Studio 2017有着更多的趣味性,支持C#、C++、Python、等绝大多数的主流代码语言。由于拦截窗口涉及到windows底层,因此这个部分可以通过C++来实现,界面美化方面则通过C#实现,而神经网络方面是通过Python实现,最后通过各个部分产生的文档来同步各个功能模块来实现有机结合。

■3.2 具体实现

3.2.1 系统框架结构

系统框架图如图1所示。

图1 系统框架结构图

本作品将Windows下的所有窗口都定义为弹窗,然后对应用程序窗口进行实时监测,在实现保护用户信息安全的同时对含有影响社会安定内容的窗口进行审计。本作品预期设置两个列表—正常应用程序列表、应用弹窗拦截列表,用于存放弹窗的标题与句柄等信息,实现对弹窗的分类,那么弹窗下一次出现时,系统就可以根据它所在的列表来进行操作,从而达到过滤不良弹窗的效果。为防止拦截进程被恶意关闭,增加守护进程应用程序,并写入注册表,实现自启功能,来实现实时监控的功能。实现神经网络机器培训对广告的自主识别,最后将静态属性与动作融入到机器学习当中来提高效率。

3.2.2 软件功能结构

以下为本系统的功能结构图(图2),以及对各功能的解释定义。

图2 功能结构图

主要功能:

(1)抗“诱饵”式反拦截功能:可对“诱饵”弹窗进行拦截,再次出现相同标题的弹窗时直接关闭;若再次出现的弹窗标题不同,则作为一个新弹窗进行拦截。而神经网络学习就可恶意通过自主识别广告,来对新的弹窗进行自主拦截,避免了频繁拦截新弹窗使得软件本身影响了用户的体验。

(2)用户自定义拦截策略:当软件通过自主识别拦截广告时,不能完全自主定义,增加缓冲询问条,用户可以默认或者拒接加入拦截列表。若用户把需要的弹窗加入了拦截列表中或要使用曾经拦截过的弹窗,则可通过主程序将弹窗相关参数进行移除。该策略中,移除后的弹窗可以弹出,不再被拦截。

(3)无感化拦截:对于重复出现的弹窗,运用“移动+关闭”的拦截技术,在弹窗还未显示时,就获取到弹窗坐标,通过改变窗口位置,再将其关闭。

(4)守护的保护机制:当拦截模块自身崩溃或恶意的关闭时,守护机制能够将拦截模块重新打开,确保拦截模块可靠运行。

(5)审计功能:对含有黄、赌、毒以及诈骗等一系列影响社会安定内容的弹窗进行截图审计,为后期与有关部门联动做准备。

3.2.3 主要功能模块及实现

3.2.3.1 主函数程序

图3 主函数流程图

读取配置文件(弹窗拦截列表,也就是软件自主识别认定为恶意弹窗的弹窗标题列表)的内容。

根据内容布置控件,就是陈列出弹窗拦截列表中的标题并在后面一一追加移除按钮。

当需要移除相应的控件时,将需要移除的显示框和对应的按钮移除界面,然后再将恶意弹窗列表中需要删除的弹窗内容全部删除。

该部分获取到拦截模块产生的文档之后,根据文档内容利用C#进行布控。

3.2.3.2 广告拦截程序

图4 广告拦截流程图

获取当前所有窗口句柄、标题,查看实时的窗口标题是否在弹窗拦截列表中(如果在该列表中,说明弹窗是恶意的),是则关闭,否就接着获取实时窗口信息然后判断。

关闭:根据弹窗的标题,获取该标题实时的句柄,然后进行关闭。

判断:我们通过逻辑回归模型能得到分类结果,接着我们将弹窗的每一个部分放入模型进行分类,弹窗的每一个部分是一棵树,然后弹窗各个部分构成随机森林,每一棵“决策树”进行投票,根据投票结果定义该弹窗是否是恶意的,然后放入到对应的列表中。

3.2.3.3 守护机制程序

遍历当前所有进程号,如果有检测进程,跳出来,如果

遍历结束了还没有找到,则继续遍历。

图5 守护程序流程图

我们不能一开始就自己打开弹窗拦截程序,所以要先判断用户是否有开启过主程序,然后再进行守护。

当发现主程序以及被打开过,就会开始守护弹窗检测程序,此时就会进入检测弹窗拦截程序这个循环,不再去检测主程序了,那么用户可以随意开启关闭主程序。如果弹窗拦截未开启,则重启弹窗拦截程序,如果正常运行,则进行一个守护间断(停止一分钟,作为一个守护间隔,避免过多占用资源)。

4 结语

随着互联网行业的蓬勃发展,弹窗爆发式增长,其中存在的安全威胁成为了一大关注热点。本课题基于弹窗带来的信息安全问题,研究了弹窗拦截技术。通过多种不同的拦截策略对不同的广告弹窗进行拦截,对于提升用户计算机浏览体验;降低不法分子借助弹窗,侵犯用户隐私,传播非法信息的可能;防止木马病毒通过广告弹窗进行传播具有一定意义。为了给用户更好的体验,着重研究如何将静态属性以及动作融入到机器学习当中,使得软件自主识别具有更高的效率。

猜你喜欢

弹窗列表欺诈
弹窗仍在“霸屏”360安全浏览器
“弹不走”的弹窗广告背后有利可图?
想弹就弹的弹窗广告
我本无心看黄网,奈何弹窗先动手
扩列吧
欧洲网络犯罪:犯罪类型及比例
列表法解分式方程问题探索
列表画树状图各有所长
意外、健康保险欺诈概率识别
2011年《小说月刊》转载列表