Vous êtes sur la page 1sur 11

1- Attaque par mot de passe

Problème :

Les mots de passe étant le mécanisme le plus couramment utilisé pour


authentifier les utilisateurs d’un système informatique, l’obtention de mots de
passe est une approche d’attaque courante et efficace. Le mot de passe
d’une personne peut être obtenu en fouillant le bureau physique de la
personne, en surveillant la connexion au réseau pour acquérir des mots de
passe non chiffrés, en ayant recours à l’ingénierie sociale, en accédant à une
base de données de mots de passe ou simplement en devinant. Cette
dernière approche – deviner – peut s’effectuer de manière aléatoire ou
systématique :
 Les attaques par Force Brute consistent à adopter une approche
aléatoire : essayer différents mots de passe en espérant que l’un
d’entre eux fonctionnera. Une certaine logique peut être appliquée :
essayer des mots de passe liés au nom de la personne, à son poste, à
ses passe-temps ou à des éléments similaires.
 Attaques Hybrides est une autre forme de devinette de mot de passe,
ces attaques combinent la puissance des attaques par dictionnaire et
par force brute, couvrant encore plus de combinaisons possibles.
 Attaques par Dictionnaire Une attaque qui a commencé par des
attaquants essayant systématiquement chaque mot dans des
dictionnaires de langue courante comme l'anglais, le français ou
l'espagnol, afin de pénétrer dans un système, en s'appuyant sur la
tendance commune des gens à utiliser un seul mot réel comme leur
mots de passe. Au fil du temps, cependant, les attaquants ont cessé
d'utiliser uniquement un dictionnaire comme source et utilisent
désormais également des listes de mots de passe disponibles sur
Internet. Password, 1234567, password1, 111111 et qwerty restent les
favoris les plus populaires.
 Password Spraying est Également appelée bourrage d'informations
d'identification, la pulvérisation de mots de passe utilise des
informations d'identification volées par le biais d'attaques d'ingénierie
sociale telles que le phishing, ou les résultats réussis d'une attaque par
dictionnaire, par force brute ou hybride. En prenant un mot de passe
dont on sait qu'il fonctionne pour au moins un système ou une
application, un attaquant l'essai dans l'environnement d'une
organisation pour voir s'il fonctionnera ailleurs, accordant un accès
supplémentaire. Étant donné que les mots de passe sont réutilisés si
fréquemment, le crédenciale stuffing est souvent très efficace.

Solution :

Il exit des stratégies pour réduire le risque d'attaque par mot de passe,
alors voici quelques bonnes pratiques pour les empêcher :
 Pen test : La meilleure façon de savoir si votre organisation est
vulnérable aux attaques par mot de passe est d'en lancer une vous-
même avec un test d'intrusion. Un outil de Pen testing automatisé
peut être utilisé pour exécuter rapidement des attaques de mot de
passe. Par exemple, un scénario de pulvérisation de mot de passe
peut être exécuté pour voir si votre environnement est vulnérable,
exposant quelles machines partagent des informations d'identification.
Cela vous donne le temps de changer le mot de passe avant que vous
ne soyez réellement attaqué, et devrait inciter à réévaluer la façon dont
les mots de passe sont créés et appliqués.
 Multi-Factor Authentication (MFA): La MFA place des obstacles
supplémentaires sur le chemin des attaquants en exigeant plus d'un
élément de preuve pour se connecter. Les catégories de preuves
incluent la connaissance, la possession et l'inhérence. Cela inclut
quelque chose qu'un utilisateur connaît, comme un mot de passe,
quelque chose qu'un utilisateur possède, comme un téléphone ou un
jeton de sécurité, et quelque chose que seul l'utilisateur peut fournir,
comme une empreinte digitale. Alors que les éléments de sécurité plus
élevée peuvent avoir des empreintes digitales ou des scanners
oculaires, la plupart des appareils utilisent la connaissance et la
possession pour un processus d'authentification à deux facteurs. Plus il
y a d'exigences, plus un attaquant devra faire de travail pour entrer.
 Surveiller l'activité : les attaquants comptent sur le fait de ne pas être
détectés. Étant donné que tant d'activités se produisent dans un
environnement informatique, une attaque par mot de passe peut
facilement passer entre les mailles du filet. La surveillance de l'activité
avec un SIEM peut signaler un nombre inhabituel de tentatives de
connexion, transmettant automatiquement le problème à l'équipe de
sécurité, lui permettant de prévenir ou de neutraliser rapidement les
risques. Cela signifie que vos équipes de sécurité et vos analystes
peuvent déterminer en temps réel s'ils doivent aller plus loin et
enquêter. De plus, de nombreuses solutions SIEM peuvent agir
automatiquement, verrouillant un utilisateur après un certain nombre
de tentatives infructueuses.

2- Injection SQL
Problème :
L’injection SQL est devenue un problème courant qui affecte les sites
Web exploitant des bases de données. Elle se produit lorsqu’un malfaiteur
exécute une requête SQL sur la base de données via les données entrantes
du client au serveur. Des commandes SQL sont insérées dans la saisie du
plan de données (par exemple, à la place du nom d’utilisateur ou du mot de
passe) afin d’exécuter des commandes SQL prédéfinies. Un exploit d’injection
SQL réussi peut lire les données sensibles de la base de données, modifier
(insérer, mettre à jour ou supprimer) les données de la base de données,
exécuter des opérations d’administration de la base de données (par exemple
la fermer), récupérer le contenu d’un fichier spécifique, et, dans certains cas,
envoyer des commandes au système d’exploitation.
Par exemple, le formulaire Web d’un site Web peut demander le nom
de compte d’un utilisateur, puis l’envoyer à la base de données afin d’extraire
les informations de compte associées à l’aide de SQL dynamique, comme
ceci :
“SELECT * FROM users WHERE account = ‘“+
userProvidedAccountNumber +”’;”

Même si cela fonctionne pour les utilisateurs qui saisissent


correctement leur numéro de compte, cela laisse un passage aux attaquants.
Si, par exemple, quelqu’un décidait de fournir un numéro de compte “‘ or ‘1’ =
‘1’”, cela donnerait une chaîne de requête comme celle-ci :
“SELECT * FROM users WHERE account = ‘’ or ‘1’ = ‘1’;”

Puisque ‘1’ = ‘1’ est toujours évalué comme TRUE, la base de données
renvoie les données de tous les utilisateurs au lieu d’un seul.
La vulnérabilité à ce type d’attaque informatique est liée au fait que
SQL ne fait aucune distinction réelle entre le plan de contrôle et le plan de
données. Pour cette raison, les injections SQL fonctionnent surtout si un site
Web utilise SQL dynamique. De plus, les injections SQL sont très courantes
avec les applications PHP et ASP en raison de la prévalence des anciennes
interfaces fonctionnelles. Les applications J2EE et ASP.NET sont moins
sensibles aux injections SQL en raison de la nature des interfaces
programmatiques disponibles.

Solution :
Prévenir les vulnérabilités d'injection SQL n'est pas facile. Les
techniques de prévention spécifiques dépendent du sous-type de vulnérabilité
SQL I, du moteur de base de données SQL et du langage de programmation.
Cependant, il existe certains principes stratégiques généraux que vous devez
suivre pour assurer la sécurité de votre application Web.
 Étape 1 : former et maintenir la sensibilisation
Pour assurer la sécurité de votre application Web, toutes les
personnes impliquées dans la création de l'application Web doivent
être conscientes des risques associés aux injections SQL. Vous devez
fournir une formation appropriée en matière de sécurité à tous vos
développeurs, personnel d'assurance qualité, DevOps et
administrateurs système. Vous pouvez commencer par les renvoyer à
cette page.
 Étape 2 : Ne faites confiance à aucune entrée d'utilisateur
Traitez toutes les entrées utilisateur comme non fiables. Toute entrée
utilisateur utilisée dans une requête SQL présente un risque d'injection
SQL. Traitez les entrées des utilisateurs authentifiés et/ou internes de
la même manière que vous traitez les entrées publiques.
 Étape 3 : Utilisez des listes blanches et non des listes noires
Ne filtrez pas les entrées des utilisateurs en fonction des listes noires.
Un attaquant intelligent trouvera presque toujours un moyen de
contourner votre liste noire. Si possible, vérifiez et filtrez les entrées
des utilisateurs en utilisant uniquement des listes blanches strictes.
 Étape 4 : Adoptez les dernières technologies
Les anciennes technologies de développement Web n'ont pas de
protection SQLi. Utilisez la dernière version de l'environnement et du
langage de développement et les dernières technologies associées à
cet environnement/langage. Par exemple, en PHP, utilisez PDO au lieu
de MySQLi.
 Étape 5 : Utiliser des mécanismes vérifiés
