Sécurité mobile - vecteurs d'attaque

Par définition, un Attack Vector est une méthode ou une technique qu'un pirate utilise pour accéder à un autre dispositif informatique ou réseau afin d'injecter un «mauvais code» souvent appelé payload. Ce vecteur aide les pirates à exploiter les vulnérabilités du système. Beaucoup de ces vecteurs d'attaque tirent parti de l'élément humain car c'est le point le plus faible de ce système. Voici la représentation schématique du processus des vecteurs d'attaque qui peut être plusieurs à la fois utilisé par un pirate informatique.

Certains des vecteurs d'attaque mobile sont -

  • Malware

    • Virus et rootkit

    • Modification de l'application

    • Modification du système d'exploitation

  • Exfiltration de données

    • Les données quittent l'organisation

    • Capture d'écran

    • Copie sur USB et perte de sauvegarde

  • Falsification des données

    • Modification par une autre application

    • Tentatives de sabotage non détectées

    • Appareils brisés en prison

  • Perte de données

    • Perte d'appareil

    • Accès non autorisé aux appareils

    • Vulnérabilités des applications

Conséquences des vecteurs d'attaque

Les vecteurs d'attaque sont le processus de piratage comme expliqué et il réussit, voici l'impact sur vos appareils mobiles.

  • Losing your data - Si votre appareil mobile a été piraté ou si un virus a été introduit, toutes vos données stockées sont perdues et emportées par l'attaquant.

  • Bad use of your mobile resources- Ce qui signifie que votre réseau ou appareil mobile peut être surchargé et que vous ne pouvez pas accéder à vos véritables services. Dans les pires scénarios, à utiliser par le pirate pour connecter une autre machine ou un autre réseau.

  • Reputation loss- En cas de piratage de votre compte Facebook ou de votre compte de messagerie professionnel, le pirate peut envoyer de faux messages à vos amis, partenaires commerciaux et autres contacts. Cela pourrait nuire à votre réputation.

  • Identity theft - Il peut y avoir un cas de vol d'identité tel que photo, nom, adresse, carte de crédit, etc. et la même chose peut être utilisée pour un crime.

Anatomie d'une attaque mobile

Voici une représentation schématique de l'anatomie d'une attaque mobile. Cela commence par la phase d'infection qui inclut les vecteurs d'attaque.

Infecter l'appareil

L'infection de l'appareil avec des logiciels espions mobiles est effectuée différemment pour les appareils Android et iOS.

Android- Les utilisateurs sont amenés à télécharger une application sur le marché ou à partir d'une application tierce généralement en utilisant une attaque d'ingénierie sociale. L'infection à distance peut également être effectuée via une attaque Man-in-the-Middle (MitM), où un adversaire actif intercepte les communications mobiles de l'utilisateur pour injecter le malware.

iOS- L'infection iOS nécessite un accès physique au mobile. L'infection de l'appareil peut également se faire en exploitant un zero-day tel que l'exploit JailbreakME.

Installer une porte dérobée

Pour installer une porte dérobée, il faut des privilèges d'administrateur en rootant les appareils Android et en jailbreaker les appareils Apple. Bien que les fabricants d'appareils mettent en place des mécanismes de détection d'enracinement / jailbreak, les logiciels espions mobiles les contournent facilement -

Android - Les mécanismes de détection de l'enracinement ne s'appliquent pas à l'enracinement intentionnel.

iOS - La «communauté» jailbreaking est bruyante et motivée.

Contournement des mécanismes de cryptage et exfiltration d'informations

Les logiciels espions envoient du contenu mobile tel que des e-mails et des messages cryptés aux serveurs attaquants en texte brut. Le logiciel espion n'attaque pas directement le conteneur sécurisé. Il saisit les données au point où l'utilisateur extrait les données du conteneur sécurisé afin de les lire. À ce stade, lorsque le contenu est décrypté pour l'usage de l'utilisateur, le logiciel espion prend le contrôle du contenu et l'envoie.

Comment un hacker peut-il profiter d'un mobile compromis avec succès?

Dans la plupart des cas, la plupart d'entre nous pensons à ce que nous pouvons éventuellement perdre en cas de piratage de notre mobile. La réponse est simple: nous perdrons notre vie privée. Notre appareil deviendra un système de surveillance pour que le pirate nous observe. D'autres activités lucratives pour le pirate informatique consistent à prendre nos données sensibles, à effectuer des paiements, à mener des activités illégales commeDDoS attacks. Voici une représentation schématique.

Top 10 des risques OWASP Mobile

