PRÉFACE
Cet article est en quelque sorte un article de synthèse, et nous proposons cet article pour développer notre idée dans notre prochain article sur les futurs articles en série qui devraient être publiés sur les éléments de sécurité(owasp top 10 liste).
Dans l’un de nos précédents articles , nous avons expliqué les éléments de sécurité du site, mais dans cet article, nous souhaitons vous donner des informations brèves et rapides sur la liste des 10 meilleurs de l’OWASP. La liste OWASP Top 10 contient les 10 principales vulnérabilités applicatives. Tous les sujets de la liste OWASP Top 10 sont très importants et nous n’avons vu aucun document ni référence dont la priorité soit donnée. Comme j’avais déjà paru dans le post précédent, la vulnérabilité de la sécurité du site comporte 10 éléments différents, mais la liste Top 10 de l’OWASP nous indique tous les éléments standard que nous devons inspecter lorsque nous pensons à la sécurité de notre site.
QU’EST-CE QUE L’OWASP?
Mark Curphey a commencé l’OWASP le 9 septembre 2001. Jeff Williams a été président bénévole de OWASP de la fin de 2003 à septembre 2011. À compter de 2015, Matt Konda a présidé le conseil d’administration.
La fondation OWASP, une organisation à but non lucratif basée aux États-Unis et créée en 2004, 501 (c) (3), soutient les infrastructures et les projets de l’OWASP. Depuis 2011, OWASP est également enregistré en tant qu’organisation à but non lucratif en Belgique sous le nom d’OWASP Europe VZW.
Le projet de sécurité des applications Web ouvertes (OWASP) est un 501 (c) (3) organisation caritative mondiale à but non lucratif axée sur l’amélioration de la sécurité des logiciels. Notre mission est de sécuriser les logiciels visible pour que individus et organisations peut prendre des décisions éclairées. OWASP est dans une position unique pour fournir des informations impartiales et pratiques sur AppSec aux particuliers, aux entreprises, aux universités, aux agences gouvernementales et à d’autres organisations du monde entier. Fonctionnant comme une communauté de professionnels partageant les mêmes idées, OWASP publie des outils logiciels et une documentation basée sur les connaissances en matière de sécurité des applications.
Tout le monde est libre de participer à OWASP et tous nos matériaux sont disponibles sous licence de logiciel libre et ouverte. Vous trouverez tout à propos de l’OWASP ici ou lié à notre wiki et des informations actuelles sur notre Blog OWASP . OWASP n’approuve ni ne recommande de produits ou services commerciaux, ce qui permet à notre communauté de rester neutre vis-à-vis des fournisseurs grâce à la sagesse collective des meilleurs esprits en matière de sécurité logicielle dans le monde.
Nous demandons à la communauté de surveiller utilisations inappropriées de la marque OWASP, notamment l’utilisation de notre nom, de nos logos, noms de projets et autres problèmes liés aux marques commerciales.
Pour sensibiliser à ce qui menace l’intégrité des sites Web, nous continuons une série de publications sur le OWASP 10 principaux risques de sécurité.
LA TOP 10 DE LA LISTE OWASP CONSTITUE LES 10 VULNÉRABILITÉS D’APPLICATIONS LES PLUS VUES:
1- INJECTION SQL
Les défauts d’injection résultent d’une défaillance classique du filtrage des entrées non fiables. Cela peut arriver lorsque vous transmettez des données non filtrées au serveur SQL (injection SQL), au navigateur (XSS) – nous en reparlerons au serveur LDAP (injection LDAP) ou ailleurs. Le problème ici est que l’attaquant peut injecter des commandes à ces entités, ce qui entraîne une perte de données et le piratage des navigateurs des clients.
2-AUTHENTIFICATION BRISÉE (BROKEN AUTHENTIFICATION)
OWASP définit Authentification brisée et gestion de session en tant que:
Les fonctions d’application liées à l’ authentification et à la gestion de session ne sont souvent pas implémentées correctement, ce qui permet aux attaquants de compromettre les mots de passe, les clés ou les jetons de session, ou d’exploiter d’autres vulnérabilités d’implémentation pour prendre pour acquis l’identité d’autres utilisateurs.
En d’autres termes, un attaquant peut obtenir un accès non autorisé aux données d’un utilisateur en raison de failles dans la mise en œuvre. Avant d’exploiter cette vulnérabilité, vous devez connaître quelques concepts:
- Pourquoi avons-nous besoin d’une session et qu’est-ce qu’une session?
- Qu’est-ce qu’un cookie?
- Qu’est-ce que l’authentification?
3-EXPOSITION DE DONNÉES SENSIBLES
Cette vulnérabilité permet à un attaquant d’accéder à des données sensibles telles que des cartes de crédit, des identifiants fiscaux, des identifiants d’authentification, etc. pour commettre une fraude sur une carte de crédit, un vol d’identité ou tout autre crime. La perte de telles données peut avoir un impact important sur l’entreprise et nuire à sa réputation. Les données sensibles méritent une protection supplémentaire, telles que le cryptage à l’arrêt ou en transit, ainsi que des précautions spéciales en cas d’échange avec le navigateur.
4-ENTITÉS EXTERNES XML (XXE)
Entité externe XML (XXE) fait référence à un type spécifique de Contrefaçon de demande côté serveur (SSRF) attaque, par laquelle un attaquant peut provoquer un déni de service et accéder à des fichiers et services locaux ou distants en abusant d’une fonctionnalité largement disponible et rarement utilisée dans les analyseurs syntaxiques XML.
XML est un format de données très utilisé que l’on trouve dans tout, des services Web (XML-RPC, SOAP, REST, etc.) aux documents (XML, HTML, DOCX) et aux fichiers d’image (SVG, données EXIF, etc.) qui utilisent XML. Naturellement, là où il y a XML, il y a un analyseur XML – tenez compte de cette pensée, nous y reviendrons bientôt.
5-Contrôle d’accès cassé
Le contrôle d’accès applique une stratégie empêchant les utilisateurs d’agir en dehors des autorisations prévues. Les défaillances conduisent généralement à la divulgation non autorisée d’informations, à la modification ou à la destruction de toutes les données, ou à l’exécution d’une fonction commerciale en dehors des limites de l’utilisateur. Les vulnérabilités courantes du contrôle d’accès incluent:
- Contournement des contrôles de contrôle d’accès en modifiant l’URL, l’état de l’application interne ou la page HTML, ou simplement en utilisant un outil d’attaque d’API personnalisé
- Permettant de changer la clé primaire en un autre enregistrement d’utilisateur, permettant d’afficher ou de modifier le compte de quelqu’un d’autre.
- Élévation de privilège.Agir en tant qu’utilisateur sans être connecté ou en tant qu’administrateur lorsqu’il est connecté en tant qu’utilisateur.
- Manipulation de métadonnées, telle que la relecture ou l’altération d’un jeton de contrôle d’accès JSON Web Token (JWT) ou d’un cookie ou d’un champ masqué manipulé pour élever des privilèges ou abuser de l’invalidation de JWT
- Une mauvaise configuration de CORS autorise un accès non autorisé à l’API.
- Forcer l’accès aux pages authentifiées en tant qu’utilisateur non authentifié ou aux pages privilégiées en tant qu’utilisateur standard.Accéder à l’API avec des contrôles d’accès manquants pour POST, PUT et DELETE.
6-Mauvaises configurations de sécurité
Sécurité Une mauvaise configuration survient lorsque les paramètres de sécurité sont définis, mis en œuvre et conservés par défaut. Une bonne sécurité nécessite une configuration sécurisée définie et déployée pour l’application, le serveur Web, le serveur de base de données et la plate-forme. Il est également important que le logiciel soit à jour.
Mauvaise configuration du serveur ou de l’application Web entraînant diverses failles:
- Débogage activé.
- Autorisations de dossier incorrectes.
- Utilisation de comptes ou de mots de passe par défaut.
- Pages de configuration / configuration activées.
Toutes vos données pourraient être volées ou modifiées lentement au fil du temps.
Les architectures de sécurité des applications actuelles ne suivent pas la sécurité par défaut. Au contraire, les programmeurs doivent appliquer des mesures de sécurité pour éviter l’accès à des ressources privées ou confidentielles.
7-Cross-Site Scripting (XSS)
Le script intersite (XSS) est un code côté client attaque par injection . Un attaquant vise à exécuter des scripts malveillants dans un navigateur Web de la victime en incluant un code malveillant dans une page Web ou une application Web légitimes. L’attaque réelle se produit lorsque la victime visite la page Web ou l’application Web qui exécute le code malveillant. La page Web ou l’application Web devient un moyen de transmettre le script malveillant au navigateur de l’utilisateur. Les véhicules vulnérables couramment utilisés pour les attaques de script intersite sont les forums, les forums de discussion et les pages Web autorisant les commentaires.
Une page Web ou une application Web est vulnérable au XSS si elle utilise une entrée utilisateur non authentifiée dans la sortie générée. Cette entrée utilisateur doit ensuite être analysée par le navigateur de la victime. Les attaques XSS sont possibles dans VBScript, ActiveX, Flash et même CSS. Cependant, ils sont plus courants en JavaScript, principalement parce que JavaScript est fondamental pour la plupart des expériences de navigation.
8-désérialisation non sécurisée
La plupart des risques critiques pour la sécurité des applications Web sont Désérialisation non sécurisée. Cette vulnérabilité se produit lorsque des données non fiables sont utilisées pour abuser de la logique d’une application ou d’une interface de programme d’application (API).
Par exemple, un attaquant peut rechercher un objet ou une structure de données dans l’intention de le manipuler à des fins malveillantes. OWASP a répertorié les types d’attaques principaux en tant qu’attaques par déni de service (DoS), contournements de l’authentification et attaques d’exécution de code / commande à distance, dans le cadre desquels les attaquants manipulent du code arbitraire lors de sa désérialisation.
Pour bien comprendre la désérialisation non sécurisée, nous devons comprendre ce que sont en premier lieu la sérialisation et la désérialisation. Ce blog expliquera ce qu’il en est en détail, ce que signifie une désérialisation non sécurisée, son impact sur les applications et les meilleures pratiques pour l’empêcher. Nous aborderons ensuite quelques solutions pour prévenir la désérialisation non sécurisée.
9-Utilisation de composants avec des vulnérabilités connues
De nos jours, même les sites Web simples tels que les blogs personnels ont beaucoup de dépendances .
Nous pouvons tous convenir que le fait de ne pas mettre à jour tous les logiciels du backend et du front-end d’un site Web entraînera sans aucun doute de lourdes menaces pour la sécurité, le plus tôt possible.
Par exemple, notre rapport de site Web piraté pour 2017 a une section dédiée autour des CMS obsolètes. Ce rapport montre qu’au moment de l’infection:
- 3% des sites Web WordPress étaient obsolètes;
- 8% de Joomla!les sites Web étaient obsolètes;
- 3% des sites Web Drupal étaient obsolètes;
- 3% dessites Web Magento étaient obsolètes.
La question est de savoir pourquoi nous ne mettons pas à jour notre logiciel à temps. Pourquoi est-ce encore un si gros problème aujourd’hui?
Il existe certaines possibilités, telles que:
- Les webmasters / développeurs ne peuvent pas suivre le rythme des mises à jour; après tout, mettre à jour correctement prend du temps.
- Un code hérité ne sera pas travailler sur les nouvelles versions de ses dépendances.
Cela peut paraître un peu trop dramatique, mais chaque fois que vous ignorez un avertissement de mise à jour, vous permettez peut-être à une vulnérabilité désormais connue de survivre dans votre système.Croyez-moi, les cybercriminels sont prompts à enquêter sur les logiciels et à mettre à jour les changelogs.
Quelle que soit la raison pour laquelle vous exécutez un logiciel obsolète sur votre application Web, vous ne pouvez pas le laisser sans protection. Les deux Sucuri et OWASP recommandent patches virtuels dans les cas où l’application de correctifs n’est pas possible.
Les correctifs virtuels permettent de protéger les sites Web obsolètes (ou ceux qui présentent des vulnérabilités connues) des attaques en empêchant l’exploitation à la volée de ces vulnérabilités. Cela se fait généralement par un pare-feu et un système de détection d’intrusion.
10-Insuffisance de journalisation et de surveillance
L’enregistrement et la surveillance vont de pair. Il est peu utile de disposer de journaux adéquats s’ils ne font pas l’objet d’une surveillance adéquate.
Le problème de la journalisation et des surveillances insuffisantes concerne l’ensemble de l’infrastructure informatique et pas seulement l’application Web avec accès à Internet, comme le fait la solution. Pour cette raison, nous ne limiterons pas cette discussion à la journalisation et à la surveillance des applications Web.
L’un des principaux problèmes est qu’il y a tellement de journaux – presque tous les systèmes contemporains génèrent leurs journaux. La gestion des journaux devient alors un problème majeur. Au moment où tous les différents journaux sont rassemblés et de préférence assemblés, la taille même de l’ensemble de données devient trop volumineuse pour permettre une surveillance manuelle efficace.
La solution réside dans une automatisation accrue du processus. Par exemple, certains systèmes de contrôle d’accès peuvent avoir leurs propres règles de surveillance. Les règles de connexion peuvent être définies pour autoriser un nombre prédéfini de tentatives de connexion par session. Le système enregistre les tentatives, puis bloque les accès à partir de cette adresse IP, pour une période prédéfinie ou indéfiniment. De tels systèmes alerteront probablement aussi l’équipe de sécurité que quelque chose ne va pas.
conclusion:
La sécurité des applications Web ouvertes (OWASP top 10) est une organisation à but non lucratif mais un objectif mondial pour la sécurité des logiciels. L’objectif est d’informer les particuliers et les entreprises sur la sécurité des systèmes d’information. L’organisation fonctionne comme une communauté de professionnels partageant les mêmes idées. Chacun est libre de rejoindre la communauté qui compte aujourd’hui plus de 45 000 membres. Chaque année, OWASP publie un classement qui identifie les vulnérabilités de sécurité les plus critiques.OWASP fournit un nombre considérable de ressources gratuites dédiées à l’amélioration de la sécurité des applications des organisations. L’un de leurs projets les plus connus est le projet OWASP Top 10, qui fournit des orientations consensuelles sur les dix risques les plus importants en matière de sécurité des applications. Le Top 10 de l’OWASP(owasp top 10 list) est disponible à l’ adresse https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project.
OWASP propose un guide de développement pour les applications Web, qui contient les meilleures pratiques à adopter lors de la phase de développement d’un projet Web. Des outils sont également mis à la disposition des utilisateurs pour effectuer des audits de leur site.
Demande de sécurité du site Web