用于检测恶意代码的方法和装置制造方法及图纸

技术编号:15640161 阅读:37 留言:0更新日期:2017-06-16 04:09
本公开涉及一种用于检测恶意代码的方法,应用于终端上运行的客户端程序中,该方法包括:响应于所述客户端程序接收的操作请求执行选自以下群组中的一个或多个步骤来确定是否存在恶意代码:检测启动所述终端的操作系统的系统应用文件是否合法;检测所述操作系统提供的安装包管理器中是否存在非法的程序包名;检测所述操作系统的进程空间内加载的文件中是否存在预设黑名单中的文件名;以及遍历所述终端上当前所运行进程中的关键应用程序接口API,检测所述关键API的方法类型标识是否合法。

【技术实现步骤摘要】
用于检测恶意代码的方法和装置
本公开涉及移动终端
,尤其涉及一种用于检测恶意代码的方法和装置。
技术介绍
随着移动终端技术的发展,越来越多的用户选择使用移动终端下载的各种应用程序来完成日常生活乃至工作相关的各种事项,例如缴费、购物、安排日程计划等等。相应地,也有越来越多的商家选择提供应用程序来为用户提供各种各样的服务,例如新闻、社交、外卖等等。在使用例如Android(安卓)等开放式操作系统的终端上,应用程序可能被恶意代码侵入而产生不良影响。例如,有些用户为了实现抢票、刷单等目的,会故意下载安装第三方非法提供的外挂程序(例如基于xposed架构),这些外挂程序会与应用一起运行,模拟用户操作与应用程序的后台服务器通信,从而对服务器产生不必要的负担。外挂程序可能是为了帮助用户进行注册、登录等自助操作(例如抢票),或者可能是为了引入不必要的广告,但也有可能会在后台抓取用户移动终端上的隐私数据,对用户造成重大的安全隐患。另一方面,部分用户故意使用带有外挂的应用程序进行抢票、刷单等恶意操作,也会给应用程序的原始提供方带来不可预估的损失。为此,目前市场上已开发出一些能够进行恶意代码/外挂程序的检测等常规安全操作的防护软件。然而,由于应用程序的数目繁多,相应的外挂程序种类也十分庞杂,恶意代码的侵入原理也层出不穷,造成防护软件即使频繁更新也无法彻底杜绝外挂程序的侵入。如何从根源上精确地消除外挂程序的危害便成为业内急需解决的问题。
技术实现思路
本公开的目的是提供一种用于检测恶意代码的方法和装置,以解决现有技术中存在的上述问题。根据本公开的一个方面,提供一种用于检测恶意代码的方法,应用于终端上运行的客户端程序中,该方法包括:响应于所述客户端程序接收的操作请求执行选自以下群组中的一个或多个步骤来确定是否存在恶意代码:检测启动所述终端的操作系统的系统应用文件是否合法;检测所述操作系统提供的安装包管理器中是否存在非法的程序包名;检测所述操作系统的进程空间内加载的文件中是否存在预设黑名单中的文件名;以及遍历所述终端上当前所运行进程中的关键应用程序接口API,检测所述关键API的方法类型标识是否合法。根据本公开的另一个方面,提供一种用于检测恶意代码的装置,应用于终端上运行的客户端程序中,该装置包括:操作请求响应模块,设置为响应于所述客户端程序接收的操作请求触发选自以下群组中的一个或多个模块来确定是否存在恶意代码:系统文件检测模块,设置为检测启动所述终端的操作系统的系统应用文件是否合法;安装包检测模块,设置为检测所述操作系统提供的安装包管理器中是否存在非法的程序包名;进程检测模块,设置为检测所述操作系统的进程空间内加载的文件中是否存在预设黑名单中的文件名;以及标识检测模块,设置为遍历所述终端上当前所运行进程中的关键应用程序接口API并检测所述关键API的方法类型标识是否合法。根据本公开用于检测恶意代码的方法和装置,通过响应于操作请求来触发不同的检测手段,可以实现针对特定类型外挂程序的精确判断。附图说明图1为根据本公开一实施例的用于检测恶意代码的方法流程图;图2为根据本公开另一实施例的用于检测恶意代码的方法流程图;图3为根据本公开另一实施例的用于检测恶意代码的方法流程图;图4为本公开用于检测恶意代码的方法中系统文件检测步骤的实施例流程图;图5为本公开用于检测恶意代码的方法中安装包检测步骤的实施例流程图;图6为本公开用于检测恶意代码的方法中进程检测步骤的实施例流程图;图7为本公开用于检测恶意代码的方法中标识检测步骤的实施例流程图;图8为根据本公开又一实施例的用于检测恶意代码的方法流程图;图9为根据本公开一实施例的用于检测恶意代码的装置示意图;图10为根据本公开另一实施例的用于检测恶意代码的装置示意图。具体实施方式下面将详细描述本公开的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本公开。以下实施例用于说明本公开,但不用来限制本公开的范围。在本公开说明书中,恶意代码是指应用程序初始提供方之外的一切第三方未经授权添加的与应用程序绑定运行的代码,而不论该部分代码的添加目的如何。另一方面,外挂程序是指恶意代码随原始应用程序一起或单独运行时的表现形式,以下说明中除非特别说明否则外挂程序和恶意代码可互换使用。如上文所述,现有技术中针对种类层出不穷的外挂程序无法实现有针对性的准确检测,也无法满足不同层次的检测需求。为此,本公开提供一种用于检测恶意代码的方法。图1为根据本公开一实施例的用于检测恶意代码的方法流程图,其可应用于终端上运行的客户端程序中。在一个实施例中,本公开的方法可以SDK(SoftwareDevelopmentKit,软件开发工具包)或源代码的形式集成到现有客户端程序的代码中,从而达到在根源上消除外挂程序的目的。如图1所示,本实施例的方法包括以下步骤S101-S105。在步骤S101中,响应于客户端程序接收的操作请求执行选自以下S102-S105中的一个或多个步骤来确定是否存在恶意代码。客户端程序在收到用户发起的操作请求时,可根据系统默认设置或用户定制设置来选择执行以下S102-S105中的一个或多个步骤来确定是否存在恶意代码。如图1所述,步骤S101后的步骤S102-S105之间用无箭头的线条连接,以此来表示这些步骤之间是任意选择且无特定顺序的要求。在步骤S102中,检测启动终端的操作系统的系统应用文件是否合法。许多外挂程序会对用于启动终端操作系统的系统应用文件进行替换,以达到例如随系统一同启动的目的。因此,在本步骤中,可以通过判断该系统应用文件(可能为多个)是否合法来确定是否存在恶意代码侵入。本步骤的详细流程可进一步参见图4所示实施例。在步骤S103中,检测操作系统提供的安装包管理器中是否存在非法的程序包名。本步骤中可以通过判断终端操作系统中是否存在非法的程序包名来确定是否存在恶意代码侵入,详细流程可进一步参见图5所示实施例。在步骤S104中,检测操作系统的进程空间内加载的文件中是否存在预设黑名单中的文件名。对于某段时间内传播量较大的外挂程序,可针对这些外挂程序的后门文件整理出预设的黑名单,并通过检测操作系统的进程空间内是否加载了该黑名单中的文件来确定是否存在恶意代码侵入。本步骤的详细流程可进一步参见图6所示实施例。在步骤S105中,遍历终端上当前所运行进程中的关键API(ApplicationProgramInterface应用程序接口),检测关键API的方法类型标识是否合法。在一个实施例中,检测的目标API均设置有方法类型标识。该方法类型标识对应的标志位在正常情况下均呈现为默认设置,例如设置为指示java方法,而外挂程序出于拦截并修改系统API返回值的需要会修改目标API的方法类型标识。因此,在本步骤中可以通过检测关键API的方法类型标识是否合法来确定是否存在恶意代码,详细流程可进一步参见图7所示实施例。根据上述本公开用于检测恶意代码的方法实施例,通过响应于操作请求来触发不同的检测手段,可以实现针对不同的操作请求设置灵活的检测策略;通过遍历当前进程中关键API的合法性来确定是否存在恶意代码侵入,可以实现针对特定类型外挂程序的精确判断。图2为根据本公开另一实施例的用于检测恶意代码的方法流程图,本文档来自技高网...
用于检测恶意代码的方法和装置

