Les smartphones Android Leagoo et Nomu sont livrés avec un cheval de Troie préinstallé
D'après la firme de sécurité Dr. Web

Le , par Patrick Ruiz, Chroniqueur Actualités
La firme de sécurité Dr. Web a découvert un nouveau malware préinstallé sur un certain nombre d’appareils mobiles Android. Les smartphones de marques Leagoo (modèles M5 plus et M8) et Nomu (modèles S10 et S20) sont concernés. Il s’agit d’un cheval de Troie que des cybercriminels peuvent utiliser pour prendre le contrôle desdits appareils.

Android.Triada.231 fait partie de la famille de malware Android.Triada. Les programmes malicieux de cette famille s’attaquent au processus système dénommé Zygote (le lanceur des processus d’applications tierces). En s’injectant dans Zygote, ces malwares peuvent ainsi s’infiltrer dans tous les autres processus.

Cette infiltration requiert néanmoins que le malware acquière des droits d’accès root, d’après les explications de la firme Dr. Web. Pour contourner cette nécessité, des développeurs participant au projet de création du firmware pour les marques concernées, ont trouvé la géniale idée d’insérer la variante « 231 » de cette famille directement dans le code source – dans la méthode println_native de la classe android.util.log – de la bibliothèque système libandroid_runtime.so.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
jint __fastcall android_util_Log_println_native(JNIEnv *env, jobject clazz, jint bufID, jint priority, jstring tagObj, 
jstring msgObj) 
{ 
  const char *tag; // r4@5 
  const char *msg; // r8@7 
  int v12; // r0@8 
  char *v13; // lr@9 
  char v14; // r1@10 
  int v15; // t1@10 
  int v16; // r0@12 
  const char *tag_; // r2@12 
  jint v18; // r10@13 
  char v21[52]; // [sp+10h] [bp-60h]@11 
  int v22; // [sp+44h] [bp-2Ch]@1 
  char v23[40]; // [sp+48h] [bp-28h]@12 
  v22 = MEMORY[0]; 
  if ( !msgObj || (unsigned int)bufID > 5 ) 
  { 
    jniThrowNullPointerException(); 
    return -1; 
  } 
  if ( tagObj ) 
    tag = (const char *)((int (*)(void))(*env)->GetStringUTFChars)(); 
  else 
    tag = 0; 
  msg = (const char *)((int (__fastcall *)(JNIEnv *, jstring, _DWORD))(*env)->GetStringUTFChars)(env, msgObj, 
0); 
  if ( tag ) 
  { 
    v12 = strncmp(tag, "@M_", 3u); 
    if ( !v12 ) 
    { 
      v13 = (char *)(tag + 2); 
      while ( 1 ) 
      { 
        v15 = (unsigned __int8)(v13++)[1]; 
        v14 = v15; 
        if ( !v15 ) 
          break; 
        v21[v12++] = v14; 
      } 
      v23[v12 - 56] = v14; 
      v16 = xlogf_java_xtag_is_on(v21, priority); 
      tag_ = v21; 
      if ( !v16 ) 
        goto LABEL_13; 
LABEL_17: 
      v18 = _android_log_buf_write(bufID, priority, tag_, msg); 
      goto LABEL_18; 
    } 
  } 
  if ( xlogf_java_tag_is_on(tag, priority) ) 
  { 
    tag_ = tag; 
    goto LABEL_17; 
  } 
LABEL_13: 
  v18 = -1; 
LABEL_18: 
  j___config_log_println(env, priority, tag, msg, "M5 Plus Lte"); 
  if ( tag ) 
    ((void (__fastcall *)(JNIEnv *, jstring, const char *))(*env)->ReleaseStringUTFChars)(env, tagObj, tag); 
  ((void (__fastcall *)(JNIEnv *, jstring, const char *))(*env)->ReleaseStringUTFChars)(env, msgObj, msg); 
  return v18; 
}

« Libandroid_runtime.so est utilisé par toutes les applications Android ce qui fait que le malware se retrouve injecté dans la zone de mémoire de toutes les applications en cours de fonctionnement », explique la firme qui ajoute que « la fonction principale de ce malware est de télécharger des composants malicieux supplémentaires. »

Le malware présent sur l’appareil mobile infecté laisse dès lors une infinité de possibilités à un développeur de virus. Une application bancaire installée sur l’appareil sera donc infiltrée dès son lancement avec les conséquences désastreuses que l’on connait.

Il est bien dommage que la liste d’appareils publiée par la firme Dr. Web ne mentionne que deux marques de smartphones de façon explicite, ceci d’autant plus que la seule façon de se débarrasser de ce cheval de Troie est d’installer un firmware non infecté.

Source : Dr. Web

Et vous ?

Qu’en pensez-vous ?

Voir aussi :

Le malware Android Judy pourrait avoir infecté 36,5 millions d'utilisateurs, selon le spécialiste en sécurité Checkpoint
DressCode, un malware Android dissimulé dans plus de 400 applications de Google Play, susceptible de voler les données sensibles des entreprises


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de VBrice VBrice - Membre habitué https://www.developpez.com
le 01/08/2017 à 17:45
la seule façon de se débarrasser de ce cheval de Troie est d’installer un firmware non infecté.

Et malheureusement, ce n'est pas toujours une chose accessible ou possible.
Avatar de BeeApps BeeApps - Membre régulier https://www.developpez.com
le 02/08/2017 à 8:29
Je ne suis pas sûr d'avoir bien compris, les marques Leagoo et Nomu ont volontairement préinstallé ce cheval de troie dans leur firmware ?
Offres d'emploi IT
Développeur débutant H/F
Capgemini - Aquitaine - Bordeaux (33000)
Développeur java H/F
Capgemini - Pays de la Loire - Nantes (44000)
IT lead développeur H/F
Capgemini - Bretagne - Rennes (35000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil