CN107368738B - 一种智能设备的防Root方法及装置 - Google Patents

一种智能设备的防Root方法及装置 Download PDF

Info

Publication number
CN107368738B
CN107368738B CN201710417348.4A CN201710417348A CN107368738B CN 107368738 B CN107368738 B CN 107368738B CN 201710417348 A CN201710417348 A CN 201710417348A CN 107368738 B CN107368738 B CN 107368738B
Authority
CN
China
Prior art keywords
script
partition
executable program
instruction
read
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
Application number
CN201710417348.4A
Other languages
English (en)
Other versions
CN107368738A (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.)
PAX Computer Technology Shenzhen Co Ltd
Original Assignee
PAX Computer Technology Shenzhen 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 PAX Computer Technology Shenzhen Co Ltd filed Critical PAX Computer Technology Shenzhen Co Ltd
Priority to CN201710417348.4A priority Critical patent/CN107368738B/zh
Publication of CN107368738A publication Critical patent/CN107368738A/zh
Application granted granted Critical
Publication of CN107368738B publication Critical patent/CN107368738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明适用于终端技术领域,提供了一种智能设备的防Root方法及装置,包括:在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件;若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本。通过上述方法能够实现阻止终端被Root,从而保证终端设备数据安全。

Description

一种智能设备的防Root方法及装置
技术领域
本发明属于终端技术领域,尤其涉及一种智能设备的防Root方法及装置。
背景技术
Root存在于Linux操作系统、UNIX操作系统和类UNIX系统中,是系统中唯一的超级用户,相当于Windows操作系统中的administrator(管理员)用户。Root用户拥有整个系统至高无上的权利,其具有系统中所有的权限,系统中的所有对象它都可以操作,如启动或停止一个进程,删除或增加用户,增加或者禁用硬件等等。一般情况下,厂商出于安全考虑会关闭终端设备的Root权限,终端设备系统是运行在普通用户权限下的,此时用户是无法操作系统中的文件与数据的。
但随着基于Android操作系统框架的智能设备在市场上的普及率越来越高,针对于相关设备的破解程序也越来越多。当前主流的Root方式,就是在终端中刷入自定义的su文件。Android是基于Linux的操作系统,Linux自带一个名为“su“的可执行文件,用于普通用户切换身份,执行一些Root权限的操作,执行完毕后,用户又重新回到自己普通用户的身份。su文件一般不会被集成到终端当中,且正常情况下,只有特定权限的用户可以使用su文件。但是,通过修改su代码,去掉su被调用时的权限判断逻辑,再把这个自定义的su文件刷入到终端设备后,任一进程(包括恶意程序)都可以通过该su文件进行Root权限的操作,此时该终端设备就被Root了。终端设备一旦被Root,风险极大,例如当金融POS机被捕捉到系统漏洞获得Root权限时,设备内的私有数据能被随意访问和篡改,无法保证终端数据的安全。
发明内容
有鉴于此,本发明提供了一种智能设备防Root方法及装置,以解决现有技术中终端被Root后终端内的私有数据能被随意访问和篡改,无法保证终端设备数据安全的问题。
本发明的第一方面提供了一种智能设备的防Root方法,所述Root权限控制方法包括:
在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件;
若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本。
本发明的第二方面提供了一种智能设备的防Root装置,所述防Root装置包括:
解析所述exec函数的系统调用进程中的所调用的可执行程序或脚本的路径;
检测所述可执行程序或脚本的路径是否来自可读写分区。
本发明的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明上述防Root方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明上述防Root方法的步骤。
本发明与现有技术相比存在的有益效果是:本发明实施例通过在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件,若存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本,有效抵御通过可执行程序或脚本来试探POS机系统中可能已公开的漏洞获取临时Root的目的,从而可保证终端设备数据的安全。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的智能设备的防Root方法的一种实现流程图;
图2是本发明实施例提供的智能设备的防Root方法的另一种实现流程图;
图3是本发明实施例提供的智能设备的防Root方法的再一种实现流程图;
图4a是本发明实施例提供的一种智能设备的防Root装置的结构框图;
图4b是本发明实施例提供的智能设备的防Root装置的另一种结构框图;
图4c是本发明实施例提供的智能设备的防Root装置的再一种结构框图;
图5是本发明实施例提供的一种终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
图1示出了本发明实施例提供的一种智能设备的防Root方法的流程图,详述如下:
步骤S101,在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件。
其中,在Linux/Android系统中,初始化进程init,是一个由内核启动的用户级进程,内核自行启动后,就通过启动init来完成引导进程。所以init始终是第一个进程(其进程编号始终为1)。exec函数可提供在进程中启动另一个程序执行的方法,它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是二进制可执行程序文件,也可以是Linux下任何可执行脚本文件。
可选地,在初始化进程启动后,所述检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本的步骤,具体包括:
A1、解析所述exec函数的系统调用进程中所调用的可执行程序或脚本的路径。
A2、检测所述可执行程序或脚本的路径是否来自可读写分区。
一般地,系统中包括system分区(系统分区)和data分区(数据分区),系统分区是用于保存各种引导文件的分区,data分区是可读写分区。在用户没有Root权限的情况下,system分区只能进行读操作,不能进行写操作。具体地,在Init进程启动完成之后,解析所述exec函数的系统调用进程中所调用的可执行程序或脚本的路径,即获取调用的可执行程序或脚本的路径,再检测所述可执行程序或脚本的路径是否来自可读写分区。
步骤S102,若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本。
在本发明实施例中,当步骤S101检测到存在exec函数的系统调用执行可读写分区中的可执行程序或脚本时,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本。具体地,exec函数系统调用是所有可执行程序的入口,在linux内核代码中对exec函数的系统调用进行判断,检查需要执行的程序路径是否来自可读写分区,例如来自data分区,如果是来自可读写分区,则立即停止调用执行,并返回结束。
可选地,若存在exec函数的系统调用执行可读写分区中的可执行程序或脚本时,则立即停止调用执行,并设置错误标识。
Linux/Android系统中可能存在已公开漏洞,非法用户可以在可读写分区的脚本文件试探已公开漏洞获取临时Root权限。因此,通过在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本,有效抵御利用脚本来试探已公开漏洞来获取临时Root的目的,从而可保证终端设备数据的安全。
实施例二
图2示出了本发明实施例提供的另一种智能设备的防Root方法的流程图,详述如下:
步骤S201,在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件。
优选地,在本发明实施例中,所述检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本的步骤具体包括:
解析所述exec函数的系统调用进程中所调用的可执行程序或脚本的路径;
检测所述可执行程序或脚本的路径是否来自可读写分区。
在本实施例中,步骤S201的具体步骤参见实施例一步骤S101,在此不再赘述。
步骤S202,检测所述可执行程序或脚本的路径是否来自可读写分区。
在本实施例中,步骤S201至步骤S202的具体步骤参见实施例一步骤S101至步骤S102,在此不再赘述。
步骤S203,检测是否存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令。
具体地,su是Linux系统中用来切换用户的一个命令,在操作系统中以文件形式存在,要达到Root的目的,非常必要的一个步骤是必须把su拷贝到system分区的bin目录或xbin目录,而system分区默认是只读的,要将su文件拷贝进system分区,就需要将system分区的只读权限修改为可读写权限,因此,在本发明实施例中,检测是否有可执行程序或脚本执行remount system分区操作,从而判断是否有非法用户要Root该终端设备。
步骤S204,若存在,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本。
具体地,若存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本。
可选地,所述步骤S204具体包括:
当检测到系统立即执行重启操作。
在本发明实施例中,当检测到对系统分区的读写权限进行修改的指令时,停止执行该指令,系统立即执行重启操作,避免可执行程序或脚本执行remount system分区操作,从而防止默认只读权限的系统分区中数据被篡改。
优选地,所述步骤S204包括:
当检测到对系统分区的读写权限进行修改的指令时,跳过该指令,继续执行除所述对系统分区的读写权限进行修改的指令以外的其它指令。
具体地,当检测到对系统分区的读写权限进行修改的指令时,通过预先配置的过滤功能,将该指令过滤,并继续执行除所述对系统分区的读写权限进行修改的指令以外的其它指令,不影响终端设备正常工作的前提下,防止默认只读权限的系统分区中数据被篡改。
本发明实施例中,通过在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本,有效抵御利用脚本来试探已公开漏洞来获取临时Root的目的,同时检测是否存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令,若存在,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本,阻止拷贝su文件至系统分区,防止默认只读权限的系统分区中数据被篡改,从而防止终端设备被Root,有效保证终端设备数据的安全。
实施例三
图3示出了本发明实施例提供的一种智能设备的防Root方法的流程图,详述如下:
步骤S301,在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件。
步骤S302,检测所述可执行程序或脚本的路径是否来自可读写分区。
在本实施例中,步骤S301至步骤S302的具体步骤参见实施例一步骤S101至步骤S102,在此不再赘述。
步骤S303,检测是否存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令。
步骤S304,若存在,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本。
在本实施例中,步骤S303至步骤S304的具体步骤参见实施例二步骤S203至步骤S204,在此不再赘述。
步骤S305,禁止调用su文件。
进一步地,所述步骤S305具体包括:
若检测到调用su文件的指令,提示非法操作,系统立即执行重启操作。
具体地,su是Linux系统中用来切换用户的一个命令,在操作系统中以文件形式存在,要达到Root的目的,非常必要的一个步骤是必须把su拷贝到system分区的bin目录或xbin目录,因此,当检测到调用su文件的指令时,提示非法操作,系统立即执行重启操作。
可选地,当检测到调用su文件的指令时,过滤该指令,系统继续执行除所述调用su文件的指令以外的其他指令。
本发明实施例中,通过在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本,有效抵御利用脚本来试探已公开漏洞来获取临时Root的目的,同时检测是否存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令,若存在,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本,并禁止调用su文件,阻止拷贝su文件至系统分区,防止默认只读权限的系统分区中数据被篡改,从而防止终端设备被Root,有效保证终端设备数据的安全。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例四
对应于上文实施例所述的一种智能设备的防Root方法,图4a示出了本发明实施例提供的一种智能设备的防Root装置的结构框图,该装置可应用于智能设备,该智能设备可以包括经无线接入网RAN与一个或多个核心网进行通信的用户设备,该用户设备可以是移动电话(或称为“蜂窝”电话)、具有移动设备的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。又例如,该移动设备可以包括智能手机、平板电脑、个人数字助理PDA、销售终端POS机或车载电脑等。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图4a,该防Root装置包括:文件检测单元41,第一禁止单元42,其中:
文件检测单元41,用于在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件。
其中,在Linux/Android系统中,初始化进程init,是一个由内核启动的用户级进程,内核自行启动后,就通过启动init来完成引导进程。所以init始终是第一个进程(其进程编号始终为1)。exec函数可提供在进程中启动另一个程序执行的方法,它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是二进制可执行程序文件,也可以是Linux下任何可执行脚本文件。
进一步地,所述文件检测单元41包括:
路径解析模块411,用于解析所述exec函数的系统调用进程中所调用的可执行程序或脚本的路径;
路径检测模块412,用于检测所述可执行程序或脚本的路径是否来自可读写分区。
一般地,系统中包括system分区(系统分区)和data分区(数据分区),系统分区是用于保存各种引导文件的分区,data分区是可读写分区。在用户没有Root权限的情况下,system分区只能进行读操作,不能进行写操作。具体地,在Init进程启动完成之后,解析所述exec函数的系统调用进程中所调用的可执行程序或脚本的路径,即获取调用的可执行程序或脚本的路径,再检测所述可执行程序或脚本的路径是否来自可读写分区。
第一禁止单元42,用于若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本
具体地,当文件检测单元41检测到存在exec函数的系统调用执行可读写分区中的可执行程序或脚本时,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本。具体地,exec函数系统调用是所有可执行程序的入口,在linux内核代码中对exec函数的系统调用进行判断,检查需要执行的程序路径是否来自可读写分区,例如来自data分区,如果是来自可读写分区,则立即停止调用执行,并返回结束。
可选地,若存在exec函数的系统调用执行可读写分区中的可执行程序或脚本时,则立即停止调用执行,并设置错误标识。
可选地,如图4b所示,本发明实施例中,所述防Root装置还包括:
指令检测单元43,用于检测是否存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令;
第二禁止单元44,用于若存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本;
进一步地,所述第二禁止单元44包括:
第一重启模块441,用于当检测到对系统分区的读写权限进行修改的指令时,系统立即执行重启操作;
指令执行模块442,用于当检测到对系统分区的读写权限进行修改的指令时,跳过该指令,继续执行除所述对系统分区的读写权限进行修改的指令以外的其它指令。
具体地,su是Linux系统中用来切换用户的一个命令,在操作系统中以文件形式存在,要达到Root的目的,非常必要的一个步骤是必须把su拷贝到system分区的bin目录或xbin目录,而system分区默认是只读的,要将su文件拷贝进system分区,就需要将system分区的只读权限修改为可读写权限,因此,在本发明实施例中,检测是否有可执行程序或脚本执行remount system分区操作,从而判断是否有非法用户要Root该终端设备。
可选地,如图4c所示,本发明实施例中,所述防Root装置还包括:
第三禁止单元45,用于禁止调用su文件。
进一步地,所述第三禁止单元45包括:
第二重启模块451,用于当检测到调用su文件的指令时,提示非法操作,系统立即执行重启操作。
可选地,当检测到调用su文件的指令时,过滤该指令,系统继续执行除所述调用su文件的指令以外的其他指令。
本发明实施例中,通过在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本,有效抵御利用脚本来试探已公开漏洞来获取临时Root的目的,同时检测是否存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令,若存在,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本,并禁止调用su文件,阻止拷贝su文件至系统分区,防止默认只读权限的系统分区中数据被篡改,从而防止终端设备被Root,有效保证终端设备数据的安全。
实施例四
图5是本发明第四实施例提供的终端设备的示意图。如图5所示,该实施例的终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如屏幕操作程序。所述处理器50执行所述计算机程序52时实现上述方法实施例中各个屏幕操作方法实施例中的步骤,例如图1所示的步骤S101至步骤S102,或者如图2所示的步骤S201至步骤S204。或者,所述处理器50执行所述计算机程序52时实现上述装置实施例中各模块/单元的功能,例如图4a所示单元41至单元42的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。例如,所述计算机程序52可以被分割成文件检测单元、第一禁止单元,各单元具体功能如下:
文件检测单元,用于在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件;
第一禁止单元,用于若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本;
所述文件检测单元包括:
路径解析模块,用于解析所述exec函数的系统调用进程中的所调用的可执行程序或脚本的路径;
路径检测模块,用于检测所述可执行程序或脚本的路径是否来自可读写分区。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备5所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (9)

