CN104978517B - 一种Android***的非法root检测方法及*** - Google Patents
一种Android***的非法root检测方法及*** Download PDFInfo
- Publication number
- CN104978517B CN104978517B CN201410523623.7A CN201410523623A CN104978517B CN 104978517 B CN104978517 B CN 104978517B CN 201410523623 A CN201410523623 A CN 201410523623A CN 104978517 B CN104978517 B CN 104978517B
- Authority
- CN
- China
- Prior art keywords
- root
- android system
- detection
- illegal
- detection module
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Telephone Function (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种Android***的非法root检测方法及***,通过对***进行常规root检测及利用云端信息检测***是否加锁,是否被非法解锁,以及是否存在提权漏洞、刷入第三方recovery模式,判断***是否被非法root,并检测***中存在非法root行为的应用程序,提示用户。本发明还给出了相应***,通过本发明内容,能够多方面检测***是否被root,是否存在非法root风险,并通过主动查看和被动从***中获取等多种方式进行检测,提高了准确率,能够发现***中隐藏的未知风险。
Description
技术领域
本发明涉及移动终端安全领域,特别涉及一种Android***的非法root检测方法及***。
背景技术
在Android***中,超级用户一般命名为root,其具有***中的所有权限,如启动或停止一个进程,增加或删除用户等,现有Android***一般不为用户提供root权限,以保证***安全,但其限制了一些用户功能,因此现有提供了大量的“一键root”工具,为用户提供root功能,使用户获得更多的功能及权限,但现有的root方法,一般均是利用***漏洞,通过非法手段绕过***检测,非法获取root权限,或通过第三方手段强制解除***锁,或改变***原厂设置,以达到获取root的目的等。综上的几种root方法,均是通过非法手段获取Android***的最高权限,破坏了***的自我保护机制,且一旦root权限被恶意软件取得,则会带来隐私泄露等问题。***root后,一旦用户误操作,则可能导致恶意程序获得到root权限。如果通过第三方软件获得root权限,一旦第三方安全软件存在安全漏洞,也将导致root权限被恶意程序所利用。因此用户应当及时了解所使用的Android***是否已被非法root。
发明内容
本发明提供了一种Android***的非法root检测方法及***,通过多方向检测,确定***是否存在非法root风险,并将风险提示用户。
一种Android***的非法root检测方法,包括:
步骤a,利用常规方法对Android***检测,初次判断Android***是否已被root,如果是,则判定***危险,执行步骤f;否则执行步骤b;
步骤b,检测Android***是否已加锁,如果是,执行步骤c;否则执行步骤e;
步骤c,检测Android***是否被非法解锁,如果是,则执行步骤e;否则执行步骤d;
步骤d,检测Android***是否存在提权漏洞,如果是,则执行步骤f;否则执行步骤e;
步骤e,检测Android***是否被刷入第三方recovery模式,如果是,则执行步骤f;否则判定***不存在非法root风险;第三方recovery是指替换了***自带的recovery程序的第三方程序,虽然第三方recovery在功能上与***自带的recovery程序类似,但是由于其具有修改***的权限,如果被恶意利用,则会对***造成严重的危害;
步骤f,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为,如果存在,则提示用户***存在非法root风险,并提示非法请求root权限行为的应用程序;否则,提示用户***存在非法root风险。
所述的方法中,所述步骤b,检测Android***是否已加锁具体为:获取用户设备的信息,识别当前用户设备Android***加锁状态;
所述的方法中,所述步骤c,检测Android***是否被非法解锁具体为:根据获取的用户设备信息,获取通过云端查找到的对应用户设备的出厂加锁状态,并与当前用户设备Android***加锁状态比对,如果一致,则Android***未被非法解锁,否则,Android***被非法解锁。
所述的方法中,所述步骤d,检测Android***是否存在提权漏洞具体为:通过云端下载漏洞检测脚本,对Android***进行提权漏洞检测。
所述的方法中,所述步骤f,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为具体为:判断应用程序是否以root权限运行,或包含root所需文件,如果是,则存在非法请求root权限的行为,否则不存在。
本发明还提供了一种Android***的非法root检测***,包括:
常规检测模块,用于利用常规方法对Android***检测,初次判断Android***是否已被root,如果是,则判定***危险,转入root行为检测模块;否则进入加锁检测模块;
加锁检测模块,用于检测Android***是否已加锁,如果是,进入非法解锁检测模块;否则转入工程模式检测模块;
非法解锁检测模块,用于检测Android***是否被非法解锁,如果是,则转入工程模式检测模块;否则进入漏洞检测模块;
漏洞检测模块,检测Android***是否存在提权漏洞,如果是,则转入root行为检测模块;否则进入工程模式检测模块;
工程模式检测模块,检测Android***是否被刷入第三方recovery模式,如果是,则进入root行为检测模块;否则判定***不存在非法root风险;
root行为检测模块,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为,如果存在,则提示用户***存在非法root风险,并提示非法请求root权限行为的应用程序;否则,提示用户***存在非法root风险。
所述的***中,所述加锁检测模块,检测Android***是否已加锁具体为:获取用户设备的信息,识别当前用户设备Android***加锁状态;
所述的***中,所述非法解锁检测模块,检测Android***是否被非法解锁具体为:根据获取的用户设备信息,获取通过云端查找到的对应用户设备的出厂加锁状态,并与当前用户设备Android***加锁状态比对,如果一致,则Android***未被非法解锁,否则,Android***被非法解锁。
所述的***中,所述漏洞检测模块,云端检测引擎检测Android***是否存在提权漏洞具体为:通过云端下载漏洞检测脚本,对Android***进行提权漏洞检测。
所述的***中,所述root行为检测模块,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为具体为:判断应用程序是否以root权限运行,或包含root所需文件,如果是,则存在非法请求root权限的行为,否则不存在。
本发明的优势在于:通过多方向对***进行检测,能够确保准确检测出***是否被root,检测范围更广;通过主动查看和被动从***中获取信息两种方式进行验证,极大的提高了检测的准确率;通过本发明的方法,能够对***中尚未被发现的风险进行检测并提示用户,发现未知风险;并且通过检测***内核和底层api调用等多种技术,对root风险进行深入检测。本发明保证了用户在未造成损失之前,最快了解当前Android***是否存在重大安全隐患。
本发明提供了一种Android***的非法root检测方法及***,通过对***进行常规root检测及利用云端信息检测***是否加锁,是否被非法解锁,以及是否存在提权漏洞、刷入第三方recovery模式,判断***是否被非法root,并检测***中存在非法root行为的应用程序,提示用户。本发明还给出了相应***,通过本发明内容,能够多方面检测***是否被root,是否存在非法root风险,并通过主动查看和被动从***中获取等多种方式进行检测,提高了准确率,能够发现***中隐藏的未知风险。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种Android***的非法root检测方法流程图;
图2为本发明一种Android***的非法root检测***结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明提供了一种Android***的非法root检测方法及***,通过多方向检测,确定***是否存在非法root风险,并将风险提示用户。
一种Android***的非法root检测方法,如图1所示,包括:
S101,利用常规方法对Android***检测,初次判断Android***是否已被root,如果是,则判定***危险,执行S106;否则执行S102;
常规检测方法有:
(1)执行Runtime.getRuntime().exec("su"),查看返回结果,可以判定是否root;
(2)检测目录"/system/bin/","/system/xbin/","/system/sbin/","/sbin/","/vendor/bin/"下是否存在su文件,且是否具有可执行权限可以判断是否root;
(3)调用execRootCmdSilent()方法,根据返回值可以判断是否root。
S102,检测Android***是否已加锁,如果是,执行S103;否则执行S105;
S103,检测Android***是否被非法解锁,如果是,则执行S105;否则执行S104;
S104,检测Android***是否存在提权漏洞,如果是,则执行S106;否则执行S105;
S105,检测Android***是否被刷入第三方recovery模式,如果是,则执行S106;否则判定***不存在非法root风险;第三方recovery是指替换了***自带的recovery程序的第三方程序,虽然第三方recovery在功能上与***自带的recovery程序类似,但是由于其具有修改***的权限,如果被恶意利用,则会对***造成严重的危害;
S106,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为,如果存在,则提示用户***存在非法root风险,并提示非法请求root权限行为的应用程序;否则,提示用户***存在非法root风险。
所述的方法中,所述S102,检测Android***是否已加锁具体为:获取用户设备的信息,识别当前用户设备Android***加锁状态;如S-ON表示处于加锁状态,S-OFF表示已被解锁,具体需要根据厂商的不同,动态获取读取方式;
所述的方法中,所述S103,检测Android***是否被非法解锁具体为:根据获取的用户设备信息,获取通过云端查找到的对应用户设备的出厂加锁状态,并与当前用户设备Android***加锁状态比对,如果一致,则Android***未被非法解锁,否则,Android***被非法解锁。
所述的方法中,所述S104,检测Android***是否存在提权漏洞具体为:通过云端下载漏洞检测脚本,对Android***进行提权漏洞检测。
云端存储设备及对应出厂加锁状态及检测脚本等信息供查询。
所述的方法中,所述S106,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为具体为:判断应用程序是否以root权限运行,或包含root所需文件,如果是,则存在非法请求root权限的行为,否则不存在。如:检测进程名称为/system/bin/sh的UID是否属于已安装的应用程序,EUID为root,即可判定所述应用为以root权限运行,即存在非法请求root权限的行为;或反编译dex文件,查看代码是否存在尝试获得root权限的方法,如Runtime.getRuntime().exec(“su”),等提权相关接口调用;或检测apk包中是否包含superuser.apk,su,operation.pem等root所用到的文件等。
本发明还提供了一种Android***的非法root检测***,如图2所示,包括:
常规检测模块201,用于利用常规方法对Android***检测,初次判断Android***是否已被root,如果是,则判定***危险,转入root行为检测模块206;否则进入加锁检测模块202;
加锁检测模块202,用于检测Android***是否已加锁,如果是,进入非法解锁检测模块203;否则转入工程模式检测模块205;
非法解锁检测模块203,用于检测Android***是否被非法解锁,如果是,则转入工程模式检测模块205;否则进入漏洞检测模块204;
漏洞检测模块204,检测Android***是否存在提权漏洞,如果是,则转入root行为检测模块206;否则进入工程模式检测模块205;
工程模式检测模块205,检测Android***是否被刷入第三方recovery模式,如果是,则进入root行为检测模块206;否则判定***不存在非法root风险;
root行为检测模块206,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为,如果存在,则提示用户***存在非法root风险,并提示非法请求root权限行为的应用程序;否则,提示用户***存在非法root风险。
所述的***中,所述加锁检测模块,检测Android***是否已加锁具体为:获取用户设备的信息,识别当前用户设备Android***加锁状态;
所述的***中,所述非法解锁检测模块,检测Android***是否被非法解锁具体为:根据获取的用户设备信息,获取通过云端查找到的对应用户设备的出厂加锁状态,并与当前用户设备Android***加锁状态比对,如果一致,则Android***未被非法解锁,否则,Android***被非法解锁。
所述的***中,所述漏洞检测模块,云端检测引擎检测Android***是否存在提权漏洞具体为:通过云端下载漏洞检测脚本,对Android***进行提权漏洞检测。
所述的***中,所述root行为检测模块,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为具体为:判断应用程序是否以root权限运行,或包含root所需文件,如果是,则存在非法请求root权限的行为,否则不存在。
本发明的优势在于:通过多方向对***进行检测,能够确保准确检测出***是否被root,检测范围更广;通过主动查看和被动从***中获取信息两种方式进行验证,极大的提高了检测的准确率;通过本发明的方法,能够对***中尚未被发现的风险进行检测并提示用户,发现未知风险;并且通过检测***内核和底层api调用等多种技术,对root风险进行深入检测。
本发明提供了一种Android***的非法root检测方法及***,通过对***进行常规root检测及利用云端信息检测***是否加锁,是否被非法解锁,以及是否存在提权漏洞、刷入第三方recovery模式,判断***是否被非法root,并检测***中存在非法root行为的应用程序,提示用户。本发明还给出了相应***,通过本发明内容,能够多方面检测***是否被root,是否存在非法root风险,并通过主动查看和被动从***中获取等多种方式进行检测,提高了准确率,能够发现***中隐藏的未知风险。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (10)
1.一种Android***的非法root检测方法,其特征在于,包括:
步骤a,利用常规方法对Android***检测,初次判断Android***是否已被root,如果是,则判定***危险,执行步骤f;否则执行步骤b;
步骤b,检测Android***是否已加锁,如果是,执行步骤c;否则执行步骤e;
步骤c,检测Android***是否被非法解锁,如果是,则执行步骤e;否则执行步骤d;
步骤d,检测Android***是否存在提权漏洞,如果是,则执行步骤f;否则执行步骤e;
步骤e,检测Android***是否被刷入第三方recovery模式,如果是,则执行步骤f;否则判定***不存在非法root风险;
步骤f,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为,如果存在,则提示用户***存在非法root风险,并提示非法请求root权限行为的应用程序;否则,提示用户***存在非法root风险。
2.如权利要求1所述的方法,其特征在于,所述步骤b,检测Android***是否已加锁具体为:获取用户设备的信息,识别当前用户设备Android***加锁状态。
3.如权利要求2所述的方法,其特征在于,所述步骤c,检测Android***是否被非法解锁具体为:根据获取的用户设备信息,获取通过云端查找到的对应用户设备的出厂加锁状态,并与当前用户设备Android***加锁状态比对,如果一致,则Android***未被非法解锁,否则,Android***被非法解锁。
4.如权利要求1所述的方法,其特征在于,所述步骤d,检测Android***是否存在提权漏洞具体为:通过云端下载漏洞检测脚本,对Android***进行提权漏洞检测。
5.如权利要求1所述的方法,其特征在于,所述步骤f,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为具体为:判断应用程序是否以root权限运行,或包含root所需文件,如果是,则存在非法请求root权限的行为,否则不存在。
6.一种Android***的非法root检测***,其特征在于,包括:
常规检测模块,用于利用常规方法对Android***检测,初次判断Android***是否已被root,如果是,则判定***危险,转入root行为检测模块;否则进入加锁检测模块;
加锁检测模块,用于检测Android***是否已加锁,如果是,进入非法解锁检测模块;否则转入工程模式检测模块;
非法解锁检测模块,用于检测Android***是否被非法解锁,如果是,则转入工程模式检测模块;否则进入漏洞检测模块;
漏洞检测模块,检测Android***是否存在提权漏洞,如果是,则转入root行为检测模块;否则进入工程模式检测模块;
工程模式检测模块,检测Android***是否被刷入第三方recovery模式,如果是,则进入root行为检测模块;否则判定***不存在非法root风险;
root行为检测模块,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为,如果存在,则提示用户***存在非法root风险,并提示非法请求root权限行为的应用程序;否则,提示用户***存在非法root风险。
7.如权利要求6所述的***,其特征在于,所述加锁检测模块,检测Android***是否已加锁具体为:获取用户设备的信息,识别当前用户设备Android***加锁状态。
8.如权利要求7所述的***,其特征在于,所述非法解锁检测模块,检测Android***是否被非法解锁具体为:根据获取的用户设备信息,获取通过云端查找到的对应用户设备的出厂加锁状态,并与当前用户设备Android***加锁状态比对,如果一致,则Android***未被非法解锁,否则,Android***被非法解锁。
9.如权利要求6所述的***,其特征在于,所述漏洞检测模块,云端检测引擎检测Android***是否存在提权漏洞具体为:通过云端下载漏洞检测脚本,对Android***进行提权漏洞检测。
10.如权利要求6所述的***,其特征在于,所述root行为检测模块,检测Android***中的所有应用程序,判断是否存在非法请求root权限的行为具体为:判断应用程序是否以root权限运行,或包含root所需文件,如果是,则存在非法请求root权限的行为,否则不存在。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410523623.7A CN104978517B (zh) | 2014-10-08 | 2014-10-08 | 一种Android***的非法root检测方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410523623.7A CN104978517B (zh) | 2014-10-08 | 2014-10-08 | 一种Android***的非法root检测方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978517A CN104978517A (zh) | 2015-10-14 |
CN104978517B true CN104978517B (zh) | 2017-09-29 |
Family
ID=54275011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410523623.7A Active CN104978517B (zh) | 2014-10-08 | 2014-10-08 | 一种Android***的非法root检测方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104978517B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243329B (zh) * | 2015-10-26 | 2017-12-08 | 北京奇虎科技有限公司 | Android***漏洞挖掘的方法及装置 |
CN106650438A (zh) * | 2015-11-04 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种恶意程序检测的方法及装置 |
CN106203125A (zh) * | 2016-07-11 | 2016-12-07 | 北京小米移动软件有限公司 | 操作***及其安全检测方法、安全检测装置和终端 |
CN106529290B (zh) * | 2016-10-11 | 2020-02-18 | 北京金山安全软件有限公司 | 一种恶意软件防护方法、装置以及电子设备 |
CN111385791B (zh) * | 2018-12-28 | 2021-09-14 | 华为技术有限公司 | 安全威胁检测方法及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930190A (zh) * | 2012-10-25 | 2013-02-13 | 中科方德软件有限公司 | 一种在安卓***中阻止用户获取超级用户权限的方法 |
CN103559440A (zh) * | 2013-11-11 | 2014-02-05 | 北京国双科技有限公司 | ios设备用户权限的检测方法、装置和*** |
CN103559431A (zh) * | 2013-11-11 | 2014-02-05 | 北京国双科技有限公司 | 安卓***用户权限的检测方法、装置和*** |
CN104036199A (zh) * | 2014-06-12 | 2014-09-10 | 上海交通大学 | 用于Android***的磁盘隐私数据残留漏洞检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8448218B2 (en) * | 2008-01-17 | 2013-05-21 | Josep Bori | Method and apparatus for a cryptographically assisted computer system designed to deter viruses and malware via enforced accountability |
-
2014
- 2014-10-08 CN CN201410523623.7A patent/CN104978517B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930190A (zh) * | 2012-10-25 | 2013-02-13 | 中科方德软件有限公司 | 一种在安卓***中阻止用户获取超级用户权限的方法 |
CN103559440A (zh) * | 2013-11-11 | 2014-02-05 | 北京国双科技有限公司 | ios设备用户权限的检测方法、装置和*** |
CN103559431A (zh) * | 2013-11-11 | 2014-02-05 | 北京国双科技有限公司 | 安卓***用户权限的检测方法、装置和*** |
CN104036199A (zh) * | 2014-06-12 | 2014-09-10 | 上海交通大学 | 用于Android***的磁盘隐私数据残留漏洞检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104978517A (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978517B (zh) | 一种Android***的非法root检测方法及*** | |
CN108804912B (zh) | 一种基于权限集差异的应用程序越权检测方法 | |
CN103559446B (zh) | 一种基于安卓***的设备的动态病毒检测方法和装置 | |
KR101265173B1 (ko) | 비실행 파일 검사 장치 및 방법 | |
CN108763951B (zh) | 一种数据的保护方法及装置 | |
WO2016015680A1 (zh) | 移动终端输入窗口的安全检测方法和安全检测装置 | |
CN106845223B (zh) | 用于检测恶意代码的方法和装置 | |
US9659173B2 (en) | Method for detecting a malware | |
CN106650441A (zh) | 一种录屏方法以及装置 | |
KR20180032409A (ko) | 콘텐츠 파일 접근 제어를 이용한 랜섬웨어 차단 장치 및 차단 방법 | |
CN108197476B (zh) | 一种智能终端设备的漏洞检测方法及装置 | |
CN113946825B (zh) | 一种内存马处理方法及*** | |
CN101866407A (zh) | 一种实现操作***平台安全的方法及装置 | |
CN104123499B (zh) | 一种利用Android设备管理器对抗卸载的软件的识别方法及装置 | |
CN107145781A (zh) | 一种对应用程序进行安全检测的方法及装置 | |
Suarez-Tangil et al. | Thwarting obfuscated malware via differential fault analysis | |
CN103034810B (zh) | 一种检测方法、装置及电子设备 | |
KR101388053B1 (ko) | 권한탐지 기반의 안드로이드 어플리케이션 보안강화 방법, 그리고 이를 위한 권한탐지 기반의 안드로이드 보안 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
CN107122664B (zh) | 安全防护方法及装置 | |
CN106529299A (zh) | 一种在linux***中对恶意软件Rootkit的检测和修复方法 | |
CN105447387A (zh) | 基于硬件隔离环境的可信应用检测的方法及装置 | |
US10853492B2 (en) | Systems and methods for protecting a computing device against malicious code | |
CN106295336B (zh) | 恶意程序检测方法及装置 | |
CN106650439A (zh) | 检测可疑应用程序的方法及装置 | |
KR101311367B1 (ko) | 메모리 보호기능 우회 공격 진단 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 430000, Hubei province East Lake Wuhan New Technology Development Zone Software Park East Road 1 software industry phase 4-1, B4, building 12, room 01 Applicant after: Wuhan Antian Information Technology Co., Ltd. Address before: 430000 Hubei Development Zone, East Lake, Optics Valley Venture Street, building 6, building 2, building Applicant before: Wuhan Antian Information Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |