Injection de code

Définition - Que signifie l'injection de code?

L'injection de code est l'injection ou l'introduction malveillante de code dans une application. Le code introduit ou injecté est capable de compromettre l'intégrité de la base de données et / ou de compromettre les propriétés de confidentialité, la sécurité et même l'exactitude des données. Il peut également voler des données et / ou contourner l'accès et le contrôle d'authentification. Les attaques par injection de code peuvent affecter les applications qui dépendent de l'entrée de l'utilisateur pour l'exécution.

Definir Tech explique l'injection de code

Il existe quatre principaux types d'attaques par injection de code:

  • Injection SQL
  • Injection de script
  • Injection de coquille
  • Évaluation dynamique

L'injection SQL est un mode d'attaque utilisé pour corrompre une requête de base de données légitime afin de fournir des données falsifiées. L'injection de script est une attaque dans laquelle l'attaquant fournit du code de programmation côté serveur du moteur de script. Les attaques par injection Shell, également appelées attaques de commande du système d'exploitation, manipulent les applications utilisées pour formuler des commandes pour le système d'exploitation. Dans une attaque d'évaluation dynamique, un code arbitraire remplace l'entrée standard, ce qui entraîne l'exécution de la première par l'application. La différence entre l'injection de code et l'injection de commande, une autre forme d'attaque, réside dans la limitation de la fonctionnalité du code injecté pour l'utilisateur malveillant.

Les vulnérabilités d'injection de code vont des plus faciles aux plus difficiles à trouver. De nombreuses solutions ont été développées pour contrecarrer ces types d'attaques par injection de code, tant pour le domaine applicatif que pour l'architecture. Certains exemples incluent la validation d'entrée, le paramétrage, la définition des privilèges pour différentes actions, l'ajout d'une couche de protection supplémentaire et autres.