N'essayez pas de créer une protection SQLi à partir de rien. La plupart
des technologies de développement modernes peuvent vous offrir des
mécanismes de protection contre SQLi. Utilisez de tels mécanismes au
lieu d'essayer de réinventer la roue. Par exemple, utilisez des requêtes
paramétrées ou des procédures stockées.
 Étape 6 : Scannez régulièrement (avec Acunetix)
Les injections SQL peuvent être introduites par vos développeurs ou
via des bibliothèques/modules/logiciels externes. Vous devez analyser
régulièrement vos applications Web à l'aide d'un scanner de
vulnérabilité Web tel qu'Acunetix. Si vous utilisez Jenkins, vous devez
installer le plug-in Acunetix pour analyser automatiquement chaque
version.

3- Attaque DoS :
Problème :
Une attaque par déni de service submerge les ressources d’un
système afin que ce dernier ne puisse pas répondre aux demandes de
service. Une attaque DDoS vise elle aussi les ressources d’un système, mais
elle est lancée à partir d’un grand nombre d’autres machines hôtes infectées
par un logiciel malveillant contrôlé par l’attaquant.
À la différence des attaques conçues pour permettre à un attaquant
d’obtenir ou de faciliter des accès, le déni de service ne procure pas
d’avantage direct aux attaquants. Le déni de service est une satisfaction en
soi pour certains pirates. Cependant, si la ressource attaquée appartient à un
concurrent, l’avantage pour l’attaquant est alors bien réel. Une attaque DoS
peut aussi avoir pour but de mettre un système hors ligne afin de pouvoir
lancer un autre type d’attaque. Un exemple courant de cette technique est le
détournement de session, que je décrirai plus loin.

Il existe plusieurs types d'attaques par déni de service :


 Attaques basées sur le volume : elles utilisent de grandes quantités
de faux trafic pour submerger une ressource en ligne, comme un
serveur ou un site Web. Le volume de l'attaque est mesuré en bits par
seconde.
 Attaques de protocole ou de couche réseau : elles envoient un
grand nombre de paquets à l'infrastructure réseau et aux outils de
gestion de l'infrastructure. Leur taille est mesurée en paquets par
seconde (PPS) et comprend les attaques DDoS Smurf (attaques de la
couche réseau conçues pour inonder un serveur ciblé de messages
d'erreur) et les inondations SYN (qui bloquent les réseaux avec des
demandes de connexion à moitié ouvertes).
 Attaques de la couche application : elles sont similaires aux
attaques basées sur le volume, mais sont menées en inondant les
applications de requêtes malveillantes. Leur taille est mesurée en
requêtes par seconde (RPS).
Solution :
Comme le note la Cybersecurity and Infrastructure Security Agency
(CISA), gérée par le département américain de la Sécurité intérieure, « les
symptômes d'une attaque DoS peuvent ressembler à des problèmes de
disponibilité non malveillants, tels que des problèmes techniques avec un
réseau particulier ou un administrateur système exécutant maintenance."[4]
Cependant, ajoute CISA, "des performances réseau anormalement lentes et
l'indisponibilité d'un site Web particulier peuvent être des signes forts d'une
attaque DoS".
Les organisations peuvent prendre les mesures suivantes pour se
protéger et prévenir les attaques par déni de service :
 Surveiller et analyser le trafic réseau : Le trafic réseau peut être
supervisé via un pare-feu ou un système de détection d'intrusion. Les
administrateurs peuvent configurer des règles qui créent des alertes en
cas de trafic inhabituel, identifient les sources de trafic ou suppriment
les paquets réseau qui répondent à certains critères.
 Renforcer leur posture de sécurité : cela comprend la fortification de
tous les appareils connectés à Internet pour éviter les compromis,
l'installation et la maintenance d'un logiciel antivirus, l'établissement de
pare-feu configurés pour se protéger contre les attaques DoS et le
respect de pratiques de sécurité robustes pour surveiller et gérer le
trafic indésirable.
 Surveiller le trafic : les organisations peuvent s'inscrire à un service
qui détecte ou redirige les flux de trafic anormaux généralement
associés à une attaque DoS, tout en permettant au trafic normal de
continuer sur le réseau.
 Établir un plan de réponse aux attaques DoS : la clé est de créer et
de mettre en pratique un plan de reprise après sinistre pour les
attaques DoS qui couvre la communication, l'atténuation et la
récupération.I

4- Attaque de l’homme au milieu (MITM)


