Introduction à la sécurité des applications Web

Nous vivons maintenant dans le monde du Web. Chaque jour, il y a un million de transactions qui se passent sur le Web dans tous les domaines tels que les banques, les écoles, les entreprises, les meilleures institutions du monde, les centres de recherche. Il est extrêmement important que les données qui sont traitées soient très sûres et que la communication soit fiable. D'où l'importance de sécuriser le Web.

Qu'est-ce que la sécurité des applications Web?

La sécurité des applications Web est une branche de la sécurité des informations qui traite de la sécurité des applications Web, des services Web et des sites Web. Il s'agit d'une sorte de sécurité d'application qui s'applique spécifiquement au niveau Web ou Internet.

La sécurité Web est importante car les applications Web sont attaquées en raison d'un mauvais codage ou d'un nettoyage incorrect des entrées et sorties des applications. Les attaques de sécurité Web courantes sont les scripts intersites (XSS) et les injections SQL.

Outre XSS, SQL Injections, les autres types d'attaques de sécurité Web sont l'exécution de code arbitraire, la divulgation de chemin d'accès, la corruption de mémoire, l'inclusion de fichiers à distance, le débordement de tampon, l'inclusion de fichiers locaux, etc. La sécurité Web est entièrement basée sur les personnes et les processus. Par conséquent, il est extrêmement important que les développeurs utilisent des normes de codage appropriées et vérifient l'intégrité de ces menaces de sécurité Web avant de rendre les sites Web opérationnels.

En fait, les contrôles de sécurité doivent être appliqués à un stade très précoce du développement et continuer à s'appliquer à chaque étape du cycle de vie du développement logiciel. Les développeurs doivent être bien formés à la cybersécurité et aux pratiques de codage sécurisé. Le test ponctuel de l'application n'est certainement pas efficace. Une régression continue pour les attaques de sécurité Web doit être mise en œuvre à chaque étape.

Standardiser la sécurité Web

OWASP (Open Web Application Security Project) est l'organisme de normalisation pour la sécurité des applications Web. Il fournit une documentation complète, des outils, des techniques et des méthodologies dans le domaine de la sécurité des applications Web. OWASP est l'une des sources d'informations impartiales sur les meilleures pratiques en matière de sécurité des applications Web.

OWASP Principaux risques de sécurité Web

Vous trouverez ci-dessous les principaux risques de sécurité Web signalés sur OWASP.

Injection SQL:

Il s'agit d'un type d'attaque par injection qui permet d'exécuter des requêtes SQL malveillantes et inappropriées qui pourraient contrôler les bases de données du serveur Web. Les attaquants peuvent utiliser des instructions SQL pour contourner les mesures de sécurité des applications. Ils peuvent authentifier ou autoriser des pages Web ou des sites Web et obtenir le contenu des bases de données SQL en contournant les instructions SQL. Cette attaque peut se produire sur des sites qui utilisent SQL, MYSQL, Oracle, etc. comme bases de données. Il s'agit de l'attaque de sécurité la plus répandue et la plus dangereuse selon la documentation OWASP 2017.

Cross Site Scripting (XSS):

Cela permet aux attaquants d'injecter des scripts côté client dans les applications Web et les pages Web consultées par d'autres utilisateurs. Une vulnérabilité de script intersite peut être utilisée pour contourner des stratégies telles que la même stratégie d'origine. En 2007, XSS représentait 84% de toutes les attaques de sécurité sur le Web.

Selon la sensibilité des données, XSS pourrait être une attaque mineure ou une menace majeure pour les sites Web.

Les exploiteurs replient les données malveillantes dans le contenu qui est livré au navigateur client. Lorsque les données sont livrées chez le client, il semble que les données combinées proviennent du serveur de confiance lui-même et possèdent tous les jeux d'autorisations côté client. L'attaquant peut désormais obtenir un accès et des privilèges élevés au contenu de la page sensible, aux cookies de session et à diverses autres informations.

Authentification brisée et gestion de session:

Cette attaque permet de capturer ou de contourner l'authentification sur la page Web ou l'application.

Il s'agit plus d'une norme faible suivie par un développeur de site Web qui provoque des problèmes tels que, par exemple,

  • Identifiants de connexion prévisibles.
  • Ne protège pas correctement les identifiants de connexion des utilisateurs lorsqu'ils sont stockés.
  • ID de session exposés dans l'URL.
  • Mots de passe, ID de session non envoyés via des URL chiffrées.
  • Les valeurs de session n'expirent pas après un laps de temps spécifique.

Pour éviter ces attaques, le développeur doit veiller à maintenir les normes appropriées telles que la protection des mots de passe et leur hachage approprié lors de leur transmission, ne pas exposer les ID de session, expirer la session après un laps de temps spécifique, recréer les ID de session après une connexion réussie tentative.

Réparer une authentification rompue

  • La longueur du mot de passe doit être maintenue à au moins 8 caractères.
  • Le mot de passe doit être complexe pour empêcher l'utilisateur de le prédire. Cela devrait utiliser des règles de définition de mot de passe appropriées telles que des combinaisons alphanumériques, de caractères spéciaux et de majuscules / chiffres.
  • Les échecs d'authentification ne doivent jamais indiquer quelle partie des données d'authentification est incorrecte. Les réponses aux erreurs doivent être génériques dans une certaine mesure. Par exemple: informations d'identification non valides au lieu d'afficher un nom d'utilisateur ou un mot de passe qui est exactement incorrect.

Erreurs de configuration de la sécurité:

C'est l'une des mauvaises pratiques qui rendent les sites Web vulnérables aux attaques. Par exemple. Configurations de serveur d'applications renvoyant une trace complète de la pile aux utilisateurs, faisant savoir aux attaquants où se trouve la faille et attaquant en conséquence les sites. Pour éviter de tels cas, il est important qu'une architecture d'application solide soit implémentée et exécute périodiquement les analyses de sécurité.

Conclusion

Il est très important que chaque site Web respecte les normes appropriées, maintienne les techniques de codage appropriées, dispose d'une architecture d'application robuste, exécute les analyses périodiquement sans échec et essaie d'éviter les attaques de sécurité Web dans une plus large mesure.

Articles recommandés

Il s'agit d'un guide sur la sécurité des applications Web. Ici, nous avons discuté de l'introduction, de la normalisation, des principaux risques de la sécurité Web. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Questions d'entretiens chez Cyber ​​Security
  2. Questions d'entretiens chez Web Development
  3. Carrière en développement Web
  4. Qu'est-ce que Elasticsearch?
  5. Qu'est-ce que le Cross-Site Scripting?