CN109657448A - 一种获取Root权限的方法、装置、电子设备及存储介质 - Google Patents

一种获取Root权限的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN109657448A
CN109657448A CN201811574547.7A CN201811574547A CN109657448A CN 109657448 A CN109657448 A CN 109657448A CN 201811574547 A CN201811574547 A CN 201811574547A CN 109657448 A CN109657448 A CN 109657448A
Authority
CN
China
Prior art keywords
electronic equipment
authorization message
encryption file
authority
root authority
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
CN201811574547.7A
Other languages
English (en)
Other versions
CN109657448B (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.)
Huizhou TCL Mobile Communication Co Ltd
Original Assignee
Huizhou TCL Mobile Communication 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 Huizhou TCL Mobile Communication Co Ltd filed Critical Huizhou TCL Mobile Communication Co Ltd
Priority to CN201811574547.7A priority Critical patent/CN109657448B/zh
Publication of CN109657448A publication Critical patent/CN109657448A/zh
Application granted granted Critical
Publication of CN109657448B publication Critical patent/CN109657448B/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

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

Abstract

本申请实施例公开了一种获取Root权限的方法、装置、电子设备及存储介质。其中方法包括:向服务器发送电子设备的标识信息,标识信息包括电子设备的机器码;接收并保存服务器根据机器码生成的加密文件,加密文件包括授权信息;重启电子设备进入引导程序;在引导程序内验证授权信息的合法性;若授权信息验证合法,则关闭电子设备的保护机制,发送授权文件至***分区,以获取电子设备的Root权限。通过服务器根据电子设备生成的标识信息生成加密文件,接收保存加密文件,在电子设备中进行验证,在验证通过的情况下,才能关闭电子设备的保护机制,获取Root权限。提高了获取Root权限的安全性。

Description

