|
·Les Commandes utiles aux réseaux (Windows)
· Qu’est ce qu’Internet ?
Internet est un réseau informatique à l'échelle du monde, reposant sur le protocole de communication IP (Internet Protocol), et qui rend accessible au public des services comme le courrier électronique et le web. Ses utilisateurs sont désignés par le néologisme internaute.Internet ayant été popularisé par l'apparition du web (www étant l'abréviation de World Wide Web, littéralement la Toile Mondiale), les deux sont parfois confondus par le public non averti. En réalité, le web est une des applications d'Internet, comme le sont le courrier électronique, la messagerie instantanée ou les systèmes de partage de fichiers poste à poste.Par ailleurs, du point de vue de la confidentialité des communications, il importe de distinguer l'Internet (accès mondial) de l'extranet, réseau d'interconnexion avec les partenaires d'une entreprise, et l'intranet, qui est un réseau interne à une entreprise.Ainsi, pour désigner l'ensemble Internet, extranet, intranet, on emploie l'expression: le net.
·Qu’est-ce qu’un protocole ?
Dans les réseaux informatiques et les télécommunications, un protocole de communication est une spécification de plusieurs règles pour un type de communication particulier. Initialement, on nommait protocole ce qui est utilisé pour communiquer sur une même couche d'abstraction entre deux machines différentes. Par extension de langage, on utilise parfois ce mot aussi aujourd'hui pour désigner les règles de communication entre deux couches sur une même machine. Les protocoles de communication les plus utilisés sont les protocoles réseau.Sur Internet, les protocoles utilisés font partie d’une suite de protocoles, c’est-à-dire un ensemble de protocoles reliés entre-eux. Cette suite de protocole s’appelle TCP/IP. Elle contient, entre autres, les protocoles suivants :
- IP - Internet Protocol (gère le transport et le routage des paquets sur le réseau)
- TCP - Transmission Control Protocol (gère l’établissement de la connexion, les transferts de données, et la fin de la connexion dans une communication IP)
- UDP - User Data Protocol (gère la transmission rapide de données sans contrôle - à la différence de TCP)
- ICMP - Internet Control Message Protocol (contrôle des erreurs de transmission sur Internet)
- HTTP - HyperText Transport Protocol (pages web)
- FTP - File Transfer Protocol (transfert de fichiers)
- SMTP - Simple Mail Transfer Protocol (expédition du courrier)
- POP - Post Office Protocol (récupération du courriel)
- IMAP - Internet Mail Access Protocol (récupération du courriel avec fonctionnalités avancées)
- SSH - Secure SHell (pour l’accès distant sécurisé sur les stations de type Unix ou Linux)
- NNTP - Network News Transport Protocol (Usenet ou newsgroups - messages organisés par groupes de discussion stockés et relayés par serveurs NTTP)
Protocoles orientés et non orientés connexion
On classe généralement les protocoles en deux catégories selon le niveau de contrôle des données que l’on désire :
- Les protocoles orientés connexion : Il s’agit des protocoles opérant un contrôle de transmission des données pendant une communication établie entre deux machines. Dans un tel schéma, la machine réceptrice envoie des accusés de réception lors de la communication, ainsi la machine émettrice est assurée de la validité des données qu’elle envoie. Les données sont ainsi envoyées sous forme de flot. TCP est un protocole orienté connexion.
- Les protocoles non orientés connexion : Il s’agit d’un mode de communication dans lequel la machine émettrice envoie des données sans prévenir la machine réceptrice, et la machine réceptrice reçoit les données sans envoyer d’avis de réception à la première. Les données sont ainsi envoyées sous forme de blocs (datagrammes). UDP est un protocole non orienté connexion.
Protocole et implémentation
Un protocole définit uniquement la façon par laquelle les machines doivent communiquer, c’est-à-dire la forme et la séquence des données à échanger. Un protocole ne définit par contre pas la manière de programmer un logiciel de telle manière à ce qu’il soit compatible avec le protocole. On appelle ainsi implémentation la traduction d’un protocole en langage informatique.
Les spécifications des protocoles ne sont jamais exhaustives, aussi il est courant que les implémentations soient l’objet d’une certaine interprétation des spécifications, ce qui conduit parfois à des spécificités de certaines implémentations ou pire à des incompatibilités ou des failles de sécurité !
·Qu’est-ce qu’une IP ?
Une adresse IP (avec IP pour Internet Protocol) est le numéro qui identifie chaque ordinateur sur Internet, et plus généralement, l'interface avec le réseau de tout matériel informatique (routeur, imprimante) connecté à un réseau informatique utilisant le protocole Internet.Ce concept d'adresse IP existe sous deux formalismes différents: version 4 et version 6. En 2006, la version 4 est la plus utilisée; le numéro est généralement noté avec 4 nombres compris entre 0 et 255, séparés par des points ; exemple : 212.85.150.133. Donc les ordinateurs communiquent entre eux grâce au protocole TCP/IP qui utilise des numéros de 32 bits allant de 0 à 255 (4 fois 8 bits), cette version 4 est décrite plus spécifiquement dans adresse IPv4.
·Qu’appelle-t-on DNS ?
Le Domain Name System (ou DNS, système de noms de domaine) est un système permettant d'établir une correspondance entre une adresse IP et un nom de domaine et, plus généralement, de trouver une information à partir d'un nom de domaine.Un nom de domaine peut utiliser plusieurs serveurs DNS. Généralement, les noms de domaines en utilisent deux : un primaire et un secondaire. Seuls ces derniers peuvent fournir une réponse valable à tout instant. On parle de réponse faisant autorité (authoritative answer en anglais). Les serveurs des Fournisseurs d'accès à Internet quant à eux fournissent des réponses qui ne sont pas nécessairement à jour, à cause du cache mis en place. On parle alors de réponse ne faisant pas autorité (non authoritative answer en anglais).Comme beaucoup de protocoles Internet, le DNS a été conçu sans se préoccuper de la sécurité. Il ne faut donc pas se fier au DNS pour arriver sur le bon serveur et c'est pour cela que des protocoles comme SSH font leur propre vérification (via la cryptographie). Les principales failles du DNS (décrites dans le RFC 3833) sont :
- Interception du paquet (requête ou réponse) et émission d'un autre paquet à sa place,
- Fabrication d'une réponse (les serveurs DNS acceptent trop facilement des réponses puisque seul un numéro de requête, très petit, sert d'authentification),
- Trahison par un serveur (le secondaire hors-site d'un domaine peut par exemple passer sous le contrôle de personnes malintentionnées),
- Et le traditionnel déni de service.
·Qu’est-ce qu’une URL ? Une URL (Uniform Resource Locator) est un format de nommage universel pour désigner une ressource sur Internet. Il s’agit d’une chaîne de caractères ASCII imprimables qui se décompose en cinq parties :
- Le nom du protocole : c’est-à-dire en quelque sorte le langage utilisé pour communiquer sur le réseau. Le protocole le plus largement utilisé est le protocole HTTP (HyperText Transfer Protocol), le protocole permettant d’échanger des pages Web au format HTML. De nombreux autres protocoles sont toutefois utilisables (FTP,News,Mailto,Gopher,...)
- Identifiant et mot de passe : permet de spécifier les paramètres d’accès à un serveur sécurisé. Cette option est facultative et même déconseillée car le mot de passe est visibledansl’URLet voyage donc en clair sur Internet.
- Le nom du serveur : Il s’agit d’un nom de domaine de l’ordinateur hébergeant la ressource demandée. Notez qu’il est possible d’utiliser l’adresse IP du serveur, ce qui rend par contre l’URL moins lisible.
- Le numéro de port : il s’agit d’un numéro associé à un service permettant au serveur de savoir quel type de ressource est demandée. Le port associé par défaut au protocole HTTP est le port numéro 80. Ainsi, lorsque le service Web du serveur est associé au numéro de port 80, le numéro de port est facultatif.
- Le chemin d’accès à la ressource : Cette dernière partie permet au serveur de connaître l’emplacement auquel la ressource est située, c’est-à-dire de manière générale l’emplacement (répertoire) et le nom du fichier demandé
Les protocoles suivant peuvent être utilisés par l’intermédiaire de l’URL :
- http, pour la consultation de pages web
- ftp, pour la consultation de sites FTP
- telnet, pour la connexion à un terminal distant
- mailto, pour l’envoi d’un courrier électronique
- news, pour la consultation d’une liste de nouvelles (NTTP)
- gopher, pour la connexion à un serveur Gopher
Le codage d’une URLÉtant donné que l’URL est un moyen d’envoyer des informations à travers Internet (pour envoyer des données à un script CGI par exemple), il est nécessaire de pouvoir envoyer des caractères spéciaux, or les URL ne peuvent pas contenir de caractères spéciaux. De plus, certains caractères sont réservés car ils ont une signification (le slash permet de spécifier un sous-répertoires, les caractères & et ? servent à l’envoi de données par formulaires...). Enfin les URL peuvent être inclus dans un document HTML, ce qui rend difficile l’insertion de caractères tels que < ou > dans l’URL.C’est pourquoi un codage est nécessaire ! Le codage consiste à remplacer les caractères spéciaux par le caractère % (devenant lui aussi un caractère spécial) suivi du code ASCII du caractère à coder en notation hexadécimale.
·Qu'est ce qu'un Browser ?
Un Browser est le terme anglais donné en pour définir le navigateur Web qui est un logiciel conçu pour consulter le World Wide Web, l'ensemble des sites web. Techniquement, c'est un client HTTP dans une architecture client/serveur. Il peut être graphique ou texte.Le terme navigateur Web (ou navigateur Internet) est inspiré de NCSA Mosaic puis de Netscape Navigator. D'autres métaphores sont ou ont été utilisées. Le premier terme utilisé était browser, comme en anglais. Par la suite, on a vu fureteur (surtout utilisé au Québec), butineur, brouteur, arpenteur, fouineur ou explorateur (inspiré de Microsoft Internet Explorer).Du fait de sa forte diffusion dans le monde le navigateur est une cible privilégiée des pirates désireux de nuire aux internautes.L'internaute est menacé via son navigateur d'être victime des attaques suivantes :
- profilisation et analyse comportementale à des fins de revente marketing
- vol de données personnelles par accès à ses fichiers
- escroquerie par phishing
- crash de son ordinateur par bogue du navigateur
Un navigateur est constitué de modules divers réalisant des fonctions bien déterminées et possédant chacun leurs vulnérabilités propres :
- un interpréteur d'URL vulnérable aux attaques par phishing
- un interpréteur de code HTMLqui peut faire une mauvaise interprétation des instructions de description
- un interpréteur de langage de script (JavaScript,VBScript...) vulnérable aux boucles sans fins, à des exploitations de bogues
- un environnement d'exécution d'applications (Applet Java, ActiveX, plugins)
·Qu'est ce qu'un pare feu ?
Un pare-feu est un élément du réseau informatique, logiciel ou matériel, qui a pour fonction de faire respecter la politique de sécurité du réseau, celle-ci définissant quels sont les types de communication autorisés ou interdits.Un pare-feu est parfois appelé coupe-feu ou encore firewall en anglais. Dans un contexte OTAN, un pare-feu est appelé Périphérique de protection en bordure (en anglais : Border Protection Device, ou BPD). Dans un environnement BSD, un pare-feu est aussi appelé packet filter.Le pare-feu est aujourd'hui considéré comme essentiel à la sécurité d'un réseau informatique. Il permet d'appliquer une politique d'accès aux ressources réseau (serveurs).Il a pour principale tâche de contrôler le trafic entre différentes zones de confiance, en filtrant les flux de données qui y transitent. Généralement, les zones de confiance incluent Internet (une zone dont la confiance est nulle), et au moins un réseau interne (une zone dont la confiance est plus importante).Le but ultime est de fournir une connectivité contrôlée et maîtrisée entre des zones de différents niveaux de confiance, grâce à l'application de la politique de sécurité et d'un modèle de connexion basé sur le principe du moindre privilège.Le filtrage se fait selon divers critères. Les plus courants sont :
- l'origine ou la destination des paquets (adresse IP, portsTCP ou UDP,interface réseau, etc.)
- les options contenues dans les données (fragmentation, validité, etc.)
- les données elles-mêmes (taille, correspondance à un motif, etc.)
- les utilisateurs pour les plus récents
Modèle OSI (Open System Interconnections model)
Le modèle théorique OSI, définit en 1977, régit la communication entre 2 systèmes informatiques selon 7 couches (niveaux). A chaque couche, les 2 systèmes doivent communiquer "compatibles". Savoir que si vous utilisez Novell Netware, Microsoft Windows, linux ou tout autre gestionnaire de réseau n'intervient pas de manière significative sur l'hardware, à part pour les pilotes.L'OSI est un modèle de base qui a été défini par l'International Standard Organisation. Cette organisation revient régulièrement pour normalisé différents concepts, tant électronique qu'en informatique. Ce modèle définit 7 niveaux différents pour le transport de données. Ces niveaux sont également appelés couches.
Les 7 couchesNiveau 7: couche application, gère le transfert des informations entre programmes.
Niveau 6: couche présentation, s'occupe de la mise en forme des données, éventuellement de l'encryptage et de la compression des données, par exemple mise en forme des textes, images et vidéo.
Niveau 5: la couche session, s'occupe de l'établissement, de la gestion et coordination des communications
Niveau 4: la couche transport, gère la remise correcte des informations (gestion des erreurs), utilise notamment l'UDP et le TCP/IP
Niveau 3: la couche réseau, détermine les routes de transport et s'occupe du traitement et du transfert de messages: gère IP et ICMP
Niveau 2: la couche liaison de données, définit l'interface avec la carte réseau: hubs, switch, …
Niveau 1: la couche physique, gère les connections matérielles, définit la façon dont les données sont converties en signaux numériques
|
Application
|
7 |
Couche Application |
| 6 |
Couche Présentation |
| 5 |
Couche Session |
|
Transport des données
|
4 |
Couche Transport |
| 3 |
Couche Réseau (Network) |
| 2 |
Couche liaison de données (Data Link) |
| 1 |
Couche Physique (Physical) |
|
Support de communication
|
Le modèle TCP/IP
Le modèle TCP/IP est inspiré du modèle OSI. Il reprend l'approche modulaire (utilisation de modules ou couches) mais en contient uniquement quatre:
| Protocoles utilisés |
Modèle TCP/IP
|
Modèle OSI |
|
Couche application
|
Couche application |
| Couche Présentation |
| Couche session |
| TCP / UDP |
Couche Transport |
Couche transport |
| IP / ARP /ICMP / RARP / IGMP |
Couche Internet (IP) |
Couche réseau |
|
Couche Accès réseau |
Couche Liaison de donnée |
| Couche Physique |
A chaque niveau, le paquet de données change d'aspect, car on lui ajoute un en-tête, ainsi les appellations changent suivant les couches:
- Le paquet de données est appelé message au niveau de la couche application.
- Le message est ensuite encapsulé sous forme de segment dans la couche transport. Le message est donc découpé en morceau avant envoi.
- Le segment une fois encapsulé dans la couche Internet prend le nom de datagramme.
- Enfin, on parle de trame au niveau de la couche accès réseau.
Les couches TCP/IP sont plus générales que dans le modèle OSI
Le filtrage simple de paquets
Un système pare-feu fonctionne sur le principe du filtrage simple de paquets (en anglais « stateless packet filtering »). Il analyse les en-têtes de chaque paquet de données (datagramme) échangé entre une machine du réseau interne et une machine extérieure. Ainsi, les paquets de données échangée entre une machine du réseau extérieur et une machine du réseau interne transitent par le pare-feu et possèdent les en-têtes suivants, systématiquement analysés par le firewall :
- adresse IP de la machine émettrice ;
- adresse IP de la machine réceptrice ;
- type de paquet (TCP, UDP, etc.) ;
- numéro de port (rappel: un port est un numéro associé à un service ou une application réseau).
Les adresses IP contenues dans les paquets permettent d'identifier la machine émettrice et la machine cible, tandis que le type de paquet et le numéro de port donnent une indication sur le type de service utilisé.
Le filtrage dynamique
Le filtrage simple de paquets ne s'attache qu'à examiner les paquets IP indépendamment les uns des autres, ce qui correspond au niveau 3 du modèle OSI. Or, la plupart des connexions reposent sur le protocole TCP, qui gère la notion de session, afin d'assurer le bon déroulement des échanges. D'autre part, de nombreux services (le FTP par exemple) initient une connexion sur un port statique, mais ouvrent dynamiquement (c'est-à-dire de manière aléatoire) un port afin d'établir une session entre la machine faisant office de serveur et la machine cliente. Ainsi, il est impossible avec un filtrage simple de paquets de prévoir les ports à laisser passer ou à interdire. Pour y remédier, le système de filtrage dynamique de paquets est basé sur l'inspection des couches 3 et 4 du modèle OSI, permettant d'effectuer un suivi des transactions entre le client et le serveur. Le terme anglo-saxon est « stateful inspection » ou « stateful packet filtering », traduisez « filtrage de paquets avec état ». Un dispositif pare-feu de type « stateful inspection » est ainsi capable d'assurer un suivi des échanges, c'est-à-dire de tenir compte de l'état des anciens paquets pour appliquer les règles de filtrage. De cette manière, à partir du moment où une machine autorisée initie une connexion à une machine située de l'autre côté du pare-feu; l'ensemble des paquets transitant dans le cadre de cette connexion seront implicitement acceptés par le pare-feu. Si le filtrage dynamique est plus performant que le filtrage de paquets basique, il ne protège pas pour autant de l'exploitation des failles liées aux vulnérabilités des applications. Or ces vulnérabilités représentent la part la plus importante des risques en terme de sécurité.
Le filtrage application
Il permet de filtrer les communications d'application par application. Ce filtrage opère donc au niveau 7 (couche application) du modèle OSI, contrairement au filtrage de paquets simple, il suppose donc une connaissance des protocoles utilisés par chaque application. Le filtrage applicatif permet, comme son nom l'indique, de filtrer les communications application par application. Le filtrage applicatif suppose donc une bonne connaissance des applications présentes sur le réseau, et notamment de la manière dont elle structure les données échangées (ports, etc.). Un firewall effectuant un filtrage applicatif est appelé généralement « passerelle applicative » (ou « proxy »), car il sert de relais entre deux réseaux en s'interposant et en effectuant une validation fine du contenu des paquets échangés. Le proxy représente donc un intermédiaire entre les machines du réseau interne et le réseau externe, subissant les attaques à leur place. De plus, le filtrage applicatif permet la destruction des en-têtes précédant le message applicatif, ce qui permet de fournir un niveau de sécurité supplémentaire. Il s'agit d'un dispositif performant, assurant une bonne protection du réseau, pour peu qu'il soit correctement administré. En contrepartie, une analyse fine des données applicatives requiert une grande puissance de calcul et se traduit donc souvent par un ralentissement des communications, chaque paquet devant être finement analysé. Par ailleurs, le proxy doit nécessairement être en mesure d'interpréter une vaste gamme de protocoles et de connaître les failles afférentes pour être efficace. Enfin, un tel système peut potentiellement comporter une vulnérabilité dans la mesure où il interprète les requê tes qui transitent par son biais. Ainsi, il est recommandé de dissocier le pare-feu (dynamique ou non) du proxy, afin de limiter les risques de compromission.
Pare-feu bridge
Ils agissent comme de vrais câbles réseau avec la fonction de filtrage en plus, d'où leur appellation de firewall. Leurs interfaces ne possèdent pas d'adresse Ip, et ne font que transférer les paquets d'une interface a une autre en leur appliquant les règles prédéfinies.Cette absence est particulièrement utile, car cela signifie que le firewall est indétectable pour un hacker lambda. En effet, quand une requête ARP est émise sur le câble réseau, le firewall ne répondra jamais. Ses adresses Mac ne circuleront jamais sur le réseau, et comme il ne fait que « transmettre » les paquets, il sera totalement invisible sur le réseau. Cela rend impossible toute attaque dirigée directement contre le firewall, étant donné qu'aucun paquet ne sera traité par ce dernier comme étant sa propre destination. Donc, la seule façon de le contourner est de passer outre ses règles de drop. Toute attaque devra donc « faire » avec ses règles, et essayer de les contourner.Dans la plupart des cas, ces derniers ont une interface de configuration séparée. Un câble vient se brancher sur une troisième interface, série ou même Ethernet, et qui ne doit être utilisée que ponctuellement et dans un environnement sécurisé de préférence. Ces firewalls se trouvent typiquement sur les switchs.
Pare-feu matériel
Ils se trouvent souvent sur des routeurs achetés dans le commerce par de grands constructeurs comme Cisco ou Nortel. Intégrés directement dans la machine, ils font office de « boite noire », et ont une intégration parfaite avec le matériel. Leur configuration est souvent relativement ardue, mais leur avantage est que leur interaction avec les autres fonctionnalités du routeur est simplifiée de par leur présence sur le même équipement réseau. Souvent relativement peu flexibles en terme de configuration, ils sont aussi peu vulnérables aux attaques, car présent dans la « boite noire » qu'est le routeur. De plus, étant souvent très liés au matériel, l'accès à leur code est assez difficile, et le constructeur a eu toute latitude pour produire des système de codes « signés » afin d'authentifier le logiciel (système RSA ou assimilés). Ce système n'est implanté que dans les firewalls haut de gamme, car cela évite un remplacement du logiciel par un autre non produit par le fabricant, ou toute modification de ce dernier, rendant ainsi le firewall très sûr. Son administration est souvent plus aisée que les firewall bridges, les grandes marques de routeurs utilisant cet argument comme argument de vente. Leur niveau de sécurité est de plus très bon, sauf découverte de faille éventuelle comme tout firewall. Néanmoins, il faut savoir que l'on est totalement dépendant du constructeur du matériel pour cette mise à jour, ce qui peut être, dans certains cas, assez contraignant. Enfin, seules les spécificités prévues par le constructeur du matériel sont implémentées. Cette dépendance induit que si une possibilité nous intéresse sur un firewall d'une autre marque, son utilisation est impossible. Il faut donc bien déterminer à l'avance ses besoin et choisir le constructeur du routeur avec soin.
Pare-feu personnel
Ils sont assez souvent commerciaux et ont pour but de sécuriser un ordinateur particulier, et non pas un groupe d'ordinateurs. Souvent payants, ils peuvent être contraignants et quelque fois très peu sécurisés. En effet, ils s'orientent plus vers la simplicité d'utilisation plutôt que vers l'exhaustivité, afin de rester accessible à l'utilisateur final.
Les limites des pare-feu
Il ne faut pas perdre de vue qu'aucun firewall n'est infaillible et que tout firewall n'est efficace que correctement configuré. De plus, un firewall n'apporte pas une sécurité maximale , il n'est qu'un outil pour sécuriser et ne peut en aucun cas être le seul instrument de sécurisation d'un réseau. Un système comportant énormément de failles ne deviendra jamais ultra-sécurisé juste par l'installation d'un firewall. Les pare-feu n'offrent une protection que dans la mesure où l'ensemble des communications vers l'extérieur passe systématiquement par leur intermédiaire et qu'ils sont correctement configurés. Ainsi, les accès au réseau extérieur par contournement du firewall sont autant de failles de sécurité. C'est notamment le cas des connexions effectuées à partir du réseau interne à l'aide d'un modem ou de tout moyen de connexion échappant au contrôle du pare-feu.De la même manière, l'introduction de supports de stockage provenant de l'extérieur sur des machines internes au réseau ou bien d'ordinateurs portables peut porter fortement préjudice à la politique de sécurité globale.Enfin, afin de garantir un niveau de protection maximal, il est nécessaire d'administrer le pare-feu et notamment de surveiller son journal d'activité afin d'être en mesure de détecter les tentatives d'intrusion et les anomalies. Par ailleurs, il est recommandé d'effectuer une veille de sécurité (en s'abonnant aux alertes de sécurité des CERT par exemple) afin de modifier le paramétrage de son dispositif en fonction de la publication des alertes.
·Quels sont les termes employés pour définir les attaques informatiques ?
Quelques définitions et traduction française de la terminologie employé pour définir les attaques informatiques.
Accaparement de noms de domaine / Cybersquatting, Domain Name Grabbing Définition : Action malveillante qui consiste à faire enregistrer un nom de domaine dans le seul but de bloquer toute attribution ultérieure de ce nom au profit de titulaires plus naturels ou légitimes.Remarques : L'objectif est souvent d'obtenir un avantage financier en échange de la rétrocession du nom ainsi détourné. Cette pratique est particulièrement fréquente pour certains noms de domaine comme .net, .com, ou .org.
Balayage de ports / Port Scanning Définition : Technique qui consiste à envoyer des paquets sur les différents ports d'une machine, puis à en déduire les états de ces ports en fonction de la réponse retournée, si elle existe.Remarques : Cette technique peut être utilisée pour découvrir les services fonctionnant sur la machine, en faisant une extrapolation entre les ports vus en l'état ouvert, et les services fonctionnant traditionnellement avec ce port. Les paquets peuvent être envoyés sur les ports linéairement, ou bien de manière plus discrète, en modifiant les temps d'envoi des paquets, en les envoyant dans un ordre aléatoire ou à partir de plusieurs adresses IPs.
Bombardement de courriels / Mail Bombing Définition : Envoi d'une grande quantité de courriels à un destinataire unique dans une intention malveillante.Remarques : Forme particulière de déni de service contre les systèmes de courriers électroniques.
Bombe programmée, Bombe logique / Logic Bomb Définition : Logiciel malveillant conçu pour causer des dommages à un système informatique et qui est déclenché lorsque certaines conditions sont réunies. Remarques : Certains virus contiennent une fonction de bombe logique : déclenchement à date fixe, déclenchement quand une adresse réticulaire (URL) particulière est renseignée dans le navigateur, etc.
Canal caché / Covert Channel Définition : Canal de communication qui permet à un processus malveillant de transférer des informations d'une manière dissimulée. Le canal caché assure une communication par l'exploitation d'un mécanisme qui n'est pas censé servir à la communication.Remarques : Les canaux cachés sont l'objet de nombreux travaux de recherche, tant pour les créer que pour les détecter. (Réseau de Zombies)
Canular / Hoax Définition : Information vraie ou fausse, souvent transmise par messagerie électronique ou dans un forum, et incitant les destinataires à effectuer des opérations ou à prendre des initiatives, souvent dommageables.Remarques : Il peut s'agir d'une fausse alerte aux virus, de propagande, chaîne de solidarité, pétitions, promesse de cadeaux, etc. Quelques canulars fréquents sont répertoriés sur des sites dédiés comme.
Capteur clavier, Enregistreur de frappes / Keylogger, Keystroke Logger Définition : Logiciel ou matériel employé par un utilisateur malveillant pour capturer ce qu'une personne frappe au clavier.Remarques : Cette technique permet de voler efficacement les mots de passe, les données bancaires, les messages électroniques, etc.
Chantage / Ransomware Définition : Forme d'extorsion imposée par un code malveillant sur un utilisateur du système. Si ce dernier refuse de payer ou d'effectuer une tâche imposée, le service auquel il veut accéder lui est refusé par le code malveillant.Remarques : On peut citer par exemple un code qui a chiffré des fichiers, et qui empêche alors l'utilisateur d'y accéder. Ce dernier reçoit également une note fournissant des indications de paiement (ou autre forme de chantage) afin de pouvoir récupérer les fichiers inutilisables en l'état.
Cheval de Troie / Trojan Horse Définition : Programme donnant l'impression d'avoir une fonction utile, mais qui possède par ailleurs une fonction cachée et potentiellement malveillante.Remarques : La fonction cachée exploite parfois les autorisations légitimes d'une entité du système qui invoque ce programme. Elle peut par exemple permettre la collecte frauduleuse, la falsification ou la destruction de données.
Clonage de serveurs DNS / DNS Pharming Définition : Activité malveillante visant à modifier un serveur DNS, dans le but de rediriger un nom de domaine vers une adresse IP différente de l'adresse légitime.Remarques : Par conséquent, le trafic envoyé au domaine souhaité (organisme bancaire, messagerie électronique, etc) peut être capturé par un utilisateur malveillant, qui, par exemple, a déjà copié des pages du domaine visé à l'adresse nouvellement indiquée par le DNS. La personne qui se connecte au domaine risque alors d'entrer des informations confidentielles sur le site factice, même si elle a pris la précaution de renseigner l'adresse correcte.
Code d'exploitation / Exploit Définition : Tout ou partie d'un code permettant d'utiliser une vulnérabilité ou un ensemble de vulnérabilités d'un logiciel (du système ou d'une application) à des fins malveillantes.Remarques : Les objectifs malveillants consistent souvent en une intrusion, une élévation de privilèges ou un déni de service. L'exploitation peut se faire directement à partir du système ciblé si l'utilisateur malveillant possède un accès physique (local exploit), ou à distance s'il s'y connecte (remote exploit).
Code malveillant,Logiciel malveillant / Malicious Software, Malware Définition : Tout code développé dans le but de nuire à ou au moyen d'un système informatique ou d'un réseau. Remarques : Les virus ou les vers sont deux types de codes malveillants connus.
Homme-au-Milieu, Entredeux / Man-in-the-Middle, MITM Définition : Catégorie d'attaque où une personne malveillante s'interpose dans un échange, et de manière transparente pour les utilisateurs ou les systèmes.Remarques : La connexion est maintenue, soit en substituant les éléments transférés, soit en les réinjectant. Une attaque connue dans cette catégorie repose sur une compromission des tables ARP (ARP Poisoning).
Injection de code indirecte / Cross Site Scripting, CSS, XSS Définition : Activité malveillante qui consiste à injecter des données arbitraires dans le code de pages HTML. Un utilisateur malveillant peut faire afficher à un site web vulnérable un contenu aggressif ; ce contenu peut rediriger l'utilisateur vers d'autres sites, ou transmettre des informations (jetons de sessions, aussi appelés cookies, etc) ou des droits.Remarques : Les données arbitraires sont souvent écrites en javascript, en html ou en vbscript. La personne malveillante introduit ainsi du code dans le serveur vulnérable qui héberge le site. Ce serveur est rarement affecté par ce code (porteur sain). Les visiteurs du site, potentiellement victimes, consultent la page contenant le code injecté. L'exécution du code ne se fait pas au niveau du serveur, mais par le client de navigation de l'utilisateur. La notation XSS a été introduite pour remplacer CSS, acronyme déjà utilisé pour signifier Cascading Style Sheet.
Défiguration, Barbouillage / Défacement (defacer challenge) Définition : Résultat d'une activité malveillante qui a modifié l'apparence ou le contenu d'un serveur Internet, et a donc violé l'intégrité des pages en les altérant.Remarques : Cette action malveillante est souvent accompagnée de revendications.
Démonstration de faisabilité / Proof of Concept, PoC Définition : Code écrit pour démontrer la faisabilité d'une attaque utilisant une vulnérabilité donnée.Remarques : Ce code de démonstration n'est généralement pas malveillant. Il est souvent écrit pour inciter l'éditeur à produire un correctif pour la vulnérabilité. Toutefois, il est évident qu'un code malveillant peut être développé par la suite, à partir de ce code rendu public.
Déni de Service / Denial of Service, DoS Définition : Action ayant pour effet d'empêcher ou de limiter fortement la capacité d'un système à fournir le service attendu.Remarques : Cette action n'est pas nécessairement malveillante. Elle peut aussi traduire un mauvais dimensionnement du service, incapable de fournir la réponse à une forte demande. Si l'action est lancée depuis plusieurs sources, il est fréquent de parler de Déni de Service Distribué (DDoS).
Dépassement ou débordement de mémoire / Buffer Overflow Définition : Technique d'exploitation d'une vulnérabilité dans le code d'un programme qui ne vérifie pas correctement la taille de certaines données qu'il manipule.Remarques : A titre d'illustration, le principe peut être utilisé pour profiter de l'accès à certaines variables du programme, par le biais de fonctions particulières. Il faut considérer celles qui ne contrôlent pas la taille de la variable à enregistrer dans le tampon, afin de pouvoir écraser la mémoire jusqu'à l'adresse de retour de la fonction en cours d'exécution. L'utilisateur malveillant peut alors choisir les prochaines instructions qui seront exécutées par le système. Le code introduit est généralement lancé avec les droits du programme détourné. Les exemples les plus communs sont les fonctions scanf() ou strcpy() dans la bibliothèque du langage C.
Faute de frappe opportuniste,Coquille / Typosquatting Définition : Action malveillante qui consiste à déposer un nom de domaine très proche d'un autre nom de domaine, dont seuls un ou deux caractères diffèrent. Remarques : Les objectifs de cette action sont de capter une partie du trafic adressé au site officiel.
Hameçonnage, Filoutage / Phishing Définition : Vol d'identités ou d'informations confidentielles (codes d'accès, coordonnées bancaires) par subterfuge : un système d'authentification est simulé par un utilisateur malveillant, qui essaie alors de convaincre des usagers de l'utiliser et de communiquer des informations confidentielles, comme s'il s'agissait dun système légitime. Remarques : Les sites sont reproduits, après avoir été aspirés. L'utilisateur est souvent invité à visiter le site frauduleux par un courrier électronique.
Ingénierie Sociale / Social Engineering Définition : Manipulation consistant à obtenir un bien ou une information, en exploitant la confiance, l'ignorance ou la crédulité de tierces personnes. Remarques : Il s'agit, pour les personnes malveillantes usant de ces méthodes, d'exploiter le facteur humain, qui peut être considéré dans certains cas comme un maillon faible de la sécurité du système d'information.
Injection SQL / SQL Injection Définition : Terme qui désigne l'interprétation imprévue d'un code SQL dans une application. Ce code a été introduit par une voie détournée. Remarques : Cette technique permet, pour une application vulnérable à cette attaque, à un utilisateur malveillant de modifier la base de données, ou accéder à des informations qui ne lui sont pas destinées.
Logiciel espion, Espiogiciel / Spyware Définition : Logiciel dont l'objectif est de collecter et de transmettre à des tiers des informations qui concernent l'environnement sur lequel il est installé, ou sur les usages habituels du système, à l'insu de son propriétaire ou utilisateur.
Logiciel Publicitaire / Adware Définition : Code ayant pour finalité d'afficher des bandeaux publicitaires par le biais du navigateur Internet de l'utilisateur. Remarques : Ce code est très souvent perçu comme une méthode envahissante. Il engendre dans de nombreux cas d'autres effets sur le système, comme l'apparition de fenêtres surgissantes (popups), la dégradation de la connectivité ou de la performance de la machine de l'utilisateur.
Moisson de courriels / Mail Harvesting Définition : Action qui consiste à parcourir un grand nombre de resources publiques (pages Internet, groupes de discussion, etc), afin d'y collecter les adresses électroniques pour des intentions malveillantes. Remarques : Les adresses récupérées sont utilisées, par exemple, pour envoyer des courriels contenant des virus, des canulars, ou des pourriels. Une méthode pour s'en prémunir est de présenter sur ces ressources publiques une adresse électronique qui trompe les outils de recherche (comme prenom.nom_AT_domain.fr pour les outils cherchant '@', caractéristique d'une adresse) ; ceci est appelé address munging.
Mouchard Internet / Web Bug Définition : Support graphique implanté dans une page Internet ou un courriel, qui a pour objectif de surveiller la consultation de cette page ou de ce courriel, à l'insu des lecteurs. Remarques : Ces supports sont souvent invisibles, car beaucoup sont paramétrés avec une taille très petite (1x1 pixel). Ils sont aussi fréquemment représentés par des balises HTML IMG.
Numéroteur / Dialer Définition : Logiciel qui compose automatiquement des numéros de téléphone. Remarques : Les numéroteurs s nt souvent proposés pour accéder à des s tes à caractère pornographique (appels surtaxés). Par extension, un war dialer est une application composant une liste de numéros, et qui enregistre ceux retournant une tonalité spéciale, comme un modem ou un fax.
Outils de dissimulation d'activité / Rootkit Définition : Tout programme ou ensemble de programmes permettant à une personne malveillante de maintenir un contrôle illégitime du système d'information en y dissimulant ses activités. Remarques : L'installation de ces programmes nécessite que le système soit préalablement compromis (Cheval de Troie, intrusion). Ce programmes modifient souvent les commandes usuelles de l'administra eur, afi de dissimuler toute trace de leur présence. Ils effectuent aussi fréquemment plusieurs opérations au niveau du noyau du système d'exploitation, comme l'installation de portes dérobées, la capture des frappes clavier, etc.
Polymorphe / Polymorphic Définition : Se dit d'un ver ou d'un virus dont le code est chiffré, changeant le code de déchiffrement d'une infection à l'autre, et donc l'apparence et/ou la signature.
Porte dérobée / Backdoor Définition : Accès dissimulé, soit logiciel soit matériel, qui permet à un utilisateur malveillant de se connecter à une machine distante, de manière furtive. Remarques : Une porte dérobée peut également être la cause d'une mise en œuvre incorrecte d'un protocole.
Pourriel, Polluriel / Spam Définition : Tout courrier électronique non sollicité par le destinataire. Remarques : Le courrier est souvent envoyé massivement à un large nombre d'adresses électroniques. Les produits les plus vantés sont les services pornographiques, les médicaments (hormones pour la lutte contre le vieillissement, dopage des activités sexuelles, etc), le crédit financier, etc...
Renifleur / Sniffer Définition : Outil matériel ou logiciel dont l'objet est de capturer les trames transitant sur le réseau. Remarques : Si les trames contiennent des données non chiffrées, un utilisateur malveillant peut aisément récupérer des données confidentielles, comme des mots de passe, des courriers électroniques, des contenus de pages Internet, etc. L'utilisateur malveillant peut aussi, à partir des trames, récupérer des informations sur les systèmes échangeant les trames, comme le système d'exploitation ou les services employés.
Situation de compétition / Race Condition Définition : Situation révélant la vulnérabilité d'un système dont la réponse varie fortement en fonction de l'ordonnancement des évènements qu'il reçoit. Remarques : Cette situation est par exemple possible lorsque deux systèmes essaient d'accéder simultanément à une même ressource, mais qu'un seul accès est autorisé. Un utilisateur malveillant peut demander accès à cette ressource en envoyant un grand nombre de requêtes dans un intervalle de temps donné, et ainsi prendre de vitesse un système normal.
Test d'intrusion / Penetration Test Définition : Action qui consiste à essayer plusieurs codes d'exploitation sur un système d'information, afin de déterminer ceux qui donnent des résultats positifs. Remarques : Il s'agit à la fois d'une intention défensive (mieux se protéger) et d'une action offensive (aggresser son propre système d'information).
Usurpation d'adresse / Address Spoofing Définition : Action malveillante qui consiste à utiliser délibérément l'adresse d'un autre système en lieu et place de la sienne. Remarques : Il faut rapprocher cette action de l'usurpation d'identité, considérée comme un délit par le droit pénal français. L'idée est de faire passer son système d'information pour un autre. L'adresse usurpée peut être une adresse MAC (pour Medium Access Control), une adresse IP, une adresse de messagerie, etc.
Ver / Worm Définition : Code malveillant qui se propage de façon plus ou moins autonome sur le réseau une fois la machine infectée. Il perturbe le fonctionnement des systèmes concernés en s'exécutant à l'insu des utilisateurs. Remarques : Les deux termes ver et virus sont relativement proches. Un ver est un virus qui se propage de manière quasi autonome (sans intervention humaine directe) via le réseau. Les vers sont donc une sous catégorie de virus, dont le vecteur primaire de propagation reste le réseau.
Virus / Virus Définition : Logiciel malveillant, qui se copie de manière récursive et explicite via un support d'information amovible ou via le réseau. Il s'implante au sein de programmes, se duplique à l'insu des utilisateurs, et peut nécessiter l'intervention explicite de ces derniers pour se propager (ouverture d'un courrier électronique, lancement d'un programme exécutable, etc). Remarques : Plusieurs ouvrages décrivent les différentes familles de virus, leurs systèmes de prédilection et leurs stratégies d'installation .
Vulnérabilité / Vulnerability Définition : Faute, par malveillance ou maladresse, dans les spécifications, la conception, la réalisation, l'installation ou la configuration d'un système, ou dans la façon de l'utiliser. Remarques : Une vulnérabilité peut être utilisée par un code d'exploitation et conduire à une intrusion dans le système.
Zombies, Réseau de Zombies / Botnet Définition : Ensemble de machines compromises, contrôlées par un même utilisateur malveillant. Remarques : Certains ensembles peuvent atteindre des nombres considérables de machines (plusieurs milliers). Celles-ci peuvent faire l'objet de commerce illicite ou d'actions malveillantes contre d'autres machines. Elles sont souvent pilotées par des commandes lancées à travers un canal de contrôle comme le service IRC (Internet Relay Chat).
0jour / Zero-Day Définition : Catégorie particulière de codes d'exploitation qui cible des vulnérabilités qui ne sont pas encore publiquement annoncées par l'éditeur, le constructeur ou un chercheur en sécurité. Remarques : Ces codes d'exploitation sont particulièrement dangereux sur le plan SSI, car ils ne sont pas connus, et il n'y a pas de correctif pour s'en protéger. Seule une défense en profondeur permet de limiter les risques.
|