病毒文件检查方法、装置、电子设备及存储介质与流程

文档序号:27547400发布日期:2021-11-24 21:13阅读:140来源:国知局
病毒文件检查方法、装置、电子设备及存储介质与流程

1.本发明涉及系统安全领域,尤其涉及一种病毒文件检查方法、装置、电子设备及存储介质。


背景技术:

2.移动终端已成为人们生活的必须品,尤其是利用移动终端通过安装各种功能的应用实现社交或者购物,而安装应用时,可能会使其感染病毒。
3.目前,由于安卓系统的开放性,该安全问题越来越严重,为了解决这类的问题,开发出了一些杀毒程序,但是该杀毒程序主要的检测方法包括:
4.1、在安装时对安装的app(apk)静态文件进行静态特征分析;
5.2、在安装时将安装的app(apk等)特征值回传到服务端后台与动态沙箱的检测结果进行云查对比;
6.3、对应用运行过程中的行为进行序列收集,运用ai方法判断是否为病毒或恶意应用。
7.而随着技术的发展,造成病毒感染的恶意代码或病毒代码针对上述检测方法实现了技术性逃逸,往往母包apk是正常的,在安装检测是安全,然后在后续过程中,通过云端下载恶意代码子包进行动态加载。
8.这种途径的方式有可能通过软件供应链的方法进行注入,如向第三方sdk中注入恶意代码或污染开源组件代码等方式。对于这类威胁目前并没有很好的解决方案,从而导致了终端存在比较大的安全隐患。


技术实现要素:

