Comment apprendre la sécurité des applications Web ?



La protection des systèmes en ligne est une préoccupation majeure, et il est préférable de s’en rendre compte avant qu’un incident majeur ne survienne.

L’évolution rapide de la technologie, notamment des services et des applications web, a profondément transformé le monde des affaires. De nombreuses entreprises ont transféré l’essentiel de leurs activités sur internet, ce qui permet aux collaborateurs et aux partenaires commerciaux du monde entier de travailler ensemble et d’échanger des informations en temps réel de manière simple.

Avec l’arrivée des applications web HTML5 modernes et du Web 2.0, les attentes des utilisateurs ont évolué. Désormais, chacun souhaite accéder aux informations nécessaires à tout moment, 24h/24, 7j/7 et 365 jours par an. En conséquence, les entreprises présentes en ligne sont également contraintes de rendre leurs données constamment disponibles.

Bien que la période de confinement global ait pu être bénéfique pour ceux qui travaillaient à domicile et pour les commerçants en ligne, elle a également profité de manière significative aux cybercriminels.

L’augmentation des transactions en ligne et du travail à distance leur a permis de voler de nombreuses informations de cartes bancaires et de cibler les employés travaillant à distance ainsi que leurs organisations. Cette situation a également incité les escrocs et les pirates informatiques à développer régulièrement de nouvelles formes de menaces.

Selon un rapport, cette année, environ 80 % des entreprises ont constaté une recrudescence des cyberattaques, tandis que le coronavirus a entraîné une augmentation de 238 % des menaces visant les banques.

Pour contrer ces attaques, la sécurité des applications web a vu le jour il y a longtemps. Ce secteur a besoin de professionnels qualifiés pour aider les organisations à éviter les pertes de données, d’argent et de confiance de leurs clients.

Le but de cet article est de vous faire comprendre les enjeux de la sécurité, les compétences attendues des experts en sécurité web et les ressources à votre disposition pour vous former et maîtriser ces compétences.

Alors, commençons ?

Qu’est-ce que la sécurité des applications web ?

La sécurité web, également appelée cybersécurité ou sécurité des applications web, désigne les méthodes utilisées pour protéger les services en ligne et les sites web contre différentes menaces exploitant les failles présentes dans le code d’une application.

Parmi les cibles habituelles de ces attaques figurent les outils de gestion de bases de données comme phpMyAdmin, les applications SaaS, les systèmes de gestion de contenu (CMS) comme WordPress, et bien d’autres.

La sécurité web a pour but de prévenir ces attaques en interdisant tout accès, utilisation, destruction, perturbation ou modification non autorisés.

Mais pourquoi les attaquants ciblent-ils si fréquemment les applications web ?

  • La complexité intrinsèque du code source des applications augmente le risque de failles et de manipulation du code.
  • Les applications sont faciles à exploiter ; par conséquent, les attaquants peuvent facilement lancer ou automatiser la plupart des attaques, qui peuvent cibler simultanément des milliers d’applications.
  • Les gains potentiels sont importants et comprennent des données sensibles et confidentielles obtenues par la manipulation du code source, ainsi que des gains financiers.

Types courants de vulnérabilités

Script intersite (XSS)

Le XSS permet aux attaquants d’injecter des scripts côté client dans une page web et d’accéder directement à des données cruciales, de manipuler les utilisateurs pour qu’ils divulguent des informations confidentielles ou d’usurper l’identité d’autres utilisateurs. Les conséquences peuvent inclure l’accès à des comptes, l’activation de chevaux de Troie, la modification du contenu des pages, etc.

Falsification de requête intersite (CSRF)

La CSRF consiste à tromper les victimes afin qu’elles effectuent une action en utilisant leur autorisation ou leur authentification. Ainsi, en tirant parti des privilèges du compte, les attaquants peuvent exécuter des actions en se faisant passer pour l’utilisateur légitime. Cela peut entraîner des transferts de fonds non autorisés, des changements de mot de passe, etc.

Déni de service (DoS) et déni de service distribué (DDoS)

Les attaquants submergent le serveur ciblé et/ou son infrastructure avec des flux de trafic malveillants. Lorsque le serveur n’est plus en mesure de gérer efficacement les requêtes, il ralentit et finit par refuser le service à de nouvelles requêtes, même celles provenant de visiteurs légitimes.

Injection SQL 💉

Il s’agit d’une méthode utilisée par les attaquants pour exploiter les faiblesses dans la manière dont les bases de données exécutent les requêtes de recherche. Les attaquants utilisent l’injection SQL pour accéder à des données non autorisées, créer ou modifier les autorisations des utilisateurs, détruire ou manipuler des informations confidentielles, etc.

Inclusion de fichiers distants

