Table des matières:
- Une nouvelle tournure vers une ancienne approche
- Détection d'une anomalie
- Confinement des logiciels malveillants
- Résultats de test
- Avantages de PREC
- Le défi
Les marchés d'applications Android sont un moyen pratique pour les utilisateurs d'obtenir des applications. Les marchés sont également un moyen pratique pour les méchants de diffuser des logiciels malveillants. Les propriétaires de Marketplace, à leur crédit, essaient de détecter les mauvaises applications en utilisant des mesures de sécurité telles que Google Bouncer. Malheureusement, la plupart - y compris Bouncer - ne sont pas à la hauteur. Les méchants ont presque immédiatement compris comment savoir quand Bouncer, un environnement d'émulation, testait leur code. Dans une interview antérieure, Jon Oberheide, co-fondateur de Duo Security et la personne qui a notifié Google du problème, a expliqué:
"Pour que Bouncer soit efficace, il doit être impossible de le distinguer de l'appareil mobile d'un utilisateur réel. Sinon, une application malveillante sera en mesure de déterminer qu'elle fonctionne avec Bouncer et de ne pas exécuter sa charge utile malveillante."
Une autre façon dont les méchants trompent Bouncer est d'utiliser une bombe logique. Tout au long de leur histoire, les bombes logiques ont fait des ravages sur les appareils informatiques. Dans ce cas, le code de la bombe logique contrecarre discrètement les vérificateurs de logiciels malveillants, tout comme l'échec de Bouncer à activer la charge utile jusqu'à ce que l'application malveillante s'installe sur un appareil mobile réel.
L'essentiel est que les marchés d'applications Android, à moins qu'ils ne deviennent efficaces pour détecter les charges utiles de logiciels malveillants dans les applications, sont, en fait, un système de distribution majeur pour les logiciels malveillants.
Une nouvelle tournure vers une ancienne approche
L'équipe de recherche de Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu et William Enck de l'Université de Caroline du Nord a peut-être trouvé une solution. Dans son article PREC: confinement des exploits de racines pratiques pour les appareils Android, l'équipe de recherche a présenté sa version d'un système de détection d'anomalies. PREC se compose de deux composants: l'un qui fonctionne avec le détecteur de logiciels malveillants de l'App Store et l'autre qui est téléchargé avec l'application sur l'appareil mobile.
Le composant App Store est unique en ce qu'il utilise ce que les chercheurs appellent la «surveillance des appels système classés». Cette approche peut identifier dynamiquement les appels système à partir de composants à haut risque comme les bibliothèques tierces (celles qui ne sont pas incluses dans le système Android, mais qui sont fournies avec l'application téléchargée). La logique ici est que de nombreuses applications malveillantes utilisent leurs propres bibliothèques.
Les appels système à partir du code tiers à haut risque obtenu à partir de cette surveillance, ainsi que les données obtenues à partir du processus de détection de l'App Store, permettent à PREC de créer un modèle de comportement normal. Le modèle est téléchargé sur le service PREC, par rapport aux modèles existants pour la précision, la surcharge et la robustesse aux attaques par mimétisme.
Le modèle mis à jour est alors prêt à être téléchargé avec l'application chaque fois que l'application est demandée par une personne visitant l'App Store.
Cela est considéré comme la phase de surveillance. Une fois le modèle et l'application PREC téléchargés sur l'appareil Android, PREC entre dans la phase d'application - en d'autres termes, la détection des anomalies et le confinement des logiciels malveillants.
Détection d'une anomalie
Une fois l'application et le modèle PREC installés sur l'appareil Android, PREC surveille le code tiers, en particulier les appels système. Si la séquence d'appels système est différente de celle surveillée dans l'App Store, PREC détermine la probabilité que le comportement anormal soit un exploit. Une fois que PREC a déterminé que l'activité est malveillante, il passe en mode de confinement des logiciels malveillants.Confinement des logiciels malveillants
S'il est bien compris, le confinement des logiciels malveillants rend PREC unique en ce qui concerne l'anti-malware Android. En raison de la nature du système d'exploitation Android, les applications anti-malware Android ne peuvent pas supprimer les logiciels malveillants ni les placer en quarantaine car chaque application réside dans un bac à sable. Cela signifie que l'utilisateur doit supprimer manuellement l'application malveillante en localisant d'abord le logiciel malveillant dans la section Application du Gestionnaire système de l'appareil, puis en ouvrant la page de statistiques de l'application malveillante et en appuyant sur «désinstaller».
Ce qui rend le PREC unique, c'est ce que les chercheurs appellent un «mécanisme de confinement à grains fins basé sur le retard». L'idée générale est de ralentir les appels système suspects à l'aide d'un pool de threads séparés. Cela oblige l'exploit à expirer., Ce qui entraîne un état «Application ne répondant pas» dans lequel l'application est finalement arrêtée par le système d'exploitation Android.
PREC peut être programmé pour tuer les threads d'appel système, mais il peut interrompre les opérations d'application normales si le détecteur d'anomalie fait une erreur. Plutôt que de risquer cela, les chercheurs insèrent un délai lors de l'exécution du thread.
"Nos expériences montrent que la plupart des exploits root deviennent inefficaces après avoir ralenti le thread natif malveillant jusqu'à un certain point. L'approche basée sur les retards peut gérer les fausses alarmes plus gracieusement puisque l'application bénigne ne souffrira pas de plantage ou de terminaison en raison de fausses transitoires ", explique le journal.
Résultats de test
Pour évaluer PREC, les chercheurs ont construit un prototype et l'ont testé par rapport à 140 applications (80 avec code natif et 60 sans code natif) - plus 10 applications (quatre applications d'exploitation root connues du projet Malware Genome et six applications d'exploitation root reconditionnées) - qui contenait des logiciels malveillants. Le logiciel malveillant comprenait des versions de DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich et GingerBreak.
Les resultats:
- PREC a réussi à détecter et à arrêter tous les exploits racine testés.
- Il n'a déclenché aucune fausse alarme sur les applications bénignes sans code natif. (Les schémas traditionnels déclenchent de 67 à 92% de fausses alarmes par application.)
- PREC a réduit le taux de fausses alarmes sur les applications bénignes avec du code natif de plus d'un ordre de grandeur par rapport aux algorithmes traditionnels de détection d'anomalies
Avantages de PREC
En plus de bien performer dans les tests et de transmettre une méthode viable pour contenir les logiciels malveillants Android, PREC avait décidément de meilleurs chiffres en matière de faux positifs et de perte de performances. En ce qui concerne les performances, le document a déclaré que "le système de surveillance classifié de PREC impose moins de 1% de surcharge, et l'algorithme de détection des anomalies SOM impose jusqu'à 2% de surcharge. Dans l'ensemble, PREC est léger, ce qui le rend pratique pour les appareils de smartphone".
Les systèmes actuels de détection des logiciels malveillants utilisés par les magasins d'applications sont inefficaces. PREC offre un degré élevé de précision de détection, un faible pourcentage de fausses alarmes et le confinement des logiciels malveillants - quelque chose qui n'existe pas actuellement.
Le défi
La clé pour faire fonctionner PREC est l'adhésion des marchés d'applications. Il s'agit simplement de créer une base de données décrivant le fonctionnement normal d'une application. PREC est un outil qui peut être utilisé pour y parvenir. Ensuite, lorsqu'un utilisateur télécharge une application souhaitée, les informations sur les performances (profil PREC) accompagnent l'application et seront utilisées pour définir le comportement de l'application pendant qu'elle est installée sur l'appareil Android.