Uber Data Breach : Comment empêcher votre application d'incidents comme ceux-ci

Publié: 2017-11-28

En 2016, Uber a perdu 57 millions d'informations sur les utilisateurs et les conducteurs au profit de pirates, à qui ils ont ensuite payé 1 00 000 $ pour supprimer les données.

L'incident est survenu il y a quelques jours lorsque leur PDG, Dara Khosrowshahi, a publié un message mettant en lumière la violation de données . Et depuis lors, le cas de la sécurité des applications a fait l'objet d'une attention particulière.

Uber n'est pas le premier cas de violation de données, il y a eu un certain nombre de fois où les données personnelles des utilisateurs ont été compromises : un événement qui a rendu les gens réticents à utiliser des applications mobiles qui demandent leurs informations.

Voici un visuel pour montrer la position des utilisateurs d'applications mobiles à la lumière des problèmes de sécurité des applications -

Problèmes de sécurité des applications

Vous voyez comme c'est horrible ?

Mais vous pouvez empêcher votre application de devenir la prochaine étude de cas avertissant les marques de mettre au point leur jeu de sécurité des applications.

Voici comment -

1. Protégez votre application à partir de zéro

Un certain nombre de vulnérabilités existent dans le code source de l'application, mais la majorité des sociétés d'applications se concentrent uniquement sur la partie réseau tout en se concentrant sur la mise en œuvre des meilleures pratiques de sécurité des applications mobiles . Il y a tellement d'endroits qui peuvent être à la base de violations de données - erreur de codage, test de code, etc.

Voici les choses que vous pouvez faire pour protéger votre application dès le jour de son existence -

  • Protégez le code de votre application avec le cryptage. Il y a deux façons de le faire - la minification et l'obscurcissement, mais elles ne suffisent pas. Il est conseillé de s'en tenir à des algos bien pris en charge qui sont combinés avec le cryptage API.
  • Exécutez l'analyse du code source sur vos codes, fréquemment

Le signe d'un code sécurisé est qu'il reste sécurisé même après avoir été porté entre les systèmes d'exploitation et les appareils. La création d'un code agile aide énormément sur ce front.

2. Sécurisez la connexion réseau à partir du backend

long

Les serveurs cloud auxquels l'API de votre application accède doivent disposer de mesures de sécurité appropriées pour empêcher tout accès non autorisé et protéger les données des utilisateurs. La vérification de l'API doit être tellement en place qu'aucune information sensible ne passe du client à la base de données ou au serveur de l'application.

Pour réussir cette étape, il est impératif que votre processus de développement backend soit robuste .

Voici comment sécuriser la connexion réseau

  • Créer des conteneurs chiffrés pour stocker des documents et des données
  • Effectuez une série d'évaluations de vulnérabilité et de tests de pénétration de votre réseau pour vous assurer que les données sont protégées.
  • Chiffrez la base de données et les connexions avec SSL, VPN et TLS pour plus de sécurité
  • Appliquer la fédération - la mesure qui répartit les ressources sur les serveurs afin qu'elles ne soient pas toutes au même endroit, tout en séparant les ressources clés des utilisateurs.

3. Avoir en place un processus d'authentification, d'identification et d'autorisation

Voici comment identifier, authentifier et autoriser votre application

  • Assurez-vous que les API utilisées par votre application sont uniquement celles qui sont nécessaires pour fonctionner et ne donnent accès qu'aux parties ciblées, au lieu de toutes les fonctionnalités de l'application.
  • Il existe un certain nombre d'outils et de protocoles que vous pouvez utiliser et que vous devez suivre lorsque votre application est en phase de développement. Les voici -
    • JSON Web Token - L'outil léger est utilisé pour crypter l'échange de données, sa mise en œuvre simple le rend idéal pour les applications mobiles.
    • OpenID Connect - C'est un protocole qui permet aux utilisateurs de réutiliser leurs informations d'identification sur différents domaines à l'aide d'un jeton d'identification, pour gagner du temps en s'inscrivant et en s'inscrivant avec les mêmes informations à chaque fois.
    • OAuth2 - Le protocole est utilisé pour gérer une connexion sécurisée via un jeton unique spécifique à l'utilisateur. Lors de l'installation du framework dans le serveur d'autorisation, il vous permettra d'accorder à vos utilisateurs l'autorisation entre les utilisateurs finaux et le client en collectant des informations d'identification telles que des questions SMS à 2 facteurs.

