Risques et recommandations en matière de sécurité des API

1er septembre 2020 | Blog Risques et recommandations en matière de sécurité des API


menace de sécurité de l'API

Les experts alertent les professionnels de la sécurité sur la prochaine grande menace qui pèse sur le cyberespace : les attaques ciblant les interfaces de programmation d'applications (API) . Les API permettent d'améliorer les performances des systèmes en intégrant les services d'autres sites web. Parmi les API les plus populaires figurent Google Maps, YouTube et Twitter, qui permettent aux créateurs de sites web d'intégrer des cartes, des vidéos YouTube ou des tweets à leurs pages. Face à l'essor de ces outils, les pirates informatiques ont trouvé des failles pour commettre des fraudes et voler des données.

Les dix principaux risques liés à l'API OWASP

Alors que les pirates informatiques s'intéressent de plus en plus au piratage des API, ces dernières représentent un risque pour les entreprises qui les utilisent sur leurs sites web. Nos partenaires de confiance de l'OWASP ont codifié les principaux risques de sécurité liés aux API :

  1. Autorisation au niveau de l'objet rompue. Le seul but d'une API est de fournir un accès à distance aux données. Certaines API nécessitent des autorisations pour empêcher un utilisateur d'accéder aux données d'un autre. Cela se fait via l'autorisation au niveau objet. Assurez-vous que vos API limitent l'accès aux utilisateurs appropriés afin de réduire ce risque. Par exemple, une API e-commerce simple peut afficher les ventes de votre boutique. Une autorisation au niveau objet correctement appliquée empêche les autres propriétaires de boutique d'interroger vos ventes. 
  2. Authentification utilisateur rompue. Les mécanismes d'authentification sont souvent mis en œuvre de manière incorrecte, permettant aux attaquants de compromettre les jetons d'authentification ou d'exploiter les failles d'implémentation pour assumer les identités des autres utilisateurs de manière temporaire ou permanente. Compromettre la capacité d'un système à identifier le client / utilisateur compromet la sécurité globale de l'API.
  3. Exposition excessive des données. Les développeurs exposent souvent involontairement des ensembles de données d'API. Appliquez le principe du moindre privilège pour réduire le risque d'exposition de données confidentielles. Dans notre exemple de commerce électronique, autorisez le magasin A à accéder uniquement à ses données et le magasin B à accéder uniquement à ses données. 
  4. Absence de restrictions de requête et de limitation de débit. Les API n'imposent aucune restriction quant à la taille ou au nombre de ressources pouvant être demandées par le client/utilisateur. Cela peut non seulement impacter les performances du serveur d'API, mais aussi entraîner des problèmes. Déni de service (DoS), mais permet également des attaques d'authentification telles qu'un attaque par force brute sur les informations d'identification. 
  5. Autorisation de niveau de fonction rompue. Des politiques de contrôle d'accès complexes, avec des groupes et des rôles différents, et une séparation inadéquate des fonctions administratives et régulières. Ces erreurs d'API constituent des failles d'autorisation. En exploitant ces failles, les attaquants accèdent aux ressources et/ou aux fonctions administratives d'autres utilisateurs.
  6. Affectation de masse. Les API, par conception, exposent les fonctions d'accès aux données sous-jacentes aux utilisateurs. Elles doivent restreindre toutes les requêtes de données à un ensemble spécifique d'appels de fonctions. Cela réduit le risque de modification ou d'accès inappropriés aux objets, simplement en devinant les propriétés des objets, en explorant d'autres points de terminaison de l'API, en consultant la documentation ou en fournissant des propriétés d'objet supplémentaires dans les charges utiles des requêtes.
  7. Mauvaise configuration de sécurité. Une mauvaise configuration de sécurité résulte généralement de paramètres par défaut non sécurisés, de configurations incomplètes ou ad hoc, d'un stockage cloud ouvert, d'en-têtes HTTP mal configurés, de méthodes HTTP inutiles, d'un partage de ressources inter-origines (CORS) permissif et de messages d'erreur détaillés contenant des informations sensibles. Par exemple, un échec de connexion web ne doit pas révéler si le nom d'utilisateur est présent sur le site web.
  8. Injection. Des failles d'injection, telles que SQL, NoSQL, injection de commande, etc., se produisent lorsque des données non fiables sont envoyées à un interpréteur dans le cadre d'une commande ou d'une requête. Les données malveillantes de l'attaquant peuvent inciter l'interprète à exécuter des commandes involontaires ou à accéder aux données sans autorisation appropriée.
  9. Mauvaise gestion des actifs. Les API ont tendance à exposer davantage de points de terminaison que les applications web traditionnelles, d'où l'importance d'une documentation adéquate et actualisée. Une documentation rigoureuse de tous les déploiements et versions d'API permet d'établir des inventaires fiables. Lorsque des bugs ou des vulnérabilités sont détectés et corrigés dans votre API, votre inventaire garantit la mise à jour de l'ensemble. 
  10. Journalisation et surveillance insuffisantes. Une journalisation et une surveillance insuffisantes, associées à une intégration manquante ou inefficace avec la réponse aux incidents, engendrent de nombreux problèmes. Cela permet aux attaquants d'exploiter les systèmes, de configurer et de maintenir la persistance, de s'attaquer à d'autres systèmes et d'extraire ou de détruire des données. La plupart des études sur les violations démontrent que le délai de détection d'une violation est supérieur à 200 jours, généralement détecté par des parties externes plutôt que par des processus ou une surveillance internes.

