L'utilisateur moyen d'un appareil mobile a 20 applications installées sur son téléphone, et près de 25 % des applications mobiles comportent au moins une faille de sécurité à haut risque. Il ne s'agit pas seulement d'un problème pour les utilisateurs finaux. Il s'agit d'un problème majeur pour les développeurs d'applications, dont la réputation, le chiffre d'affaires et les activités sont en jeu chaque fois qu'une application est attaquée.

Pourquoi les vulnérabilités des applications mobiles sont-elles si fréquentes et que peuvent faire les développeurs pour éviter que leurs applications ne deviennent le point d'entrée de la prochaine grande faille de sécurité ?

Les pièges à éviter en matière de sécurité des applications

1. Dépendance à l'égard des plates-formes et des réseaux extérieurs pour la protection

Malheureusement, l'erreur la plus fréquente commise par les développeurs en matière de sécurité des applications est de supposer que quelqu'un d'autre s'en est chargé. De nombreux développeurs placent toute leur confiance dans les plateformes sur lesquelles leurs applications fonctionnent plutôt que d'investir dans leur propre sécurité. 

La sécurité de la plateforme n'a qu'une portée limitée. Elle n'empêchera pas une violation de la sécurité, ne protégera pas votre précieuse propriété intellectuelle contre le vol et ne garantira pas que votre application ne soit pas analysée par un pirate et soumise à une rétro-ingénierie. En plus de surestimer la sécurité de la plateforme, les développeurs commettent souvent l'erreur de compter sur la sécurité du réseau pour tenir les pirates à l'écart des données contenues dans leurs applications. 

Apprendre à votre application l'art de l'autodéfense est toujours une meilleure solution que de compter sur des sources extérieures pour assurer la sécurité.

2. Respecter les normes minimales plutôt que les meilleures pratiques

Historiquement, il a été plus facile pour les cybercriminels d'accéder aux réseaux en les attaquant directement avec un ransomware ou en obtenant un accès par le biais d'attaques de phishing. Au fur et à mesure que les entreprises s'emparent de ces tendances malveillantes, il en résulte une augmentation des dépenses et des ressources allouées à la sécurité des réseaux, tout en laissant les applications exposées et donc vulnérables aux risques.

Alors que le monde devient de plus en plus connecté et que les entreprises de toutes tailles et de tous secteurs commencent à développer leurs propres applications mobiles, cela devient un nouveau point d'entrée évident pour les pirates informatiques.

S'il fut un temps où il suffisait de se conformer aux exigences minimales de sécurité pour se prémunir contre les attaques d'applications mobiles, ce n'est plus le cas aujourd'hui. Alors que les criminels s'attaquent à ces cibles attrayantes, souvent non protégées, les développeurs doivent recourir à la sécurité dès la conception pour s'assurer que leurs applications ne sont pas des cibles faciles.

En matière de sécurité des applications, l'objectif est de faire en sorte qu'il soit difficile, long et coûteux pour les criminels de s'introduire dans l'entreprise. Plus les pirates devront consacrer de temps et d'argent à l'analyse et à l'attaque de votre application, plus ils seront enclins à passer à la suivante jusqu'à ce qu'ils trouvent une cible plus facile.

En résumé, la meilleure pratique consiste à ne jamais se contenter de la médiocrité en matière de protection des applications. L'état d'esprit des pirates consiste à rechercher le meilleur retour sur investissement, et s'il leur est plus facile de s'introduire ailleurs, ils le feront.

3. Choisir des outils de sécurité applicative lourds et laborieux

Même les développeurs soucieux de la sécurité peuvent être pris dans des pièges courants, car il est difficile de trouver un équilibre entre la protection des données et l'expérience utilisateur (UX). Certaines fonctions de sécurité peuvent sembler encombrantes et nuire à la capacité de l'utilisateur à naviguer de manière transparente dans votre application. Pensez à la frustration engendrée par un mot de passe oublié, une expiration de session inopportune ou des vérifications constantes de type reCAPTCHA.

Selon "The State of Mobile Enterprise Collaboration", publié par Harmonla "facilité d'utilisation" est citée comme la qualité la plus importante pour les applications mobiles par 97 % des utilisateurs. Cela signifie que s'il est important de protéger votre application, il est également primordial de prendre en compte l'interface utilisateur.

