L'application de l'accès selon le principe du moindre privilège, l'assainissement des entrées utilisateur et la restriction des procédures de base de données peuvent contribuer à prévenir les attaques par injection SQL, ainsi que les violations de données résultantes.
Cet article s'articule autour des points suivants :
Contenu associé
Tout savoir sur la SQL injection
Qu’est-ce qu’une API ?
Comment fonctionnent les API ?
Qu'est-ce que la sécurité des API ?
Qu'est-ce que la sécurité des applications web ?
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
Une attaque Structured Query Language injection (SQLi) est une attaque par injection de code qui permet à des acteurs malveillants de récupérer, de manipuler ou de détruire des informations sensibles contenues dans des bases de données SQL. Ces attaques consistent à insérer des commandes spécialisées dans les champs de requête SQL ; une fois exécutées, ces commandes peuvent permettre aux acteurs malveillants d'usurper l'identité d'utilisateurs légitimes, de consulter ou d'extraire des données protégées, voire d'obtenir un accès racine aux serveurs.
Souvent, l'acteur malveillant exécute l'attaque SQLi en exploitant les vulnérabilités des interfaces de programmation d'applications (API) qui ne différencient pas correctement le code légitime du code non fiable. Sans la possibilité de détecter les commandes ou les requêtes modifiées, ces API peuvent être utilisées pour exécuter des requêtes malveillantes ; par exemple, pour contourner les pare-feu d'applications web (WAF) ou les mesures d'authentification.
En règle générale, une attaque SQLi est exécutée selon l'une des trois méthodes suivantes :
Pour consulter des exemples concrets de requêtes SQL bénignes et malveillantes, lisez Qu'est-ce qu'une attaque par injection SQL ?
Bien que les attaques par injection SQL (SQLi) constituent l'une des menaces les plus répandues pour les API, elles peuvent efficacement être évitées grâce à des stratégies de prévention adéquates. Parmi les approches utiles pour prévenir les attaques par injection SQL figurent la restriction des procédures de base de données, l'assainissement des entrées de base de données et l'application de l'accès selon le principe du moindre privilège.
Une attaque par injection SQL dépend en grande partie de la capacité d'un acteur malveillant à manipuler les entrées de données et les fonctions de la base de données. En restreignant ces entrées et en limitant le type de procédures de base de données pouvant être exécutées, les entreprises peuvent minimiser le risque de requêtes non autorisées ou malveillantes. Pour cela, elles peuvent opter pour les approches suivantes :
Les entrées utilisateur dans une base de données SQL doivent être régulièrement contrôlées, validées et assainies, afin d'éliminer le code malveillant. La validation des entrées garantit que les données sont correctement inspectées et mises en forme, conformément aux critères prédéterminés, tandis que l'assainissement des entrées modifie (ou « assainit ») les entrées en supprimant les caractères non valides ou dangereux et en les reformatant si nécessaire. Les approches suivantes permettent d'assurer la validation des entrées :
L'accès selon le principe du moindre privilège est l'approche consistant à n'autoriser les utilisateurs à accéder aux ressources protégées que dans la mesure où leur rôle l'exige. Par exemple, il peut s'agir de limiter le nombre d'utilisateurs auxquels sont accordés des privilèges de niveau administrateur pour une base de données, ou même d'accorder aux utilisateurs un accès temporaire de niveau administrateur, qui pourra être ultérieurement révoqué.
Restreindre l'accès des utilisateurs en fonction de leur rôle permet également de minimiser l'impact d'une violation ; en effet, des acteurs malveillants qui utilisent des informations d'identification dérobées pour pénétrer dans une base de données seront également limités dans leur capacité à visualiser, modifier, voler ou détruire des données protégées. Pour la même raison, les entreprises devraient limiter l'accès partagé aux bases de données sur plusieurs sites web et applications.
Cloudflare aide les entreprises à améliorer leur résilience face aux attaques SQLi grâce à un puissant portefeuille de solutions de sécurité des applications et des API :
Prise en main
À propos de la sécurité des applications Web
Menaces courantes
Ressources VPN
Glossaire de sécurité