Les attaquants utilisent cette méthode pour insérer des fichiers malveillants contenant du code sur un serveur d’applications web afin d’exécuter ce code et de nuire à l’application, de la manipuler ou de voler des données.

Autres

Parmi les autres attaques, on trouve la corruption de mémoire, les violations de données, le détournement de clic, la traversée de répertoires, l’injection de commandes, le débordement de mémoire tampon, etc.

J’espère que cela suffit pour comprendre que la sécurité web est une nécessité absolue et que chacun doit la mettre en œuvre dès que possible pour éviter qu’elle ne devienne une menace pour votre application et ne vous nuise financièrement ou en termes de réputation.

En raison de la demande croissante dans ce domaine, de nombreuses personnes souhaitent se former. Si vous souhaitez apprendre cette discipline, cela pourrait être un excellent choix de carrière et présenter des avantages personnels.

Que font les professionnels de la sécurité web ?

Les experts en sécurité web ont pour mission de protéger les applications web, les réseaux concernés et les données d’application. Ils contribuent à réduire les violations de données en surveillant le réseau et en réagissant aux menaces.

Ces professionnels ont souvent une expérience en tant qu’administrateurs de réseaux ou de systèmes, ou en programmation. En effet, ce domaine requiert de la curiosité, un esprit critique, une passion pour la recherche et l’apprentissage. Ils doivent être capables de déjouer les pirates qui sont « créatifs de manière destructrice » lorsqu’il s’agit de développer et d’injecter différentes menaces.

Comme les menaces à la sécurité peuvent surgir à tout moment, les spécialistes de la sécurité doivent se tenir informés des dernières tactiques utilisées par les pirates pour s’introduire dans les systèmes et les réseaux. Voici quelques-unes des responsabilités des professionnels de la sécurité web :

  • Identifier les failles de sécurité dans les applications web, les bases de données et le chiffrement.
  • Limiter les attaques en corrigeant les problèmes de sécurité.
  • Réaliser régulièrement des audits pour garantir l’application des meilleures pratiques de sécurité.
  • Déployer des outils de prévention et de détection des menaces pour contrer les attaques malveillantes.
  • Mettre en place des systèmes de gestion des vulnérabilités sur les ressources cloud et sur site.
  • Gérer les opérations de nettoyage en cas d’attaques.
  • Travailler avec d’autres équipes informatiques pour planifier la reprise après sinistre.
  • Collaborer avec les responsables d’équipe et les RH afin de sensibiliser tous les employés à la détection des activités suspectes.

Quelques bonnes pratiques de sécurité pour protéger les applications web

Utilisation de pare-feu d’applications web (WAF)

Le WAF permet de protéger vos applications web contre les requêtes HTTP malveillantes. Il établit une barrière entre l’attaquant et votre serveur. Il peut protéger la couche sept contre les menaces telles que le XSS, le CSRF, l’injection SQL, etc.

Protection contre les attaques DDoS

Comme son nom l’indique, il sert à contrer les attaques DDoS ciblant les applications et la couche réseau, protégeant ainsi les sites web, les applications et l’infrastructure des serveurs.

Filtrage des robots 🤖

Il est mis en place pour bloquer le trafic des robots malveillants.

Protection DNS

Son but est de protéger votre requête DNS contre le piratage via des attaques de type « man-in-the-middle » et l’empoisonnement du cache DNS.

Utilisation de HTTPS

HTTPS crypte toutes les données échangées entre le serveur et votre client pour protéger les identifiants de connexion, les informations d’en-tête, les cookies, les données de requête, etc.

Donc, si vous avez décidé d’apprendre la sécurité des applications web, vous pouvez consulter les ressources d’apprentissage suivantes et perfectionner vos compétences 🧑‍💻.

PortSwigger

Formez-vous auprès des créateurs de Burp Suite, une plateforme de référence pour de nombreux outils de cybersécurité, sur PortSwigger. Il s’agit d’une formation en ligne et GRATUITE qui peut donner un coup de pouce à votre carrière dans le domaine de la cybersécurité.

Grâce aux laboratoires interactifs, vous pouvez apprendre à tout moment et de n’importe où, et suivre vos progrès au fil du temps. La formation couvre les failles de la logique métier, la divulgation d’informations, l’empoisonnement du cache web, la désérialisation non sécurisée, l’injection SQL, le XSS, le CSRF, l’injection XXE, etc.

Le contenu pédagogique de PortSwigger est conçu par des professionnels expérimentés, une équipe de recherche et leur fondateur, Dafydd Stuttard. Il est également l’auteur d’un ouvrage renommé intitulé « Web Application Hacker’s Handbook ».