La meilleure approche en matière de sécurité est celle qui offre une facilité d'utilisation à la fois pour l'utilisateur final et pour vos équipes internes. La maintenance et les mises à jour de la sécurité ne doivent pas perturber votre feuille de route, et les fonctionnalités de sécurité ne doivent pas entraver l'interface utilisateur. La solution est une sécurité conviviale et sans friction, puissante mais invisible.

Meilleures pratiques en matière de sécurité des applications mobiles

Empreinte digitale et code

Ces dernières années ont été marquées par une avalanche de violations de la sécurité par le biais d'applications mobiles. Selon l'indice de sécurité mobile de l'indice de sécurité mobile de Verizonde Verizon, 1 organisation sur 3 a subi une faille de sécurité due à des appareils mobiles rien qu'en 2019.

Alors que le monde devient de plus en plus connecté et que les affaires modernes sont de plus en plus menées par le biais d'applications mobiles, la sécurité est cruciale. Même les secteurs les plus fiables sont exposés à des risques, et chaque appareil mobile constitue une surface d'attaque.

Les institutions financières, les organismes de santé, les fabricants et l'industrie du divertissement ont tous bénéficié de la facilité d'utilisation et de l'amélioration de la satisfaction des clients que permet la mobilité. Cependant, ces secteurs de confiance ont également constaté les dommages coûteux en termes de revenus et de réputation qui résultent des vulnérabilités des applications mobiles et des mesures de sécurité inadéquates.

Pour renforcer la sécurité de vos applications, suivez ces conseils afin de protéger vos applications et les données sensibles qu'elles traitent :

  • Adopter une approche globale de la sécurité des applications mobiles
  • Mise en œuvre de la sensibilisation et des processus en matière de sécurité
  • Utiliser une authentification forte
  • Utiliser la tokenisation des paiements mobiles et le stockage sécurisé des données
  • Protégez votre code et sécurisez les API

Adopter une approche globale de la sécurité des applications mobiles

Selon le Gartner's Market Guide for In-App Protection, la sécurisation des applications qui s'exécutent dans des environnements non fiables est cruciale à mesure que les applications mobiles, IoT et web modernes font migrer la logique logicielle du côté client.

Mener des activités commerciales, collecter des données sur les consommateurs et accepter des paiements dans un environnement non fiable vous expose à des attaques, et plusieurs domaines doivent être abordés afin de combler les lacunes en matière de sécurité. 

Il est tout aussi important de mettre en place les bons processus de sécurité que de disposer des bons outils. La sécurité doit toujours être abordée d'un point de vue global ; il ne sert à rien de verrouiller la porte mais de laisser la fenêtre ouverte.

Mise en œuvre de la sensibilisation et des processus en matière de sécurité

Les employés malhonnêtes et les menaces internes peuvent causer des dommages considérables à une entreprise et, dans de nombreux cas, ces atteintes à la sécurité peuvent être évitées si les bons processus sont mis en place. 

En 2019, Capital One, Trend Micro et le Mouvement Desjardins ont tous connu des failles de sécurité à cause d'employés malhonnêtes. Les mesures préventives pour atténuer ces situations comprennent une surveillance constante, une formation de sensibilisation à la sécurité et des restrictions d'accès sévères.

Considérer la sécurité des applications comme un simple élément du back-end est une erreur coûteuse qui a des conséquences désastreuses. La bonne approche est celle qui fait de la sécurité une affaire courante en répartissant la responsabilité sur l'ensemble de votre organisation plutôt que de laisser votre réputation, votre chiffre d'affaires et la protection de vos données reposer entièrement sur les épaules des développeurs d'applications. 

Cela signifie qu'il faut créer des programmes de sensibilisation à la sécurité qui maintiennent le personnel vigilant et le forment à repérer les menaces spécifiques. Une approche proactive est essentielle pour atténuer les risques et éviter les conséquences d'une violation de la sécurité. De plus, les mesures de sécurité proactives coûtent beaucoup moins cher à long terme que les mesures réactives de contrôle des dommages.