4. Effectuez une série complète de tests

Contrairement à une application Web, la majorité des données des applications mobiles sont enregistrées localement, et les données se trouvant sur un appareil dont la bande passante, les performances et la qualité varient, le risque de piratage est beaucoup plus grand.
Outre le facteur d'instabilité des appareils, certaines applications ont également tendance à publier des données à l'insu des utilisateurs, comme leur sexe, leur âge, l'utilisation de l'appareil, etc.

Comment vous assurer que les données client sont sécurisées sur l'application -

  • Avec l'aide du cryptage au niveau des fichiers, vous pouvez protéger les données fichier par fichier. C'est l'un des moyens de chiffrer les données au repos afin qu'elles ne soient pas lues lorsqu'elles sont interceptées.
  • Des outils tels que la plate-forme Appcelator garantissent la sécurité des données mobiles stockées localement.

La gestion des clés doit être votre priorité. La base d'un algorithme fort est son certificat et ses clés tout aussi forts.

5. Stratégie de sécurité API prévue

Comme le développement mobile est étroitement lié aux API, une grande partie de la sécurisation d'une application dépend de la sécurisation de son API. Les API transmettent des données entre les applications, le cloud et entre un certain nombre d'utilisateurs. Toutes les parties concernées doivent être identifiées et autorisées afin de voir et d'utiliser les données. Les API sont la pierre angulaire des fonctionnalités, du contenu et des données, donc s'assurer qu'elles sont sécurisées peut vous emmener loin.

API

Il y a trois étapes dans l'API dont vous devrez vous occuper, à savoir - Identification, Authentification et Autorisation.

Regardons les éléments des trois ci-dessous -

Identification

La première partie du processus, les piratages d'identification peuvent être évités grâce à la mise en œuvre de clés API. Ces clés sont des identifiants uniques et aléatoires qui éliminent le besoin de mots de passe.
Bien que vous puissiez protéger le moment où les données sont vues à l'aide des clés API, vous ne pouvez pas décider qu'elles sont vues par quelqu'un qui était censé les voir.

Authentification

C'est le processus qui garantit que l'information est vue par quelqu'un qui était censé la voir. À ce stade, vous définissez des noms d'utilisateur et des mots de passe pour vous assurer que le système bénéficie d'un niveau de sécurité supplémentaire.

Autorisation

Cette étape répond à la question - Que peut-on faire avec l'API. Les étapes pour sécuriser ce processus comprennent une autorisation à 2 facteurs, des jetons et des mots de passe à usage unique.

6. Testez l'application

Que votre application soit hybride, native ou Web, elle doit être testée non seulement du point de vue de la convivialité et des fonctionnalités, mais également de la sécurité. Vous devez suivre un certain nombre d'étapes pour vous assurer que la qualité de votre application est garantie afin de garantir sa sécurité.

Voici les moyens de vous assurer que votre application est testée pour la sécurité -

  • Test d'intrusion - Cela signifie sonder le réseau et le système pour trouver des faiblesses.
  • Utilisez des émulateurs pour tester les performances de l'application dans un environnement simulé.
  • Testez en détail les problèmes d'autorisation et d'authentification, de gestion de session et de sécurité des données.

Ce sont donc les 6 façons que vous pourriez utiliser dans votre processus de développement d'applications pour vous assurer que la vôtre n'est pas celle qui est sous les feux de la rampe.

Assurez-vous de bien incorporer dans le temps, pendant que vous en avez le temps.