一种获取Root权限的方法、装置、电子设备及存储介质
技术领域
本申请涉及IT(Information Technology,信息技术)技术领域领域,具体涉及一种获取Root权限的方法、装置、电子设备及存储介质。
背景技术
基于Uinux诞生的操作***,从Linux系列到智能终端的Android操作***,均存在严格的用户管理机制。其中,以Android***为例,***最高权限账户叫做Root,该账户拥有最高级别的权限管理机制,可以增加或者删除用户,也可以启动或者停止一个进程,甚至能够增加和禁用硬件等等。谷歌和终端厂商为了保障普通用户的设备安全,在智能终端出厂时,并未开放Root权限,但一些极客用户,想要对智能终端的***进行差异化定制,需要获取Root权限。
目前获取Root的方法有很多种,第三方Root工具成为极客用户们的一种选择,但是这种Root方法不安全,Root操作会涉及到操作***的底层核心,可能导致***不稳定,甚至奔溃,而且第三方的Root工具可能存在病毒,盗取用户的个人信息,安全性差。
申请内容
本申请实施例提供一种获取Root权限的方法、装置、电子设备及存储介质,通过服务器根据手机标识信息生成的加密文件,在电子设备中对加密文件的授权信息进行验证,然后关闭电子设备的保护机制,最终获取Root权限。提升了获取Root权限过程中的安全性。
为了解决以上技术问题,本申请提出了以下技术方案:
第一方面,本申请实施例提供了一种获取Root权限的方法,其中包括:
向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;
接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;
重启所述电子设备进入引导程序;
在所述引导程序内验证所述授权信息的合法性;
若所述授权信息验证合法,则关闭所述电子设备的保护机制,发送授权文件至***分区,以获取所述电子设备的Root权限。
第二方面,本申请实施例提供了一种获取Root权限的装置,其中包括:
发送模块、获取模块、重启模块、验证模块及授权模块。
所述发送模块,用于向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;
所述获取模块,用于接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;
所述重启模块,用于重启所述电子设备进入引导程序;
所述验证模块,用于在所述引导程序内验证所述授权信息的合法性;
所述授权模块,用于关闭所述电子设备的保护机制,发送授权文件至***分区,以获取所述电子设备的Root权限。
第三方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述获取Root权限方法的步骤。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述获取Root权限方法的步骤。
本实施例中通过将电子设备的标识信息发送至服务器,服务器根据电子设备的标识信息生成一个加密文件,然后通过将加密文件拷贝到第一预设分区,重启电子设备进入引导程序,在引导程序内对加密文件内的授权信息进行验证,验证授权信息的合法的情况下,关闭电子设备的保护机制,将授权文件写入到***分区内,从而完成获取Root权限的过程。保证了获取Root权限过程中的安全性,降低了获取Root权限的难度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的获取Root权限方法的第一流程示意图。
图2是本申请实施例提供的获取Root权限方法的第二流程示意图。
图3是本申请实施例提供的验证授权信息合法性的流程示意图。
图4是本申请实施例提供的配置DM-verity的流程示意图。
图5是本申请实施例提供的配置Selinux模式的流程示意图。
图6是本申请实施例提供的获取Root权限装置的结构示意图。
图7是本申请实施例提供的电子设备的结构示意图。
具体实施方式
请参照图式,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存***中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实***置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、***、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
本申请实施例提供一种Root授权的方法、装置、电子设备及存储介质。以下分别进行详细说明。
请参阅图1,图1是本申请实施例提供的Root授权方法的第一流程示意图,该方法应用于智能手机、平板电脑、智能电视等电子设备。其中该方法步骤包括:
在步骤S101中,向服务器发送电子设备的标识信息。
可以理解的是,电子设备在进行Root的过程中,首先根据获取电子设备的***版本、型号、SN(Serial Number,产品序列号、机器码)、IMEI(International MobileEquipment Identity,国际移动设备身份码)等信息,然后将这些信息生成一个标识信息发送至服务器。
在一实施例中,服务器可以根据电子设备的***版本,例如基于Android4.1版本或者基于Android6.0版本的手机***在进行获取Root权限时需要的授权方式和授权文件可以是不同的,服务器在获取电子设备***版本后可以根据电子设备当前所搭载的***版本信息来得到授权文件。
在步骤S102中,接收并保存服务器根据所述机器码生成的加密文件。
服务器在接收到电子设备发送来的标识信息时,会对标识信息进行分析识别,得到电子设备的***版本、型号、SN(Serial Number,产品序列号、机器码)、IMEI(International Mobile Equipment Identity,国际移动设备身份码)等信息,然后根据这些信息,生成一个加密文件,加密文件里面含有授权文件和授权信息。
在一实施例中,服务器端根据标识信息获取到SN码后,然后通过计算得到SN码的加密值,再利用私钥进行加密签名,例如采用RSA方式进行签名,RSA加密算法是一种非对称加密算法,得到的私钥只保存在服务器中,防止保存在电子设备中导致私钥泄露,在无法获得私钥的情况下,则签名的加密文件无法仿制,保证了电子设备在获取Root权限过程中的安全性。
需要说明的是,服务器保存的私钥和预置在电子设备中的公钥是匹配的,在进行验证的过程中,通过两者的匹配来进行验证。
在服务器根据获取的标识信息生成加密文件之后,电子设备通过网络下载加密文件至本地存储,或者服务器可主动发送加密文件至电子设备,电子设备在获取加密文件之后,进行下一步骤。
在步骤S103中,重启所述电子设备进入引导程序。
可以理解的是,在电子设备获取到加密文件之后,会设置一个属性值,通过***进程来检测属性值的变化,从而把获取的加密文件拷贝到第一预设分区,由于第一预设分区是电子设备中的应用程序不能进行写操作,所以需要通过利用设置属性值的方式来启动进程把加密文件拷贝至第一预设分区。
在拷贝完成后,通过调用***中的电源管理服务来重启电子设备进入引导程序,进行下一步骤。
在步骤S104中,在引导程序内验证授权信息的合法性。
可以理解的是,在进入引导程序后,通过对第一预设分区内的加密文件内的授权信息进行验证,验证的方式有多种,比如利用预置在电子设备内与加密文件内的授权信息匹配的解密信息进行解密,或者通过电子设备对加密文件内的授权信息进行计算等等方式,最后判定出加密文件内的授权信息是否合法,判定方式可以为利用授权信息和预置信息进行对比,或者利用授权信息和预置信息配对等方式来确定授权信息的合法性。
在一实施例中,在重启手机的情况下,通过获取中央处理器中的机器码来进行计算的到第一加密值。调用第一预设分区内的加密文件,然后利用第二预设分区内预置的公钥对加密文件进行解密,得到第二加密值,如果第一加密值和第二加密值相等,则说明加密文件的授权信息是合法的,若两者不相等,则说明加密文件内的授权信息是不合法的。
在步骤S105中,若授权信息验证合法,则关闭电子设备的保护机制,发送授权文件至***分区。
可以理解的是,在验证加密文件的授权信息是合法的情况下,由于电子设备存在保护机制,需要关闭电子设备的保护机制才能使授权文件写入***分区内,例如,在电子设备的寄存器之中,存在写保护,在没有获得写权限的情况下,任何应用程序都不能修改***分区内的东西,任何文件都不能写入***分区内。电子设备存在独立的验证机制,这个验证机制可以对电子设备或者电子设备分区进行保护,保证两者的完整性。又比如,在Linux***内有SELinux安全子***,可以最大限度地减少***中服务进程可访问的资源,防止黑客利用网络服务漏洞以Root的身份来控制电子设备。
要获取最高用户权限,需要关闭电子设备的保护机制,才能使授权文件正常写入***分区内,从而获取Root权限。
需要说明的是,电子设备的分区除了***分区之外,还存在其他分区,本实施例中记载的预设分区是独立于***之外的分区,电子设备的***包括操作***和其他***。
综上所述,本实施例中通过将电子设备的标识信息发送至服务器,服务器根据电子设备的标识信息生成一个加密文件,然后通过将加密文件拷贝到第一预设分区,重启电子设备进入引导程序,在引导程序内对加密文件内的授权信息进行验证,验证授权信息的合法的情况下,关闭电子设备的保护机制,将授权文件写入到***分区内,从而完成获取Root权限的过程,本实施例中,通过发送标识信息,下载加密文件,再进行验证的方式,完成了Root权限的获取,保证了获取Root权限过程中的安全性,同时也降低了用户获取Root权限的难度。
请参阅图2,图2是本发明实施例提供的Root授权方法的第二流程示意图,在本实施例中,以目前用户常用的智能手机为例,将获取Root权限的方法进行详细说明,本实施例中记载的方法不仅仅局限于智能手机,同时也适用于智能电视、平板电脑等电子设备。该方法具体包括以下步骤:
在步骤S201中,将手机的标识信息发送至服务器。
可以理解的是,手机的标识信息包括***版本、型号、SN(Serial Number,产品序列号、机器码)、IMEI(International Mobile Equipment Identity,国际移动设备身份码)等信息,手机将标识信息发送至服务器,服务器通过标识信息来生成对应的加密文件,加密文件中包含授权信息和授权文件。
例如,手机通过下载获取Root权限所需要的应用程序,然后在应用程序界面中点击获取Root权限功能的按钮,应用程序就会获取手机的标识信息,然后通过网络发送至服务器。
在步骤S202中,服务器根据标识信息生成加密文件,获取加密文件。
服务器在接收到标识信息之后,根据手机发送的获取Root权限请求,根据标识信息生成一个加密文件,然后再通过网络发送至手机,手机对加密文件进行保存。
例如,服务器在接收到手机应用程序发送的标识信息之后,通过对标识信息的分析,得到***版本、型号、SN(Serial Number,产品序列号、机器码)、IMEI(InternationalMobile Equipment Identity,国际移动设备身份码)等信息,其中,上传到服务器的国际移动设备身份码等信息数据可以用于售后统计数据。然后根据手机的型号和***版本来确定需要执行的Root获取的解决方案,根据对应的方案来生成加密文件,具体地,比如手机的型号为A,***版本为基于Android 6.0的***,则对应生成A型号手机和手机对应的***版本的加密文件。然后手机通过网络将加密文件下载至本地存储。
服务器根据标识信息生成加密文件,可以是根据机器码生成加密文件,由于机器码是手机中央处理器芯片读出的唯一值,可以保证唯一性。
例如,服务器从接收到的标识信息中获取机器码,然后对机器码机型MD5值计算,其中MD5是消息摘要算法(MD5 Message-Digest Algorithm),然后再利用私钥进行RSA签名,其中RSA加密算法是一种非对称加密算法,得到的私钥只保存在服务器中,防止保存在电子设备中导致私钥泄露,在无法获得私钥的情况下,则签名的加密文件无法仿制,保证了电子设备在获取Root权限过程中的安全性,对应的,在手机内会预置与私钥匹配的公钥,再后续的验证步骤中,利用公钥对加密文件进行解密才能获取加密文件中的信息。
需要说明的是,服务器根据标识信息生成加密文件的方式不仅仅是根据机器码生成,也可以是根据手机出厂时内置的验证文件来生成,标识信息中包含验证文件,也可以是手机在发送标识信息之前,根据服务器和手机之间的通信生成的验证文件,然后将含有验证文件的标识信息发送至服务器,然后服务器根据验证文件生成获取Root权限所需要的加密文件。
在步骤S203中,将加密文件发送至预设分区内的指定位置。
在手机对加密文件进行下载后保存至本地之后,由于获取Root权限的过程中需要重启手机,但是重开机早期阶段无法读取文件***的内容,所以需要将加密文件发送到可以读取的预设分区内。
例如,在手机应用程序下载完成加密文件后,应用程序通过设置一个属性值sys.root.config=true,然后***中的init进程可以检测到此属性值变化,并启动一个native进程,把下载的密文直接拷贝到proinfo分区指定的偏移位置,其中,由于应用程序不能直接将加密文件写入proinfo分区,可以通过native进程进行写入proinfo分区,需要说明的是,proinfo分区数据在手机重启开机的早期阶段是可以进行读取的。
在步骤S204中,重启手机进入引导程序。
可以理解的是,在获取手机Root权限的过程中,需要进入引导程序,对预设分区内加密文件的授权信息进行验证,所以在完成发送加密文件至预设分区后,需要对手机重启。
在步骤S205中,判断授权信息是否合法。
可以理解的是,加密文件内的授权信息只有在合法的情况下,才能进行后续步骤,最终将授权文件发送至***分区获取Root权限。在本实施例中,通过利用加密文件内的授权信息和手机中内置的信息进行匹配,在匹配成功的情况下,才能说明授权信息是合法的。
例如,加密文件中的授权信息可以包含机器码信息,由于机器码的唯一性,可以保证授权信息验证的合法性。请参阅图3,图3是本申请实施例提供的验证授权信息合法性的流程示意图,其中包括以下步骤:
在步骤S301中,进入little kernel。
可以将little kernel理解为Android***中的Bootloader(引导程序),在嵌入式操作***中,Bootloader是在操作***内核运行之前运行,在进入***内核之前,先进入little kernel阶段,然后对加密文件内的授权信息进行合法性验证。
在步骤S302中,从芯片中获取SN码,计算出其md5值得到M1。
在手机重启进入little kernel阶段,从***的应用程序编程接口获取CPU中的SN码(Serial Number,产品序列号、机器码),机器码是从芯片中直接获取的,无法仿照,然后根据机器码来计算出其第一加密值,即计算出的md5值M1。
在步骤S303中,利用预置在little kernel分区内的公钥读取加密文件的授权信息,得到M2。
Little kernel分区内有解密加密文件的公钥,公钥与服务器内的私钥是对应的,所以可以用来解密加密文件,通过获取proinfo分区内的加密文件,然后利用littlekernel分区内的公钥进行解密,获取到加密文件内的机器码信息得到第二加密值M2。
在步骤S304中,判断M1是否等于M2。
在计算出第一加密值M1和第二加密值M2之后,通过判断两者是否相等,来验证加密文件内的授权信息是否合法,由于第一加密值和第二加密值都是经过手机的机器码得出的,理论上两者是相等的,在M1等于M2的情况下,则授权信息是合法的。
在步骤S305中,授权信息合法,关闭***分区的写保护。
在判断授权信息合法的情况下,***分区的写保护功能的是在little kernel阶段配置的,此时可以直接关闭***分区的写保护功能。
在步骤S306中,将授权状态发送至kernel。
由于SElinux和DM-verity的配置是在kernel内配置的,可以通过命令行或者其他方式将授权信息的验证状态传递至kernel,即***内核。
在步骤S307中,判断第一加密值M1和第二加密值M2是不相等的,则授权信息不合法,开启手机的***分区的写保护功能,保护手机的安全。
在完成验证授权信息的合法性之后,如果授权信息是合法的,则需要执行下一步骤S206,关闭手机的保护机制。
在进行获取Root权限的过程中,最总要进行的步骤是将授权文件发送至***分区内,但是由于手机中的保护机制,只有在授权信息验证通过的情况下,关闭手机的保护机制,才能实现授权文件写入***分区。
手机的保护机制主要是***分区的写保护功能,还有SElinux(安全子***)和DM-verity保护模块,其中SElinux是Linux***中的一个安全子***,主要作用是最大限度地减少***中服务进程可访问的资源,防止黑客利用网络服务漏洞以Root的身份来控制电子设备,而DM-verity是内核子***的Device Mapper中的一个子模块,DM-verity会在编译阶段生成整个system image的hash tree。手机运行时如果使用到system image里面的某块数据,***如果检测到此数据块的hash值与hash tree里面记录的数据不匹配,则不允许使用这块数据。
其中写保护功能的配置在littlekernel阶段验证授权信息合法的情况下,会直接关闭***分区的写保护功能,但是SElinux和DM-verity的配置需要在kernel阶段配置。
其中,DM-verity的配置如图4所示。
在步骤S401中,Little kernel传递授权信息的状态。
此时,Little kernel通过命令行的方式将授权信息的合法性状态传递至kernel。
在步骤S402中,根据授权信息的合法性来设置DM-verity控制指令。
kernel挂载system时,通过androidboot.rootstatus获取授权信息的合法性状态,然后根据根据授权信息的合法性来设置DM-verity控制指令。
在步骤S403中,通过命令行传递DM-verity控制指令。
在授权信息合法的情况下,通过命令行将androidboot.rootstatus=pass传递到kernel。
在授权信息不合法的情况下,通过命令行将androidboot.rootstatus=error传递到kernel。
在步骤S404中,进入kernel,根据DM-verity控制指令设置DM-verity模式。
在授权信息合法的情况下,根据相应的控制指令关闭DM-verity,以实现获取Root权限。
在授权信息不合法的情况下,根据相应的控制指令开启DM-verity,保护手机的安全。
其中SElinux的配置如图5所示。
在步骤S501中,Little kernel传递授权信息的状态。
此时,Little kernel通过命令行的方式将授权信息的合法性状态传递至kernel。
在步骤S502中,根据授权信息的合法性来设置SELinux控制指令。
Selinux有两种模式,Enforcing Mode(执行模式)和Permissive Mode(许可模式),在正常状态下,拦截***没有配置的访问,直接进入Enforcing Mode,在获取Root权限的过程时修改编译ALLOW_PERMISSIVE_SELINUX=1,这样kernel阶段启动selinux时,就会从androidboot.selinux来获取,而不是默认配置为EnforcingMode。根据授权信息的合法性来设置SELinux控制指令,使SELinux配置为相应的模式。
在步骤S503中,通过命令行传递SELinux控制指令。
在授权信息合法的情况下,通过命令行将androidboot.selinux=permissive传递到kernel。
在授权信息不合法的情况下,通过命令行将androidboot.selinux=enfocing传递到kernel。
在步骤S504中,进入kernel,根据SELinux控制指令设置SELinux模式。
在授权信息合法的情况下,根据相应的控制指令设置SELinux为permissive模式,以实现获取Root权限。
在授权信息不合法的情况下,根据相应的控制指令设置SELinux为enfocing模式,保护手机的安全。
在关闭手机的保护机制后,在步骤S207中,发送授权文件至***分区。
可以理解的是,在关闭手机的保护机制后,便可以对***分区进行读写操作,然后将授权文件发送至“system/xbin/”目录中,再通过chmod函数修改授权文件的权限为4755,即所有用户可读可写可执行。
在步骤S208中,重启手机,手机成功获取Root权限。
如果授权信息在步骤S205对授权信息验证的过程中,验证结果为不合法,在步骤S209中,启动手机的保护机制,其中启动手机的保护机制具体为,开启***分区的写保护功能,开启DM-verity,配置SELinux为enfocing模式,从而保护手机的安全,具体的配置过程中在上文已经详述,在此不做赘述。
在步骤S210中,在授权信息不合法的情况下,重启手机,则未获取Root权限。
综上所述,本实施例通过将手机的标识信息发送至服务器,服务器根据标识信息中的机器码生成一个加密文件,然后手机下载加密文件至本地存储,并将加密文件发送至第一预设分区,然后重启手机进入引导程序,在引导程序内对第一预设分区的加密文件的授权信息进行验证,在授权信息验证通过的情况下,关闭手机的保护机制,并发送加密文件中的授权文件至***分区,重启手机之后,成功获取Root权限。在整个获取Root权限的过程中,提高了获取Root权限的安全性,将低了获取Root权限的难度。
请参阅图6,图6是本申请实施例提供的获取Root权限装置的结构示意图。
获取Root权限装置600中包括,发送模块610、获取模块620、重启模块630、验证模块640和授权模块650。
其中,发送模块610,用于向服务器发送电子设备的标识信息,标识信息包括电子设备的机器码。
可以理解的是,电子设备的标识信息包括***版本、型号、SN(Serial Number,产品序列号、机器码)、IMEI(International Mobile Equipment Identity,国际移动设备身份码)等信息,电子设备通过发送模块610将标识信息发送至服务器,服务器通过标识信息来生成对应的加密文件,加密文件中包含授权信息和授权文件。
获取模块620,用于接收并保存服务器根据所述机器码生成的加密文件,加密文件包括授权信息。
服务器在接收到标识信息之后,根据电子设备发送的获取Root权限请求,根据标识信息生成一个加密文件,然后再通过网络发送至电子设备,电子设备通过获取模块620对加密文件进行获取。
获取模块620具体包括检测子模块621和第一发送子模块622。
检测子模块621,用于设置属性值,***进程检测所述属性值的变化。
第一发送子模块622,用于将保存的加密文件发送至第一预设分区。
在电子设备对加密文件进行下载后保存至本地之后,由于获取Root权限的过程中需要重启电子设备,但是重开机早期阶段无法读取文件***的内容,所以需要将加密文件发送到可以读取的预设分区内。检测模块621可以设置属性值,然后根据属性值的变化来启动***进程将加密文件发送至预设分区内。
例如,在手机应用程序下载完成加密文件后,应用程序通过设置一个属性值sys.root.config=true,然后***中的init进程可以检测到此属性值变化,并启动一个native进程,把下载的密文直接拷贝到proinfo分区指定的偏移位置,其中,由于应用程序不能直接将加密文件写入proinfo分区,可以通过native进程进行写入proinfo分区,需要说明的是,proinfo分区数据在手机重启开机的早期阶段是可以进行读取的。
重启模块630,用于重启电子设备进入引导程序。
获取Root权限的过程中,需要通过重启模块630重启电子设备进入引导程序,才能进行接下来的步骤。
验证模块640,用于在引导程序内验证所述授权信息的合法性。
可以理解的是,加密文件内的授权信息只有在合法的情况下,才能进行后续步骤,最终将授权文件发送至***分区获取Root权限。在本实施例中,验证模块640对授权信息进行合法性验证,在验证成功的成功的情况下,才能继续执行获取Root权限步骤。
验证模块640具体包括:第一计算子模块641、第二计算子模块642和判断子模块643。
其中,第一计算子模块641,用于获取中央处理器中的机器码,根据所述机器码计算出第一加密值。
在电子设备重启进入little kernel阶段,从***的应用程序编程接口获取CPU中的SN码(Serial Number,产品序列号、机器码),机器码是从芯片中直接获取的,无法仿照,然后根据第一计算子模块641计算出其第一加密值,即计算出的md5值M1。
第二计算子模块642,用于读取第一预设分区内的加密文件,利用第二预设分区内预置的公钥对加密文件解密得到第二加密值。
Little kernel分区内有解密加密文件的公钥,公钥与服务器内的私钥是对应的,所以可以用来解密加密文件,通过获取proinfo分区内的加密文件,然后利用littlekernel分区内的公钥进行解密,获取到加密文件内的机器码信息得到第二加密值M2。
判断子模块643,用于判断所述第一加密值和所述第二加密值是否相等,若是,则确定所述授权信息合法。
在计算出第一加密值M1和第二加密值M2之后,通过判断两者是否相等,来验证加密文件内的授权信息是否合法。
授权模块650,用于关闭所述电子设备的保护机制,发送授权文件至***分区,以获取所述电子设备的Root权限。
授权模块650具体包括关闭子模块651和第二发送子模块652。
关闭子模块651,用于关闭***分区的写保护功能,关闭DM-verity并修改SELinux为许可模式。
在进行获取Root权限的过程中,最总要进行的步骤是将授权文件发送至***分区内,但是由于手机中的保护机制,只有在授权信息验证通过的情况下,通过关闭子模块651关闭手机的保护机制,才能实现授权文件写入***分区。
第二发送子模块652,用于将授权文件发送至***分区预设位置。
可以理解的是,在关闭手机的保护机制后,便可以对***分区进行读写操作,然后通过第二发送子模块652将授权文件发送至“system/xbin/”目录中,再通过chmod函数修改授权文件的权限为4755,即所有用户可读可写可执行。
综上所述,本实施例中通过将电子设备的标识信息发送至服务器,服务器根据电子设备的标识信息生成一个加密文件,然后通过将加密文件拷贝到第一预设分区,重启电子设备进入引导程序,在引导程序内对加密文件内的授权信息进行验证,验证授权信息的合法的情况下,关闭电子设备的保护机制,将授权文件写入到***分区内,从而完成获取Root权限的过程,本实施例中,通过发送标识信息,下载加密文件,再进行验证的方式,完成了Root权限的获取,保证了获取Root权限过程中的安全性,同时也降低了用户获取Root权限的难度。
请参阅图7,图7是本申请实施例提供的电子设备的结构示意图。
电子设备700可以包括,输入单元701、显示单元702、存储器703、包括有一个或者一个以上处理核心的处理器704、电源705和无线保真(WiFi,Wireless Fidelity)模块706等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
输入单元701可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元701可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器704,并能接收处理器704发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元701还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
存储器703可用于存储软件程序以及模块,处理器704通过运行存储在存储器703的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器703可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器703可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
显示单元702可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元702可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器704以确定触摸事件的类型,随后处理器704根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图7中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
WiFi属于短距离无线传输技术,终端通过WiFi模块706可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块706,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器704是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器703内的软件程序和/或模块,以及调用存储在存储器703内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器704可包括一个或多个处理核心;优选的,处理器704可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器704中。
终端还包括给各个部件供电的电源705(比如电池),优选的,电源可以通过电源管理***与处理器704逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源705还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器704会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器703中,并由处理器704来运行存储在存储器703中的应用程序,从而实现各种功能:
向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;
接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;
重启所述电子设备进入引导程序;
在所述引导程序内验证所述授权信息的合法性;
若所述授权信息验证合法,则关闭所述电子设备的保护机制,发送授权文件至***分区,以获取所述电子设备的Root权限。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种虚拟资源的转移方法中的步骤。例如,该指令可以执行如下步骤:
向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;
接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;
重启所述电子设备进入引导程序;
在所述引导程序内验证所述授权信息的合法性;
若所述授权信息验证合法,则关闭所述电子设备的保护机制,发送授权文件至***分区,以获取所述电子设备的Root权限。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种虚拟资源的转移方法中的步骤,因此,可以实现本申请实施例所提供的任一种虚拟资源的转移方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种浏览器页面数据过滤方法、装置和***进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种获取Root权限的方法,应用于电子设备,其特征在于,所述方法包括:
向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;
接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;
重启所述电子设备进入引导程序;
在所述引导程序内验证所述授权信息的合法性;
若所述授权信息验证合法,则关闭所述电子设备的保护机制,发送授权文件至***分区,以获取所述电子设备的Root权限。
2.根据权利要求1所述的获取Root权限的方法,其特征在于,所述接收并保存服务器根据所述标识信息生成的加密文件,包括:
设置属性值,***进程检测所述属性值的变化;
将保存的加密文件发送至第一预设分区。
3.根据权利要求1所述的获取Root权限的方法,其特征在于,所述在所述引导程序内验证所述授权信息的合法性,包括:
获取中央处理器中的机器码,根据所述机器码计算出第一加密值;
读取第一预设分区内的加密文件,利用第二预设分区内预置的公钥对加密文件解密得到第二加密值。
4.根据权利要求3所述的获取Root权限的方法,其特征在于,所述在所述引导程序内验证所述授权信息的合法性,还包括:
判断所述第一加密值和所述第二加密值是否相等;
若是,则确定所述授权信息合法。
5.根据权利要求1至4任一项所述的获取Root权限的方法,其特征在于,所述若所述授权信息验证合法,则关闭所述电子设备的保护机制,推送授权文件至***分区,包括:
关闭***分区的写保护功能;
关闭DM-verity并修改SELinux为许可模式;
将授权文件发送至***分区预设位置。
6.一种获取Root权限的装置,应用于电子设备,其特征在于,包括:发送模块、获取模块、重启模块、验证模块及授权模块;
所述发送模块,用于向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;
所述获取模块,用于接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;
所述重启模块,用于重启所述电子设备进入引导程序;
所述验证模块,用于在所述引导程序内验证所述授权信息的合法性;
所述授权模块,用于关闭所述电子设备的保护机制,发送授权文件至***分区,以获取所述电子设备的Root权限。
7.根据权利要求6所述的获取Root权限的装置,其特征在于,所述获取模块包括:
检测子模块,用于设置属性值,***进程检测所述属性值的变化;
第一发送子模块,用于将保存的加密文件发送至第一预设分区。
8.根据权利要求6所述的获取Root权限的装置,其特征在于,所述验证模块包括:
第一计算子模块,用于获取中央处理器中的机器码,根据所述机器码计算出第一加密值;
第二计算子模块,用于读取第一预设分区内的加密文件,利用第二预设分区内预置的公钥对加密文件解密得到第二加密值。
9.根据权利要求6所述的获取Root权限的装置,其特征在于,所述验证模块,还包括:
判断子模块,用于判断所述第一加密值和所述第二加密值是否相等,若是,则确定所述授权信息合法。
10.根据权利要求6至9所述的获取Root权限的装置,其特征在于,所述授权模块包括:
关闭子模块,用于关闭***分区的写保护功能,关闭DM-verity并修改SELinux为许可模式;
第二发送子模块,用于将授权文件发送至***分区预设位置。
11.一种电子设备,其特征在于,包括:
存储有可执行程序代码的存储器、与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-5任一项所述的方法。
12.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述方法的步骤。
CN201811574547.7A 2018-12-21 2018-12-21 一种获取Root权限的方法、装置、电子设备及存储介质 Active CN109657448B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811574547.7A CN109657448B (zh) 2018-12-21 2018-12-21 一种获取Root权限的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811574547.7A CN109657448B (zh) 2018-12-21 2018-12-21 一种获取Root权限的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109657448A true CN109657448A (zh) 2019-04-19
CN109657448B CN109657448B (zh) 2021-05-07