Utiliser une authentification forte

Certaines des plus grandes failles de sécurité sont dues à une authentification insuffisante. Selon le rapport 2019 de Verizon sur les enquêtes relatives aux violations de donnéesde Verizon, 80 % des violations liées au piratage informatique impliquaient des identifiants compromis ou faibles.

Exiger des mots de passe alphanumériques forts est une bonne chose, mais exiger plus d'un identifiant personnel est encore mieux. Les exigences en matière d'authentification forte et multifactorielle ajoutent une barrière à l'entrée et rendent l'accès à une application plus difficile pour les pirates. Cependant, cela peut également rendre plus difficile l'expérience des utilisateurs finaux authentiques.

La meilleure pratique en matière d'authentification forte consiste à rendre la tâche aussi difficile que possible pour les criminels et aussi facile que possible pour les consommateurs. Cela signifie qu'il faut trouver un équilibre entre la commodité et la sécurité. Étant donné que les mots de passe constituent souvent la vulnérabilité la plus faible et une source d'appels d'assistance coûteux, de nombreuses organisations choisissent d'éliminer complètement le risque en passant à l'authentification sans mot de passe.

Utiliser la tokenisation des paiements mobiles et le stockage sécurisé des données

Les systèmes de cartes sur fichier sont de grandes bases de données que les commerçants conservent afin d'éviter à leurs clients la frustration d'avoir à réintroduire les détails de leur carte à chaque achat. Toutefois, ces bases de données présentent un risque inhérent. 

Les criminels adorent s'attaquer à ces pots de miel ; l'incident le plus notable est sans doute la tristement célèbre faille de sécurité de Target en 2013. À l'époque, la faille de sécurité était sans précédent, mais avec le temps, elle s'est avérée être la première d'une longue série qui a révélé des faiblesses massives dans le stockage de la sécurité des données.

Avec le temps, ces violations de bases de données sont devenues monnaie courante. Afin de sécuriser le stockage des données, il est désormais recommandé de conserver des "jetons" plutôt que des numéros de cartes. 

Services de tokenisation Les principaux systèmes de cartes de paiement stockent des jetons inutilisables qui sont des représentations des cartes des clients.Les jetons sont des pseudo-numéros de carte ; ils ressemblent à des numéros de carte, mais ils réduisent le risque de fraude en étant soumis à certaines règles.

Cela signifie que les jetons ne peuvent être utilisés que pour un nombre limité de transactions (dans ce cas, avec le commerçant qui les stocke). Contrairement à un numéro de carte de crédit, si un criminel met la main sur un jeton, celui-ci ne peut pas être utilisé pour des achats. La tokenisation signifie que même si les serveurs d'un commerçant sont violés, il n'y a aucun risque d'exposer les numéros de carte des consommateurs.

Protégez votre code et sécurisez les API

Si le code d'une application n'est pas correctement protégé, les pirates peuvent décompiler l'application, trouver ses faiblesses et créer une attaque. Une protection adéquate du code empêche l'application mobile de devenir un vecteur d'attaque. 

Lorsqu'il s'agit de pirater une application mobile, la première chose à faire pour un pirate est de passer du temps à apprendre et à comprendre comment une API communique avec les serveurs dorsaux d'une organisation. En l'absence de protection du code et de sécurité de l'API, un pirate peut procéder à l'ingénierie inverse d'une application mobile, ce qui signifie qu'il peut créer ses propres messages à envoyer aux serveurs dorsaux. Ces messages sont au cœur d'une faille de sécurité.

La protection du code et les API sécurisées permettent de sécuriser le point d'entrée des serveurs dorsaux et de préserver la sécurité des données personnelles des consommateurs, qui sont d'une importance capitale.

Comprendre l'état d'esprit du pirate informatique

Dans la tête d'un hacker

Si vous comprenez votre adversaire, vous avez déjà fait la moitié du chemin pour le vaincre, comme le dit l'adage.

C'est pourquoi, lors d'une conférence de développeurs Android, l'excellente Droidcon San Francisconous avons décidé d'inverser légèrement les choses. Plutôt que de démontrer à quel point les applications mobiles se prêtent à l'ingénierie inverse ou de plonger dans les risques techniques et commerciaux, nous avons voulu pénétrer dans l'esprit du pirate informatique.