【技术保护点】
一种用于检测恶意代码的方法,应用于终端上运行的客户端程序中,该方法包括:响应于所述客户端程序接收的操作请求执行选自以下群组中的一个或多个步骤来确定是否存在恶意代码:检测启动所述终端的操作系统的系统应用文件是否合法;检测所述操作系统提供的安装包管理器中是否存在非法的程序包名;检测所述操作系统的进程空间内加载的文件中是否存在预设黑名单中的文件名;以及遍历所述终端上当前所运行进程中的关键应用程序接口API,检测所述关键API的方法类型标识是否合法。

【技术特征摘要】
1.一种用于检测恶意代码的方法,应用于终端上运行的客户端程序中,该方法包括:响应于所述客户端程序接收的操作请求执行选自以下群组中的一个或多个步骤来确定是否存在恶意代码:检测启动所述终端的操作系统的系统应用文件是否合法;检测所述操作系统提供的安装包管理器中是否存在非法的程序包名;检测所述操作系统的进程空间内加载的文件中是否存在预设黑名单中的文件名;以及遍历所述终端上当前所运行进程中的关键应用程序接口API,检测所述关键API的方法类型标识是否合法。2.如权利要求1所述的方法,其中,还包括:判断所述操作请求的安全级别,在判断所述操作请求的安全级别为第一级别时,执行所述的检测关键API的方法类型标识是否合法来确定是否存在恶意代码。3.如权利要求2所述的方法,其中,还包括:在判断所述操作请求的安全级别为高于所述第一级别的第二级别时,按顺序执行所述群组中的步骤,其中任一步骤确定存在恶意代码则返回确定存在恶意代码的结果。4.如权利要求1-3任一项所述的方法,其中所述操作系统为安卓操作系统,则所述的检测启动所述终端的操作系统的系统应用文件是否合法包括:在所述操作系统的系统文件夹中定位app_process文件;提取所述app_process文件的特征码;将所述提取的特征码与已知的合法特征码进行对比校验;以及在所述提取的特征码与所述合法特征码一致时确定不存在恶意代码,不一致时确定存在恶意代码。5.如权利要求1-3任一项所述的方法,其中所述操作系统为安卓操作系统,则所述的检测所述操作系统提供的安装包管理器中是否存在非法的程序包名包括:调用所述操作系统提供的与安装包管理器PackageManager相关的API来遍历已安装程序包;将所述已安装程序包逐一与已知的非法程序包名进行比对;以及在所述已安装程序包中未发现与所述非法程序包名匹配的程序包时确定不存在恶意代码,发现与所述非法程序包名匹配的程序包时确定存在恶意代码。6.如权利要求1-3任一项所述的方法,其中所述操作系统为安卓操作系统,所述预设黑名单基于已知的恶意代码来分析收集并存...

【专利技术属性】
技术研发人员:李晓阳吴坤
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1