1.一种智能设备的防Root方法,其特征在于,所述防Root方法包括:
在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件;具体地,解析所述exec函数的系统调用进程中所调用的可执行程序或脚本的路径;检测所述可执行程序或脚本的路径是否来自可读写分区;
若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本,并设置错误标识。
2.如权利要求1所述的防Root方法,其特征在于,所述防Root方法还包括:
检测是否存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令;
若存在,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本。
3.如权利要求2所述的防Root方法,其特征在于,所述若存在,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本,包括:
当检测到对系统分区的读写权限进行修改的指令时,系统立即执行重启操作。
4.如权利要求2所述的防Root方法,其特征在于,所述若存在,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本,包括:
当检测到对系统分区的读写权限进行修改的指令时,跳过该指令,继续执行除所述对系统分区的读写权限进行修改的指令以外的其它指令。
5.如权利要求2所述的防Root方法,其特征在于,所述防Root方法,还包括:
禁止调用su文件;
所述禁止调用su文件,包括:
当检测到调用su文件的指令时,提示非法操作,系统立即执行重启操作。
6.一种智能设备的防Root装置,其特征在于,所述防Root装置包括:
文件检测单元,用于在初始化进程启动后,检测是否存在exec函数的系统调用执行可读写分区中的可执行程序或脚本,其中所述exec函数用于调用进程内部执行可执行文件;
第一禁止单元,用于若存在,则禁止exec函数的系统调用执行可读写分区中的可执行程序或脚本,并设置错误标识;
所述文件检测单元包括:
路径解析模块,用于解析所述exec函数的系统调用进程中所调用的可执行程序或脚本的路径;
路径检测模块,用于检测所述可执行程序或脚本的路径是否来自可读写分区。
7.如权利要求6所述的防Root装置,其特征在于,所述防Root装置还包括:
指令检测单元,用于检测是否存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令;
第二禁止单元,用于若存在可执行程序或脚本执行对系统分区的读写权限进行修改的指令,则禁止调用执行修改系统分区的读写权限的可执行程序或脚本;
所述第二禁止单元包括:
第一重启模块,用于当检测到对系统分区的读写权限进行修改的指令时,系统立即执行重启操作;
指令执行模块,用于当检测到对系统分区的读写权限进行修改的指令时,跳过该指令,继续执行除所述对系统分区的读写权限进行修改的指令以外的其它指令;
第三禁止单元,用于禁止调用su文件;
所述第三禁止单元包括:
第二重启模块,用于当检测到调用su文件的指令时,提示非法操作,系统立即执行重启操作。
8.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN201710417348.4A 2017-06-06 2017-06-06 一种智能设备的防Root方法及装置 Active CN107368738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710417348.4A CN107368738B (zh) 2017-06-06 2017-06-06 一种智能设备的防Root方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710417348.4A CN107368738B (zh) 2017-06-06 2017-06-06 一种智能设备的防Root方法及装置

