一种应用程序的安全检测方法及装置的制造方法

文档序号:9810936阅读:368来源:国知局
一种应用程序的安全检测方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机安全技术领域,尤其涉及一种应用程序的安全检测方法及装置。
【背景技术】
[0002]计算机设备中安装有多种应用程序,恶意程序可以对这些应用程序的数据进行篡改,即恶意劫持该应用程序。以浏览器为例,当浏览器被恶意劫持时,恶意程序可以修改浏览器数据,从而达到修改默认浏览器、修改默认主顺、访问恶意网址等目的。
[0003]现有技术中,可在计算机设备中安装安全软件工具对应用程序进行防护,安全软件工具可以检测应用程序是否被恶意劫持,在检测到应用程序被恶意劫持时,对应用程序进行修复。具体的,安全软件通常通过应用程序的注册表键值来检测应用程序是否被恶意劫持。但是,在注册表键值被重定向,注册表函数被修改、注册表查询进程创建时被重定向等情况下,这种检测方式无法检测出应用程序被恶意劫持,即检测结果的准确率不高。

【发明内容】

[0004]有鉴于此,本发明实施例提供一种应用程序的安全监测方法及装置,能够有效提尚应用程序被恶意劫持的检测准确率。
[0005]第一方面,本发明实施例提供一种应用程序的安全检测方法,包括:
[0006]监视所述应用程序是否接收到用户的启动指示;
[0007]当监视到所述应用程序接收到启动指示时,获取所述应用程序接收到所述启动指示后发送的读文件请求,根据所述读文件请求获取并记录所述应用程序的第一文件路径;
[0008]获取并记录所述应用程序的进程启动路径;
[0009]根据所述记录的第一文件路径和进程启动路径,确定所述应用程序是否被劫持。
[0010]结合第一方面,在第一方面的第一种可实施方式中,所述根据所述记录的第一文件路径和进程启动路径,确定所述应用程序是否被劫持包括:
[0011]当所述记录的第一文件路径与所述进程启动路径不同时,确定所述应用程序被劫持。
[0012]结合第一方面,在第一方面的第二种可实施方式中:
[0013]所述方法还包括:
[0014]当监视到所述应用程序接收到启动指示时,获取并记录所述监视到所述应用程序接收到启动指示时的第一系统时间;
[0015]获取并记录所述应用程序的进程创建完成时的第二系统时间;
[0016]所述根据所述记录的第一文件路径和进程启动路径,确定所述应用程序是否被劫持包括:
[0017]根据所述记录的第一系统时间、第二系统时间、第一文件路径和进程启动路径,确定所述应用程序是否被劫持。
[0018]结合第一方面的第二种可实施方式,在第一方面的第三种可实施方式中,所述根据所述记录的第一系统时间、第二系统时间、第一文件路径和进程启动路径,确定所述应用程序是否被劫持包括:
[0019]当所述记录的第二系统时间与第一系统时间的时间差小于预订阈值,且所述记录的第一文件路径与所述进程启动路径相同时,确定所述应用程序安全;
[0020]当所述记录的第一文件路径与所述进程启动路径不同时,确定所述应用程序被劫持,或者,当所述记录的第二系统时间与第一系统时间的时间差大于预订阈值时,确定所述应用程序被劫持,或者,当所述记录的第二系统时间与第一系统时间的时间差大于预订阈值且所述记录的第一文件路径与所述进程启动路径不同时,确定所述应用程序被劫持。
[0021]结合第一方面,在第一方面的第四种可实施方式中,所述获取所述应用程序接收到所述启动指示后发送的读文件请求,根据所述读文件请求获取并记录所述应用程序的第一文件路径包括:
[0022]利用IRP_MJ_CREATE函数,获取所述应用程序接收到所述启动指示后发送的读文件请求数据,提取所述读文件请求数据中的路径信息,根据所述路径信息获取并记录所述应用程序的第一文件路径;
[0023]所述获取并记录所述应用程序的进程启动路径包括:
[0024]利用PsSetCreateProcessNotifyRoutine函数注册的进程监控回调函数,获取并记录所述应用程序的进程启动路径。
[0025]结合第一方面或者前述第一方面任意一种可实施方式,在第一方面的第四种可实施方式中,所述应用程序包括浏览器。
[0026]第二方面,本发明实施例提供一种应用程序的安全检测装置,包括:
[0027]监视模块,用于监视所述应用程序是否接收到用户的启动指示;
[0028]第一路径获取模块,用于当所述监视模块监视到所述应用程序接收到启动指示时,获取所述应用程序接收到所述启动指示后发送的读文件请求,根据所述读文件请求获取并记录所述应用程序的第一文件路径;
[0029]第二路径获取模块,用于获取并记录所述应用程序的进程启动路径;
[0030]确定模块,用于根据所述第一路径获取模块记录的第一文件路径和所述第二路径获取模块记录的进程启动路径,确定所述应用程序是否被劫持。
[0031]结合第二方面,在第二方面的第一种可实施方式中,所述确定模块用于根据所述第一路径获取模块记录的第一文件路径和所述第二路径获取模块记录的进程启动路径,当所述第一文件路径与所述进程启动路径不同时,确定所述应用程序被劫持。
[0032]结合第二方面,在第二方面的第二种可实施方式中:
[0033]所述装置还包括:
[0034]第一系统时间记录模块,用于当所述监视模块监视到所述应用程序接收到启动指示时,获取并记录所述监视到所述应用程序接收到启动指示时的第一系统时间;
[0035]第二系统时间记录模块,用于获取并记录所述应用程序的进程创建完成时的第二系统时间;
[0036]所述确定模块用于根据第一系统时间记录模块记录的第一系统时间、所述第二系统时间记录模块记录的第二系统时间、所述第一路径获取模块记录的第一文件路径和所述第二路径获取模块记录的进程启动路径,确定所述应用程序是否被劫持。
[0037]结合第二方面的第二种可实施方式,在第二方面的第三种可实施方式中,所述确定模块用于:当所述记录的第二系统时间与第一系统时间的时间差小于预订阈值,且所述记录的第一文件路径与所述进程启动路径相同时,确定所述应用程序安全;
[0038]当所述记录的第一文件路径与所述进程启动路径不同时,确定所述应用程序被劫持,或者,当所述记录的第二系统时间与第一系统时间的时间差大于预订阈值时,确定所述应用程序被劫持,或者,当所述记录的第二系统时间与第一系统时间的时间差大于预订阈值且所述记录的第一文件路径与所述进程启动路径不同时,确定所述应用程序被劫持。
[0039]结合第二方面,在第二方面的第四种可实施方式中,所述第一路径获取模块用于:
[0040]利用IRP_MJ_CREATE函数,获取所述应用程序接收到所述启动指示后发送的读文件请求数据,提取所述读文件请求数据中的路径信息,根据所述路径信息获取并记录所述应用程序的第一文件路径;
[0041 ]所述第二路径获取模块用于:
[0042]利用PsSetCreateProcessNotifyRoutine函数注册的进程监控回调函数,获取并记录所述应用程序的进程启动路径。
[0043]结合第二方面或者前述第二方面任意一种可实施方式,在第二方面的第四种可实施方式中,所述应用程序包括浏览器。
[0044]本发明实施例提供的应用程序的安全检测方法及装置,根据应用程序的启动顺序,首先在用户下发启动指示即用户启动应用程序触发应用程序发送读文件请求时,获取该读文件请求数据并从该数据中获取应用程序的第一文件路径,然后在应用程序之后的启动过程中,获取该应用程序的进程启动路径,即从应用程序启动过程中的前后两个时间点获取两个路径信息,然后利用这两个路径信息确定应用程序是否被劫持。一
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1