Le meilleur point de départ est la motivation du pirate, qui se classe généralement dans l'un des quatre groupes suivants :

  • Académique
  • Criminel
  • Gouvernement
  • Freeloader

Académique

L'universitaire cherche toujours à prouver quelque chose. Il ne cherche pas à obtenir une récompense pécuniaire. Il recherche plutôt la reconnaissance d'un travail bien fait. La recherche universitaire se déroule en trois étapes :

  1. Posez une question.
  2. Élaborer une théorie pour répondre à la question.
  3. Expérience pour prouver ou infirmer la théorie.


Lorsqu'il s'agit de la sécurité des utilisateurs, une question typique est : "Puis-je accéder à des données personnelles ?". Étant donné que les applications mobiles sont généralement douces, la théorie est souvent "oui, par l'intermédiaire de l'application mobile". L'universitaire se lance alors dans la rétro-ingénierie de l'application pour prouver que la théorie est correcte.

Même si la motivation d'un universitaire n'est pas malveillante, il publiera ses recherches. Cela peut être embarrassant pour les entreprises qui ont été attaquées. Et cela peut l'être doublement, car les médias grand public font confiance à la recherche universitaire, qui constitue souvent un sujet d'actualité crédible.

Criminel

Le criminel cherche à rentabiliser son investissement. En d'autres termes, il cherche à gagner de l'argent. Cela signifie qu'il recherche une attaque qui peut s'étendre, et qu'il est prêt à investir du temps et de l'énergie pour trouver une attaque qui peut s'étendre.

Le retour peut se faire par l'utilisation de l'application mobile pour commettre une fraude, comme dans le cas de l'attaque de 7-Eleven au Japon. attaque de 7-Eleven au Japon l'année dernière, où des criminels ont utilisé les faiblesses de l'application mobile pour voler de l'argent sur les comptes des clients.

Le plus souvent, il s'agit de lever des données personnelles - les cartes de crédit ou les données de santé étant les plus précieuses.

Gouvernement

Les services de renseignement sont toujours à la recherche de nouvelles informations pour assurer la sécurité de leurs citoyens. Comme l'a montré une attaque notable sur WhatsApp l'a montré, il est très utile d'avoir accès aux communications des personnes qui nous intéressent.

Les communications modernes sont généralement cryptées. Par conséquent, il est souvent plus facile de s'attaquer à la communication avant qu'elle n'entre dans le canal crypté que d'essayer de décoder le flux de communication. Dans la terminologie de la sécurité, il s'agit d'une attaque de l'homme à la fin par opposition à une attaque de l'homme au milieu. attaque de l'homme du milieu.

Dans le cas d'une application mobile logicielle, c'est certainement le cas. En utilisant une vulnérabilité dans une application mobile, il est souvent possible d'insérer une écoute, de siphonner des communications intéressantes avant qu'elles ne soient cryptées, le tout à l'insu de l'utilisateur.

Freeloader

Le profiteur cherche à obtenir quelque chose pour rien. Ce sont les équivalents modernes des lycéens qui copiaient le CD d'un ami sur une cassette.

À l'ère de la vidéo en continu et des jeux vidéo gratuits, le parasitisme prend une forme différente. Il s'agit de pirater l'application mobile pour supprimer les publicités qui financent le service ou d'utiliser le mot de passe de vos parents pour vous connecter au service de streaming.

Le problème auquel sont confrontés les fournisseurs de services est qu'une attaque ne se limite pas à un seul utilisateur. Une fois qu'un attaquant a créé une version freeloading d'une application, il se comportera en "bon samaritain" et publiera l'application sur une boutique d'applications tierce, permettant ainsi à n'importe qui de bénéficier de l'attaque.

Une fois que vous avez compris la motivation du pirate, vous pouvez commencer à identifier les actifs qu'il recherchera dans votre application mobile. Après avoir identifié les éléments à risque, vous pouvez prendre des mesures simples et pratiques pour vous défendre contre l'attaquant, par exemple en utilisant les moyens suivants protection du code pour rendre votre application difficile à désosser, la cryptographie boîte blanche pour stocker les données en toute sécurité dans l'application, ou l'authentification forte pour empêcher le partage des mots de passe.