Les tutoriels sont expliqués en détail, à la fois dans des textes et des vidéos, pour vous aider à mémoriser facilement les points clés. Leurs laboratoires interactifs rendent le cours global passionnant, et c’est là qu’ils proposent des énigmes réalistes pour évaluer vos compétences en piratage.

EdX

Les fondamentaux de la sécurité web proposés par EdX sont parfaits pour comprendre les principes de base. Il vous donne un aperçu des attaques les plus courantes et des contre-mesures adaptées, avec une approche à la fois théorique et pratique.

Ils vous enseignent également les meilleures pratiques de sécurité actuellement en vigueur pour sécuriser les applications web. Si vous souhaitez suivre ce cours, vous n’avez pas nécessairement besoin de connaissances préalables en matière de sécurité. Cependant, si vous en avez, cela vous aidera beaucoup à mieux comprendre des concepts comme HTTP, JavaScript, HTML, etc.

La durée du cours est de 5 semaines, avec une charge de travail de 4 à 6 heures par semaine. L’accès à la formation est totalement GRATUIT ; toutefois, vous pouvez payer 48,97 USD pour obtenir un certificat vérifié et signé par l’instructeur avec le logo de l’établissement. Ce certificat peut être utilisé pour améliorer vos perspectives d’emploi et peut être partagé sur LinkedIn ou intégré à votre CV.

Stanford

Le cours CS 253 Web Security proposé par Stanford fournit une synthèse complète de la sécurité web et vise à faire comprendre aux étudiants les attaques web courantes et les moyens de les prévenir. Le cours couvre non seulement les principes fondamentaux, mais aussi les dernières tendances en matière de sécurité web.

Voici quelques-uns des sujets abordés :

  • Principes de la sécurité web
  • Attaques et contre-mesures
  • Vulnérabilités des applications web
  • Modèle de sécurité du navigateur
  • Attaques par injection, DoS et TLS
  • Empreintes digitales, confidentialité, politique d’origine unique, authentification, scripts intersites, sécurité JavaScript
  • Défense en profondeur
  • Menaces émergentes
  • Techniques pour écrire du code sécurisé, exploitation de failles de sécurité
  • Mise en œuvre des normes web en évolution et protection des applications web vulnérables

Pour suivre cette formation, vous devez avoir suivi le cours CS 142 ou avoir une expérience équivalente en développement web. La présence est obligatoire et la note est calculée de la manière suivante :

  • 75 % sur les devoirs
  • 25 % sur l’examen final

Pour mieux vous préparer, vous pouvez consulter la solution de l’Examen final 2019 et d’autres exemples de questions pour le cours CS 253.

Adapté aux débutants

Indéniablement, Udemy est l’une des meilleures plateformes pour se former en ligne dans de nombreux domaines, dont la sécurité des applications web. Si vous êtes débutant, ce cours est idéal pour vous, car il ne requiert aucune compétence préalable en codage.

Dans ce cours, vous apprendrez :

  • À identifier les 10 principales menaces recensées par l’OWASP (Open Web Application Security Project).
  • À comprendre comment ces menaces peuvent être atténuées.
  • L’impact de chaque menace sur votre entreprise.
  • Comment les attaquants mettent en œuvre ces menaces.

Le cours est expliqué dans un langage simple pour que toute personne ayant peu de connaissances sur Internet et l’informatique puisse le comprendre. Il couvre également la défense en profondeur, une explication de l’usurpation d’identité, la divulgation d’informations, la falsification, la répudiation, l’élévation des privilèges et le DoS.

Des tuteurs expérimentés sont là pour vous enseigner tout ce que vous devez savoir pour maîtriser les bases de la sécurité web.

Coursera

Une autre excellente option sur cette liste est Coursera, qui explique comment utiliser OWASP ZAP, également connu sous le nom de Zed Attack Proxy. Cet outil aide les professionnels de la sécurité et les testeurs d’intrusion à identifier les failles de sécurité.

  • On vous explique comment rechercher des vulnérabilités, analyser les résultats des analyses, générer des rapports à partir de ces données, etc.
  • Vous apprendrez également à configurer le proxy du navigateur pour analyser de manière passive les réponses et les requêtes lors de l’exploration de sites web.
  • Le cours propose une brève explication de la manière d’afficher, d’intercepter, de transférer et de modifier les requêtes web qui transitent entre l’application web et le navigateur.
  • De plus, vous découvrirez comment utiliser des listes de dictionnaires pour rechercher des dossiers et des fichiers sur votre serveur web.
  • Enfin, vous comprendrez comment explorer des sites web pour trouver des URL et des liens.

Les formateurs du cours vous guident pas à pas sur chaque sujet via une vidéo avec écran partagé, et comme tout est hébergé dans le cloud, vous n’avez pas à perdre de temps à télécharger quoi que ce soit. Coursera fournit des certificats pour chaque programme sans frais supplémentaires.