Probleme :
Une attaque de l’homme du milieu est un pirate qui s’insère dans les
communications entre un client et un serveur. Voici quelques types courants
d’attaques de l’homme du milieu :
• Détournement de session
Dans ce type d’attaque MitM, un attaquant détourne une session entre
un client de confiance et un serveur réseau. L’ordinateur attaquant substitue
son adresse IP au client de confiance pendant que le serveur poursuit la
session, croyant qu’il communique avec le client. Par exemple, l’attaque
pourrait se dérouler ainsi :
 Un client se connecte à un serveur.
 L’ordinateur de l’attaquant prend le contrôle du client.
 L’ordinateur de l’attaquant déconnecte le client du serveur.
 L’ordinateur de l’attaquant remplace l’adresse IP du client par sa propre
adresse IP et son propre nom de domaine et usurpe les numéros de
séquence du client.
 L’ordinateur de l’attaquant poursuit le dialogue avec le serveur, le
serveur croit qu’il communique toujours avec le client.
• Usurpation d’IP
Un pirate peut utiliser l’usurpation d’adresse IP pour convaincre un
système qu’il communique avec une entité connue et fiable afin de lui donner
accès au système. Le pirate envoie à un hôte cible un paquet contenant
l’adresse IP source d’un hôte connu et fiable au lieu de sa propre adresse IP
source. Il est possible que l’hôte cible accepte le paquet et agisse en
conséquence.

• Relecture
Une attaque par rejeu se produit lorsqu’un attaquant intercepte et
enregistre d’anciens messages, puis essaie plus tard de les envoyer, se
faisant passer pour l’un des participants. Ce type d’attaque peut facilement
être contré avec un horodatage des sessions ou un nonce (nombre ou chaîne
aléatoire variant avec le temps).
Solution :
 Cryptage WEP/WAP fort sur les points d'accès
Le fait d'avoir un mécanisme de cryptage fort sur les points d'accès
sans fil empêche les utilisateurs indésirables de rejoindre votre réseau
simplement en étant à proximité. Un mécanisme de cryptage faible
peut permettre à un attaquant de se frayer un chemin dans un réseau
et de lancer une attaque de l'homme du milieu. Plus la mise en œuvre
du chiffrement est forte, plus elle est sûre.
 Réseau privé virtuel
Les VPN peuvent être utilisés pour créer un environnement sécurisé
pour les informations sensibles au sein d'un réseau local. Ils utilisent
un cryptage à base de clé pour créer un sous-réseau pour une
communication sécurisée. De cette façon, même si un attaquant arrive
sur un réseau partagé, il ne pourra pas déchiffrer le trafic dans le VPN.
 Forcer le HTTPS
HTTPS peut être utilisé pour communiquer en toute sécurité via HTTP
à l'aide d'un échange de clés public-privé. Cela empêche un attaquant
d'avoir une quelconque utilisation des données qu'il peut renifler. Les
sites Web doivent uniquement utiliser HTTPS et ne pas fournir
d'alternatives HTTP. Les utilisateurs peuvent installer des plugins de
navigateur pour appliquer toujours l'utilisation de HTTPS sur les
demandes.
 Identifiants de connexion du routeur solides
Il est essentiel de vous assurer que la connexion par défaut de votre
routeur est modifiée. Pas seulement votre mot de passe Wi-Fi, mais
les identifiants de connexion de votre routeur. Si un attaquant trouve
les identifiants de connexion de votre routeur, il peut remplacer vos
serveurs DNS par ses serveurs malveillants. Ou pire encore, infectez
votre routeur avec un logiciel malveillant.
 Sécurité des endpoints
Malgré tous vos efforts, vous ou votre personnel pouvez être la proie
d'attaques MITM. Ces attaques se combinent avec des logiciels
malveillants pour obtenir un accès illimité à votre appareil ou à votre
réseau informatique. Tirez parti d'un logiciel de sécurité des terminaux
performant pour vous protéger contre ces menaces. Les meilleurs
logiciels de sécurité, tels que Kaspersky Endpoint Security, vérifient
les sites Web et les e-mails potentiellement dangereux pour vous aider
à éviter d'être victime d'une cyberattaque. Si votre appareil ou votre
réseau est infecté par des logiciels malveillants, ce logiciel de sécurité
intervient pour vous défendre.
5- Attaque XSS (Cross-Site Scripting)
Problème :
Les attaques XSS utilisent des ressources Web tierces pour exécuter
des scripts dans le navigateur Web de la victime ou dans une application
pouvant être scriptée. Plus précisément, l’attaquant injecte un JavaScript
malveillant dans la base de données d’un site Web. Lorsque la victime
demande une page du site Web, le site Web transmet la page à son
navigateur avec le script malveillant intégré au corps HTML. Le navigateur de
la victime exécute ce script, qui envoie par exemple le cookie de la victime au
serveur de l’attaquant, qui l’extrait et l’utilise pour détourner la session. Les
conséquences les plus graves se produisent lorsque XSS sert à exploiter des
vulnérabilités supplémentaires. Ces vulnérabilités peuvent non seulement
permettre à un attaquant de voler des cookies, mais aussi d’enregistrer les
frappes de touches et des captures d’écran, de découvrir et de collecter des
informations réseau et d’accéder et de contrôler à distance l’ordinateur de la
victime.