Pour en savoir plus sur l'état d'esprit des hackers, regardez notre présentation complète à la Droidcon de San Francisco.

Externaliser la sécurité des applications ou développer des technologies de sécurité des applications en interne

Femme utilisant une application fintech sur un appareil mobile.

Dans le passé, les entreprises ont généralement privilégié la sécurité des applications en interne pour un certain nombre de raisons. Avant l'apparition de l'externalisation et des solutions basées sur le site cloud, les équipes de développement étaient obligées de construire et de personnaliser leurs systèmes en interne. 

Même si les services d'externalisation de la sécurité des applications sont devenus disponibles, de nombreuses entreprises ont continué à trouver que les solutions sur site étaient dignes d'intérêt. En voici les raisons (ainsi que leurs inconvénients) :

Contrôle total des données sensibles

L'un des principaux avantages de la sécurité des applications en interne est peut-être la possibilité pour les entreprises de rester en possession exclusive de données hautement réglementées et sensibles plutôt que de les confier à un tiers.

Cependant, les fournisseurs de sécurité de confiance ont souvent des méthodes pour s'assurer que leurs clients gardent le contrôle de leurs propres données. Par exemple, une solution qui offre des outils sur site permet aux organisations de garder le contrôle de la sécurité de leurs applications afin qu'aucune donnée ne sorte par inadvertance de leur environnement.

Flexibilité

Si votre équipe interne développe votre technologie de sécurité des applications, il n'est pas nécessaire de négocier avec un fournisseur pour la personnalisation.Vous bénéficiez ainsi d'une flexibilité totale et d'une sécurité applicative qui répondra véritablement à tous les besoins.

Bien que la personnalisation offre exactement ce que vous voulez et ce dont vous avez besoin, elle a un coût. En cas de départ des employés, les systèmes personnalisés peuvent être compromis, inaccessibles ou mal compris.

Personnel formé

Il y a de fortes chances que les personnes qui connaissent la disposition et les opérations de vos flux de données soient celles qui ont créé l'architecture en premier lieu. Votre équipe comprend intrinsèquement vos besoins en matière de réseau et de sécurité.

Cependant, de nombreuses entreprises fintech et bancaires emploient un mélange de personnel interne et d'experts en sécurité externalisés. Votre équipe peut se concentrer sur des problèmes nuancés propres à l'organisation, tandis qu'une équipe externalisée couvre une pléthore d'autres menaces.

Les avantages de l'externalisation de la sécurité des applications

Au fur et à mesure que la technologie progresse, les défis liés à la mise en place de technologies internes de sécurité des applications deviennent de plus en plus importants. Il peut être judicieux d'envisager l'externalisation de la sécurité des applications :

  • Modulable: Une société de sécurité expérimentée peut évaluer et comprendre vos besoins, vos risques et vos vulnérabilités et proposer une solution évolutive conçue pour s'adapter aux besoins changeants de votre entreprise, notamment l'augmentation du nombre d'utilisateurs, de la puissance, du trafic réseau et des changements de matériel.
  • Rentabilité: Économisez sur les coûts croissants de l'équipement, du personnel et de la formation.
  • Prêt pour la technologie: Les sociétés de sécurité tierces suivent de près les nouveaux types d'atteintes à la sécurité et sont continuellement plongées dans les questions de cybersécurité et la manière de les gérer.
  • Assistance garantie 24 heures sur 24, 7 jours sur 7: Les atteintes à la sécurité se produisant souvent en dehors des heures de bureau, il est essentiel de disposer d'une surveillance 24 heures sur 24, 7 jours sur 7 et d'un temps de réponse immédiat ; un centre d'opérations de sécurité (SOC) est donc prêt à intervenir 24 heures sur 24.
  • Mise en œuvre facile: Après avoir acheté une solution de cybersécurité externalisée, vous bénéficiez d'une configuration et d'un déploiement experts pour garantir une protection efficace du système et du réseau contre les cybermenaces ; un fournisseur de sécurité d'applications tiers de confiance soulage votre équipe des défis de sécurité complexes dans le cadre d'une mise en œuvre à code zéro.


