EITC/IS/WASF Web Applications Security Fundamentals est le programme européen de certification informatique sur les aspects théoriques et pratiques de la sécurité des services du World Wide Web, allant de la sécurité des protocoles Web de base à la confidentialité, en passant par les menaces et les attaques sur les différentes couches du trafic Web, la communication réseau, le Web la sécurité des serveurs, la sécurité dans les couches supérieures, y compris les navigateurs Web et les applications Web, ainsi que l'authentification, les certificats et le phising.
Le programme des principes fondamentaux de la sécurité des applications Web EITC/IS/WASF couvre l'introduction aux aspects de sécurité Web HTML et JavaScript, DNS, HTTP, cookies, sessions, cookies et attaques de session, la politique de même origine, la contrefaçon de requêtes intersites, les exceptions à la même Politique d'origine, scripts intersites (XSS), défenses contre les scripts intersites, empreintes digitales Web, confidentialité sur le Web, DoS, phishing et canaux secondaires, déni de service, phishing et canaux secondaires, attaques par injection, injection de code, transport sécurité de la couche (TLS) et attaques, HTTPS dans le monde réel, authentification, WebAuthn, gestion de la sécurité Web, problèmes de sécurité dans le projet Node.js, sécurité du serveur, pratiques de codage sécurisées, sécurité du serveur HTTP local, attaques de liaison DNS, attaques de navigateur, navigateur architecture, ainsi que l'écriture d'un code de navigateur sécurisé, dans la structure suivante, englobant un contenu didactique vidéo complet comme référence pour cette certification EITC.
La sécurité des applications Web est un sous-ensemble de la sécurité des informations qui se concentre sur la sécurité des sites Web, des applications Web et des services Web. La sécurité des applications Web, à son niveau le plus élémentaire, repose sur les principes de sécurité des applications, mais elle les applique particulièrement à Internet et aux plateformes Web. Les technologies de sécurité des applications Web, telles que les pare-feu d'applications Web, sont des outils spécialisés pour travailler avec le trafic HTTP.
L'Open Web Application Security Project (OWASP) propose des ressources à la fois gratuites et ouvertes. Une Fondation OWASP à but non lucratif en est chargée. Le Top 2017 OWASP 10 est le résultat d'une étude en cours basée sur des données détaillées recueillies auprès de plus de 40 organisations partenaires. Environ 2.3 millions de vulnérabilités ont été détectées dans plus de 50,000 10 applications utilisant ces données. Les dix problèmes de sécurité des applications en ligne les plus critiques, selon le Top 2017 OWASP – XNUMX, sont :
- Injection
- Problèmes d'authentification
- Entités externes XML de données sensibles exposées (XXE)
- Contrôle d'accès qui ne fonctionne pas
- Mauvaise configuration de la sécurité
- Script de site à site (XSS)
- Désérialisation non sécurisée
- Utiliser des composants qui ont des défauts connus
- La journalisation et la surveillance sont insuffisantes.
Par conséquent, la pratique consistant à défendre les sites Web et les services en ligne contre diverses menaces de sécurité qui exploitent les faiblesses du code d'une application est connue sous le nom de sécurité des applications Web. Les systèmes de gestion de contenu (par exemple, WordPress), les outils d'administration de base de données (par exemple, phpMyAdmin) et les applications SaaS sont tous des cibles courantes pour les attaques d'applications en ligne.
Les applications Web sont considérées comme des cibles prioritaires par les auteurs car :
- En raison de la complexité de leur code source, les vulnérabilités sans surveillance et la modification de code malveillant sont plus probables.
- Des récompenses de grande valeur, telles que des informations personnelles sensibles obtenues grâce à une falsification efficace du code source.
- Facilité d'exécution, car la plupart des agressions peuvent être facilement automatisées et déployées sans discernement contre des milliers, des dizaines, voire des centaines de milliers de cibles à la fois.
- Les organisations qui ne protègent pas leurs applications Web sont vulnérables aux attaques. Cela peut entraîner le vol de données, des relations clients tendues, des licences annulées et des poursuites judiciaires, entre autres.
Vulnérabilités dans les sites Web
Les failles de nettoyage des entrées/sorties sont courantes dans les applications Web, et elles sont fréquemment exploitées pour modifier le code source ou obtenir un accès non autorisé.
Ces failles permettent l'exploitation d'une variété de vecteurs d'attaque, notamment :
- Injection SQL - Lorsqu'un auteur manipule une base de données principale avec un code SQL malveillant, des informations sont révélées. La navigation illégale dans la liste, la suppression de table et l'accès administrateur non autorisé sont parmi les conséquences.
- XSS (Cross-site Scripting) est une attaque par injection qui cible les utilisateurs afin d'accéder aux comptes, d'activer des chevaux de Troie ou de modifier le contenu des pages. Lorsqu'un code malveillant est injecté directement dans une application, on parle de XSS stocké. Lorsqu'un script malveillant est mis en miroir à partir d'une application sur le navigateur d'un utilisateur, on parle de XSS réfléchi.
- Inclusion de fichiers distants – Cette forme d'attaque permet à un pirate d'injecter un fichier dans un serveur d'applications Web à partir d'un emplacement distant. Cela peut entraîner l'exécution de scripts ou de code dangereux dans l'application, ainsi que le vol ou la modification de données.
- Cross-site Request Forgery (CSRF) - Un type d'attaque qui peut entraîner un transfert involontaire d'argent, des changements de mot de passe ou un vol de données. Cela se produit lorsqu'un programme Web malveillant demande au navigateur d'un utilisateur d'effectuer une action indésirable sur un site Web auquel il est connecté.
En théorie, une désinfection efficace des entrées/sorties pourrait éradiquer toutes les vulnérabilités, rendant une application imperméable aux modifications non autorisées.
Cependant, comme la plupart des programmes sont en perpétuel développement, une désinfection complète est rarement une option viable. De plus, les applications sont généralement intégrées les unes aux autres, ce qui crée un environnement codé de plus en plus complexe.
Pour éviter de tels dangers, des solutions et des processus de sécurité des applications Web, tels que la certification PCI Data Security Standard (PCI DSS), doivent être mis en œuvre.
Pare-feu pour applications Web (WAF)
Les WAF (web application firewalls) sont des solutions matérielles et logicielles qui protègent les applications contre les menaces de sécurité. Ces solutions sont conçues pour inspecter le trafic entrant afin de détecter et de bloquer les tentatives d'attaque, en compensant les éventuelles failles de nettoyage du code.
Le déploiement WAF répond à un critère crucial pour la certification PCI DSS en protégeant les données contre le vol et la modification. Toutes les données des titulaires de cartes de crédit et de débit conservées dans une base de données doivent être protégées, conformément à l'exigence 6.6.
Parce qu'il est placé avant sa DMZ à la périphérie du réseau, l'établissement d'un WAF ne nécessite généralement aucune modification d'une application. Il sert ensuite de passerelle pour tout le trafic entrant, filtrant les requêtes dangereuses avant qu'elles ne puissent interagir avec une application.
Pour évaluer quel trafic est autorisé à accéder à une application et lequel doit être éliminé, les WAF utilisent diverses heuristiques. Ils peuvent identifier rapidement les acteurs malveillants et les vecteurs d'attaque connus grâce à un pool de signatures régulièrement mis à jour.
Presque tous les WAF peuvent être adaptés aux cas d'utilisation individuels et aux réglementations de sécurité, ainsi qu'à la lutte contre les menaces émergentes (également appelées zero-day). Enfin, pour acquérir des informations supplémentaires sur les visiteurs entrants, la plupart des solutions modernes utilisent des données de réputation et de comportement.
Afin de construire un périmètre de sécurité, les WAF sont généralement associés à des solutions de sécurité supplémentaires. Ceux-ci pourraient inclure des services de prévention de déni de service distribué (DDoS), qui offrent l'évolutivité supplémentaire nécessaire pour empêcher les attaques à haut volume.
Liste de contrôle pour la sécurité des applications Web
Il existe une variété d'approches pour protéger les applications Web en plus des WAF. Toute liste de contrôle de la sécurité des applications Web doit inclure les procédures suivantes :
- Collecte de données — Passez en revue l'application à la main, à la recherche de points d'entrée et de codes côté client. Classer le contenu hébergé par un tiers.
- Autorisation : recherchez les traversées de chemin, les problèmes de contrôle d'accès verticaux et horizontaux, les autorisations manquantes et les références d'objets directs non sécurisés lors du test de l'application.
- Sécurisez toutes les transmissions de données avec la cryptographie. Des informations sensibles ont-elles été cryptées ? Avez-vous utilisé des algorithmes qui ne sont pas à la hauteur ? Y a-t-il des erreurs aléatoires ?
- Déni de service - Testez l'anti-automatisation, le verrouillage de compte, le DoS du protocole HTTP et le DoS générique SQL pour améliorer la résilience d'une application contre les attaques par déni de service. Cela n'inclut pas la sécurité contre les attaques DoS et DDoS à haut volume, qui nécessitent un mélange de technologies de filtrage et de ressources évolutives pour résister.
Pour plus de détails, vous pouvez consulter la feuille de triche sur les tests de sécurité des applications Web OWASP (c'est également une excellente ressource pour d'autres sujets liés à la sécurité).
Protection DDoS
Les attaques DDoS, ou attaques par déni de service distribué, sont un moyen typique d'interrompre une application Web. Il existe un certain nombre d'approches pour atténuer les attaques DDoS, notamment la suppression du trafic d'attaque volumétrique sur les réseaux de diffusion de contenu (CDN) et l'utilisation de réseaux externes pour acheminer de manière appropriée les demandes authentiques sans provoquer d'interruption de service.
Protection DNSSEC (Domain Name System Security Extensions)
Le système de noms de domaine, ou DNS, est l'annuaire téléphonique d'Internet, et il reflète la façon dont un outil Internet, tel qu'un navigateur Web, trouve le serveur pertinent. L'empoisonnement du cache DNS, les attaques sur le chemin et d'autres moyens d'interférer avec le cycle de vie de la recherche DNS seront utilisés par des acteurs malveillants pour détourner ce processus de requête DNS. Si DNS est l'annuaire téléphonique d'Internet, DNSSEC est un identifiant d'appelant non usurpable. Une requête de recherche DNS peut être protégée à l'aide de la technologie DNSSEC.
Pour vous familiariser en détail avec le programme de certification, vous pouvez développer et analyser le tableau ci-dessous.
Le programme de certification des bases de la sécurité des applications Web EITC/IS/WASF fait référence à des supports didactiques en libre accès sous forme de vidéo. Le processus d'apprentissage est divisé en une structure étape par étape (programmes -> leçons -> sujets) couvrant les parties pertinentes du programme. Des conseils illimités avec des experts du domaine sont également fournis.
Pour plus de détails sur la procédure de certification, consultez Comment ça fonctionne.
Téléchargez le matériel préparatoire complet d'auto-apprentissage hors ligne pour le programme EITC/IS/WASF Web Applications Security Fundamentals dans un fichier PDF.
Matériel préparatoire EITC/IS/WASF – version standard
Documents préparatoires EITC/IS/WASF – version étendue avec questions de révision