XSS peut être exploité avec VBScript, ActiveX et Flash, mais c’est
JavaScript qui est le plus largement touché, principalement en raison de son
omniprésence sur le Web.
Pour se défendre contre les attaques XSS, les développeurs peuvent
assainir les données entrées par les utilisateurs dans leurs requêtes HTTP
avant de les renvoyer. Assurez-vous que toutes les données sont validées,
filtrées ou effacées avant de renvoyer quoi que ce soit à l’utilisateur, par
exemple les valeurs des paramètres de requête lors de recherches.
Convertissez les caractères spéciaux tels que ? &, /, <, > et les espaces en
leurs équivalents codés HTML ou URL. Offrez aux utilisateurs la possibilité de
désactiver les scripts côté client.
L'impact réel d'une attaque XSS dépend généralement de la nature de
l'application, de ses fonctionnalités et de ses données, ainsi que du statut de
l'utilisateur compromis. Par exemple :
 Dans une application brochureware, où tous les utilisateurs sont
anonymes et toutes les informations sont publiques, l'impact sera
souvent minime.
 Dans une application contenant des données sensibles, telles que des
transactions bancaires, des e-mails ou des dossiers médicaux, l'impact
sera généralement grave.
 Si l'utilisateur compromis a des privilèges élevés au sein de
l'application, l'impact sera généralement critique, permettant à
l'attaquant de prendre le contrôle total de l'application vulnérable et de
compromettre tous les utilisateurs et leurs données.
Solution :
Empêcher les scripts intersites est trivial dans certains cas, mais peut
être beaucoup plus difficile en fonction de la complexité de l'application et de
la manière dont elle gère les données contrôlables par l'utilisateur.
En général, la prévention efficace des vulnérabilités XSS implique
probablement une combinaison des mesures suivantes :

 Filtrer l'entrée à l'arrivée


Au moment où l'entrée de l'utilisateur est reçue, filtrez aussi strictement
que possible en fonction de l'entrée attendue ou valide.
 Encoder les données en sortie
Au moment où les données contrôlables par l'utilisateur sont générées
dans les réponses HTTP, encodez la sortie pour éviter qu'elle ne soit
interprétée comme un contenu actif. Selon le contexte de sortie, cela
peut nécessiter l'application de combinaisons d'encodage HTML, URL,
JavaScript et CSS.
 Utilisez les en-têtes de réponse appropriés
Pour empêcher XSS dans les réponses HTTP qui ne sont pas
destinées à contenir du HTML ou du JavaScript, vous pouvez utiliser
les en-têtes Content-Type et X-Content-Type-Options pour vous
assurer que les navigateurs interprètent les réponses comme vous le
souhaitez.
 Politique de sécurité du contenu
Comme dernière ligne de défense, vous pouvez utiliser la politique de
sécurité du contenu (CSP) pour réduire la gravité des vulnérabilités
XSS qui se produisent encore.
1. https://www.coresecurity.com/blog/6-ways-defend-yourself-against-password-attacks
2. https://www.acunetix.com/websitesecurity/sql-
injection/#:~:text=The%20only%20sure%20way%20to,inputs%20such%20as%20login%2
0forms.
3. https://www.mimecast.com/blog/what-is-dos-attack-and-how-to-prevent-it/
4. https://www.extrahop.com/resources/attacks/dos/
5. https://www.fool.com/the-ascent/small-business/endpoint-security/articles/mitm/
6. https://www.rapid7.com/fundamentals/man-in-the-middle-attacks/
7. https://portswigger.net/web-security/cross-site-scripting
8. https://crashtest-security.com/xss-attack-prevention/

Vous aimerez peut-être aussi