L'externalisation de la sécurité des applications s'est avérée être une solution rentable contre la cybercriminalité, essentielle pour préparer et gérer des événements inattendus qui peuvent coûter de l'argent aux entreprises, avoir un impact sur les clients et entraîner des problèmes de productivité. Un fournisseur de solutions de sécurité applicative externalisées à guichet unique proposera un certain nombre d'outils complets ainsi qu'une approche stratégique et progressive.

La valeur d'une solution éprouvée de protection des applications

Lors de la sélection d'un fournisseur de sécurité tiers crédible, tel que Verimatrix, pour votre projet de Application Shielding il est important de comprendre à quoi doit ressembler une telle solution.

Une entreprise crédible offre plusieurs couches de sécurité des applications grâce à une approche stratégique qui comprend les éléments suivants :

  • Protège les données et la propriété intellectuelle: Trouvez un organisme de sécurité qui soutient les secteurs sensibles aux données à grande échelle, tels que la finance, la santé et la banque, afin de protéger les données et la propriété intellectuelle contre les cyberattaques.
  • Répond aux exigences de sécurité et de conformité: Assurez-vous que l'entreprise de sécurité que vous choisissez connaît bien les exigences en matière de sécurité et de conformité et qu'elle propose des solutions automatisées et intelligentes pour les secrets d'application, les clés cryptographiques et la protection de votre image de marque.
  • S'aligne sur le calendrier de déploiement de votre application: Recherchez un fournisseur de solutions de sécurité pour les applications qui dispose d'un ensemble d'outils garantissant une sécurité des applications au niveau de l'entreprise, permettant aux équipes de développement et d'ingénierie de protéger les applications, et s'alignant sur votre calendrier de déploiement des applications.

Assurez-vous que les solutions de sécurité des applications que vous choisissez offrent des capacités fiables qui :

  • Nécessite un minimum de modifications du code
  • Offre l'obscurcissement du code pour contrer l'analyse statique du code à l'aide d'un puissant flux de contrôle, de l'obscurcissement arithmétique/symbolique et du cryptage des chaînes/sections.
  • Prévoir des contrôles environnementaux qui vous permettent de vous assurer que votre code s'exécute là où vous le souhaitez, et non là où les attaquants veulent qu'il s'exécute
  • Inclure une technologie anti-sabotage qui crée un "réseau de contrôle" complet afin d'empêcher que des protections soient retirées de votre application.
  • Sont compatibles avec les plateformes mobiles et IoT (iOS et Android, desktop et Linux embarqué, Windows et MacOS).
  • Fournir un support prêt à l'emploi pour les principaux environnements de développement tels que Xcode, Android Studio et Visual Studio.
  • Détection du jailbreak et de la racine pour les appareils compromis afin de s'assurer que le code s'exécute comme prévu
  • Empêche la rétro-ingénierie en protégeant le code par des contrôles automatisés conçus pour entraver les tentatives de rétro-ingénierie.
  • Utilise des outils automatisés intelligents qui éliminent les erreurs humaines dans les processus de construction complexes afin de garantir la fiabilité de l'application.

Les défis liés à la mise en place d'une sécurité interne pour les applications sont de plus en plus nombreux

Alors que le monde migre vers un environnement principalement basé sur les applications, la sécurité des applications est devenue un défi majeur pour les entreprises et les développeurs. 

Les applications de banque en ligne et de fintech sont parmi les plus vulnérables - les startups comme les institutions financières historiques pèsent le pour et le contre de l'externalisation de la sécurité des applications par rapport à la mise en place de technologies internes. 

Si vous n'en êtes qu'aux premières étapes du choix de votre approche, notre livre électronique intitulé "Essential Planning Guide for Securing Financial Applications" (Guide essentiel de planification pour la sécurisation des demandes de financement) peut vous aider.Guide de planification essentiel pour la sécurisation des applications financières" propose des ressources pour guider les fintechs et les banques dans le processus de prise de décision.

Guide de planification essentiel pour la sécurisation des demandes de financement