Family

ID=66115960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811574547.7A Active CN109657448B (zh) 2018-12-21 2018-12-21 一种获取Root权限的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109657448B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457894A (zh) * 2019-08-06 2019-11-15 惠州Tcl移动通信有限公司 root权限的分配方法、装置、存储介质及终端设备
CN110972141A (zh) * 2019-12-04 2020-04-07 迈普通信技术股份有限公司 信息验证方法、装置、电子设备及可读存储介质
CN111490880A (zh) * 2020-05-12 2020-08-04 上海明略人工智能(集团)有限公司 文件的接收方法及装置
CN111625295A (zh) * 2020-05-22 2020-09-04 苏州浪潮智能科技有限公司 一种嵌入式***启动方法、装置、设备及存储介质
CN112069494A (zh) * 2020-06-30 2020-12-11 西安万像电子科技有限公司 一种零终端的权限操作方法及***
CN112528267A (zh) * 2019-09-19 2021-03-19 青岛海信移动通信技术股份有限公司 一种执行root操作的方法以及移动终端
CN113553629A (zh) * 2021-09-18 2021-10-26 新大陆数字技术股份有限公司 一种硬件的授权方法及***
CN114780152A (zh) * 2022-03-22 2022-07-22 西安广和通无线软件有限公司 一种计算设备启动方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101238846B1 (ko) * 2011-06-10 2013-03-04 한국전자통신연구원 인증서 검증 시스템 및 그 방법
CN103152366A (zh) * 2013-04-10 2013-06-12 珠海市魅族科技有限公司 获得终端权限的方法、终端及服务器
CN106162612A (zh) * 2016-06-27 2016-11-23 北京小米移动软件有限公司 控制Root权限的方法及装置
CN107223328A (zh) * 2017-04-12 2017-09-29 福建联迪商用设备有限公司 一种Root权限管控的方法及***
CN108846281A (zh) * 2018-05-02 2018-11-20 广州视源电子科技股份有限公司 root权限获取方法、装置、终端设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101238846B1 (ko) * 2011-06-10 2013-03-04 한국전자통신연구원 인증서 검증 시스템 및 그 방법
CN103152366A (zh) * 2013-04-10 2013-06-12 珠海市魅族科技有限公司 获得终端权限的方法、终端及服务器
CN106162612A (zh) * 2016-06-27 2016-11-23 北京小米移动软件有限公司 控制Root权限的方法及装置
CN107223328A (zh) * 2017-04-12 2017-09-29 福建联迪商用设备有限公司 一种Root权限管控的方法及***
CN108846281A (zh) * 2018-05-02 2018-11-20 广州视源电子科技股份有限公司 root权限获取方法、装置、终端设备及存储介质

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457894A (zh) * 2019-08-06 2019-11-15 惠州Tcl移动通信有限公司 root权限的分配方法、装置、存储介质及终端设备
WO2021022729A1 (zh) * 2019-08-06 2021-02-11 惠州Tcl移动通信有限公司 root权限的分配方法、装置、存储介质及终端设备
CN112528267A (zh) * 2019-09-19 2021-03-19 青岛海信移动通信技术股份有限公司 一种执行root操作的方法以及移动终端
CN110972141A (zh) * 2019-12-04 2020-04-07 迈普通信技术股份有限公司 信息验证方法、装置、电子设备及可读存储介质
CN110972141B (zh) * 2019-12-04 2022-02-22 迈普通信技术股份有限公司 信息验证方法、装置、电子设备及可读存储介质
CN111490880A (zh) * 2020-05-12 2020-08-04 上海明略人工智能(集团)有限公司 文件的接收方法及装置
CN111490880B (zh) * 2020-05-12 2023-10-20 上海明略人工智能(集团)有限公司 文件的接收方法及装置
CN111625295A (zh) * 2020-05-22 2020-09-04 苏州浪潮智能科技有限公司 一种嵌入式***启动方法、装置、设备及存储介质
CN112069494A (zh) * 2020-06-30 2020-12-11 西安万像电子科技有限公司 一种零终端的权限操作方法及***
CN113553629A (zh) * 2021-09-18 2021-10-26 新大陆数字技术股份有限公司 一种硬件的授权方法及***
CN114780152A (zh) * 2022-03-22 2022-07-22 西安广和通无线软件有限公司 一种计算设备启动方法及装置
CN114780152B (zh) * 2022-03-22 2024-03-15 西安广和通无线软件有限公司 一种计算设备启动方法及装置

