L’intégrité
L’intégrité est sans doute le service de sécurité le plus important dans la conception des applications commerciales. Elle garantit que toutes les informations stockées et envoyées le long des canaux de communication ne sont pas manipulées par des utilisateurs non autorisés sans être détectées.
L’intégrité du trafic réseau repose généralement sur l’utilisation de fonctions de hachage, de codes d’authentification des messages, de fonctions de cryptage et de signatures numériques. L’intégrité des services exige que la fonction du service ne soit pas manipulée (soutenue par la signature de code) et que seuls les utilisateurs authentifiés qui ont été autorisés à invoquer un service donné soient effectivement en mesure de voir leurs demandes de service traitées par le système. L’aspect essentiel pour assurer la protection de l’intégrité est que la politique d’accès soit configurée de manière à respecter les exigences de sécurité.
La confidentialité
La confidentialité consiste à protéger les données échangées contre une divulgation à des entités (sites, organisation, personnes, etc.) non autorisées. Cela se fait en utilisant deux actions Complémentaires :
❖ Contrôler et limiter l’accès aux données afin que seules les personnes prédéterminées puissent les lire et les modifier.
❖ Rendre les données inintelligibles toutes en les chiffrant pour que les personnes non autorisées à les déchiffrer ne puissent le faire.
La disponibilité
La disponibilité se concentre sur la résistance aux attaques qui visent à perturber l’offre de services. En tant que service de sécurité, cet aspect est particulièrement important pour les applications militaires. Dans l’environnement des entreprises, il est généralement considéré en même temps que les aspects de sécurité et de fiabilité et représente la propriété que le système est capable de fournir les services en continu, indépendamment de la variété des menaces, en raison d’adversaires ou d’événements aléatoires qui peuvent rendre le système inopérant. Il peut y avoir des scénarios commerciaux spécifiques dans lesquels l’aspect sécurité est extrêmement pertinent (comme les fournisseurs d’applications web qui sont victimes d’attaques par inondation (flooding attacks) de la part d’adversaires qui veulent faire chanter les propriétaires de services), mais dans la plupart des cas, le champ d’application est la collection complète de tous les dysfonctionnements possibles qui peuvent bloquer le système.
La non-répudiation
La non-répudiation est l’assurance qu’une personne ne peut pas nier la validité d’une chose. La nonrépudiation est un concept juridique largement utilisé dans le domaine de la sécurité de l’information et fait référence à un service qui apporte la preuve de l’origine des données et de l’intégrité des données. En d’autres termes, la non-répudiation rend très difficile de nier avec succès la provenance d’un message ainsi que l’authenticité et l’intégrité de ce message.
Les signatures numériques (combinées à d’autres mesures) peuvent offrir la non-répudiation lorsqu’il s’agit de transactions en ligne, où il est crucial de s’assurer qu’une partie à un contrat ou à une communication ne peut pas nier l’authenticité de sa signature sur un document ou de l’envoi de la communication en premier lieu. Dans ce contexte, la non-répudiation fait référence à la capacité de garantir qu’une partie à un contrat ou à une communication doit accepter l’authenticité de sa signature sur un document ou l’envoi d’un message.
L’authentification
L’authentification est importante car elle permet aux organisations de sécuriser leurs réseaux en ne permettant qu’à des utilisateurs (ou processus) authentifiés d’accéder à leurs ressources protégées, qui peuvent comprendre des systèmes informatiques, des réseaux, des bases de données, des sites web et d’autres applications ou services basés sur des réseaux.
Une fois authentifié, un utilisateur ou un processus est généralement soumis à un processus d’autorisation également, afin de déterminer si l’entité authentifiée doit être autorisée à accéder à une ressource ou un système protégé. Un utilisateur peut être authentifié mais ne peut pas accéder à une ressource s’il n’a pas reçu l’autorisation d’y accéder.
Les termes d’authentification et d’autorisation sont souvent utilisés de manière interchangeable ; bien qu’ils puissent souvent être mis en oeuvre ensemble, les deux fonctions sont distinctes. Alors que l’authentification est le processus qui consiste à valider l’identité d’un utilisateur enregistré avant d’autoriser l’accès à la ressource protégée, l’autorisation est le processus qui consiste à valider que l’utilisateur authentifié a reçu l’autorisation d’accéder aux ressources demandées. Le processus par lequel l’accès à ces ressources est limité à un certain nombre d’utilisateurs est appelé contrôle d’accès. Le processus d’authentification précède toujours le processus d’autorisation.
Protocoles de communication et leur sécurité
Un protocole est une méthode standard qui permet la communication entre des processus(s’exécutant éventuellement sur différentes machines), c’est-à-dire un ensemble de règles et de procédures à respecter pour émettre et recevoir des données sur un réseau. Il en existe plusieurs selon ce que l’on attend de la communication. Certains protocoles seront par exemple spécialisés dans l’échange de fichiers (le FTP), d’autres pourront servir à gérer simplement l’état de la transmission et des erreurs (c’est le cas du protocole ICMP).
Le TCP/IP
Définition
TCP/IP, en anglais « Transmission Control Protocol/Internet Protocol », protocoles de communication Internet standard qui permettent aux ordinateurs numériques de communiquer sur de longues distances. L’internet est un réseau à commutation de paquets, dans lequel les informations sont décomposées en petits paquets, envoyées individuellement sur plusieurs routes différentes en même temps, puis réassemblées à l’extrémité de réception. Le TCP est le composant qui collecte et réassemble les paquets de données, tandis que l’IP est chargé de s’assurer que les paquets sont envoyés à la bonne destination. TCP/IP a été développé dans les années 1970 et adopté comme norme de protocole pour ARPANET (le prédécesseur d’Internet) en 1983.
Découpage en couches
Le protocole TCP/IP étant antérieur au modèle OSI, il ne respecte pas réellement celui-ci. Cependant, on peut faire grossièrement correspondre les différents services utilisés et proposés par TCP/IP avec le modèle OSI, et obtenir ainsi un modèle en 4 couches. Les services des couches 1 et 2 (physique et liaison) du modèle OSI sont intégrés dans une seule couche (Accès Réseau), les couches 5 et 6 (session et présentation) n’existent pas réellement dans le modèle TCP/IP et leurs services sont réalisés par la couche application.
La couche Internet
La couche Internet, correspondant à la couche réseau du modèle OSI, s’occupe de l’acheminement,à bonne destination, des paquets de données indépendamment les uns des autres, soit donc de leur routage à travers les différents noeuds par rapport au trafic et à la congestion du réseau. Il n’est en revanche pas du ressort de cette couche de vérifier le bon acheminement. Le protocole IP (Internet Protocol) assure intégralement les services de cette couche, et constitue donc l’un des points-clefs du modèle TCP/IP. Le format et la structure des paquets IP sont précisément définis.
La couche Transport
La couche transport, pendant de la couche homonyme du modèle OSI, gère le fractionnement et le réassemblage en paquets du flux de données à transmettre. Le routage ayant pour conséquence un arrivage des paquets dans un ordre incertain, cette couche s’occupe aussi du réagencement ordonnéde tous les paquets d’un même message. Les deux principaux protocoles pouvant assurer les services de cette couche sont les suivants :
• TCP (Transmission Control Protocol) : protocole fiable, assurant une communication sans erreur par un mécanisme question/réponse/confirmation/ synchronisation (orienté connexion).
• UDP (User Datagram Protocol) : protocole non-fiable, assurant une communication rapide mais pouvant contenir des erreurs en utilisant un mécanisme question/réponse (sans connexion).
• La couche Application :
La couche application, similaire à la couche homonyme du modèle OSI, correspond aux différentes applications utilisant les services réseaux pour communiquer à travers un réseau. Un grand nombre de protocole divers de haut niveau permettent d’assurer les services de cette couche :
• Telnet : ouverture de session à distance.
• FTP (File Transfer Protocol) : protocole de transfert de fichiers.
• HTTP (HyperText Transfer Protocol) : protocole de transfert de l’hypertexte.
• SMTP (Simple Mail Transfer Protocol) : protocole simple de transfert de courrier.
• DNS (Domain Name System) : système de nom de domaine.
Technologie de communication
Le TIC (Technologie de l’Information et de la communication) fait référence aux technologies quipermettent d’accéder à l’information par le biais des télécommunications. Il est similaire à la technologie de l’information (TI), mais se concentre principalement sur les technologies de la communication. Cela comprend Internet, les réseaux sans fil, les téléphones portables et autres moyens de communication.
Au cours des dernières décennies, les technologies de l’information et de la communication ont fourni à la société un vaste éventail de nouvelles capacités de communication. Par exemple, les gens peuventcommuniquer en temps réel avec d’autres personnes dans différents pays à l’aide de technologiestelles que la messagerie instantanée, la voix sur IP (VoIP) et la vidéoconférence. Les sites Web de réseautage social comme Facebook permettent aux utilisateurs du monde entier de rester en contact et de communiquer régulièrement. Les technologies modernes de l’information et de la communication ont créé un « village global »,dans lequel les gens peuvent communiquer avec les autres à travers le monde comme s’ils vivaient à côté. Pour cette raison, les TIC sont souvent étudiées dans le contexte de la manière dont les technologies de communication modernes affectent la société.
Risque
Les menaces engendrent des risques et des couts humains et financiers : perte de confidentialité des données sensibles, indisponibilité des infrastructures et des données, dommages pour le patrimoine intellectuel et la notoriété. Les risques peuvent survenir si les systèmes menacés présentent des vulnérabilités.
Intrusion
C’est lorsqu’un tiers pénètre dans un réseau ou système et accède illégitimement à ses données.
Une intrusion peut résulter notamment de l’action d’un pirate désireux de nuire aux biens d’une organisation, d’un ver cherchant à assurer sa propagation, d’une attaque automatisée, etc. ça implique souvent le vol de ressources réseau précieuses et met presque toujours en péril la sécuritédes réseaux et / ou de leurs données.
Pirate
Un pirate ou hacker est un passionné des réseaux informatiques, doté d’une connaissance très développée, cherchant toujours à repousser les limites de l’impossible, et à défier les systèmessécurisés. Il peut être bienfaiteur ou malfaiteur ou bien quelque part entre les deux. Tout dépenddu but et des moyens qu’il choisit pour écouter, changer ou faire évoluer les systèmesinformatiques.
Les pirates peuvent être classés en différentes catégories telles que chapeau blanc, chapeau noir et chapeau gris, en fonction de leur intention de pirater un système. Ces différents termes viennent des vieux westerns, où le méchant porte un chapeau de cowboy noir et le gentil porte un chapeau blanc.
Attaque de type XSS (Cross-Site Scripting)
Faille XSS réfléchie
Ce type de faille de XSS, qui peut être qualifié de « non permanent », est de loin le plus commun.Un script malveillant est envoyé à un serveur Web via le chargement d’une adresse URL manipulée ou via l’envoi d’un formulaire préparé. Ce serveur Web retourne par la suite ce script au client sans vérification. Le code malveillant n’est pas enregistré sur le serveur et existe seulement demanière temporaire lors du chargement de la page Web via le client. Les cibles préférées de ces scripts sont les sites Internet généraux ou les logiciels de messagerie.
A présent, nous allons essayer de voir comment cela se produit en utilisant Metasploitable. Et pour ce faire nous nous déplacerons dans « mutillidae » puis sur « OWASP Top 10 >> Cross Site Scripting >> Reflected (First Order) >> DNS lookup ».