À la découverte des attaques par injection !

À la différence d’une injection médicale qui a pour but de traiter un mal chez l'Homme, l'injection est nuisible pour les systèmes d'informations.

Qu'est-ce qu'une attaque par injection ?

Il s'agit d’une attaque permettant à un attaquant d'injecter un code malveillant dans un réseau, un programme ou une requête et de récupérer des données de la base de données d’un système. Ce type d'attaque permet également à un attaquant d'injecter des logiciels malveillants pour exécuter des commandes à distance.

Mode de Fonctionnement

Les attaques par injection peuvent être utilisées non seulement pour se connecter à une application sans connaître le nom d'utilisateur et le mot de passe, mais aussi pour exposer des informations privées, confidentielles ou sensibles, ou même pour détourner un serveur entier et impliquent des coûts intangibles tels que la perte de crédibilité, l’affaiblissement de l’image de marque ou encore carrément la perte de clients.. C'est pourquoi ces attaques ne sont pas seulement une menace pour les applications Web, mais aussi aux utilisateurs dont les données résident sur ces applications, et dans le pire des cas, sur d'autres applications et services connectés.

Cibles

L’injection est une des plus anciennes formes de cyberattaque, mais qui a toujours la côte chez les cyberpirates. Dans le rapport d’Imperva intitulé The State of Web Application Vulnerabilities in 2018, l’injection représentait 19 % des attaques contre les applications Web montrant qu’il s’agit de la méthode d’attaque la plus utilisée envers les applications Web. La montée en flèche de la quantité d’appareils connectés à internet (IOT)  ne fait qu’aggraver le problème en raison de leur nouveauté et, par conséquent, des failles de sécurité qu’ils présentent. En raison de leurs ressources limitées, les petites et moyennes entreprises sont bien souvent les souffre-douleur favoris des cybercriminels. 

Les types d’injection

Les principaux types d’attaques par injection sont:

  • Code injection: permet aux attaquants d’injecter du code via des champs de saisie de texte pour amener le serveur a faire ce qu’il veut. Pour contrecarrer cette attaque, mettez en place la validation de toutes les données envoyées sur vos applications
  • SQL injection: Il s’agit de l’insertion de script SQL pour effectuer des opérations de requêtes
  • Command injection: l’attaquant insère des commandes système ne nécessitant pas de connaître le langage utilisé par la base de données mais le système d’exploitation utilisé pour l'hébergement. En limitant les niveaux d'accès système des applications Web exécutés sur le serveur on peut l’éviter
  • Cross-site scripting: il s’agit de l’envoie de code malveillant a un autre utilisateur final d’un système qui sera exécuté par son navigateur permettant à l’attaquant d'accéder aux jetons de session, et cookies ou informations sensibles stockés par le navigateur de l'utilisateur
  • CRLF injection: c’est l'insertion de caractères de retour chariot et de saut de ligne dans les champs d'entrée de formulaire Web,  Ces caractères invisibles indiquent la fin d'une ligne ou la fin d'une commande dans de nombreux protocoles Internet traditionnels, tels que HTTP, MIME ou NNTP. Par exemple, l'insertion d'un CRLF dans une requête HTTP, suivie d'un certain code HTML, pourrait envoyer des pages Web personnalisées aux visiteurs d'un site Web. Appliquer le filtrage appropriée à l'entrée des utilisateurs pour l'éviter

Comment se protéger ?

  • Effectuez toutes les mises à jour de sécurité de vos applications et logiciels
  • Misez sur la séparation des privilèges pour les comptes qui ont accès aux bases de données. Ne conférait que les accès nécessaires à chacun des comptes
  • N’utilisez pas de bases de données partagées entre les différents sites Web et applications
  • Encadrez le plus possible les informations qui sont entrées dans les formulaires. Si vous le pouvez, insérez des menus déroulants ou des options à cocher. Évitez les champs qui permettent aux utilisateurs d’entrer manuellement des informations
  • Sensibiliser les développeurs d’applications sur ces risques pour qu’il puissent apprendre les meilleurs pratiques pour valider les données envoyés par les utilisateurs
  • Auditer, détecter et corriger les vulnérabilités de vos systèmes


 

 

La Rédaction d'Africa Cybersecurity Mag