Publications (2)

Publication Number Publication Date
CN107368738A CN107368738A (zh) 2017-11-21
CN107368738B true CN107368738B (zh) 2020-04-03

Family

ID=60306317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710417348.4A Active CN107368738B (zh) 2017-06-06 2017-06-06 一种智能设备的防Root方法及装置

Country Status (1)

Country Link
CN (1) CN107368738B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245464B (zh) * 2018-10-10 2021-08-27 爱信诺征信有限公司 保护文件的方法和装置
CN109472137A (zh) * 2018-10-31 2019-03-15 北京羽扇智信息科技有限公司 非法操作的检测方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530534A (zh) * 2013-09-23 2014-01-22 北京理工大学 一种基于签名验证的Android程序ROOT授权方法
CN104809403A (zh) * 2014-01-24 2015-07-29 红板凳科技股份有限公司 一种防Root的白屏方法
CN106529312A (zh) * 2016-10-25 2017-03-22 广东欧珀移动通信有限公司 一种移动终端的权限控制方法、装置及移动终端
CN106560830A (zh) * 2016-07-01 2017-04-12 哈尔滨安天科技股份有限公司 一种Linux嵌入式系统中的安全防护方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530534A (zh) * 2013-09-23 2014-01-22 北京理工大学 一种基于签名验证的Android程序ROOT授权方法
CN104809403A (zh) * 2014-01-24 2015-07-29 红板凳科技股份有限公司 一种防Root的白屏方法
CN106560830A (zh) * 2016-07-01 2017-04-12 哈尔滨安天科技股份有限公司 一种Linux嵌入式系统中的安全防护方法及系统
CN106529312A (zh) * 2016-10-25 2017-03-22 广东欧珀移动通信有限公司 一种移动终端的权限控制方法、装置及移动终端