PentesterLab

PentesterLab couvre tous les niveaux, du débutant au plus avancé. Vous apprendrez à identifier puis à exploiter manuellement les vulnérabilités. Tous les exercices portent sur les faiblesses ou les problèmes courants rencontrés dans divers systèmes.

Pour faciliter l’apprentissage, ils fournissent des systèmes réels et de véritables vulnérabilités afin que vous puissiez vous exercer en temps réel, sans émulation. Leurs exercices en ligne vous permettent d’obtenir des certificats après avoir terminé le cours. Tous les exercices sont divisés en badges que vous pouvez collecter pour obtenir le certificat.

Youtube

YouTube est une mine de connaissances ; il suffit de savoir l’utiliser à bon escient !

Ainsi, il existe une chaîne, Google Chrome Developers, avec 505 000 abonnés sur YouTube, que vous pouvez consulter pour apprendre.

Dans ce tutoriel, vous pouvez comprendre certains vecteurs d’attaque courants et comment protéger vos données, vos utilisateurs et votre réputation. Vous y découvrirez également un nouveau cours qui propose des conférences concises et des exercices pratiques sur des sujets tels que la défense et l’attaque.

Mozilla

Consultez les documents web MDN de Mozilla et accédez à des articles utiles sur la sécurité web. Les articles présentés ici couvrent divers sujets tels que la sécurité du contenu, la sécurité de la connexion, la sécurité des données, la fuite d’informations, l’intégrité des données, la protection contre le détournement de clic, la protection des données des utilisateurs, etc.

Les informations contenues dans ces articles vous aideront à protéger votre site web et son code contre le vol de données et les attaques. Vous pouvez apprendre des aspects intéressants tels que la façon de réparer votre site, le blocage du contenu mixte, les algorithmes de signature, etc.

Invicti

Un article complet d’Invicti explique dans les moindres détails la sécurité des applications web. Il est rédigé de manière claire afin d’aider même les débutants à comprendre les termes et les technologies utilisés dans le domaine de la sécurité web.

Dans l’article, les mythes et les fondements de la sécurité des applications web sont exposés et l’on explique comment les entreprises actuelles peuvent améliorer la sécurité de leur site web et de leurs applications afin d’éloigner les cybercriminels.

Vous apprendrez ici :

  • Comment sécuriser vos applications web.
  • Comment choisir le bon outil d’analyse de vulnérabilité.
  • La différence entre un outil d’analyse de vulnérabilité web gratuit et un outil commercial.
  • Comment tester votre outil d’analyse de vulnérabilité et quand l’utiliser.
  • Quelques bonnes pratiques pour sécuriser votre serveur web ainsi que d’autres éléments.

SANS

Suivez ce cours, SEC22, proposé par SANS, si vous souhaitez protéger les applications web. Il vous aidera à comprendre toutes les failles de sécurité liées à votre application web afin de sécuriser vos ressources en ligne.

Le cours vous présente les techniques d’atténuation au niveau de l’architecture, de l’infrastructure et du codage, ainsi que les méthodes employées dans le monde réel. Vous vous familiariserez avec la nature de ces vulnérabilités afin de comprendre pourquoi elles surviennent et comment les atténuer.

Il convient aux personnes chargées de la gestion, de la mise en œuvre ou de la protection des applications web. Il peut s’agir d’analystes de la sécurité des applications, d’architectes, de développeurs, d’auditeurs, de testeurs d’intrusion, etc.

Le cours abordera des thèmes tels que :

  • Les 10 principales menaces de l’OWASP.
  • Les problèmes propres aux 25 principales erreurs logicielles CWE.
  • L’intégration du cloud dans une application web.
  • La configuration du langage de l’application.
  • La configuration de l’infrastructure et la gestion de la sécurité.
  • Les mécanismes d’authentification.
  • Les en-têtes HTTP.
  • Les failles de la logique métier.
  • Les erreurs de codage telles que le XSS, le CSRF, l’injection SQL, etc.

Si vous maîtrisez les bases des concepts et des technologies des applications web telles que JavaScript et HTML, vous êtes prêt à suivre ce cours.

Cloudflare

Voici un autre article de la liste, rédigé par Cloudflare, qui traite de la sécurité des applications web.

Plus précisément, il explique :

  • La signification de cette terminologie.
  • Quelques vulnérabilités courantes.
  • Les meilleures pratiques pour prévenir les failles de sécurité web.

Lisez cet article pour clarifier certains concepts de base qui vous seront très utiles lorsque vous vous inscrirez à une formation sur la sécurité des applications web.

Conclusion

L’apprentissage de la sécurité des applications web est devenu essentiel en raison de l’augmentation rapide des cyberattaques.

Je vous souhaite bonne chance !