Exigences de sécurité

L'adoption croissante des API s'accompagne d'une augmentation des attaques informatiques ciblant ces dernières. Les experts recommandent aux concepteurs et développeurs d'appliquer les exigences de sécurité suivantes pour les applications utilisant des API : 

Visibilité

La notion de « savoir, c'est pouvoir » est pertinente en matière de visibilité des API. Les développeurs et les utilisateurs d'applications doivent savoir quelles API sont publiées, comment et quand elles sont mises à jour, qui y accède et comment. Comprendre le périmètre d'utilisation de ses API est la première étape pour les sécuriser.

Contrôle d'accès

L'accès aux API est souvent mal contrôlé, ce qui entraîne des risques d'exposition. S'assurer que le bon groupe d'utilisateurs dispose des autorisations d'accès appropriées pour chaque API est une exigence de sécurité essentielle qui doit être coordonnée avec les systèmes de gestion des identités et des accès (IAM).

Atténuation des bots

Dans certains environnements, jusqu'à 90 % du trafic applicatif (connexion/inscription à un compte, paiement au panier) est généré par des robots automatisés. Comprendre et gérer les profils de trafic, notamment différencier les robots efficaces des robots malveillants, est essentiel pour prévenir les attaques automatisées sans bloquer le trafic légitime. Parmi les mesures complémentaires efficaces, on peut citer la mise en œuvre de listes blanches, de listes noires, de politiques de limitation de débit, de CAPTCHA, ainsi que le géorepérage spécifique aux cas d'utilisation et aux points de terminaison d'API correspondants.

Prévention des exploits de vulnérabilité

Les API simplifient les processus d'attaque en éliminant le formulaire web ou l'application mobile, permettant ainsi à un acteur malveillant d'exploiter plus facilement une vulnérabilité ciblée. La protection des terminaux API contre les abus de logique métier et autres exploitations de vulnérabilités est une exigence clé en matière de sécurité des API.

Prévention de la perte de données

La prévention des pertes de données sur les API exposées pour les utilisateurs disposant de privilèges appropriés ou autrement, en raison d'erreurs de programmation ou de lacunes dans le contrôle de sécurité, est également une exigence de sécurité critique. De nombreuses attaques API sont conçues spécifiquement pour accéder aux données critiques mises à disposition à partir de serveurs et de systèmes principaux.

Aller de l'avant

Il est essentiel de maintenir à jour les outils et logiciels que vous utilisez fréquemment et de vous tenir informé(e) des nouvelles vulnérabilités de vos systèmes. S'abonner à une newsletter sur la cybersécurité vous permettra de rester vigilant(e) face à ces menaces émergentes. Découvrez les newsletters de CyberHoot et inscrivez-vous gratuitement pour recevoir les mises à jour mensuelles. La connaissance des menaces auxquelles vous êtes confronté(e)s est la première étape pour sécuriser vos systèmes.

CyberHoot est un excellent partenaire, car nous proposons des centaines de programmes de formation, notamment sur les bases de la cybersécurité. CyberHoot peut former ses utilisateurs sur tous les sujets, des bases de la cybersécurité aux risques applicatifs OWASP, en passant par la formation avancée sur Microsoft Excel. Rejoignez-nous en nous contactant. ventes@cyberhoot.com, ou organiser une réunion à https://Calendly.com/CyberHoot.

Pour en savoir plus sur la sécurité des API, regardez cette courte vidéo de 2 minutes :

Sources: 

MenacePost

AideNetSecurity

Lectures complémentaires: 

Les dix principaux risques de sécurité de l'OWASP

Apple encourage les développeurs à utiliser la nouvelle API App Attest d'iOS 14 pour se protéger contre les menaces de sécurité

Les derniers blogues :

Restez informé des dernières nouveautés Informations sur la sécurité

Découvrez et partagez les dernières tendances, conseils et meilleures pratiques en matière de cybersécurité, ainsi que les nouvelles menaces à surveiller.

Corp MDM : L’application professionnelle fictive qui voulait lire vos SMS

Corp MDM : L’application professionnelle fictive qui voulait lire vos SMS

Auteure : Katie Boquetti | Éditorial : Craig Taylor Éditorial de Craig Taylor : Nous le savons depuis un certain temps…

Lire la suite
De faux assistants ChatGPT propagent des logiciels malveillants. Voici comment les repérer.

De faux assistants ChatGPT propagent des logiciels malveillants. Voici comment les repérer.

Auteure : Katie Boquetti | Éditorial : Craig Taylor Éditorial de Craig Taylor : Un CAPTCHA devrait vérifier si…

Lire la suite
Hameçonnage par consentement OAuth : protégez vos autorisations, pas seulement votre mot de passe

Hameçonnage par consentement OAuth : protégez vos autorisations, pas seulement votre mot de passe

Auteure : Katie Boquetti | Éditorial : Craig Taylor Éditorial de Craig Taylor : J’ai la chance d’avoir…

Lire la suite