CN108197475A - 一种恶意so模块检测方法及相关装置 - Google Patents

一种恶意so模块检测方法及相关装置 Download PDF

Info

Publication number
CN108197475A
CN108197475A CN201810026693.XA CN201810026693A CN108197475A CN 108197475 A CN108197475 A CN 108197475A CN 201810026693 A CN201810026693 A CN 201810026693A CN 108197475 A CN108197475 A CN 108197475A
Authority
CN
China
Prior art keywords
modules
malice
module
target
analysis method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810026693.XA
Other languages
English (en)
Other versions
CN108197475B (zh
Inventor
程义雄
石鹏程
周放
黄仁通
黄昌金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGZHOU HUIZHI COMMUNICATION TECHNOLOGY CO LTD
Original Assignee
GUANGZHOU HUIZHI COMMUNICATION TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GUANGZHOU HUIZHI COMMUNICATION TECHNOLOGY CO LTD filed Critical GUANGZHOU HUIZHI COMMUNICATION TECHNOLOGY CO LTD
Priority to CN201810026693.XA priority Critical patent/CN108197475B/zh
Publication of CN108197475A publication Critical patent/CN108197475A/zh
Application granted granted Critical
Publication of CN108197475B publication Critical patent/CN108197475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明公开了一种恶意so模块检测方法、系统、装置及计算机可读存储介质,其中所述方法包括:当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块;在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块;利用逆向分析方法在所述目标so模块中确定恶意so模块。由此可见,本发明提供的一种恶意so模块检测方法,可以在当前进程加载到so模块时就对so模块进行检测,可以实现对so模块的实时检测;此外,对于检测出的所有可疑so模块中与可信so模块不同的目标模块,利用逆向分析方法进行人为分析,因此可以检测出当前未知的恶意so模块,提高了检测的准确性。

Description

一种恶意so模块检测方法及相关装置
技术领域
本发明涉及安卓安全领域,更具体地说,涉及一种恶意so模块检测方法、系统、装置及计算机可读存储介质。
背景技术
随着Android智能手机的快速发展,Android智能手机则成为了近年来发展非常迅速的移动终端产品。动智能终端与人们关系非常密切,与传统的pc平台不同,用户随身携带且实时在线,终端中存储了大量用户隐私数据,特别是用户的通讯录、短信息、通话记录等。不仅如此,Android智能手机的许多功能和服务涉及到用户资费,与用户的经济利益直接相关。智能手机给人们带来便利的信息服务以及良好的用户体验的同时,随之而来的就是更加严重的安全保密隐患,用户的手机一旦被植入病毒或者恶意软件,必然会造成用户隐私信息的泄露,一些吸费软件会自动打电话或者发短信,在用户不知情的情况下定制一些付费增值服务等,给用户带来极大的困扰。
现有市场上的Android杀毒软件技术往往是基于静态特征码分析以及动态行为监测作为依据,对于文件监控、骚扰电话、垃圾短信等能够有效的防御。然而动态的代码注入技术不需要修改源文件,因此进程注入通过现有的杀毒软件难以检测分析,不能有效的处理掉恶意程序;对于新的病毒也无法主动防御,从而无法进行有效的杀毒,以及全面的保护Android系统的信息安全。
因此,如何有效地检测出利用代码注入技术造成的恶意病毒,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种恶意so模块检测方法、系统、装置及计算机可读存储介质,以有效地检测出利用代码注入技术造成的恶意病毒。
为实现上述目的,本发明实施例提供了如下技术方案:
一种恶意so模块检测方法,包括:
当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块;
在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块;
利用逆向分析方法在所述目标so模块中确定恶意so模块。
其中,所述利用逆向分析方法在所述目标so模块中确定恶意so模块之后,还包括:
卸载所述恶意so模块。
其中,所述卸载所述恶意so模块,包括:
S201,确定每个所述恶意so模块的宿主进程ID;
S202,利用所述宿主进程ID查找所述宿主进程中的所述恶意so模块的路径;
S203,利用所述路径与dlopen函数卸载所述恶意so模块;
S204,判断所述宿主进程中的所述恶意模块的引用计数是否为0;若否,则继续执行所述S203。
其中,所述利用逆向分析方法在所述目标so模块中确定恶意so模块之前,还包括:
在所有所述目标so模块中确定与预设病毒库中的so模块相同的第一恶意so模块,和与预设病毒库中的so模块不同的风险so模块;
则所述利用逆向分析方法在所述目标so模块中确定恶意so模块,包括:
利用逆向分析方法在所述风险so模块中确定第二恶意so模块。
其中,所述利用逆向分析方法在所述目标so模块中确定恶意so模块之后,还包括:
将所述第二恶意so模块加入至所述病毒库。
为解决上述技术问题,本发明还提供了一种恶意so模块检测系统,包括:
获取模块,用于当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块;
第一确定模块,用于在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块;
第二确定模块,用于利用逆向分析方法在所述目标so模块中确定恶意so模块。
其中,还包括:
卸载模块,用于所述利用逆向分析方法在所述目标so模块中确定恶意so模块之后,卸载所述恶意so模块。
其中,还包括:
第三确定模块,用于在所有所述目标so模块中确定与预设病毒库中的so模块相同的第一恶意so模块,和与预设病毒库中的so模块不同的风险so模块;
则所述第二确定模块具体用于:
利用逆向分析方法在所述风险so模块中确定第二恶意so模块。
本发明还提供了一种恶意so模块检测装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述恶意so模块检测方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述恶意so模块检测方法的步骤。
通过以上方案可知,本发明提供的一种恶意so模块检测方法,包括:当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块;在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块;利用逆向分析方法在所述目标so模块中确定恶意so模块。
由此可见,本发明实施例提供的一种恶意so模块检测方法,可以在当前进程加载到so模块时就对so模块进行检测,可以实现对so模块的实时检测;此外,对于检测出的所有可疑so模块中与可信so模块不同的目标模块,利用逆向分析方法进行人为分析,因此可以检测出当前未知的恶意so模块,提高了检测的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种恶意so模块检测方法流程图;
图2为本发明实施例公开的一种具体地恶意so模块卸载方法流程图;
图3为本发明实施例公开的一种具体的恶意so模块检测方法流程图;
图4为本发明实施例公开的一种恶意so模块检测系统结构示意图;
图5为本发明实施例公开的一种具体的恶意so模块检测系统结构示意图;
图6为本发明实施例公开的一种具体的恶意so模块检测系统结构示意图.
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种恶意so模块检测方法、系统、装置及计算机可读存储介质,以有效地检测出利用代码注入技术造成的恶意病毒。
参见图1,本发明实施例提供的一种恶意so模块检测方法,具体包括:
S101,当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块。
在本方案中,对so(动态库)模块进行实时的监控,也就是只要进程加载到so模块时就进行检测,首先需要获取当前进程加载的所有so模块作为可疑模块,可疑模块就是上述所有so模块在内存地址空间中的表现。
S102,在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块。
需要说明的是,在进行检测前,预先确定所有可信so模块,可信so模块可以以列表形式保存。可信so模块是在没有被非法进程注入的正常情况下,记录所有正常系统进程在内存地址空间中的所有so模块。
所有可信so模块的确定是一个复杂的过程,随着系统运行环境的变化,有的Android进程中加载的so模块会发生一定变化,会增加以前没有的so模块;而有的Android进程中加载的so模块相对稳定,不会随着运行环境的改变而改变。因此将系统进程中的所有so模块进行一个长期学习训练测试,记录在内存地址空间中的所有so模块,一些进程正常情况下新增加的so模块也确定为可信so模块,以避免误判,根据一段时间的实验,确定最终的所有可信so模块。
在将每一个可疑so模块与每一个可信so模块进行对比,如果可疑so模块与任一可信so模块相同,则确定该可疑so模块为可信so模块,否则确定其为目标so模块,进行进一步的检测。
S103,利用逆向分析方法在所述目标so模块中确定恶意so模块。
在本方案中,采用手动检测的方法对目标so模块进行检测,以检测出现有病毒库中未发现的病毒,提高检测的准确度。
具体地,将目标so模块上传至服务器进行进一步的手都检测与逆向分析,确定目标so模块是否为恶意so模块。
由此可见,本发明实施例提供的一种恶意so模块检测方法,可以在当前进程加载到so模块时就对so模块进行检测,可以实现对so模块的实时检测;此外,对于检测出的所有可疑so模块中与可信so模块不同的目标模块,利用逆向分析方法进行人为分析,因此可以检测出当前未知的恶意so模块,提高了检测的准确性。
在检测到恶意so模块后,可以将so模块卸载,以使宿主进程恢复到正常情况。本发明实施例提供一种具体的恶意so模块检测方法,在上述实施例的基础上,本发明实施例在S103之后,还包括:
卸载所述恶意so模块。
参见图2,卸载所述恶意so模块的步骤具体包括:
S201,确定每个所述恶意so模块的宿主进程ID。
S202,利用所述宿主进程ID查找所述宿主进程中的所述恶意so模块的路径。
S203,利用所述路径与dlopen函数卸载所述恶意so模块。
S204,判断所述宿主进程中的所述恶意模块的引用计数是否为0;若否,则继续执行所述S203。
具体的,首先查找到宿主进程的ID,通过ID查找到恶意so模块的路径。多次调用dlopen函数,当该so模块的引用计数为0时,此时已经完全卸载。经过卸载恶意so模块的处理,恶意so从宿主进程的内存地址空间中成功卸载,从而恢复宿主进程的正常运行。
下面对本发明实施例提供的一种具体的恶意so模块检测方法进行介绍,下文描述的一种具体的恶意so模块检测方法与上述实施例可以相互参照。
参见图3,本发明实施例提供的一种具体的恶意so模块检测方法,具体包括:
S301,当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块。
S302,在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块。
S303,在所有所述目标so模块中确定与预设病毒库中的so模块相同的第一恶意so模块,和与预设病毒库中的so模块不同的风险so模块。
在本方案中,首先将目标so模块与预设的病毒库中的so模块进行对比,如果目标so模块与该病毒库中任一so模块相同,则确定该目标so模块为恶意so模块,如果目标so模块与病毒库中的so模块均不相同,则不能确定其是否为恶意的so模块,将其作为风险模块进行人为分析。
需要说明的是,首先需要建立Android病毒库,搜集国内外的多引擎反病毒网站,将网站上公布含有病毒的Android so库的指纹信息MD5值加入到Android病毒库中,在进行恶意进程检测的时候,计算目标so模块的MD5值,并将该MD5值分别与Android病毒库中MD5值进行对比,以确定第一恶意so模块和风险so模块。
S304,利用逆向分析方法在所述风险so模块中确定第二恶意so模块。
具体地,利用逆向分析方法对上述风险so模块进行检测,如果检测结果为恶意,则确定该风险so模块为恶意so模块,如果检测结果为正常,则确定其为可信so模块。
需要说明的是,在逆向分析确定风险so模块为恶意so模块后,可以将该恶意so模块添加至上述病毒库;同时,可以将检测结果为正常的风险so模块添加至所有可信模块中,以完善病毒库与所有可信模块。
下面对本发明实施例提供的一种具体的恶意so模块检测方法进行介绍,下文描述的一种具体的恶意so模块检测方法与上述实施例可以相互参照。
本发明实施例提供的一种具体的恶意so模块检测方法,具体包括:
步骤一:
建立可信so模块列表,在没有被非法进程注入的正常情况下,记录所有正常系统进程在内存地址空间中的所有so模块,称为可信so模块列表;可信so模块列表的建立是一个复杂的过程,随着系统运行环境的变化,Android进程中加载的so模块会发生一定的变化,会增加以前没有的so模块;有的Android进程中加载的so模块相对稳定,不会随着运行环境的改变而改变。因此,将系统进程中的所有so模块进行一个长期学习训练测试,记录在内存地址空间中的所有so模块,新增加的合法so模块也及时添加到可信so模块列表中,以免造成误判,根据一段时间的实验,确定最终可信so模块列表。
步骤二:
建立可疑so模块列表,可疑so模块是当前进程加载的所有so模块在内存地址空间中的表现,以当前检测时间为标准。进程中所有加载的so模块都在当前进程的私有内存地址空间中,枚举出该内存空间中的所有so模块,并将每个so模块加入到可疑so模块列表中。通过Android进程注入技术加载进去的so库,会以“合法”so模块的身份存在内存地址空间中,同样可以枚举出来加入到可疑so模块列表中。将可疑so模块列表与可信so模块列表对比,当可疑so模块列表中的某个so模块不在可信so模块列表中时,该so模块则继续保留在可疑so模块列表中,反之则说明该so模块是正常so模块,从可疑so模块列表中删掉该so模块。
步骤三:
建立恶意so模块列表,对当前进程中检测出来的可疑so模块列表进行分析,将结果为恶意so的加入到恶意so模块列表中。为了减少误判,需要建立Android病毒库,搜集国内外的多引擎反病毒网站,将网站上公布含有病毒的Android so库的指纹信息MD5值加入到Android病毒库中,在进行恶意进程检测的时候,计算可疑so模块列表中的so模块的MD5值,并将该MD5值分别与Android病毒库中MD5值进行对比。如果相等则该so模块为恶意so模块,将其添加到恶意so模块列表中;如果不等则系统自动发出预警消息,提示该so存在风险,并将其上传至服务器进行进一步的手动检测与逆向分析,确定是否为恶意so,如果是则将其加入到恶意so模块列表并且更新Android病毒库,反之则将其加入到可信so模块列表。
步骤四:
卸载恶意so模块,依次将恶意so模块列表中的so库卸载,让宿主进程恢复到正常情况。首先查找到宿主进程的ID,通过ID查找恶意so,得到恶意so库的路径,多次调用dlopen()函数,当该so的引用计数为0时,此时已经完全卸载。经过卸载恶意so模块的处理,恶意so从宿主进程的内存地址空间中成功卸载,从而恢复宿主进程的正常运行。
下面对本发明实施例提供的一种恶意so模块检测系统进行介绍,下文描述的一种恶意so模块检测系统与上文描述的一种恶意so模块检测方法可以相互参照。
参见图4,本发明实施例提供的一种恶意so模块检测系统,具体包括:
获取模块401,用于当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块。
在本方案中,对so模块进行实时的监控,也就是只要进程加载到so模块时就进行检测,首先获取模块401需要获取当前进程加载的所有so模块作为可疑模块,可疑模块就是上述所有so模块在内存地址空间中的表现。
第一确定模块402,用于在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块。
需要说明的是,在进行检测前,预先确定所有可信so模块,可信so模块可以以列表形式保存。可信so模块是在没有被非法进程注入的正常情况下,记录所有正常系统进程在内存地址空间中的所有so模块。
所有可信so模块的确定是一个复杂的过程,随着系统运行环境的变化,有的Android进程中加载的so模块会发生一定变化,会增加以前没有的so模块;而有的Android进程中加载的so模块相对稳定,不会随着运行环境的改变而改变。因此将系统进程中的所有so模块进行一个长期学习训练测试,记录在内存地址空间中的所有so模块,一些进程正常情况下新增加的so模块也确定为可信so模块,以避免误判,根据一段时间的实验,确定最终的所有可信so模块。
第一确定模块402在将每一个可疑so模块与每一个可信so模块进行对比,如果可疑so模块与任一可信so模块相同,则确定该可疑so模块为可信so模块,否则确定其为目标so模块,进行进一步的检测。
第二确定模块403,用于利用逆向分析方法在所述目标so模块中确定恶意so模块。
在本方案中,采用手动检测的方法对目标so模块进行检测,以检测出现有病毒库中未发现的病毒,提高检测的准确度。
具体地,第二确定模块403将目标so模块上传至服务器进行进一步的手都检测与逆向分析,确定目标so模块是否为恶意so模块。
由此可见,本发明实施例提供的一种恶意so模块检测系统,可以利用获取模块401在当前进程加载到so模块时就获取所有的so模块作为可疑so模块,以对其进行检测,从而可以实现对so模块的实时检测;此外,第二确定模块403对于检测出的所有可疑so模块中与可信so模块不同的目标模块,利用逆向分析方法进行人为分析,因此可以检测出当前未知的恶意so模块,提高了检测的准确性。
在检测到恶意so模块后,可以将so模块卸载,以使宿主进程恢复到正常情况。本发明实施例提供一种具体的恶意so模块检测系统,参见图5,在上述实施例的基础上还包括:
卸载模块501,用于所述利用逆向分析方法在所述目标so模块中确定恶意so模块之后,卸载所述恶意so模块。
其中,卸载模块501具体包括:
确定单元601,用于确定每个所述恶意so模块的宿主进程ID。
查找单元602,用于利用所述宿主进程ID查找所述宿主进程中的所述恶意so模块的路径。
卸载单元603,用于利用所述路径与dlopen函数卸载所述恶意so模块。
判断单元604,判断所述宿主进程中的所述恶意模块的引用计数是否为0,若否,则继续调用卸载单元603。
具体的,查找单元602首先查找到宿主进程的ID,通过ID查找到恶意so模块的路径。卸载单元603多次调用dlopen函数,当该so模块的引用计数为0时,此时已经完全卸载。经过卸载恶意so模块的处理,恶意so从宿主进程的内存地址空间中成功卸载,从而恢复宿主进程的正常运行。
下面对本发明实施例提供的一种具体的恶意so模块检测系统进行介绍,下文描述的一种具体的恶意so模块检测系统与上述实施例可以相互参照。
参见图6,本发明实施例提供的一种具体的恶意so模块检测系统,具体包括:
获取模块401,用于当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块;
第一确定模块402,用于在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块;
第三确定模块701,用于在所有所述目标so模块中确定与预设病毒库中的so模块相同的第一恶意so模块,和与预设病毒库中的so模块不同的风险so模块。
在本方案中,第三确定模块701首先将目标so模块与预设的病毒库中的so模块进行对比,如果目标so模块与该病毒库中任一so模块相同,则确定该目标so模块为恶意so模块,如果目标so模块与病毒库中的so模块均不相同,则不能确定其是否为恶意的so模块,将其作为风险模块进行人为分析。
需要说明的是,首先需要建立Android病毒库,搜集国内外的多引擎反病毒网站,将网站上公布含有病毒的Android so库的指纹信息MD5值加入到Android病毒库中,在进行恶意进程检测的时候,计算目标so模块的MD5值,并将该MD5值分别与Android病毒库中MD5值进行对比,以确定第一恶意so模块和风险so模块。
第二确定模块403,具体用于利用逆向分析方法在所述风险so模块中确定第二恶意so模块。
具体地,第二确定模块403利用逆向分析方法对上述风险so模块进行检测,如果检测结果为恶意,则确定该风险so模块为恶意so模块,如果检测结果为正常,则确定其为可信so模块。
需要说明的是,在逆向分析确定风险so模块为恶意so模块后,可以将该恶意so模块添加至上述病毒库;同时,可以将检测结果为正常的风险so模块添加至所有可信模块中,以完善病毒库与所有可信模块。
下面对本发明实施例提供的一种恶意so模块检测装置进行介绍,下文描述的一种恶意so模块检测装置与上文描述的一种恶意so模块检测方法可以相互参照。
本发明实施例提供的一种恶意so模块检测装置,具体包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一实施例所述恶意so模块检测方法的步骤。
下面对本发明实施例提供的一种计算机可读存储介质进行介绍,下文描述的一种计算机可读存储介质与上文描述的一种恶意so模块检测方法可以相互参照。
本发明实施例提供的一种计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一实施例所述恶意so模块检测方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种恶意so模块检测方法,其特征在于,包括:
当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块;
在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块;
利用逆向分析方法在所述目标so模块中确定恶意so模块。
2.根据权利要求1所述的方法,其特征在于,所述利用逆向分析方法在所述目标so模块中确定恶意so模块之后,还包括:
卸载所述恶意so模块。
3.根据权利要求2所述的方法,其特征在于,所述卸载所述恶意so模块,包括:
S201,确定每个所述恶意so模块的宿主进程ID;
S202,利用所述宿主进程ID查找所述宿主进程中的所述恶意so模块的路径;
S203,利用所述路径与dlopen函数卸载所述恶意so模块;
S204,判断所述宿主进程中的所述恶意模块的引用计数是否为0;若否,则继续执行所述S203。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述利用逆向分析方法在所述目标so模块中确定恶意so模块之前,还包括:
在所有所述目标so模块中确定与预设病毒库中的so模块相同的第一恶意so模块,和与预设病毒库中的so模块不同的风险so模块;
则所述利用逆向分析方法在所述目标so模块中确定恶意so模块,包括:
利用逆向分析方法在所述风险so模块中确定第二恶意so模块。
5.根据权利要求4所述的方法,其特征在于,所述利用逆向分析方法在所述目标so模块中确定恶意so模块之后,还包括:
将所述第二恶意so模块加入至所述病毒库。
6.一种恶意so模块检测系统,其特征在于,包括:
获取模块,用于当前进程加载到so模块时,获取当前进程加载的所有so模块作为可疑so模块;
第一确定模块,用于在所有可疑so模块中确定与预先确定的每一个可信so模块均不相同的目标so模块;
第二确定模块,用于利用逆向分析方法在所述目标so模块中确定恶意so模块。
7.根据权利要求6所述的系统,其特征在于,还包括:
卸载模块,用于所述利用逆向分析方法在所述目标so模块中确定恶意so模块之后,卸载所述恶意so模块。
8.根据权利要求6或7所述的系统,其特征在于,还包括:
第三确定模块,用于在所有所述目标so模块中确定与预设病毒库中的so模块相同的第一恶意so模块,和与预设病毒库中的so模块不同的风险so模块;
则所述第二确定模块具体用于:
利用逆向分析方法在所述风险so模块中确定第二恶意so模块。
9.一种恶意so模块检测装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述恶意so模块检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述恶意so模块检测方法的步骤。
CN201810026693.XA 2018-01-11 2018-01-11 一种恶意so模块检测方法及相关装置 Active CN108197475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810026693.XA CN108197475B (zh) 2018-01-11 2018-01-11 一种恶意so模块检测方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810026693.XA CN108197475B (zh) 2018-01-11 2018-01-11 一种恶意so模块检测方法及相关装置

Publications (2)

Publication Number Publication Date
CN108197475A true CN108197475A (zh) 2018-06-22
CN108197475B CN108197475B (zh) 2020-12-08

Family

ID=62589082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810026693.XA Active CN108197475B (zh) 2018-01-11 2018-01-11 一种恶意so模块检测方法及相关装置

Country Status (1)

Country Link
CN (1) CN108197475B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985095A (zh) * 2018-07-05 2018-12-11 深圳市网心科技有限公司 一种非公开文件访问方法、系统及电子设备和存储介质
CN111353155A (zh) * 2020-03-30 2020-06-30 绿盟科技集团股份有限公司 一种进程注入的检测方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722680A (zh) * 2012-06-07 2012-10-10 腾讯科技(深圳)有限公司 清除恶意程序的方法和系统
CN102833240A (zh) * 2012-08-17 2012-12-19 中国科学院信息工程研究所 一种恶意代码捕获方法及系统
CN102830959A (zh) * 2011-06-16 2012-12-19 中国科学院声学研究所 一种嵌入式浏览器接口动态扩展方法及系统
CN103778375A (zh) * 2012-10-24 2014-05-07 腾讯科技(深圳)有限公司 防止用户设备加载非法的动态链接库文件的装置和方法
CN106709331A (zh) * 2016-11-01 2017-05-24 腾讯科技(深圳)有限公司 一种消息钩子防注入方法、装置以及客户端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830959A (zh) * 2011-06-16 2012-12-19 中国科学院声学研究所 一种嵌入式浏览器接口动态扩展方法及系统
CN102722680A (zh) * 2012-06-07 2012-10-10 腾讯科技(深圳)有限公司 清除恶意程序的方法和系统
CN102833240A (zh) * 2012-08-17 2012-12-19 中国科学院信息工程研究所 一种恶意代码捕获方法及系统
CN103778375A (zh) * 2012-10-24 2014-05-07 腾讯科技(深圳)有限公司 防止用户设备加载非法的动态链接库文件的装置和方法
CN106709331A (zh) * 2016-11-01 2017-05-24 腾讯科技(深圳)有限公司 一种消息钩子防注入方法、装置以及客户端

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985095A (zh) * 2018-07-05 2018-12-11 深圳市网心科技有限公司 一种非公开文件访问方法、系统及电子设备和存储介质
CN111353155A (zh) * 2020-03-30 2020-06-30 绿盟科技集团股份有限公司 一种进程注入的检测方法、装置、设备及介质
CN111353155B (zh) * 2020-03-30 2022-09-20 绿盟科技集团股份有限公司 一种进程注入的检测方法、装置、设备及介质

Also Published As

Publication number Publication date
CN108197475B (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
US11924230B2 (en) Individual device response options from the monitoring of multiple devices
US9973517B2 (en) Computing device to detect malware
US8806641B1 (en) Systems and methods for detecting malware variants
CN111274583A (zh) 一种大数据计算机网络安全防护装置及其控制方法
US9479357B1 (en) Detecting malware on mobile devices based on mobile behavior analysis
CN110417778B (zh) 访问请求的处理方法和装置
CN106709325B (zh) 一种监控程序的方法及装置
KR101043299B1 (ko) 악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체
WO2015085244A1 (en) Distributed monitoring, evaluation, and response for multiple devices
CN104766011A (zh) 基于主机特征的沙箱检测告警方法和系统
US20210234877A1 (en) Proactively protecting service endpoints based on deep learning of user location and access patterns
WO2017071148A1 (zh) 基于云计算平台的智能防御系统
CN103617393A (zh) 一种基于支持向量机的移动互联网恶意应用软件检测方法
CN106599688A (zh) 一种基于应用类别的安卓恶意软件检测方法
CN110336835A (zh) 恶意行为的检测方法、用户设备、存储介质及装置
CN105069354A (zh) 基于攻击树模型的Android软件混合检测方法
CN111859394A (zh) 基于tee的软件行为主动度量方法及系统
CN108234426B (zh) Apt攻击告警方法和apt攻击告警装置
CN106650438A (zh) 一种恶意程序检测的方法及装置
US11281772B2 (en) Systems and methods to detect key loggers
CN108197475A (zh) 一种恶意so模块检测方法及相关装置
CN111400708A (zh) 用于恶意代码检测的方法及装置
CN115001789A (zh) 一种失陷设备检测方法、装置、设备及介质
Qadri et al. A Review of Significance of Energy-Consumption Anomaly in Malware Detection in Mobile Devices.
CN104426836A (zh) 一种入侵检测方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant