Rétrospective
L'échelle, la composition et la structure des cybermenaces pour les applications évoluent rapidement. Pendant de nombreuses années, les utilisateurs accédaient aux applications web via Internet en utilisant des navigateurs web populaires. Il était nécessaire de maintenir entre 2 et 5 navigateurs web à tout moment, et l'ensemble des normes de développement et de test des applications web était suffisamment limité. Par exemple, presque toutes les bases de données étaient construites en utilisant SQL. Malheureusement, après un certain temps, les hackers ont appris à utiliser les applications web pour voler, supprimer ou modifier des données. Ils obtenaient un accès illégal et abusaient des fonctionnalités des applications en utilisant diverses techniques, y compris la tromperie des utilisateurs d'applications, l'injection et l'exécution de code à distance. Bientôt, des outils de protection des applications web, appelés pare-feu d'application web (WAF), sont apparus sur le marché, et la société a réagi en créant un projet open source pour sécuriser les applications web, le Projet Open Web Application Security Project (OWASP), visant à définir et à maintenir des normes et méthodologies de développement d'applications sécurisées.
Protection de base des applications
est un point de départ pour assurer la protection des applications et contient une liste des menaces les plus dangereuses et des mauvaises configurations pouvant entraîner des vulnérabilités des applications, ainsi que des tactiques pour détecter et repousser les attaques. L'OWASP Top 10 est un repère reconnu dans l'industrie de la cybersécurité des applications dans le monde entier et définit la liste de base des capacités qu'un système de protection des applications web (WAF) doit posséder.
De plus, les fonctionnalités du WAF doivent prendre en compte d'autres attaques courantes sur les applications web, y compris la falsification de requêtes intersites (CSRF), le clickjacking, le web scraping et l'inclusion de fichiers (RFI/LFI).
Menaces et défis de la sécurité des applications modernes
À ce jour, toutes les applications ne sont pas encore disponibles en version réseau. Il existe des applications cloud, des applications mobiles, des API, et dans les architectures les plus récentes, même des fonctions logicielles individuelles. Tous ces types d'applications doivent être synchronisés et contrôlés, car ils créent, modifient et traitent nos données. Avec l'apparition de nouvelles technologies et paradigmes, de nouvelles complexités et défis émergent à chaque étape du cycle de vie des applications. Cela inclut l'intégration du développement et de l'exploitation (DevOps), les conteneurs, l'Internet des objets (IoT), les outils open source, les API, etc.
Le déploiement distribué des applications et la diversité des technologies créent des défis complexes non seulement pour les spécialistes de la sécurité de l'information, mais aussi pour les fabricants de solutions de sécurité, qui ne peuvent plus se fier à une approche unifiée. Les mesures de protection des applications doivent prendre en compte leur spécificité commerciale pour éviter les faux positifs et la dégradation de la qualité des services pour les utilisateurs.
L'objectif ultime des hackers est généralement soit le vol de données, soit l'interruption de l'accès aux services. Les cybercriminels tirent également parti de l'évolution technologique. Premièrement, le développement de nouvelles technologies crée davantage de failles et de vulnérabilités potentielles. Deuxièmement, leur arsenal s'étoffe avec plus d'outils et de connaissances pour contourner les mesures de protection traditionnelles. Cela augmente considérablement ce que l'on appelle la « surface d'attaque » et la vulnérabilité des organisations à de nouveaux risques. Les politiques de sécurité doivent constamment évoluer avec les changements technologiques et dans les applications.
Ainsi, les applications doivent être protégées contre la diversité croissante des méthodes et des sources d'attaques, et la défense contre les attaques automatisées doit être effectuée en temps réel sur la base de décisions éclairées. Cela entraîne une augmentation des coûts opérationnels et du travail manuel dans un contexte de position de sécurité affaiblie.
Tâche n° 1: Gestion des bots
Plus de 60 % du trafic Internet est généré par des bots, dont la moitié est considérée comme un trafic « mauvais » (selon les données ). Les organisations investissent dans l'augmentation de la capacité du réseau, servant essentiellement une charge fictive. Une distinction précise entre le trafic utilisateur réel et le trafic des bots, ainsi que les « bons » bots (comme les robots d'indexation et les services de comparaison de prix) et les « mauvais » bots peut se traduire par des économies considérables et une amélioration de la qualité des services pour les utilisateurs.
Les bots ne cherchent pas à faciliter cette tâche, et ils peuvent imiter le comportement des utilisateurs réels, contourner les CAPTCHA et d'autres obstacles. De plus, en cas d'attaques utilisant des adresses IP dynamiques, la protection basée sur le filtrage par adresse IP devient inefficace. Souvent, des outils de développement open source (comme Phantom JS), capables de traiter le JavaScript côté client, sont utilisés pour lancer des attaques par force brute, des attaques par stuffing d'identifiants, des attaques DDoS et des attaques automatisées par bots.
Pour gérer efficacement le trafic des bots, une identification unique de sa source (comme une empreinte digitale) est requise. Étant donné qu'une attaque par bots engendre de nombreux enregistrements, son empreinte permet d'identifier les activités suspectes et d'attribuer des scores, sur la base desquels le système de protection des applications prend une décision éclairée – bloquer/autoriser – avec un taux de faux positifs minimal.
Tâche n°2 : Protection des API
De nombreuses applications collectent des informations et des données auprès des services avec lesquels elles interagissent via des API. Lors de la transmission de données sensibles par le biais d'API, plus de 50 % des organisations ne contrôlent ni ne protègent leurs APIs pour détecter les cyberattaques.
Exemples d'utilisation des API :
- Intégration de l'Internet des objets (IoT)
- Interaction inter-machine
- Environnements sans serveur
- Applications mobiles
- Applications pilotées par des événements
Les vulnérabilités des API ressemblent à celles des applications et incluent des injections, des attaques sur les protocoles, des manipulations de paramètres, des redirections et des attaques de bots. Les passerelles API dédiées garantissent la compatibilité des services d'applications interagissant via l'API. Cependant, elles ne fournissent pas une sécurité de bout en bout comme le fait un WAF avec les outils de sécurité nécessaires, tels que l'analyse des en-têtes HTTP, la liste de contrôle d'accès Layer 7 (ACL), l'analyse et la vérification de la charge utile JSON/XML, ainsi que la protection contre toutes les vulnérabilités de la liste OWASP Top 10. Cela est réalisé grâce à l'inspection des valeurs clés des API en utilisant des modèles positifs et négatifs.
Tâche n°3 : Déni de service
L'ancien vecteur d'attaque — le déni de service (DoS) — continue de prouver son efficacité dans les attaques sur les applications. Les attaquants disposent d'un ensemble complet de techniques réussies pour perturber le fonctionnement des services d'applications, y compris les inondations HTTP ou HTTPS, les attaques « low-and-slow » (par exemple, SlowLoris, LOIC, Torshammer), les attaques utilisant des adresses IP dynamiques, les débordements de tampon, les attaques par force brute, et bien d'autres. Avec le développement de l'Internet des objets et l'émergence des botnets IoT, les attaques sur les applications sont devenues une direction principale des attaques DDoS. La plupart des WAF avec suivi de l'état des connexions ne peuvent faire face qu'à un volume limité de charge. Cependant, ils peuvent inspecter les flux de trafic HTTP/S et éliminer le trafic d'attaque et les connexions malveillantes. Une fois une attaque identifiée, il n'est pas bénéfique de laisser ce trafic passer à nouveau. Étant donné que la bande passante des WAF pour réfléchir les attaques est limitée, une solution supplémentaire est nécessaire en bordure de réseau pour bloquer automatiquement les « mauvais » paquets suivants. Pour ce scénario de protection, les deux solutions doivent avoir la capacité d'interagir entre elles pour échanger des informations sur les attaques.

Fig 1. Organisation d'une protection complète du réseau et des applications à l'aide de solutions Radware
Tâche n°4 : Protection continue
Les applications subissent souvent des modifications. Les méthodologies de développement et de mise en œuvre, telles que la continuité des mises à jour, signifient que les modifications sont effectuées sans intervention humaine ni contrôle. Dans de telles conditions dynamiques, il est difficile de maintenir des politiques de sécurité fonctionnelles sans un nombre élevé de faux positifs. Les applications mobiles sont mises à jour beaucoup plus fréquemment que les applications web. Les applications tierces peuvent changer sans votre connaissance. Certaines organisations cherchent à obtenir un plus grand contrôle et une meilleure visualisation pour rester conscientes des risques potentiels. Cependant, cela n'est pas toujours réalisable, et une protection fiable des applications doit utiliser les capacités d'apprentissage automatique pour tenir compte et visualiser les ressources existantes, analyser les menaces potentielles, établir et optimiser les politiques de sécurité en cas de modification des applications.
Conclusions
À mesure que les applications jouent un rôle de plus en plus important dans notre vie quotidienne, elles deviennent une cible principale pour les hackers. Le but potentiel pour les malfaiteurs et les pertes potentielles pour les entreprises sont énormes. La complexité de la tâche de sécurisation des applications ne peut être exagérée, compte tenu du nombre et de la variété des applications et des menaces.
Heureusement, nous sommes dans un moment où l'intelligence artificielle peut venir à notre secours. Les algorithmes basés sur l'apprentissage automatique offrent une protection adaptative en temps réel contre les cybermenaces les plus avancées dirigées contre les applications. Ils mettent également à jour automatiquement les politiques de sécurité pour protéger les applications web, mobiles et cloud - ainsi que les API - sans faux positifs.
Il est difficile de prédire avec précision à quoi ressemblera la nouvelle génération de cybermenaces pour les applications (peut-être également basées sur l'apprentissage automatique). Mais les organisations peuvent certainement prendre des mesures pour protéger les données des clients, la propriété intellectuelle et garantir la disponibilité des services avec un grand avantage commercial.
Les approches et méthodes efficaces pour garantir la sécurité des applications, les principaux types et vecteurs d'attaques, les zones de risque et les lacunes dans la cybersécurité des applications web, ainsi que l'expérience mondiale et les meilleures pratiques sont présentées dans l'étude et le rapport de Radware.”.
Source : habr.com