9.本发明的主要目的是提供一种病毒文件检查方法、装置、电子设备及存储介质,以解决现有的病毒检测方案,无法对技术性规避的病毒进行有效检测清除,从而导致终端安全性较低的技术问题。
10.本发明第一方面提供了一种病毒文件检查方法,所述病毒文件检查方法包括:
11.若检测到应用在安装后被终端执行时,基于所述应用的名称从终端的后台中查询对应的进程号;
12.获取终端的系统root权限的授权,并基于所述系统root权限提取与所述进程号对应的动态文件;
13.运行预设的病毒查杀程序,对所述动态文件进行安全检测,得到检测结果,并显示于所述终端的界面提示用户。
14.可选的,在本发明第一方面的第一种实现方式中,所述获取终端的系统root权限的授权,并基于所述系统root权限提取与所述进程号对应的动态文件包括:
15.根据所述进程号,读取所述应用运行时所产生的maps信息;
16.提取所述maps信息中的具体路径,得到路径集合,其中,所述具体路径为用于存储
所述应用在运行时所加载的动态文件;
17.获取读取所述动态文件的系统root权限;
18.基于所述系统root权限通过所述路径集合中的各具体路径逐一提取对应的动态文件。
19.可选的,在本发明第一方面的第二种实现方式中,所述获取读取所述动态文件的系统root权限包括:
20.向终端请求开放访问所述具体路径的系统root权限;
21.或者,运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限;
22.或者,下载并运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限。
23.可选的,在本发明第一方面的第三种实现方式中,所述运行预设的病毒查杀程序,对所述动态文件进行安全检测,得到检测结果包括:
24.提取所述动态文件的代码文件,并提取所述代码文件中的函数特征;
25.运行病毒查杀程序,将所述函数特征与所述病毒查杀程序中的静态特征库中的特征量进行比对,得到检测结果。
26.可选的,在本发明第一方面的第四种实现方式中,所述运行病毒查杀程序,将所述函数特征与所述病毒查杀程序中的静态特征库中的特征量进行比对,得到检测结果包括:
27.根据所述函数特征计算出对应的分类向量,基于所述分类向量确定病毒特征库;
28.运行病毒查杀程序,以所述代码文件中的各函数特征为变量,遍历所述病毒特征库中的特征变量,得到遍历结果;
29.基于所述遍历结果筛选出相似或相同的函数特征,生成检测结果,其中所述检测结果以检测报告的形式表示。
30.可选的,在本发明第一方面的第五种实现方式中,在所述运行预设的病毒查杀程序,对所述动态文件进行安全检测,得到检测结果之后,还包括:
31.若所述检测结果为所述动态文件中存在病毒特征时,根据所述检测结果中检测到的函数特征,提取所述动态文件中的完整内容或者是对应的代码段落;
32.利用埋点技术,对所述完整内容或者所述代码段落进行标记,并添加病毒类别,生成运行日志;
33.提取所述应用的版本信息、终端信息和具体路径,并将其拼接至所述运行日志中,生成工作日志上传至服务器后台进行存储。
34.本发明第二方面提供了一种病毒文件检查装置,所述病毒文件检查装置包括:
35.查询模块,用于若检测到应用在安装后被终端执行时,基于所述应用的名称从终端的后台中查询对应的进程号;
36.提取模块,用于获取终端的系统root权限的授权,并基于所述系统root权限提取与所述进程号对应的动态文件;
37.检查模块,用于运行预设的病毒查杀程序,对所述动态文件进行安全检测,得到检测结果,并显示于所述终端的界面提示用户。
38.可选的,在本发明第二方面的第一种实现方式中,所述提取模块包括:
39.读取单元,用于根据所述进程号,读取所述应用运行时所产生的maps信息;
40.路径获取单元,用于提取所述maps信息中的具体路径,得到路径集合,其中,所述具体路径为用于存储所述应用在运行时所加载的动态文件;
41.授权单元,用户获取读取所述动态文件的系统root权限;
42.提取单元,用于基于所述系统root权限通过所述路径集合中的各具体路径逐一提取对应的动态文件。
43.可选的,在本发明第二方面的第二种实现方式中,所述授权单元具体用于:
44.向终端请求开放访问所述具体路径的系统root权限;
45.或者,运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限;
46.或者,下载并运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限。
47.可选的,在本发明第二方面的第三种实现方式中,所述检查模块包括:
48.特征提取单元,用于提取所述动态文件的代码文件,并提取所述代码文件中的函数特征;
49.查杀单元,用于运行病毒查杀程序,将所述函数特征与所述病毒查杀程序中的静态特征库中的特征量进行比对,得到检测结果。
50.可选的,在本发明第二方面的第四种实现方式中,所述查杀单元具体用于:
51.根据所述函数特征计算出对应的分类向量,基于所述分类向量确定病毒特征库;
52.运行病毒查杀程序,以所述代码文件中的各函数特征为变量,遍历所述病毒特征库中的特征变量,得到遍历结果;
53.基于所述遍历结果筛选出相似或相同的函数特征,生成检测结果,其中所述检测结果以检测报告的形式表示。
54.可选的,在本发明第二方面的第五种实现方式中,所述病毒文件检查装置还包括埋点模块,其具体用于:
55.若所述检测结果为所述动态文件中存在病毒特征时,根据所述检测结果中检测到的函数特征,提取所述动态文件中的完整内容或者是对应的代码段落;
56.利用埋点技术,对所述完整内容或者所述代码段落进行标记,并添加病毒类别,生成运行日志;
57.提取所述应用的版本信息、终端信息和具体路径,并将其拼接至所述运行日志中,生成工作日志上传至服务器后台进行存储。
58.本发明第三方面提供了一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面提供的病毒文件检查方法中的各个步骤。
59.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的病毒文件检查方法中的各个步骤。
60.本发明的技术方案中,通过对终端运行的应用的进程进行监控,读取进程所加载的动态文件,并获取终端系统中的root权限,基于该权限将动态文件读取出来,并利用病毒
查杀程序对动态文件进行安全的检测,以实现对应用的病毒检测。这样的方式是对应用安装后的运行过程中动态加载的文件进行检测,避免了应用在正常的sdk代码运行过程中通过额外加载恶意代码,从而危险终端安全性的现象,解决了现有的病毒检测方案,无法对技术性规避的病毒进行有效检测清除,从而导致终端安全性较低的问题。
61.进一步的,在检测完成后,还将出现病毒文件的应用进行埋点标记后存储至服务器后台,从而实现应用运行情况的追溯和维护,提高了终端的安全性。
附图说明
62.图1为本发明中病毒文件检查方法的第一个实施例示意图;
63.图2为本发明中病毒文件检查方法的第二个实施例示意图;
64.图3为本发明中病毒文件检查方法的第三个实施例示意图;
65.图4为本发明中病毒文件检查装置的一个实施例示意图;
66.图5为本发明中病毒文件检查装置的另一个实施例示意图;
67.图6为本发明中电子设备的一个实施例示意图。
具体实施方式
68.本发明实施例提供了一种病毒文件检查方法、装置、电子设备及存储介质,该方法通过定义病毒查杀的特征库,基于该特征库设置病毒查杀程序,在运行应用时,通过监控应用的进程,获取对应的动态文件的具体路径,然后利用系统root权限,通过具体路径将动态文件提取到本地,并执行病毒查杀程序对动态文件进行病毒的查杀,以实现更细粒度针对动态文件的逻辑提取特征函数进行判断和本地化检测,避免了应用在正常的sdk代码运行过程中通过额外加载恶意代码,从而危险终端安全性的现象,解决了现有的病毒检测方案,无法对技术性规避的病毒进行有效检测清除,从而导致终端安全性较低的问题。
69.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
70.为便于理解,下面对本发明实施例的具体流程进行描述,在检测到应用在实时运行过程中存在加载恶意文件时,提醒及时对应用进行删除处理,避免用户信息的丢失。请参考图1所示,本发明实施例中病毒文件检查方法的第一个实施例包括:
71.101、若检测到应用在安装后被终端执行时,基于应用的名称从终端的后台中查询对应的进程号;
72.在本实施例中,这里的终端指的是安装有第三方应用程序的终端,如电脑、平板、手机等终端,用户通过应用商城或者网页上下载应用程序包进行运行安装,而该方法主要是用于检测终端中已安装的应用程序是否存在动态加载恶意文件,而对终端进行攻击。
73.该步骤中,具体是对安装后首次在终端上运行的应用进行病毒查杀的监控,当然
也可以每次运行,例如通过监控终端上首次安装或者已安装未运行过的应用是否被触发运行,具体是对终端上的界面的图标进行实时监控,通过比对前后两个时间段内的图标是否有变化来确定是否存在应用被运行,例如对于新增的应用,在安装后,会对界面上的图标进行标记,比如在图标的角落上标记点,将图标缩小或放大,当图标被点击后(即是已运行过)将图标上的标记点去除,或者是显示比例还原至与其他的图标比例相同,通过这样的方式实现对应用的首次运行进行检测。
74.在本实施例中,对于应用首次在终端上运行可以理解为是安装后的第一次运行、在一个时间周期内的首次运行、在终端初始化(重启)后的首次运行,在通过界面中图标的显示状态发生变化后,基于所述图标确定对应的应用的名称,查询在终端的后台中是否存在应用的名称对应的进程记录,若存在,则获取进程号。
75.在本实施例中,还包括对应用的安装是否存在病毒的检测步骤,具体的在检测应用是否首次运行之前,检测所述终端是否存在应用安装进程,若存在,则获取应用的安装包,并对安装包中的代码进行解析,将解析后的代码提取出动作特征,并将动作特征与病毒库或者攻击库中的特征量进行比对,若比对结果不存在,则在安装完成后在终端的界面上显示图标,并在图标上设置标记点,以显示该应用程序为未运行的应用。
76.进一步的,还包括在检测应用是否首次运行之前,判断病毒查杀的周期是否更新,若更新,则将终端上的界面的图标初始化处理,这里的初始化处理为增加标记,具体是通过直接刷新界面的方式对界面上的图标标记上标记点。
77.在检测到界面上存在触控操作时,根据触控操作的坐标位置确定对应的图标,基于图标确定应用的名称,然后跳转之后台的进程查询对应的进程号。
78.在本实施例中,该步骤具体包括:
79.判断所述应用的首次运行是否为安装运行;
80.若是安装运行,则获取应用的安装包,并对安装包中的代码进行解析,将解析后的代码提取出动作特征,并将动作特征与病毒库或者攻击库中的特征量进行比对,得到检测结果;
81.若不是安装运行,则确定为启动运行,跳转之后台的进程查询对应的进程号。
82.102、获取终端的系统root权限的授权,并基于系统root权限提取与进程号对应的动态文件;
83.在本实施例中,在获取终端的系统root权限时,具体可通过以下方式来实现:
84.向终端请求开放访问所述具体路径的系统root权限;
85.或者,运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限;
86.或者,下载并运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限。
87.本实施例中,选择在终端设置对应的权限程序来根据不同的需求获取对应的授权,具体的通过运行该权限程序对动态文件的指令设置权限属性,使得指令获得对应的权限。
88.在实际应用中,在基于系统root权限提取与进程号提取对应的动态文件时,具体是基于进程号生成对应的读取指令,将读取指令输入至权限程序中,通过权限程序在读取
指令中添加权限字段,从而使得指令获得系统root权限,基于该读取指令,通过具体路径读取动态文件,将读取到的动态文件保存至本地。
89.在本实施例中,对于具体路径可以从maps信息中提取,该步骤的实现步骤为:
90.根据所述进程号,读取所述应用运行时所产生的maps信息;
91.提取所述maps信息中的具体路径,得到路径集合,其中,所述具体路径为用于存储所述应用在运行时所加载的动态文件;
92.获取读取所述动态文件的系统root权限;
93.基于所述系统root权限通过所述路径集合中的各具体路径逐一提取对应的动态文件。
94.103、运行预设的病毒查杀程序,对动态文件进行安全检测,得到检测结果,并显示于终端的界面提示用户。
95.本实施例中,该病毒查杀程序可以是现有的安全检测应用,其中安全检测应用中的病毒特征量为用户自定义的库,具体包括:
96.1)隐私窃取类,函数特征集合包含获取imei,读取联系人等敏感权限接口。
97.2)黑灰产,函数特征包含拉活接口类等。
98.3)广告类,函数特征包含悬浮窗接口等。
99.基于上述自定义的特征库,构建病毒查杀程序,在读取到动态文件后,通过该病毒查杀程序对动态文件进行特征的提取,具体是对动态文件对应的代码文件中的代码特征进行提取,然后将提取到的代码特征与特征库中的特征进行逐一的匹配,基于匹配的结果生成检测结果。
100.在本实施例中,对于显示提示用户可以理解为是直接在终端的界面上显示,也可以是在终端的界面的图标上进行标记,以提示用户该应用存在病毒文件的加载。
101.本发明实施例中,通过获取系统root权限,对应用运行时加载的动态文件进行病毒的检测,从而实现了对向第三方sdk中注入恶意代码或污染开源组件代码等方式病毒进行检测,提高了应用运行的安全性,降低用户信息泄漏的概率,解决现有的病毒检测方案,无法对技术性规避的病毒进行有效检测清除,从而导致终端安全性较低的问题。
102.请参阅图2,本发明实施例中病毒文件检查方法的第二个实施例包括:
103.201、若检测到应用在安装后被终端执行时,基于应用的名称从终端的后台中查询对应的进程号;
104.本实施例中,通过在终端预设的病毒查杀周期内检测当前被终端运行的应用是否为首次运行,若是,则获取被运行的应用的名称,基于名称从终端的后台中查询与之一致的进程信息,并提取进程信息中的进程号。
105.202、获取终端的系统root权限的授权,并基于系统root权限提取与进程号对应的动态文件;
106.该步骤中,获取应用对应的动态文件是通过存储动态文件的具体路径来获取,具体的:
107.根据所述进程号,读取所述应用运行时所产生的maps信息;
108.提取所述maps信息中的具体路径,得到路径集合,其中,所述具体路径为用于存储所述应用在运行时所加载的动态文件;
109.获取读取所述动态文件的系统root权限;
110.基于所述系统root权限通过所述路径集合中的各具体路径逐一提取对应的动态文件。
111.在实际应用中,应用被运行的过程中会实时产生记录日志,该记录日志即为maps信息,该信息中存储有应用动态加载的所有动态文件的信息,甚至包括加载时所使用的代码的具体路径,通过过解析maps信息,得到具体路径,具体的通过解析代码的执行逻辑关系来得到具体路径。然后通过执行权限获取的程序来获取与该具体路径相关的系统root权限。
112.在本实施例中,获取读取所述动态文件的系统root权限包括:
113.向终端请求开放访问所述具体路径的系统root权限;
114.或者,运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限;
115.或者,下载并运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限。
116.在实际应用中,终端在解析到具体路径后,首先检测具体路径是否有系统root权限,若不存在,则基于具体路径创建root权限的获取指令,将该指令直接向终端上的系统请求系统root权限,具体获得的方式可以与现有技术完全相同,这里不再赘述。若通过指令获取系统root权限不成功时,则可以运行预设的用于获取root权限的程序,获取系统root权限,或者引导用户下载并运行预设的用于获取root权限的程序,获取系统root权限。
117.203、提取动态文件的代码文件,并提取代码文件中的函数特征;
118.该步骤中,在获取提取代码文件中的函数特征时,具体可以通过代码解析模型或者工具来进行解析,利用工具先识别出代码文件中的请求函数,然后对请求函数中的动作代码词代码段进行识别提取,将每个请求函数中提取到的动作代码词或者代码段组成函数特征,在实际应用中,还可以是对代码文件中的请求接口进行提取,然后是将提取到的请求接口与终端或终端系统中设定的隐私信息或者加密信息的存储接口进行匹配,若匹配一致,则生成一个函数特征。
119.204、根据函数特征计算出对应的分类向量,基于分类向量确定病毒特征库;
120.本实施例中,对于分类向量的计算,具体的,首先将提取到的所有函数特征构建特征矩阵,基于特征矩阵构建特征多项式,基于特征多项式计算出所述特征矩阵的特征值,根据特征值与零矩阵的关系,计算出特征向量;具体的首先基于构建的特征矩阵计算出对应的特征多项式,然后计算特征多项式产生的特征方程等于0的全部根,以全部根作为特征矩阵的特征值,利用特征值计算求齐次方程组的非零解,得到特征向量。
121.205、运行病毒查杀程序,以代码文件中的各函数特征为变量,遍历病毒特征库中的特征变量,得到遍历结果;
122.206、基于遍历结果筛选出相似或相同的函数特征,生成检测结果,并显示于终端的界面提示用户。
123.本实施例中,所述检测结果以检测报告的形式表示。根据特征向量从病毒查杀的特征库中匹配出对应的病毒特征库,运行病毒查杀程序,基于病毒特征库对各函数特征进行查杀,得到查杀的结果。
124.进一步的,还包括在查杀的结果中包括病毒文件时,则直接停止该应用的运行,并进行隔离处理,甚至删除处理,同时在终端上显示提示用户,应用存在病毒加载风险。
125.在实际应用中,还可以通过病毒查杀程序按照上述特征向量的计算方式计算出各个病毒特征库的特征向量,比较两个特征向量之间的关系,从而得到该代码文件的病毒查杀结果。
126.本发明实施例中,对应用运行后动态加载的代码文件进行函数特征的提取,并且代码文件是通过系统root权限加载到本地,然后运行病毒查杀程序对提取到的函数特征进行查杀,实现了对应用运行的实时检测,避免了运行过程的随意加载代码,而导致终端存在感染病毒的风险,该方式实现了更细粒度针对代码文件的逻辑提取特征函数进行判断和本地化检测。避免了恶意应用或病毒应用针对现有的病毒检查方法进行技术性逃逸的现象,进一步提高了终端的安全性能。
127.请参阅图3,本发明实施例中病毒文件检查方法的第三个实施例包括:
128.301、若检测到应用在安装后被终端执行时,基于应用的名称从终端的后台中查询对应的进程号;
129.302、获取终端的系统root权限的授权,并基于系统root权限提取与进程号对应的动态文件;
130.303、运行预设的病毒查杀程序,对动态文件进行安全检测,得到检测结果,并显示于终端的界面提示用户;
131.本实施例中,首先通过提取所述动态文件的代码文件,以及提取所述代码文件中的函数特征;然后运行病毒查杀程序,将所述函数特征与所述病毒查杀程序中的静态特征库中的特征量进行比对,得到检测结果。
132.进一步的,运行病毒查杀程序,将所述函数特征与所述病毒查杀程序中的静态特征库中的特征量进行比对,得到检测结果包括:
133.根据所述函数特征计算出对应的分类向量,基于所述分类向量确定病毒特征库;
134.运行病毒查杀程序,以所述代码文件中的各函数特征为变量,遍历所述病毒特征库中的特征变量,得到遍历结果;
135.基于所述遍历结果筛选出相似或相同的函数特征,生成检测结果,其中所述检测结果以检测报告的形式表示。
136.例如:以判断应用a在运行过程中是否存在正常的sdk代码中动态加载了恶意代码为例子。
137.1)找到a应用的进程号a(是一个整型值,如1244)。
138.2)通过cat/proc/a/maps,找到进程a所加载的动态文件,并提取动态文件的pathname即具体路径。
139.3)通过系统中拥有root权限的进程(如flymed)设置接口,通过上述第2步的pathname具体路径集合,将进程a动态加载的代码文件提取至本地。
140.4)将上述第2步提取到a进程在运行过程中动态加载的代码文件传输到本地病毒查杀模块进行安全检测,并输出结果,对用户进行界面提示。
141.304、若检测结果为动态文件中存在病毒特征时,根据检测结果中检测到的函数特征,提取动态文件中的完整内容或者是对应的代码段落;
142.305、利用埋点技术,对完整内容或者代码段落进行标记,并添加病毒类别,生成运行日志;
143.306、提取应用的版本信息、终端信息和具体路径,并将其拼接至运行日志中,生成工作日志上传至服务器后台进行存储。
144.在本实施例中,在终端中预先设定运行日志的异常状态标记规则/策略,在终端中产生病毒检测结果后,利用异常状态标记规则对检测结果中的异常内容进行标记,然后再进行存储。
145.在实际应用中,所述异常状态标记规则中设定有不同病毒类型的标记方式,例如代码段的覆盖、替换,通过不同的标记方式来区分不同的病毒类型,在然后将标记后的内容生成新的运行日志发送至服务器后台进行存储。
146.此外,在存储后,还可以根据调用运行日志中标记的内容对病毒查杀程序中的病毒特征进行补充更新。
147.综上,本发明实施例提供的方法,通过对终端运行的应用的进程进行监控,读取进程所加载的动态文件,并获取终端系统中的root权限,基于该权限将动态文件读取出来,并利用病毒查杀程序对动态文件进行安全的检测,以实现对应用的病毒检测。能够实时地收集终端的应用在运行时加载的动态文件,并对动态文件检测后的检测结果上传到服务器,避免了应用在正常的sdk代码运行过程中通过额外加载恶意代码,从而危险终端安全性的现象,提高了终端的安全性,同时也减少终端在病毒检测时所需要的资源。
148.上面对本发明实施例中病毒文件检查方法进行了描述,下面对本发明实施例中病毒文件检查装置进行描述,请参阅图4,本发明实施例中病毒文件检查装置一个实施例包括:
149.查询模块401,用于若检测到应用在安装后被终端执行时,基于所述应用的名称从终端的后台中查询对应的进程号;
150.提取模块402,用于获取终端的系统root权限的授权,并基于所述系统root权限提取与所述进程号对应的动态文件;
151.检查模块403,用于运行预设的病毒查杀程序,对所述动态文件进行安全检测,得到检测结果,并显示于所述终端的界面提示用户。
152.本实施例提供的装置,过对终端运行的应用的进程进行监控,读取进程所加载的动态文件,并获取终端系统中的root权限,基于该权限将动态文件读取出来,并利用病毒查杀程序对动态文件进行安全的检测,以实现对应用的病毒检测。避免了应用在正常的sdk代码运行过程中通过额外加载恶意代码,从而危险终端安全性的现象,提高了终端的安全性。
153.进一步地,请参阅图5,图5为病毒文件检查装置各个模块的细化示意图,该病毒文件检查装置包括:
154.查询模块401,用于若检测到应用在安装后被终端执行时,基于所述应用的名称从终端的后台中查询对应的进程号;
155.提取模块402,用于获取终端的系统root权限的授权,并基于所述系统root权限提取与所述进程号对应的动态文件;
156.检查模块403,用于运行预设的病毒查杀程序,对所述动态文件进行安全检测,得到检测结果,并显示于所述终端的界面提示用户。
157.其中,所述提取模块402包括:
158.读取单元4021,用于根据所述进程号,读取所述应用运行时所产生的maps信息;
159.路径获取单元4022,用于提取所述maps信息中的具体路径,得到路径集合,其中,所述具体路径为用于存储所述应用在运行时所加载的动态文件;
160.授权单元4023,用户获取读取所述动态文件的系统root权限;
161.提取单元4024,用于基于所述系统root权限通过所述路径集合中的各具体路径逐一提取对应的动态文件。
162.在本实施例中,所述授权单元4023具体用于:
163.向终端请求开放访问所述具体路径的系统root权限;
164.或者,运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限;
165.或者,下载并运行预设的用于获取root权限的程序,获取访问所述具体路径的系统root权限。
166.在本发明的另一实施例中,所述检查模块403包括:
167.特征提取单元4031,用于提取所述动态文件的代码文件,并提取所述代码文件中的函数特征;
168.查杀单元4032,用于运行病毒查杀程序,将所述函数特征与所述病毒查杀程序中的静态特征库中的特征量进行比对,得到检测结果。
169.在本实施例中,所述查杀单元4032具体用于:
170.根据所述函数特征计算出对应的分类向量,基于所述分类向量确定病毒特征库;
171.运行病毒查杀程序,以所述代码文件中的各函数特征为变量,遍历所述病毒特征库中的特征变量,得到遍历结果;
172.基于所述遍历结果筛选出相似或相同的函数特征,生成检测结果,其中所述检测结果以检测报告的形式表示。
173.在本发明的另一实施例中,所述病毒文件检查装置还包括埋点模块404,其具体用于:
174.若所述检测结果为所述动态文件中存在病毒特征时,根据所述检测结果中检测到的函数特征,提取所述动态文件中的完整内容或者是对应的代码段落;
175.利用埋点技术,对所述完整内容或者所述代码段落进行标记,并添加病毒类别,生成运行日志;
176.提取所述应用的版本信息、终端信息和具体路径,并将其拼接至所述运行日志中,生成工作日志上传至服务器后台进行存储。
177.本发明实施例中,通过获取系统root权限,对应用运行时加载的动态文件进行病毒的检测,从而实现了对向第三方sdk中注入恶意代码或污染开源组件代码等方式病毒进行检测,提高了应用运行的安全性,降低用户信息泄漏的概率,解决现有的病毒检测方案,无法对技术性规避的病毒进行有效检测清除,从而导致终端安全性较低的问题。同时将检测后的检测结果上传到服务器,减少终端在病毒检测时所需要的资源。
178.上面图4和图5从模块化功能实体的角度对本发明实施例中的病毒文件检查装置进行详细描述,下面从硬件处理的角度对本发明实施例中电子设备进行详细描述。
179.图6是本发明实施例提供了一种电子设备的结构示意图,该电子设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对电子设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在电子设备600上执行存储介质630中的一系列指令操作。在实际应用中,该应用程序633可以被分割成采集模块401、计算模块402、对比模块403和检查模块404(虚拟装置中的模块)的功能。
180.电子设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如:windows serve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的电子设备结构还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
181.本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令或计算机程序,当所述指令或计算机程序被运行时,使得计算机执行上述实施例提供的病毒文件检查方法的各个步骤。
182.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
183.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
184.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1