- À propos des attaques informatiques
- Objectifs et motivations des attaques informatiques
- Principales catégories d'attaques informatiques
- Étapes et déroulement d'une cyberattaque
- Vecteurs d'attaque et vulnérabilités exploitées
- Détection et analyse des attaques informatiques
- Exemples de détection d'attaques avec Python
- Prévention et réponse aux attaques informatiques
- À retenir
En cybersécurité, une attaque informatique représente une action intentionnelle visant à compromettre la sécurité d'un système, d'un réseau, d'une application ou de données. Comprendre les différents types d'attaques, leurs mécanismes et leurs conséquences constitue une étape fondamentale pour apprendre à protéger les infrastructures numériques.
1. À propos des attaques informatiques
Une attaque informatique, également appelée cyberattaque, désigne une action malveillante visant à exploiter une faiblesse technique, organisationnelle ou humaine afin de compromettre un système d'information.
Une attaque peut être menée par une personne, un groupe organisé ou un programme automatisé. Elle peut viser un ordinateur individuel, un serveur, une application Web, une base de données, un réseau local ou une infrastructure cloud.
Les trois propriétés fondamentales de la sécurité
La majorité des attaques peuvent être étudiées à travers les trois propriétés du modèle CIA : confidentialité, intégrité et disponibilité.
| Propriété | Définition | Exemple de compromission |
|---|---|---|
| Confidentialité | Empêcher les accès non autorisés aux informations. | Vol de fichiers confidentiels. |
| Intégrité | Garantir que les données ne sont pas modifiées sans autorisation. | Modification frauduleuse d'une base de données. |
| Disponibilité | Garantir l'accès aux systèmes et services lorsque cela est nécessaire. | Interruption d'un serveur par une attaque DDoS. |
Différence entre menace, vulnérabilité et attaque
- Menace : cause potentielle d'un incident susceptible de provoquer des dommages.
- Vulnérabilité : faiblesse pouvant être exploitée pour compromettre un système.
- Attaque : action intentionnelle destinée à exploiter une faiblesse ou à contourner une protection.
- Incident de sécurité : événement ayant compromis, ou susceptible de compromettre, la sécurité d'un système.
Par exemple, un serveur utilisant une version vulnérable d'un logiciel présente une vulnérabilité. Un attaquant peut tenter de l'exploiter. Si cette tentative compromet effectivement le serveur, elle provoque un incident de sécurité.
Attaque réussie et tentative d'attaque
Une tentative d'attaque ne conduit pas nécessairement à une compromission. Un pare-feu, un système de détection, une authentification forte ou une configuration correcte peuvent empêcher l'action malveillante d'atteindre son objectif.
Une attaque peut également être détectée après son déclenchement, avant qu'elle ne produise des conséquences importantes.
2. Objectifs et motivations des attaques informatiques
Les cyberattaques peuvent poursuivre des objectifs très différents. Certaines cherchent à obtenir un avantage financier, tandis que d'autres sont motivées par l'espionnage, le sabotage ou des considérations idéologiques.
Vol de données
Une attaque peut viser l'exfiltration d'informations sensibles : identifiants, documents internes, données personnelles, secrets commerciaux ou informations financières.
Extorsion financière
Les cybercriminels peuvent chercher à obtenir de l'argent par différents moyens, notamment à travers les ransomwares, qui peuvent chiffrer des données et s'accompagner de menaces de divulgation.
Espionnage
Le cyberespionnage consiste à rechercher discrètement des informations présentant une valeur stratégique, économique, politique ou scientifique.
Sabotage
Certaines attaques cherchent à endommager des systèmes, perturber des processus industriels ou empêcher le fonctionnement normal d'une organisation.
Usurpation d'identité
Un attaquant peut tenter d'utiliser les identifiants d'une autre personne pour accéder à des services ou effectuer des opérations non autorisées.
Perturbation des services
Une attaque peut également viser la disponibilité d'un service numérique, par exemple en provoquant une saturation de ses ressources.
Principaux profils d'attaquants
- Cybercriminels : acteurs principalement motivés par le gain financier.
- Groupes APT : acteurs organisés conduisant des opérations ciblées et parfois prolongées.
- Hacktivistes : acteurs motivés par des objectifs idéologiques ou militants.
- Menaces internes : employés, prestataires ou autres personnes disposant déjà de certains accès.
- Attaquants opportunistes : acteurs recherchant des systèmes facilement exploitables.
Il faut distinguer ces activités malveillantes des tests d'intrusion autorisés, qui sont réalisés avec l'accord du propriétaire du système afin d'identifier et de corriger des vulnérabilités.
3. Principales catégories d'attaques informatiques
Les attaques informatiques peuvent être classées selon leur cible, leur technique ou leur objectif. Une même attaque peut appartenir simultanément à plusieurs catégories.
Attaques contre les applications Web
Ces attaques visent les sites Web, les applications et leurs composants côté serveur.
- Injection SQL : exploitation d'une mauvaise construction des requêtes SQL.
- Cross-Site Scripting (XSS) : injection de contenu actif non fiable dans des pages Web.
- CSRF : tentative de faire exécuter une action non souhaitée par un utilisateur authentifié.
- Contrôle d'accès défaillant : accès à des ressources sans autorisation suffisante.
- SSRF : exploitation d'une application pour lui faire effectuer des requêtes vers des destinations non prévues.
Attaques contre les réseaux
Ces attaques ciblent les communications et les équipements réseau.
- ARP Spoofing : falsification des associations IP/MAC sur un réseau local IPv4.
- DNS Spoofing : falsification d'informations de résolution DNS.
- Man-in-the-Middle : interposition dans une communication.
- DoS : perturbation de la disponibilité d'un service.
- DDoS : attaque par déni de service provenant de plusieurs sources.
Attaques par logiciels malveillants
Les malwares sont des logiciels conçus pour effectuer des actions malveillantes.
- Virus : code malveillant capable de se propager en infectant d'autres fichiers ou programmes.
- Ver informatique : programme malveillant pouvant se propager automatiquement.
- Cheval de Troie : programme se présentant comme légitime mais comportant une fonction malveillante.
- Ransomware : logiciel utilisé dans des opérations d'extorsion, souvent par chiffrement des données.
- Spyware : logiciel espion destiné à collecter des informations.
- Rootkit : ensemble de mécanismes pouvant permettre de dissimuler une présence ou certaines activités.
Attaques contre les identifiants
- Brute Force : essais répétés de différentes combinaisons de mots de passe.
- Password Spraying : essais d'un nombre limité de mots de passe sur plusieurs comptes.
- Credential Stuffing : réutilisation automatisée d'identifiants compromis provenant d'autres services.
- Vol de session : utilisation non autorisée d'informations permettant de reprendre une session.
Attaques par ingénierie sociale
L'ingénierie sociale exploite les comportements humains plutôt qu'une vulnérabilité purement technique.
- Phishing : messages frauduleux destinés à tromper les destinataires.
- Spear Phishing : phishing ciblant une personne ou une organisation précise.
- Vishing : fraude utilisant les communications vocales.
- Smishing : fraude utilisant les SMS.
- Pretexting : création d'un scénario trompeur pour obtenir des informations ou provoquer une action.
Attaques contre les infrastructures cloud et les API
Les services cloud et les API peuvent être compromis par des erreurs de configuration, des permissions excessives, des clés exposées ou des contrôles d'accès insuffisants.
La sécurité des API repose notamment sur l'authentification, l'autorisation, la validation des données et la limitation des requêtes.
4. Étapes et déroulement d'une cyberattaque
Une cyberattaque peut comporter plusieurs phases. Leur ordre varie selon les objectifs, les techniques employées et les protections rencontrées.
Reconnaissance
La reconnaissance consiste à collecter des informations sur une cible, ses services, ses technologies et son environnement.
Accès initial
L'accès initial correspond à la première possibilité d'interaction non autorisée avec un système. Il peut notamment résulter d'une vulnérabilité, d'un identifiant compromis ou d'une tromperie.
Exécution
Après avoir obtenu certaines possibilités d'accès, un attaquant peut chercher à faire exécuter des actions ou du code dans l'environnement ciblé.
Persistance
La persistance désigne les mécanismes permettant de conserver ou retrouver un accès à un système compromis.
Élévation des privilèges
Un attaquant peut tenter d'obtenir des autorisations supérieures à celles dont il dispose initialement.
Découverte et mouvement latéral
Après une compromission, l'attaquant peut chercher à comprendre l'environnement interne et à accéder à d'autres machines ou ressources.
Actions sur les objectifs
La phase finale peut comprendre le vol de données, la modification d'informations, l'interruption d'un service ou d'autres actions correspondant aux objectifs de l'attaquant.
Modèle simplifié
- Collecter des informations sur la cible.
- Identifier une possibilité d'accès.
- Tenter une intrusion.
- Obtenir éventuellement des privilèges supplémentaires.
- Explorer l'environnement compromis.
- Atteindre les ressources recherchées.
- Effectuer les actions malveillantes prévues.
Le référentiel MITRE ATT&CK permet d'étudier les tactiques et techniques utilisées lors de nombreuses intrusions réelles. Il constitue une ressource importante pour les analystes en cybersécurité et les équipes de défense.
5. Vecteurs d'attaque et vulnérabilités exploitées
Un vecteur d'attaque est un moyen ou un chemin utilisé pour tenter d'accéder à une cible ou de compromettre sa sécurité.
Principaux vecteurs d'attaque
| Vecteur | Description | Protection principale |
|---|---|---|
| Courriel frauduleux | Message destiné à tromper un utilisateur. | Sensibilisation et filtrage. |
| Service vulnérable | Application présentant une faiblesse exploitable. | Correctifs et durcissement. |
| Mot de passe compromis | Utilisation d'identifiants obtenus illégalement. | MFA et surveillance. |
| API mal sécurisée | Interface exposant des fonctions ou données sans contrôle suffisant. | Authentification et autorisation. |
| Configuration incorrecte | Paramètres de sécurité insuffisants. | Audit et configuration sécurisée. |
| Support amovible | Introduction possible d'un logiciel malveillant. | Contrôle des périphériques. |
| Fournisseur compromis | Compromission via une dépendance ou un prestataire. | Gestion des risques fournisseurs. |
Surface d'attaque
La surface d'attaque désigne l'ensemble des points par lesquels un système peut être exposé à des actions malveillantes.
Elle peut comprendre les ports réseau, les applications Web, les API, les comptes utilisateurs, les services cloud et les équipements connectés.
Vulnérabilités connues et inconnues
Une vulnérabilité connue est une faiblesse déjà identifiée. Certaines vulnérabilités sont répertoriées dans le système CVE, pour Common Vulnerabilities and Exposures.
Une vulnérabilité zero-day désigne une faille pour laquelle aucun correctif n'est encore disponible au moment considéré. Le terme est également utilisé pour évoquer certaines exploitations de failles jusque-là inconnues du fournisseur.
Réduire la surface d'attaque
- désactiver les services inutiles ;
- supprimer les comptes obsolètes ;
- mettre à jour les systèmes ;
- restreindre les ports exposés ;
- appliquer le moindre privilège ;
- protéger les interfaces d'administration ;
- contrôler les dépendances logicielles ;
- réaliser des audits de sécurité réguliers.
6. Détection et analyse des attaques informatiques
La détection des attaques consiste à identifier des événements pouvant révéler une tentative d'intrusion, une activité malveillante ou une compromission.
Indicateurs de compromission
Un IOC, pour Indicator of Compromise, est un élément pouvant contribuer à identifier une compromission.
Les IOC peuvent notamment comprendre :
- des empreintes de fichiers malveillants ;
- des domaines associés à une activité malveillante ;
- des adresses IP suspectes ;
- des fichiers ou processus inhabituels ;
- des comptes créés sans justification ;
- des modifications inattendues de configuration.
Indicateurs comportementaux
Les indicateurs comportementaux permettent de rechercher des activités inhabituelles même lorsqu'aucune signature malveillante connue n'est disponible.
Par exemple, des échecs d'authentification répétés, des accès inhabituels à des données sensibles ou des connexions à des horaires anormaux peuvent nécessiter une investigation.
Principaux outils de détection
| Outil | Fonction principale |
|---|---|
| Antivirus | Détecter et bloquer différentes catégories de logiciels malveillants. |
| EDR | Surveiller les postes et serveurs et faciliter l'investigation. |
| IDS | Détecter certaines activités suspectes. |
| IPS | Détecter et bloquer certaines activités selon les règles configurées. |
| SIEM | Centraliser et corréler des événements de sécurité. |
| Wireshark | Capturer et analyser le trafic réseau. |
| WAF | Filtrer certaines attaques visant les applications Web. |
Faux positifs et faux négatifs
Un faux positif se produit lorsqu'une activité légitime est considérée à tort comme malveillante.
Un faux négatif se produit lorsqu'une activité malveillante n'est pas détectée.
La qualité d'un système de détection dépend donc non seulement de sa capacité à identifier les attaques, mais également de sa capacité à limiter les alertes injustifiées.
7. Exemples de détection d'attaques avec Python
Python peut être utilisé pour analyser des journaux, détecter des événements inhabituels et produire des rapports de surveillance. Les exemples suivants reposent sur des données fictives et ne réalisent aucune attaque.
Détecter des échecs d'authentification répétés
Le programme suivant compte les échecs d'authentification présents dans une liste d'événements. Lorsqu'un utilisateur atteint un seuil défini, une alerte est affichée. Il s'agit d'une règle pédagogique et non d'une preuve automatique d'intrusion.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | evenements = [ ("alice", "echec"), ("bob", "succes"), ("alice", "echec"), ("alice", "echec"), ("charles", "echec"), ("alice", "echec") ] echecs = {} seuil = 3 for utilisateur, resultat in evenements: if resultat == "echec": echecs[utilisateur] = echecs.get(utilisateur, 0) + 1 for utilisateur, nombre in echecs.items(): if nombre >= seuil: print("Alerte :", utilisateur, "-", nombre, "échecs") |
Output :
1 | Alerte : alice - 4 échecs |
Analyser les codes HTTP
Le programme suivant analyse une série fictive de codes de réponse HTTP. Il compte les erreurs 404 et 403, qui peuvent parfois révéler des tentatives répétées d'accès à des ressources non disponibles ou interdites.
1 2 3 4 5 6 7 | codes_http = [200, 200, 404, 403, 404, 200, 404, 403] nombre_404 = codes_http.count(404) nombre_403 = codes_http.count(403) print("Erreurs 404 :", nombre_404) print("Erreurs 403 :", nombre_403) if nombre_404 + nombre_403 >= 5: print("Alerte : activité à examiner") |
Output :
1 2 3 | Erreurs 404 : 3 Erreurs 403 : 2 Alerte : activité à examiner |
Un nombre élevé d'erreurs HTTP n'indique pas nécessairement une attaque. Il peut aussi résulter d'un lien incorrect, d'un problème applicatif ou d'un outil de supervision.
Détecter un volume inhabituel de requêtes
Le programme suivant simule une règle de surveillance du nombre de requêtes reçues pendant une minute. Le seuil choisi est uniquement pédagogique et doit être adapté aux caractéristiques réelles de l'application.
1 2 3 4 5 6 | requetes_par_minute = 850 seuil = 500 if requetes_par_minute > seuil: print("Alerte : volume inhabituel de requêtes") else: print("Volume de requêtes normal") |
Output :
1 | Alerte : volume inhabituel de requêtes |
Vérifier l'intégrité d'un fichier
Le programme suivant utilise SHA-256 pour calculer l'empreinte d'un fichier et la comparer à une empreinte de référence. Cette technique peut contribuer à identifier une modification inattendue d'un fichier important.
1 2 3 4 5 6 7 8 9 | import hashlib contenu_reference = b"configuration=active" contenu_actuel = b"configuration=inactive" empreinte_reference = hashlib.sha256(contenu_reference).hexdigest() empreinte_actuelle = hashlib.sha256(contenu_actuel).hexdigest() if empreinte_reference == empreinte_actuelle: print("Intégrité vérifiée") else: print("Alerte : contenu modifié") |
Output :
1 | Alerte : contenu modifié |
La modification d'un fichier ne signifie pas automatiquement qu'une attaque s'est produite. Elle peut également correspondre à une mise à jour ou à une intervention administrative autorisée.
Créer un rapport simplifié de surveillance
Le programme suivant rassemble plusieurs observations fictives dans un dictionnaire Python et produit un rapport lisible. Cette approche constitue une introduction à la corrélation des événements.
1 2 3 4 5 6 7 8 9 | rapport = { "echecs_authentification": 12, "erreurs_http": 8, "volume_requetes_anormal": True, "fichier_modifie": False } print("RAPPORT DE SURVEILLANCE") for evenement, valeur in rapport.items(): print(evenement, ":", valeur) |
Output :
1 2 3 4 5 | RAPPORT DE SURVEILLANCE echecs_authentification : 12 erreurs_http : 8 volume_requetes_anormal : True fichier_modifie : False |
Dans un environnement professionnel, ces informations peuvent être enrichies avec les dates, les adresses sources, les identifiants des machines et les journaux provenant de plusieurs équipements.
8. Prévention et réponse aux attaques informatiques
La protection d'un système d'information nécessite une approche de défense en profondeur. Aucun outil isolé ne garantit une sécurité absolue.
Installer les mises à jour
Les systèmes d'exploitation, frameworks, bibliothèques et applications doivent recevoir régulièrement les correctifs de sécurité adaptés.
Utiliser une authentification forte
Les comptes sensibles doivent être protégés par des mots de passe robustes et, lorsque cela est possible, par une authentification multifacteur.
Appliquer le moindre privilège
Les utilisateurs et applications doivent disposer uniquement des permissions nécessaires à leurs fonctions.
Segmenter les réseaux
La segmentation réseau permet de séparer différents groupes de ressources et de limiter les communications inutiles entre eux.
Utiliser des solutions de sécurité
Selon les besoins, les organisations peuvent déployer des pare-feu, antivirus, EDR, IDS/IPS, WAF et plateformes SIEM.
Protéger les données
Le chiffrement, les contrôles d'accès et la gestion correcte des clés contribuent à protéger les données sensibles.
Effectuer des sauvegardes
Les sauvegardes doivent être régulières, protégées contre les modifications non autorisées et périodiquement testées afin de vérifier leur capacité de restauration.
Sensibiliser les utilisateurs
La formation des utilisateurs permet de réduire certains risques liés au phishing, aux pièces jointes malveillantes et aux demandes frauduleuses.
Surveiller les systèmes
Les journaux et alertes doivent être analysés afin de détecter rapidement les événements inhabituels.
Réaliser des tests de sécurité autorisés
Les tests d'intrusion, audits et analyses de vulnérabilités permettent d'identifier des faiblesses avant qu'elles ne soient exploitées par des acteurs malveillants.
Réponse à incident
Lorsqu'une attaque est suspectée ou confirmée, l'organisation doit appliquer une procédure structurée de réponse à incident.
- Préparation : définir les responsabilités, les procédures et les outils nécessaires.
- Détection et analyse : identifier les événements suspects et déterminer leur portée.
- Confinement : limiter la propagation et les conséquences de l'attaque.
- Éradication : supprimer les éléments malveillants et corriger les causes identifiées.
- Récupération : restaurer progressivement les services et vérifier leur fonctionnement.
- Retour d'expérience : documenter l'incident et améliorer les mesures de sécurité.
Importance de la préservation des preuves
Lors d'un incident sérieux, les journaux, fichiers, images disque et autres preuves numériques doivent être préservés selon des procédures adaptées. Une intervention précipitée peut détruire des informations importantes pour l'investigation.
9. À retenir
Une attaque informatique est une action intentionnelle visant à compromettre un système, un réseau, une application ou des données.
Les attaques peuvent affecter la confidentialité, l'intégrité et la disponibilité des informations et des services.
Il existe de nombreuses catégories d'attaques : attaques Web, attaques réseau, logiciels malveillants, attaques contre les identifiants, ingénierie sociale et attaques contre les infrastructures cloud.
Les attaquants peuvent exploiter des vulnérabilités, des erreurs de configuration, des identifiants compromis ou des faiblesses humaines.
Une cyberattaque peut comporter plusieurs phases, notamment la reconnaissance, l'accès initial, la persistance, l'élévation des privilèges, le mouvement latéral et les actions sur les objectifs.
La détection repose sur l'analyse des journaux, des événements système, des communications réseau et des indicateurs de compromission.
Des outils tels que les antivirus, EDR, IDS/IPS, SIEM et WAF peuvent contribuer à la protection et à la surveillance des systèmes.
La prévention repose sur les mises à jour, l'authentification multifacteur, le moindre privilège, la segmentation, le chiffrement, les sauvegardes et la sensibilisation des utilisateurs.
Enfin, une stratégie de défense en profondeur associée à une procédure de réponse à incident constitue une base essentielle pour réduire les risques et limiter les conséquences des cyberattaques.
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/