Also Published As

Publication number Publication date
CN109657448B (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN109657448A (zh) 一种获取Root权限的方法、装置、电子设备及存储介质
US10244578B2 (en) Mobile communication device and method of operating thereof
CN107077574B (zh) 用于客户端设备的信任服务
US10432627B2 (en) Secure sensor data transport and processing
CN107431924B (zh) 将设备标识符和用户标识符相关联的设备盗窃防护
US11651347B2 (en) Terminal for conducting electronic transactions
CA2922158C (en) Method of authorizing an operation to be performed on a targeted computing device
CN105493097B (zh) 用于远程存储的数据的保护方案
KR101190479B1 (ko) 티켓 인증 보안 설치 및 부트
EP2795829B1 (en) Cryptographic system and methodology for securing software cryptography
CN109313690A (zh) 自包含的加密引导策略验证
WO2016074506A1 (zh) 应用程序完整性验证方法及网络设备
CN109416720A (zh) 跨重置维护操作***秘密
CN107003866A (zh) 来自加密模板的加密虚拟机的安全创建
KR20140016280A (ko) 운영 체제 구성 값 보호
CN110457894A (zh) root权限的分配方法、装置、存储介质及终端设备
TW201939922A (zh) 可信伺服器的策略部署方法、裝置、系統及計算系統
US10025932B2 (en) Portable security device
CN108335105B (zh) 数据处理方法及相关设备
CN107077567A (zh) 标识计算设备上的安全边界
US20160065375A1 (en) Dynamic integrity validation of a high level operating system
Shwartz et al. Inner conflict: How smart device components can cause harm
WO2015099938A1 (en) Content protection system using biometric authentication
US10659599B2 (en) Certificate loading method and related product
CN111258598B (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