Also Published As

Publication number Publication date
CN107368738A (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
US9152788B2 (en) Detecting a malware process
CN107480554B (zh) 一种权限管理方法、权限管理装置及智能终端
US20210089684A1 (en) Controlled access to data stored in a secure partition
EP3089068A1 (en) Application program management method, device, terminal, and computer storage medium
CN108763951B (zh) 一种数据的保护方法及装置
WO2020019971A1 (zh) 一种操作系统的主动安全防护方法、系统及终端设备
CN109684795B (zh) 应用程序反调试的方法、装置及电子设备
CN107368738B (zh) 一种智能设备的防Root方法及装置
CN110581921B (zh) 一种折叠屏设备控制方法和装置
CN112231198B (zh) 一种恶意进程调试方法、装置、电子设备及介质
US10521150B2 (en) Data processing method and device for nonvolatile memory and storage medium
CN111783087A (zh) 可执行文件恶意执行的检测方法及装置、终端、存储介质
CN108647516B (zh) 一种防御漏洞非法提权方法及装置
CN107316197B (zh) 一种支付保护方法、移动终端和计算机可读存储介质
CN107392010B (zh) 执行Root操作的方法及装置、终端设备、存储介质
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
CN111062061B (zh) 一种用于ios系统的安全防护方法和系统
CN107295177B (zh) 应用禁用方法、装置及终端设备
CN108898006B (zh) Html5文件安全保护方法、系统及终端设备
CN112231699A (zh) 读取函数的拦截方法、装置、电子设备和计算机可读介质
CN109800580B (zh) 系统进程的权限控制方法及装置、存储介质、计算机设备
CN107220546B (zh) 应用运行方法、装置及终端设备
CN112417402A (zh) 权限控制方法、权限控制装置、权限控制设备及存储介质
CN110765426A (zh) 设备权限设置方法、装置、设备以及计算机存储介质
CN111274554B (zh) 小程序的api调用方法、装置、设备和介质

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