华为手机点击云空间突然跳出手机已root继续使用空间可能会造成风险怎么办?

2025-02-26 09:32:04
推荐回答(5个)
回答1:

什么是手机被root?

简单的来说,“您的手机被root”,就意味着,手机已被第三方取得了最高权限,他/她可以任意访问和修改手机操作系统里几乎所有的文件。

什么意思呢?Root相当于手机的神经中枢,它可以访问和修改手机几乎所有的文件,这些东西可能是制作手机的公司不愿意修改和触碰的东西,因为他们有可能影响到手机的稳定,还容易被一些黑客入侵。

手机被Root有什么危害?

从被root的定义来看,手机一旦被root,相当于神经中枢遭到攻击,危害可想而知,具体的表现是:

  • 病毒木马易侵入

  • 手机系统不稳定

  • 获取了root权限之后手机制造商不给予保修

  • 若操作失误, 可能导致手机系统损坏

  • 那么被root的手机,对于开发者有什么危害呢?

    如开篇问题场景中的描述,一旦手机被root,就可能造成应用被安装恶意刷评病毒,不良评价造成应用在应用商店的评分降低,最后导致用户流失;另一方面,被root的设备应用一旦被非法入侵,应用内的广告会遭到删除,或是免广告版本被破解,开发者的直接利益将受到不可控的危险。

    如何防止手机被root产生的风险?

    解决这个问题,就需要调用华为Safety Detect的系统完整性检测能力。系统完整性检测能力,可提供系统完整性检测API,方便用户通过该API评估其App所运行的设备环境是否安全(是否被root)。这方面的能力可以做到检测结果TEE级保存,且不可修改,可在最大程度上保证应用安全,而且集成简单,1人/天开发工作量即可完成接入。具体如何操作呢?

    主要分为三个步骤:

    1. 获取nonce

    在调用Safety Detect SysIntegrity API时,必须传入一个nonce值。在检测结果中会包含这个nonce值,可以通过校验这个nonce值来确定返回结果能够对应你的请求,并且没有被重放攻击。如果nonce值长度超出16-66字节范围,将导致调用失败。

    2. 请求Safety Detect SysIntegrity

    Safety Detect SysIntegrity提供两个接口,调用只有参数上的不同,都需要传入的参数是nonce和APP ID。sysIntegrity(SysIntegrityRequest sysIntegrityRequest)接口还需要在SysIntegrityRequest中传入签名的验证方式,这个将和您获取的JWS的Header中alg一致。

    nonce:上一步我们获取的nonce值。
    APP ID:可以通过以下方式获取APP ID。
    登录AppGallery Connect网站,点击“我的项目”。在项目列表中找到您的项目,在项目中点击需要配置签名证书指纹的应用。在“项目设置 > 常规”页面的“应用”区域,可以查看应用的APP ID。

  • private void invokeSysIntegrity() {

  •   SafetyDetectClient mClient = SafetyDetect.getClient(getActivity());   // TODO(developer): Change the nonce generation to include your own, used once value,

  •   // ideally from your remote server.

  •   byte[] nonce = ("Sample" + System.currentTimeMillis()).getBytes();

  •   SysIntegrityRequest  sysintegrityrequest = new SysIntegrityRequest();

  •   sysintegrityrequest.setAppId("3*******");

  •   sysintegrityrequest.setNonce(nonce);

  •   sysintegrityrequest.setAlg(alg);                                                              

  •   Task task = mClient.sysIntegrity(sysintegrityrequest);

  •   task.addOnSuccessListener(new OnSuccessListener() {       @Override

  •       public void onSuccess(SysIntegrityResp response) {           // Indicates communication with the service was successful.

  •           // Use response.getResult() to get the result data.

  •           String jwsStr = response.getResult();

  •       }

  •   }).addOnFailureListener(new OnFailureListener() {       @Override

  •       public void onFailure(Exception e) {           // An error occurred while communicating with the service.

  •           if (e instanceof ApiException) {               // An error with the HMS API contains some

  •               // additional details.

  •               ApiException apiException = (ApiException) e;               // You can retrieve the status code using

  •               // the apiException.getStatusCode() method.

  •               Log.e(TAG, "Error: " + SafetyDetectStatusCodes.getStatusCodeString(apiException.getStatusCode()) + ": " + apiException.getMessage());

  •           } else {               // A different, unknown type of error occurred.

  •               Log.e(TAG, "ERROR:" + e.getMessage());

  •           }

  •       }

  •   });

  • }

  • 3. 在服务器中验证检测结果。
    将验证结果发送到华为服务器校验证书的准确性并将完成校验的结果通过SysIntegrityResp返回,使用此对象的getResult方法获取响应,格式为JSON WEB签名(JWS)。

    a. 解析JWS,获取header、payload、signature。
    b. 从header中获取证书链,使用Huawei CBG Root CA证书对其进行验证。
    c. 校验证书链中的叶证书域名,域名:sysintegrity.platform.hicloud.com。
    d. 从signature中获取签名,校验其签名。
    e. 从payload中获取完整性验证结果,格式和样例摘录如下:


  • 当检测结果中basicIntegrity为false,您可以根据自身功能对安全的要求决定是否提醒用户。

回答2:

你好如果华为手机点击云空间突然跳出手机已root继续使用空间可能会造成风险的话,杀毒一遍就可以了

回答3:

如果确认云空间安全并不会被自动安装软件,就可以继续运行访问,如果无法确认手机安全,就尽量不要访问一些不安全的网站,或者可以临时关闭root权限,等用的时候再打开。

回答4:

如果你的手机已root,在使用中是存在被恶意软件侵入风险的,既然你已经root了手机,说明你已忽略了风险,那就是一个提示,对继续使用没有影响。

回答5:

这个问题比较容易吗!我告诉你如今的手机非常智能的!你说的问题可能是手机系统出问题了!你只要重启一下手机就没事了!你试试吧!