Analyse des besoins
Plus l’entreprise grandisse, plus les défis de conserver un haut niveau de sécurité deviennent difficiles. Avec l’inauguration de nouvelles branches au Liban et dans les pays du Golfe, et l’ouverture de notre système informatisé au marché international, les ressources informatiques de l’entreprise deviennent menacées par des attaques internes et externes nuisibles à l’entreprise entière.
Pourquoi maintenant a-t-on décidé de faire face à ces menaces ?!
Au début l’entreprise n’avait pas un système informatisé, ni des connections entre les branches, donc il y avait un contrôle manuel sur les ressources de l’entreprise. Lorsqu’on a installé le nouveau système et configuré la connexion temporaire à travers les lignes téléphoniques entre les branches, les exigences de sécurisation étaient minimes et faciles, d’abord parce que les outils d’attaques étaient restreints et difficiles, il faut beaucoup d’expertise pour trouver et utiliser les outils convenables, ensuite parce que la connexion était temporaire et le réseau utilisé était intégrer dans le réseau téléphoniques difficile à accéder.
Lorsque le nouveau système a été installé et avec l’implémentation d’une connexion permanente entre les branches et avec le réseau internet, les menaces commencent à apparaître. Mais les moyens de sécurisation utilisés à l’époque étaient suffisants. On a installé un pare-feu entre le réseau interne et externe et configurer les routeurs internes par des règles interdisant le passage des trafics non connus et cryptant le trafic permis.
L’ouverture de nouvelles branches au Liban et aux pays du Golfe était la première raison de dégradation du niveau de sécurité. Les règles et les matériels installés nesont plus suffisants, les vulnérabilités augmentent, les outils d’attaques deviennent plus faciles à obtenir et à manipuler même par des non-experts, de même les intrusions menacent les ressources de l’entreprise. D’ici naît le premier besoin de reformulation de la sécurisation du réseau et des ressources qui sont la base de l’entreprise par rapport à la direction et au propriétaire.
La croissance de l’entreprise n’est pas la seule raison incitant le renforcement de la sécurité, l’obtention de la certification ISO9001:2000 qui est renouvelée chaque 6 mois par un audit semestriel nous a ouvert l’esprit sur des obligations de sécurisation parfois négligées antérieurement, comme les privilèges pour chaque type d’utilisateur, les anti-virus utilisés et leur mis à jour régulièrement,l’utilisation des cartes mémoires externes, l’accès physiques aux serveurs… Bien sur quelques points ont été déjà pris en considération, mais il faut aussi régler les nouvelles exigences signalés par les auditeurs de l’ISO.
Raisonnement et proposition
Afin de sécuriser les ressources informatiques des attaques internes ou externes, il faut penser comme les malveillants et essayer leurs façons d’attaque et leurs outils simples ou sophistiqués. Beaucoup d’entreprises ont recours à l’externalisation des spécialistes de sécurité ou plus récemment au piratage éthique pour résoudre les problèmes de sécurisation de leurs ressources… Mais ce que je pensais, c’est de proposer à ma direction que j’effectue ce travail moi-même.
J’ai présenté l’idée au directeur en exposant les arguments et les analyses mentionnés avant, qui synthétisent l’état actuel de notre système et consolident les raisons d’amélioration de la sécurité en ayant recours au piratage éthique. Je lui ai proposé d’effectuer cette tâche qui sera le thème de ma thèse pour l’obtention du degré d’Ingénieur, il a été convaincu par les arguments et analyses présentés et a encouragé l’idée d’effectuer moi-même le piratage éthique au lieu d’externaliser la tâche à quelqu’un d’étranger qui saisira les détails privés de l’entreprise et peut être sera lui-même une menace à ses ressources. Le directeur a accepté aussi de participer au tutorat et de poursuivre l’enchaînement du travail pendant toutes les phases du mémoire et même de participer au jurylors de la soutenance si cela est demandé.
Une fois l’idée a été admise, j’ai commencé méthodiquement à déterminer les phases préliminaires nécessaires pour la mise en œuvre effective du projet. Débutant par l’identification de ces ressources, leurs assigner des priorités, l’énumération des vulnérabilités possibles et la planification du travail à effectuer. Ces phases sont réalisées avec l’aide de tous les membres du département informatique afin de couvrir toutes les branches et ressources de l’entreprise.
Aperçu sur le piratage éthique
Avant d’entamer les phases pratiques du projet, il faut présenter un aperçu théorique sur le piratage éthique. Cette partie couvre les aspects fondamentaux du piratage éthique, débutant par une définition générale et puis détaillée du piratage informatique, ensuite une notion sur les types de piratage, l’objectif du piratage éthique, le profil de compétence du pirate éthique et enfin les commandements auxquels il doit obéir.
Définition du pirate informatique
La définition générale de « pirate » dans l’encyclopédie électronique wikipedia est un individu qui pratique de manière répétée le vol avec violence,plus précisément, un pirate informatique est une personne qui effectue des crimes dont l’objet ou l’arme est lié à l’informatique. Mais le terme englobe deux expressions antonymes majeures : Hacker et Cracker.
En sécurité informatique, un hacker est un spécialiste dans la maîtrise de la sécurité informatique, il utilise son savoir-faire dans un cadre légal, mais d’autres spécialistes utilisent ce savoir hors-la-loi, ces derniers sont appelés « crackers ».
La différence fondamentale est donnée par des auteurs de référence : Eric Steven Raymond et Manuel Castells: « Les hackers construisent les choses, les crackers les démolissent »
Hacker
Le hacker est une personne passionnée en informatique, elle invente et innove pour le plaisir, elle veut comprendre le système informatique et tester ses connaissances et outils afin de découvrir les failles de sécurité et alerter ensuite les responsables. Tous les hackers n’ont pas les mêmes motivations, d’où la distinction de trois types de hackers définies dans plusieurs sources électroniques ou bibliothécaires:
Les chapeaux blancs ou white hat
Ils utilisent leurs connaissances pour tester la solidité des défenses des systèmes informatiques suite à la demande et permission du client. Ils utilisent les outils et techniques de piratage mais d’une façon légale. Ils peuvent être consultants en sécurité, administrateurs des réseaux ou veiller sur la légitimité des produits informatiques et des droits de sécurité proclamés par les fournisseurs.
Les chapeaux noirs ou black hat
Ils utilisent leur savoir pour créer des outils nuisibles à la sécurité informatique comme les virus, vers, cheval de Troie… et effectuer des actes malveillants agissant hors-la-loi dans le but de nuire ou tirer profit de leurs actes.Leurs cibles peuvent être des ordinateurs individuels ou même un réseau d’une grande entreprise.
Les chapeaux gris ou gray hat
Ce genre de hacker est qualifié et expert, il pénètre légalement ou non dans un système mais il n’a pas un but nuisible. Il cherche plutôt l’exploit et faire preuve d’agilité. En terme simple c’est un hacker hybride entre les hackers black hatet white hat.
Cracker
Conçoit des programmes informatiques ou cracks pour modifier le comportement d’un logiciel, la plus part des temps, pour lever la protection ou restriction d’utilisation sans payement. Il utilise des débogueurs ou algorithmes pour trouver un code d’enregistrement valide ou des désassembleurs pour modifier directement le logiciel. L’intérêt du cracker est soit d’utiliser un certain logiciel gratuitement ou par exemple relever un défi.
Recommandations
Les périphériques du réseau constituent les fondements de la couche internet, leurs rôles est critiques et primordial. Ils joignenttous les postes et périphériques dans chaque branche et toutes les branches entre elles et avec le réseau externe. La pénétration d’un d’eux menaces l’organisation entière.
Tous les types d’attaques constituent une grave menace et doivent être évités par des mesures de sécurisation afin d’atteindre un niveau de protection idéal. La démarche à suivre comprend les taches suivantes :
– Utiliser une authentification et un cryptage puissants chaque fois que cela est possible.
– Ne pas étendre les relations d’approbation au-delà du pare-feu.
– Maintenir les systèmes à jour avec les derniers correctifs de sécurité.
– Bloquer les paquetspingvolumineux au niveau des commutateurs, des routeurs et du pare-feu.
– Appliquer des filtres anti-usurpation sur le routeur, ce qui revient à bloquer les paquets entrants dont l’adresse source est identique à une adresse du réseau interne.
– Désactiver les ports et protocoles inutiles et services non utilisés sur les routeurs, commutateurs et pare-feu.
– Appliquer un filtrage approprié au niveau du routeur et du pare-feu.
– Utiliser le système de détection d’intrusion (IDS) pour détecter le trafic inhabituel et générer une alerte en cas de détection.
– Réduire la puissance de transmission des points d’accès et utiliser des clés WEP de 128 ou 192 bits.
– Changer les configurations initiales, identificateurs et bannières par default
– Désactiver le protocole SNMP pour empêcherle balayage et analyses des postes.
– Utiliser le service de sécurisation des ports dans les commutateurs pour éviter l’usurpation des requêtes ARP
Couche Transport
La Couche transport permet le transfert des données et contrôle l’état de la transmission. Elle gère 2 protocoles de transport des informations, indépendamment du type de réseau utilisé :
– Le protocole TCP fonctionne en mode connecté et assure un service fiable.
– Le protocole UDP assure un service de datagramme en mode non connecté sans aucune garantie de fiabilité.
Durant les tests de la couche Internet, plusieurs outils ont dévoilés les ports TCP et UDP ouverts qui m’ont aidé d’effectuer les attaques et pénétrer les périphériques. Mais dans cette partie, la concentration sera sur les types des ports ouverts, les services accessibles et les protocoles disponibles. Avant de commencer les tests, il faut prendre note des ports cibles qui peuvent être ouverts et accessibles dans la plus part des matériels connectés au réseau.
Objectifs
On remarque que le protocole TCP forme la majorité des ports et services cibles ouverts dans les branches, notamment le port 80 du service HTTP qui forme 65% des ports TCP cibles et 7% du nombre total de ports TCP ouverts. Les attaques vont être exécutées sur les ports cibles, non visés dans l’étude des couches restantes du protocole TCP, selon leurs disponibilités dans les branches étudiées.
Détails d’évaluation
TCP Port 21 FTP
L’ouverture d’une session FTP avec les adresses IP trouvées dans les branches HO et DT a réussi sans besoin d’identificateurs. Mais les machines accédés sont des imprimantes ne contenant aucune information nécessaire.
UDP port 161 SNMP
Le protocole SNMP exige la connaissance d’un identificateur connu par CS qui est une chaîne de caractère qui définit la relation entre un système de serveur SNMP et les systèmes client. Cette chaîne se comporte comme un mot de passe pour contrôler l’accès des clients au serveur, elle est de deux types : Lire ou Lire/Ecrire. La première étape dans le test du port 161 consiste à scanner les adresses comprenant ce port ouvert afin de trouver les chaines. L’outil SNMP Dictionnary attacka dévoilé les chaînes de quelques périphériques ensuite à l’aide du logiciel MIB walkles informations essentielles sur chaque système sont révélées. Le test des privilèges des chaines obtenues à l’aide de l’outil Remote TCP Session Reset, qui liste les sessions existante et permet de les arrêter, n’a pas réussi d’arrêter les sessions car la plupart des chaines trouvées sont de type Lire.
UDP port 455 SMB
Ce port est utilisé pour le service de partage de fichier. Une fois exploité l’attaqueur aura accès aux fichiers systèmes de la victime.L’outil utilisé pour effectuer cette attaque est Metasploit. La première phase consiste à décider les paramètres de l’attaque : victime, port, exploit et charge, la deuxième phase est l’exécution de l’exploit et ouverture d’une session chez la victime si l’exploit réussi. Ce test a réussi sur plusieurs ordinateurs et m’a permis de créer un utilisateur à accès administratif qui sera bien sur utile pour l’attaque au niveau de la couche application.
Extension de privilèges
Lorsque le pirate obtient un accès sur le réseau en utilisant des comptes peu protégés, il va chercher à augmenter ses privilèges en obtenant l’accès de l’administrateur. Pour obtenir cet accès il cherche à savoir le mot de passe de l’administrateur, la clé de cryptage du fichier SAM contenant les références des utilisateurs sur la machine ou changer ce mot de passe en utilisant des outils decraquage en mode Disk Operating System(DOS) ou il peut utiliser des outils qui créent des nouveaux utilisateurs avec des privilèges administratifs.
Dans les phases précédentes j’ai obtenu le fichier SAM et la clé de cryptage contenu dans le fichier SYSTEM et j’ai créé un nouveau utilisateur à privilèges administratifs. De même j’ai pu capter la session d’authentification de l’administrateur du domaine et craquer son mot de passe. Donc les privilèges administratifs sont déjà acquis.
Dans le cas d’accès physique directe la méthode laplus facile c’est le changement du mot de passe des utilisateurs, notamment celui de l’administrateur. Afin d’effectuer ce test j’ai utilisé la commande chnptwqui permet de changer le mot de passe en accédant le fichier SAM.
Exécuter des applications malicieuses
Une fois un accès administratif est obtenu sur le système, le pirate exécute des applications malicieuses en utilisant des outils qui lancent des commandes DOS à distance comme psexecet remoexec. Le but de ces application est d’obtenir toutes les informations possibles sur la machine cible. Le spywareou logiciel espion est une de ces applications, ce logiciel enregistre les caractères insérés du clavier, les messages envoyés, les sessions de chat, les applications utilisées, les pages web visitées et des images de l’écran de temps en temps.
La première étape consiste à insérer les applications sur les postes cibles, cette tache peut être effectuée lors de l’ouverture de la session par Metasploitou par l’utilisation de l’outil psexec.
La deuxième étape consiste à lancer cette application à travers la session ouverte ou par lancement à distance. Ce travail sera effectuésur un serveur avec le service AD pour voler la base de données entière du domaine à partir de lancement à distance de l’application ldp.exe basée sur le protocole Lightweight Directory Access Protocol(LDAP), sachant le mot de passe de l’administrateur du domaine, l’ouverture de la session sur le port LDAP 389 est facile.
Applications web
Les organismes publics et privés migrent leurs fonctions essentielles vers l’internet, ce qui incite et ouvre des possibilités aux pirates noirs d’accéder aux données pertinentes comme les informations sur l’entreprise, ses clients et ses employés à travers les applications web.
Alors que la plupart des sites web sont fortement sécurisés au niveau du réseau avec des pares feu et des outils de chiffrement, ils autorisent l’accès des pirates aux données par la manipulation des applications web. Ces pirates attaquent les applications web en raisonnant comme les programmeurs, ainsi pour sécuriser ces applications il faut comprendre l’architecture des applications web, les techniques d’attaque utilisées par les pirates malveillants et les contres mesures de sécurisation.
– Architecture des applications web
Les applications web sont des entités à plusieurs niveaux de codes et de données formées par des parties publiques, accessibles directement ou indirectement de l’internet et d’autres parties privées, pour les employés à l’intérieur de l’entreprise. Une vulnérabilité dans n’importe quel niveau cause une faille de sécurité pour l’application web entière.
Techniques d’attaque sur les applications web
De nombreuses attaques contre les applications web sont de nuisances mineures et n’affectent pas les informations confidentielles ou la disponibilité du système. Cependant, certaines attaques causent des dégâts majeurs et arrêtent ces systèmes. Je discute ci-dessous quelques types d’attaques communs.
Processus d’identification insécurisés (login)
La plupart des sites web exigent une identification des utilisateurs avant d’accéder à leurs ressources et services, ces mécanismes de connexion ne traitent pas généralement les identifiants et mots de passe d’utilisateur incorrects. Ils retournent souvent trop d’informations que les pirates utilisent pour recueillir les identifiants d’utilisateur et leurs mots de passe. Ces messages d’erreur de connexion précisent quel paramètre est erroné, mais d’un autre côté assurent aux pirates quel paramètre est correcte !
Balayage des directoires des serveurs web
Les pirates utilisent des outils pour balayer les serveurs web et découvrir toutes les directoires et fichiers accessibles par le public et accèdent ainsi aux données confidentielles de l’entreprise. Les administrateurs de ces serveurs doivent éliminer tous les fichiers confidentiels des directoires principaux du serveur et s’assurer des permissions attribuées aux fichiers réservés aux employés, partenaires ou public.
Données mal formées en entrée
Les applications web acceptent généralement tout type de données en entrée sans validation. Plusieurs attaques peuvent être lancées contre ces applications en insérant plusieurs données mal formées simultanément, ce qui peut engendrer une confusion, un accident ou dévoilement d’informations à l’attaquant.
Les pirates peuvent causer un débordement de tampon en manipulant la longueur du texte inséré, un DoS en registrant des milliers d’utilisateurs à la base de donnée du serveur ou injecter un code erroné en modifiant des paramètres dans les adresses url dans la barre d’adresse du navigateur.
La validation des données en entrée est la meilleur façon pour faire face aux attaques listées, le programmeur doit vérifier la longueur des données, le nombre et type des paramètres et désactiver les JavaScriptspour arrêter les codes dynamiques. La manipulation de n’importe quel paramètre doit empêcher l’accès au serveur.
La plupart des vulnérabilités des applications web reposent sur la capacité d’insérer des données invalides ou un code malveillant dans l’application à l’aide de plusieurs techniques.
Ils existent des outils capables d’effectuer automatiquement l’évaluation des vulnérabilités dans les applications web en essayant toutes les attaques de piratage possibles et générant des rapports sur les attaques réussis et gravité des vulnérabilités trouvées. Mais le procédé de sécurisation doit être effectué finalement par l’administrateur du système en appliquant toutes les contre mesures discutées, convenables à chaque type d’attaque.
Captage des sessions sécurisées
Afin de sécurisées les pages web confidentielles de l’organisation, on a recours au protocole sécuriséHTTPS(port 443 TCP), de cette façon le trafic sur ce site sera crypté et difficile à être capté et déchiffré par un pirate connecté au réseau. Mais il ne faut pas oublier de vérifier la méthode d’authentification sur ce genre de sites. Ces méthodes peuvent envoyer les noms des utilisateurs et leur mots de passe en plein texte comme Basic Authenticationou cryptés comme Integrated windows authentication.
Application
Le site public de l’organisation est hébergé dans le serveur de l’entreprise qui l’a créé et responsable de sa maintenance. Mais il existe l’application web des messages électroniques qui existe à l’intérieur de l’organisation et est accessible de l’internet. Le premier test consiste à essayer le processus d’identification avec des données erronées.
Vulnérabilité d’oracle, élaboration d’une norme de sauvegarde
Problème des utilisateurs privilégiés d’oracle
L’étude effectuée dans la phase d’injection de code SQL à dévoilé une vulnérabilité grave au niveau des utilisateurs, on a découvert qu’un utilisateur régulier ayant un privilège limité à l’intérieur des interfaces du logiciel, a aussi un privilège élevé si jamais il se connecte par commande SQL. Cette vulnérabilité forme une menace élevée sur la base de donnée car cet utilisateur pourra manipuler toutes les données existantes puisqu’il a l’accès d’écrire sur cette base de donnée. Pour fixer ce problème on doit analyser l’état existant des méthodes utilisées pour la création des utilisateurs et sauvegarde des données et créer une nouvelle norme de création et sauvegarde des données.
Principe des bases de données d’Oracle
Une simple recherche sur lesite d’Oracle nous donne une idée générale sur les principes de base de la plateforme Oracle Database 10gqui est utilisée actuellement dans l’organisation. Cette plateforme est un système de gestion de base de données d’Oracle, caractérisé par plusieurs trais principaux:
– Des grilles de bases de données rapides, fiables et évolutives.
– Optimisation de la disponibilité et accélération de la performance par la compression des données vers des partitions de stockage peu coûteuses.
– Protection de façon sécurisée les informations tout en permettant un suivi de conformité.
Lorsque de nouveaux utilisateurs sont ajoutés dans Oracle, certains droits leurs sont assignés afin qu’ils puissent interagir directement ou par le biais des rôles sur la base de données.
Chaque rôle est un ensemble de privilèges qui peuvent être accordées aux utilisateurs ou à d’autres rôles. Il existe deux types de privilèges accordés à un utilisateur:
– Privilèges système par lequel l’utilisateur peut gérer la performance des actions de la base de données et des objets système.
|
Table des matières
Remerciements
Liste des abréviations
Glossaire
Table de Matières
Introduction
Chapitre 1 : Phase préparatoire
1.1 Etude de l’existant
1.2 Analyse des besoins
1.3 Raisonnement et proposition
Chapitre 2 : Aperçu sur le piratage éthique
2.1 Définition du pirate informatique
2.2 Types de piratage
2.3 Objectif piratage éthique
2.4 Profil de compétence
2.5 Commandements du piratage éthique
Chapitre 3 : Attaques, Evaluation et Sécurisation
3.1 Méthodologies d’attaque
3.2 Exécution des attaques et Evaluation
3.3 Politique de sécurisation
Chapitre 4 : Vulnérabilité d’oracle, élaboration d’une norme de sauvegarde
4.1 Problème des utilisateurs privilégiés d’oracle
4.2 Analyse et Nouvelle norme de sauvegarde
4.3 Approbation et implémentation
Chapitre 5 : Gestion des systèmes après sécurisation
5.1 Le système après sécurisation
5.2 Modèle de référence
5.3 Listes de contrôle
Conclusion
Bibliographie
Liste des figures
Liste des tableaux
Télécharger le rapport complet