Applications Mobile :

Vecteur potentiel d’attaque !

– Audit de (Cyber)sécurité –

A ce jour, il est aisé de constater une forte croissance de la production et de la consommation de terminaux mobiles sur le marché. Cette évolution va de pair avec l’augmentation du nombre d’applications mobiles et tablettes disponibles sur les plateformes de téléchargement.

Face à toute cette émergence, il convient de se demander si les applications avec lesquelles nous interagissons tout au long de nos journées sont suffisamment sûres vis-à-vis des caractères parfois sensibles des données utilisées.

Dans ce sens, aujourd’hui la sécurité des terminaux et applications mobiles se voit de plus en plus mise en avant tant la surface d’attaque qu’ils constituent est grande.

Par ailleurs, du côté des entreprises ou des organisations qui mettent en ligne ces applications, une utilisation malveillante de l’application pourrait avoir des conséquences non seulement sur les utilisateurs et leurs données (parfois clients) mais également sur l’entreprise ou l’organisation elle-même. On pense notamment aux applications de vente en ligne ou bancaires.

Pour répondre à ces questions et permettre aux entreprises de fournir un cadre fonctionnel et sécurisé de leurs applications, il convient d’effectuer un audit de sécurité de celles-ci avant leur mise en service, pendant leur mise à disposition sur Internet et de manière récurrente le long des changements opérés sur l’application.

Selon le guide publié par l’OWASP, les audits des applications mobiles en général visent à vérifier la sécurité des points suivants :

  • les communications réseaux
  • l’authentification
  • la gestion des sessions
  • la cryptographie
  • l’audit de code
  • la rétro-ingénierie

Ce guide s’appuie sur le standard **MASVS** (Mobile Appsec Verification Standard) et une checklist afin de définir le niveau de sécurité d’une application mobile. Celui-ci est défini selon les niveaux suivants :

  • L1: Sécurité standard
  • L2: Défense en profondeur
  • R : Résistance à la rétro-ingénierie et à la modification

Sachant que le niveau **R** peut être associé aux autres, il existe en réalité quatre niveaux qui sont les combinaisons des niveaux **L1** et **L2** avec et sans le niveau **R** (L1, L1+R, L2, L2+R).

De manière concrète, le premier niveau L1 correspond à la sécurité standard qu’une application devrait avoir, le second niveau L2 correspond plus à des applications traitant de données très sensibles et nécessitant la mise en place d’une analyse de risque.

Aujourd’hui, ce canal de diffusion (que sont les applications mobiles) est de plus en plus utilisé par les entreprises de différents secteurs d’activités pour se faire connaitre, faire connaitre leurs produits ou encore interagir avec leurs clients sur des prestations parfois exclusives.

De ce fait, les applications mobiles deviennent désormais des cibles potentielles et parfois privilégiées de certains attaquants car très souvent leur sécurité est moins vérifiée que celles des sites corporate marchand.

Ajouté à cela, on observe aussi de nombreuses applications factices qui se sont répandues sur les plateformes de téléchargement parfois légitimes, qui au départ proposent certains services afin d’appâter les utilisateurs mais qui en réalité sont des malwares, ransomwares ou hébergent du code malveillant qui vise à soutirer le maximum d’informations sur les terminaux sur lesquels ils sont installés.

On peut citer par exemple le malware Cerberus qui se faisait passer pour Flash Player Service afin de faire valider aux utilisateurs victimes sa nécessité d’utiliser certaines permissions qui lui permettaient un accès total au matériel l’hébergeant.

Egalement plusieurs applications malveillantes surfent actuellement sur la panique créée par la pandémie du COVID-19 pour se faire passer pour des applications légitimes afin d’abuser des utilisateurs peu sensibilisés.

Ces applications malveillantes ont été observées présentes à la fois sur les plateformes de téléchargement des devices sous Android à travers le PlayStore et même ceux sous iOS à travers l’Apple Store.

Au vue de toute l’activité générée autour de ces applications, bon nombres de chercheurs actuellement et même dans le passé ont pu remonter des vulnérabilités et faiblesses de configurations connues aujourd’hui et accessibles par quelques recherches sur internet.

Il convient donc à chaque entité qui propose une application mobiles/tablettes d’effectuer un audit de sécurité de celle-ci afin qu’aucun utilisateur malveillant ne puisse en tirer parti.

Dans le but de soutenir les entreprises et les accompagner vers une sécurisation complète de leurs actifs disponibles et exposés via internet, Synetis propose des audits d’applications mobiles/tablettes afin de détecter les vulnérabilités et proposer un plan d’action concret pour y remédier.

Cet audit se fait en deux grandes parties dont la première consiste en une analyse statique complète dont le but est principalement de désassembler l’application afin de découvrir les faiblesses de sécurité d’implémentation au niveau du code source de l’application, des secrets ainsi que des informations sensibles directement accessibles dans les fichiers de configurations.

La seconde partie de l’audit consiste en l’analyse dynamique dont le but est d’éprouver le comportement de l’application vis-à-vis de l’utilisation de celle-ci par un attaquant comme des tentatives d’injection pour exploiter des vulnérabilités de type Injection SQL, Cross-Site Scripting et bien d’autres.

Couplé à ces tests, il est effectué aussi des recherches de vulnérabilité du backend des serveurs communiquant avec l’application via des APIs et autres moyens.

Pour toutes ces raisons évoquées ci-dessus, nous sommes en mesure de dire que les applications mobiles aujourd’hui constitue une surface d’attaque complète et parfois oubliée malheureusement dans les processus d’AUDIT mis en place par plusieurs compagnies.

Synetis recommande donc d’effectuer autant d’AUDIT de ces applications mobiles que de ces applications web et de son SI interne car chacun de ces actifs exposés représente une porte d’entrée pour un attaquant.