一种处理恶意程序的方法及装置的制造方法_3

文档序号:9866056阅读:来源:国知局
实施例,在执行步骤S203时,可W直接使用String, split方法,对 过滤后的每条进程信息进行解析。但是,String.split内部使用了正则表达式实现,效率较 低。经测试,使用String.split解析需要的时间长达200多毫秒。
[0119] 作为一种优选的实施例,在执行步骤S203时,由于PS命令的输出结果是一列一列 的字段,所W可W扫描过滤后的每条进程信息,记下过滤后的每条进程信息中的每一个从 空字符变化为非空字符的位置(即:确定了一个字段的开始位置),并将每一个从空字符变 化为非空字符的位置存为数组array;利用数组的索引,截取每一个从空字符变化为非空字 符的位置之后的字符串,从而获得过滤后的每条进程信息中包含的全部字段。经测试,使用 本方法解析需要的时间仅需70多毫秒,效率较高,可W满足实际需求。
[0120] 步骤S204:从过滤后的每条进程信息包含的全部字段中提取预设字段。
[0121] 在具体实施过程中,需要构造出在Andorid 5 . 0 W下版本中的对象 尺1111]1;[雌4口口1'0。63 31]1;1!'〇,所^此处提取的预设字段即为对象1?11]1]1;[叫4口口1'0。6331址0中包含 的字段,包括:进程名称(即:processName)、进程用户(即:user)、进程ID(即:pid)、用户ID (即:uid)、进程使用的包名列表(即:pkgList)、进程重要性信息(即:importance)。
[0122] 在具体实施过程中,可W从过滤后的每条进程信息中的第一列,提取进程用户 (即:user)字段;可W从过滤后的每条进程信息中的第二列,提取进程ID(即:pid)字段;可 W从过滤后的每条进程信息中的最后第一列,提取进程名称(即:processName)字段。
[0123] 在具体实施过程中,可W调用an化oid. 0S. Process . getUidForName函数,获得过 滤后的每条进程信息中的用户ID(即:uid)字段。
[0124] 在具体实施过程中,可W基于过滤后的每条进程信息所在的包,确定过滤后的每 条进程信息中的进程使用的包名列表(即:pkgList)字段。也就是说,pkgList默认就是本进 程所在的包。
[0125] 步骤205:基于过滤后的每条进程信息中的预设字段,构造一进程列表。
[01%] 在具体实施过程中,如表一所示,该进程列表与对象RunningApprocessInfo提供 的进程列表相同,包括W下字段:进程名称(即:processName)字段、进程用户(即:user)字 段、进程ID(即:pid)字段、用户ID(即:uid)字段、进程使用的包名列表(即:pkgList)字段、 进程重要性信息(即:importance)字段。
[0127]
[0128] 表一
[01巧]在本实施例中,通过步骤S201~步骤S205,实现了在Amlroid 5.0版本的系统中, 获得和在Amlroid 5.〇W下版本中的RunningApprocessInfo对象一样的进程列表的技术效 果。
[0130] 在执行完步骤S103之后,即可执行步骤S104。
[0131] 步骤S104:基于进程列表,找到恶意程序的进程,并结束恶意程序的进程。
[0132] 在具体实施过程中,要对恶意程序进行隔离,就必须先结束恶意程序的进程,所W 此处在获得了该进程列表后,即可找到恶意程序的进程,并结束恶意程序的进程,从而为执 行步骤S105提供必要条件。
[0133] 步骤S105:对恶意程序进行隔离。
[0134] 在具体实施过程中,隔离沙箱提供了一个系统环境的副本并且将部分权限降低, 隔离沙箱内程序的所有操作(例如:新增文件、修改文件、修改注册表,等等)都不是真正修 改到系统,而是改到一个副本当中。
[0135] 在具体实施过程中,在对恶意程序进行隔离时,可W将恶意程序添加到隔离沙箱 内,并通过隔离沙箱禁止恶意程序的核屯、组件,其中,所述恶意程序的核屯、组件包括 Activity、Service broadcast Receiver、Content Provider 四个组件,通过禁止恶意程序 的运四个组件,可W使得恶意程序无法再启动运行,从而保证了系统安全,保证了用户的信 息安全。为了获得更好的隔离效果,在对恶意程序进行隔离之前,还可W获得ROOT权限。
[0136] 作为一种可选的实施例,在对恶意程序进行隔离之后,还包括:隐藏恶意程序的启 动图标。
[0137] 在具体实施过程中,可W在ROOT权限下,隐藏恶意程序的启动图标。隐藏恶意程序 的启动图标的目的在于防止用户由于误操作而重新唤起被隔离的恶意程序。同时,隐藏恶 意程序的启动图标也可W提供一种良好的用户体验,使用户觉得被隔离的恶意程序已经被 清除,从而消除一部分用户的焦虑感。当然,若有在免ROOT的情况下隐藏恶意程序的启动图 标的办法,本实施例也可W采用,此处不再寶述。
[0138] 作为一种可选的实施例,在对恶意程序进行隔离之后,还可W输出一表示恶意程 序已被离的信息。
[0139] 举例来讲,可W在移动终端的屏幕上输出一条信息,例如:^XX程序已被隔离"、或 "XXX程序清除失败已被隔离"、或^xx程序为恶意程序,已被隔离,请放屯、",等等,用于告知 用户恶意程序已被隔离。此处,对于所述表示恶意程序已被离的信息具体是何种表达形式, 本实施例不做具体限定。
[0140] 作为一种可选的实施例,在对恶意程序进行隔离之后,还包括:获取用户的一预设 操作;基于预设操作,取消对恶意程序的隔离,并将恶意程序添加进白名单中;其中,在恶意 程序添加进白名单中后,若再次对移动终端中的文件进行扫描,则跳过恶意程序。
[0141] 在具体实施过程中,若用户发现某个恶意程序被隔离后还是出现了一些问题,或 者,用户就是想使用该恶意程序,那么本实施例还提供了一种对已隔离的恶意成程序进行 恢复的机制。具体来讲,可W提供一UKUser Inte计ace,用户界面)界面,在该UI界面中显 示一命令按钮(例如:"加入白名单"按钮、或"信任"按钮),在检测到用户触发了该命令按 钮,则将该命令按钮对应的已隔离的恶意程序从隔离沙箱中取出,并将该恶意程序添加到 白名单中,其中,将该恶意程序添加到白名单中的目的在于在下次进行病毒扫描时,能够跳 过该恶意程序。
[0142] 作为一种可选的实施例,对恶意程序进行隔离之后,还包括:对恶意程序进行监 控;若发现有可疑程序向恶意程序发送了用于启动恶意程序的启动命令,则拦截启动命令; 获取可疑程序的相关信息;将可疑程序的相关信息发送给服务器。
[0143] 在具体实施过程中,由于一些恶意程序可能存在母体程序,导致运些恶意程序即 使被卸载还会被恢复(即:不死木马),为了彻底清除运些恶意程序,就需要对其母体程序进 行分析,寻找解决办法。但由于母体程序都隐藏得很深,直接进行病毒扫描一般很难发现母 体程序,但是母体程序会定期与其相关的恶意程序进行通信,例如,定期向恶意程序发送启 动命令,来启动恶意程序,从而利用恶意程序实施攻击。所W,在本实施例中,在对恶意程序 进行隔离后,继续对恶意程序进行监控,在发现有可疑程序(可疑程序泛指除了被隔离的恶 意程序之外的任一程序)向本隔离的恶意程序发送启动命令(也可W为其它用途的命令) 时,则拦截该启动命令,并锁定该可疑程序,进一步获得该可疑程序的相关信息,并将该可 疑程序的相关信息发送给服务器。
[0144] 在具体实施过程中,技术人员可W从服务器侧获得移动终端上报的与被隔离的恶 意程序对应的可疑程序的相关信息,并对该可疑程序进行分析,确定其是否为被隔离的恶 意程序的母体程序,在确定是恶意程序的母体程序后,再进一步寻找彻底删除该恶意程序 和/或该母体程序的办法。在找到彻底清除该恶意程序和/或该母体程序的办法后,通过服 务器向各个移动终端发布该彻底清除办法。举例来讲,可W提供一针对该恶意程序和/或该 母体程序的专杀程序,并通过服务器各个移动终端发布该专杀程序。
[0145] 作为一种可选的实施例,将可疑程序的相关信息发送给服务器之后,还包括:从服 务器获取针对可疑程序的处理方式(例如:专杀程序);基于处理方式,对可疑程序进行处 理。
[0146] 在具体实施过程中,在服务器发布有针对该恶意程序和/或该母体程序的专杀程 序后,可W从服务器下载该专杀程序,并自动启动该专杀程序,从而彻底清除该恶意程序 和/或该母体程序。当然,也可W引导用户手动进入该专杀程序对应地UI界面,并引导用户 启动该专杀程序,从而彻底清除该恶意程序和/或该母体程序。
[0147] 本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
[0148] 根据本发明的一种处理恶意程序的方法,包括:对移动终端中的文件进行扫描,查 找出至少一个恶意程序;对恶意程序进行清除;若清除失败,则基于进程查看命令,获得一 进程列表;基于进程列表,找到恶意程序的进程,并结束恶意程序的进程;对恶意程序进行 隔离。本发明有效地解决了现有技术中,在Amlroid 5.0版本中,存在无法获得进程列表导 致无法对恶意程序进行隔离的技术问题。实现了在Amlroid 5.0版本中对恶意程序进行隔 离,使得恶意程序无法继续运行,保证了用户的信息的安全的技术效果。
[0149] 实施例二
[0150] 基于同一发明构思,本申请另一实施例提供一种实施本申请实施例中所述处理恶 意程序的方法的装置。
[0151 ]如图3所示,一种处理恶意程序的装置,包括:
[0152] 扫描模块301,用于对移动终端中的文件进行扫描,查找出至少一个恶意程序;
[0153] 清除模块302,用于对所述恶意程序进行清除;
[0154] 获得模块303,用于若清除失败,则基于进程查看命令,获得一进程列表;
[0155] 查找模块304,用于基于所述进程列表,找到所述恶意程序的进程,并结束所述恶 意程序的进程;
[0156] 隔离模块305,用于对所述恶意程序进行隔离。
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1