En parlant de sécurité mobile, nous basons les types de vulnérabilité sur OWASP, une organisation caritative à but non lucratif aux États-Unis, créée le 21 avril. OWASP est une organisation internationale et la Fondation OWASP soutient les efforts de l'OWASP dans le monde entier.

Pour les appareils mobiles, OWASP a 10 vulnerability classifications.

M1-Utilisation incorrecte de la plate-forme

Cette catégorie couvre l'utilisation abusive d'une fonctionnalité de la plate-forme ou la non-utilisation des contrôles de sécurité de la plate-forme. Cela peut inclure des intentions Android, des autorisations de plate-forme, une mauvaise utilisation de TouchID, du trousseau ou de tout autre contrôle de sécurité faisant partie du système d'exploitation mobile. Les applications mobiles peuvent subir ce risque de plusieurs manières.

Données M2-non sécurisées

Cette nouvelle catégorie est une combinaison de M2 ​​et M4 de Mobile Top Ten 2014. Cela couvre le stockage de données non sécurisé et les fuites de données involontaires.

Communication non sécurisée M3

Cela couvre une mauvaise négociation, des versions SSL incorrectes, une négociation faible, une communication en texte clair des actifs sensibles, etc.

Authentification non sécurisée M4

Cette catégorie capture les notions d'authentification de l'utilisateur final ou de mauvaise gestion de session. Cela comprend -

  • Ne pas identifier l'utilisateur du tout lorsque cela devrait être nécessaire
  • Défaut de conserver l'identité de l'utilisateur lorsque cela est nécessaire
  • Faiblesses dans la gestion de session

Cryptographie M5-Insuficient

Le code applique la cryptographie à un actif d'informations sensibles. Cependant, la cryptographie est insuffisante d'une certaine manière. Notez que tout et tout ce qui concerne TLS ou SSL va dans M3. De plus, si l'application ne parvient pas du tout à utiliser la cryptographie alors qu'elle le devrait, cela appartient probablement à M2. Cette catégorie concerne les problèmes où la cryptographie a été tentée, mais cela n'a pas été fait correctement.

Autorisation M6-non sécurisée

Il s'agit d'une catégorie permettant de capturer les échecs d'autorisation (par exemple, les décisions d'autorisation côté client, la navigation forcée, etc.) Elle est distincte des problèmes d'authentification (par exemple, inscription de l'appareil, identification de l'utilisateur, etc.)

Si l'application n'authentifie pas du tout les utilisateurs dans une situation où elle le devrait (par exemple, en accordant un accès anonyme à une ressource ou un service lorsqu'un accès authentifié et autorisé est requis), il s'agit d'un échec d'authentification et non d'un échec d'autorisation.

Qualité du code client M7

Il s'agissait des «Décisions de sécurité via des entrées non approuvées», l'une de nos catégories les moins utilisées. Ce serait le fourre-tout pour les problèmes d'implémentation au niveau du code dans le client mobile. C'est distinct des erreurs de codage côté serveur. Cela permettrait de capturer des éléments tels que les débordements de tampon, les vulnérabilités des chaînes de format et diverses autres erreurs au niveau du code où la solution consiste à réécrire du code en cours d'exécution sur l'appareil mobile.

Falsification du code M8

Cette catégorie couvre les correctifs binaires, la modification des ressources locales, le hooking de méthode, le swizzling de méthode et la modification dynamique de la mémoire.

Une fois l'application livrée à l'appareil mobile, le code et les ressources de données y résident. Un attaquant peut soit modifier directement le code, changer dynamiquement le contenu de la mémoire, changer ou remplacer les API système que l'application utilise, soit modifier les données et les ressources de l'application. Cela peut fournir à l'attaquant une méthode directe pour subvertir l'utilisation prévue du logiciel à des fins personnelles ou monétaires.

M9-Ingénierie inverse

Cette catégorie comprend l'analyse du binaire principal final pour déterminer son code source, ses bibliothèques, ses algorithmes et d'autres actifs. Des logiciels tels que IDA Pro, Hopper, otool et d'autres outils d'inspection binaire donnent à l'attaquant un aperçu du fonctionnement interne de l'application. Cela peut être utilisé pour exploiter d'autres vulnérabilités naissantes dans l'application, ainsi que pour révéler des informations sur les serveurs principaux, les constantes et chiffrements cryptographiques, et la propriété intellectuelle.

M10-Fonctionnalité étrangère

Souvent, les développeurs incluent des fonctionnalités de porte dérobée cachées ou d'autres contrôles de sécurité de développement internes qui ne sont pas destinés à être publiés dans un environnement de production. Par exemple, un développeur peut accidentellement inclure un mot de passe en tant que commentaire dans une application hybride. Un autre exemple comprend la désactivation de l'authentification à 2 facteurs pendant les tests.