• <script type="text/javascript" src="http://ads.allotraffic.com/clicbandeau?id=27578"></script><script type="text/javascript" src="http://ads.allotraffic.com/bandeau?id=36366"></script>

    Chapitre 3 : Dresser le plan de votre hacking préventif


    Dans ce chapitre :

    Définir vos objectifs préventifs.

    Sélectionner les systèmes à tester.

    Développer vos tests standard.

    Découvrir les outils de hacking.


    Le piratage préventif impose une planification claire et précise de votre action pour éviter tout problème.

    Même si vous limitez votre intervention à des applications Web ou à des groupes de travail, il est nécessaire de définir vos objectifs, d'appréhender la portée de vos investigations, de déterminer des procédures standard de tests et de vous familiariser avec les outils nécessaires à l'accomplissement de votre mission. La clé du succès dépend de la maîtrise de tous ces paramêtres.


    Valider votre plan :

    Avant toute chose, le plan établi doit obtenir l'approbation de votre supérieur, d'un dirigeant, d'un client ou de vous-même (si c'est vous le patron). Sinon, votre évaluation risque d'être annulée à tout moment,  ou quelqu'un peut refuser que vous fassiez vos petites expériences sur ses systèmes. Par ailleurs, l'absence d'autorisation pour pratiquer un hacking éthique peut avoir des conséquences légales fâcheuses pour votre matricule. Le chapitre 20 donne dix conseils pour obtenir l'aval d'un supérieur avant d'asseoir la sécurité des systèmes informatiques de son entreprise.

      Si vous êtes consultant indépendant, travaillant avec une équipe de hackers préventifs, n'oubliez jamais de couvrir votre responsabilité par une assurance adaptée. La prime peut s'avérer élevée, mais vous êtes protégé en cas d'erreur entraînant des pertes financières ou techniques pour la société dans laquelle vous intervenez.

    Dans bien des cas, l'autorisation requise se limite à un simple mémo de service, établi par le dirigeant de l'entreprise, quand vous limitez votre intervention au seul ordinateur qui vous occupe. En revanche, dès que vous intervenez pour un client, exigez l'établissement et la signature d'un contrat où seront consignées l'étendue de votre intervention, les autorisations et les diverses responsabilités.


    Définir vos objectifs :

    Tout hacking préventif poursuit des objectifs. Le principal est de découvrir les failles d'un système que l'on pense hors d'atteinte de toute attaque externe ou interne. Ensuite, vous préciserez certains axes d'intervention :

    Définir des objectifs plus précis. Alignez ces objectifs sur ceux de votre travail.

    Créer un calendrier d'intervention avec des dates de démarrage et de fin des tests. Ces dates sont des composants sensibles dans votre planification globale.

    Avant d'entreprendre quoi que ce soit, procurez-vous une autorisation signée par ceux qui vous emploient.

    Tout doit être consigné dans un document et les dirigeants doivent être impliqués dans votre action. Votre meilleur allié en tant que hacker éthique est le soutien d'un supérieur.

    Voici les questions dont les réponses peuvent lancer la machine :

    Votre hacking préventif a-t-il le soutien de l'entreprise, de ses technologies de l'information et du département qui assure la sécurité ?

    En quoi ce hacking préventif rejoint-il les objectifs de l'entreprise ?

    Ces objectifs comprennent :

    La préparation de l'entreprise à la norme sécuritaire des outils de l'information ISO 17799 ou à des ensembles de services professionnels de certification tels que WebTrust et SysTrust.

    La concordance avec les réglementations gouvernenentales.

    L'amélioration de l'image de l'entreprise.

    La manière dont le hacking préventif peut améliorer la sécurité, les technologies de l'information et l'activité générale.

    Le choix des informations à protéger.

    Il peut s'agir de propriété intellectuelle, d'informations clients confidentielles ou d'informations privées sur les employés de l'entreprise.

    L'argent, le temps et les efforts nécessaires à la bonne conduite de votre politique d'évalution.

    Les prestations spécifiques envisagées.

    Ces prestations peuvent inclure l'établissement d'un rapport précis sur les résultats de vos tests, accompagné de vos conclusions et des mesures à prendre. Vous pouvez par exemple montrer à vos  commanditaires la liste des mots de passe que vous avez réussi à craquer et toutes les informations confidentielles auxquelles vous avez accédé à l'insu de tous.

    Les conclusions tirées.

    Il peut s'agir d'un ensemble de mesures à prendre pour asseoir la sécurité des externalisations, pour augmenter le budget alloué à la protection ou pour améliorer les systèmes de sécurité.

    Le personnel d'une entreprise peut chercher à contrarier votre plan de travail. La meilleure des antidotes est l'information. Montrez en quoi votre intervention va jouer en faveur de tous, pour le rendement et la sécurité de l'entreprise.

    Une fois vos objectifs connus, définissez les étapes qui vont en permettre la réalisation. Par exemple, si l'un des objectifs retenus est de développer un avantage concurrentiel et conserver les clients existants tout en en attirant de nouveaux, trouvez les réponses aux questions suivantes :

    Quand débuterez-vous vos tests ?

    Votre hacking préventif sera-t-il transparent, c'est-à-dire sans incidence sur les systèmes que vous testez ? Vous ne tirerez aucune information spécifique sur les systèmes tels que les adresses IP, les noms d'hôtes, et même les noms d'utilisateur et les mots de passe.

    Les tests sont-ils de nature technique, physique, voire de type social engineering ?

    Ferez-vous partie d'une équipe de hackers éthiques ?

    Informerez-vous vos clients de ce que vous faites ? Si oui, comment ?

    L'information du client est un problème crucial. Nombre d'entre eux apprécient que vous preniez des mesures pour protéger leurs informations. Par conséquent, présentez votre action de manière positive. Ne dites pas: "Nous allons pénétrer vos systèmes pour détecter les informations susceptibles d'être la proie des hackers". Préférez plutôt un discours de ce type: "Nous allons tester les points vulnérables de vos systèmes de manière à sécuriser vos informations contre des attaques de hackers".

    Commen savoir si le client se préoccupe de tous ces aspects ?

    Comment notifier au client que son entreprise doit prendre des mesures pour améliorer la sécurité de ses données ?

    Quelles estimations permettent d'assurer que les efforts sécuritaires seront payants pour l'entreprise ?

    Définir les objectifs prend du temps, mais vous ne le regretterez pas. Ces objectifs sont votre carte routière. En cas de doute sur le trajet à emprunter, il vous suffira de les consulter pour vous remettre dans la bonne voie.


    Déterminer les systèmes à attaquer :

    Il n'est pas nécessaire d'évaluer la sécurité de tous vos systèmes en même temps. Ce serait présomptueux car vous risqueriez de ne pas voir certains problèmes. Je ne suis pas en train de dire que vous ne devez pas tester chaque ordinateur et chaque application. Je suggère simplement d'intervenir de manière fragmentaire, afin que vos investigations soient plus facile à gérer. Vous devez décider des systèmes à tester en vous basant sur des analyses du niveau de risque encouru. De cette analyse dépendra la réponse aux questions suivantes :

    Quels sont les systèmes les plus vulnérables ? Lesquel d'entre eux, s'il est attaqué, peut entraîner le plus de problèmes ou souffrir des pertes de données les plus conséquentes ?

    Quels systèmes semblent être les plus à même d'être attaqués ?

    Quels systèmes ne sont pas documentés, rarement administrés ? Quels sont ceux dont vous connaissez le moins de choses ?

    Une fois les objectifs généraux définis, choisissez les systèmes à tester. Cette étape permet d'affiner la portée de votre intervention, ce qui facilite l'estimation du temps passé et du coût que cela représente.

    La liste suivante présente les systèmes et les applications que vous devez tester :

    Les routeurs.

    Les firewalls (pare-feu).

    L'infrastructure réseau dans son ensemble.

    Les passerelles et les points d'accès sans fil.

    Les serveurs Web, les applications et les serveurs de bases de données.

    Les serveurs de mails, de fichiers et d'impression.

    Les stations de travail, les portables et les tablettes PC.

    Les périphériques mobiles (comme les assistants personnels (PDA) et les téléphones cellulaires) qui stockent des informations confidentielles.

    Les systèmes d'exploitation des clients et des serveurs.

    Les applications des clients et des serveurs, comme les systèmes de messagerie électronique et les systèmes internes.

    Les systèmes spécifiques à tester dépendent de plusieurs facteurs. Si vous travaillez sur un petit réseau, vous pouvez tout tester. Vous pouvez limiter le test à des hôtes publics comme les serveurs de mails et les serveurs Web ainsi qu'aux applications qui leurs sont associées. La procédure de hacking préventif est très souple. Basez vos décisions sur les points particuliers qui répondent à une réalité de l'activité de l'entreprise.

    Commencez par les systèmes les plus vulnérables et considérez les facteurs suivants :

    Où se situent les ordinateurs ou les applications sur le réseau ?

    Quels systèmes s'exploitation et application(s) y fonctionnent ?

    Quelle est la quantité (ou le type) d'informations sensibles qui est stockée ?

    Parfois, des tests ont été déjà été effectués sur ces systèmes sensibles. Si vous obtenez les documents s'y rapportant, vous identifierez plus rapidement les systèmes ayant besoin de tests approfondis.

    Le hacking éthique va plus loin qu'un simple test de vulnérabilité et d'avalution des risques encourus par les informations les plus sensibles. Commencez par glaner les informations de tous les systèmes, y compris l'organisation vue dans son ensemble - puis approndissez les tests sur les systèmes qui semblent les plus fragiles. La méthodologie du hacking préventif est étudiée au Chapitre 4.

    Un autre facteur permet de déterminer le système où vous devez commencer vos investigations : il s'agit d'identifier celui qui présente la plus grande visibilité. Il est plus sensé par exemple de se focaliser sur un serveur de fichiers ou des bases de données que sur un firewall ou un serveur Web qui ne contient que des informations générales sur l'entreprise.


    Créer des standards d'évaluation :

    Il faut éviter que vos tests se soldent par un blocage du système informatique sur lequel vous intervenez. Pour empêcher cela, développez des standars de tests qui définiront :

    Le calendrier d'exécution des tests.

    Les tests accomplis.

    La méthode et le lieu d'exécution des tests.

    Les prérequis sur les systèmes avant d'intervenir.

    Ce que vous devez faire quand une faille majeure est décelée.

    Il s'agit d'une liste qui a fait ses preuves et qui dénote une méthode sérieuse d'intervention. Bien évidemment, les standars de tests s'adapteront aux situations que vous rencontrerez. 


    Calendrier :

    La définition d'un calendrier d'intervention est nécessaire au succès du hacking préventif. Il faut que votre activité gêne le moins possible celle de l'entreprise, qu'elle ne corroompe pas les systèmes d'information et qu'elle ne perturbe pas les employés. Ainsi, vous éviterez de procéder à l'attaque d'une société d'e-commerce au beau milieu de la journée lorsque l'activité bat son plein.

    Avertissez les FAI (Fournisseurs d'Accès Internet) ou les fournisseurs de service d'application avant de procéder à des tests via Internet. Ces structures sauront à quoi vous les exposez et ne bloqueront pas les services s'ils suspectent des tentatives d'intrusion malhonnêtes.

    Votre calendrier doit spécifier les dates et la durée de chaque test, le début et la fin de chaque évaluation, et les étapes intermédiaires aussi spécifiques que nécessaires. Une simple feuille de calcul permet d'établir ce calendrier initial, soumis à l'approbation du client et validé dans un contrat. Un calendrier d'intervention peut ressembler à ceci :

    Calendrier d'intervention
    Test accompli
    Testeur
    Début
    Fin estimée
    Attaque distante Tommy Tinker 1er Juillet à 06h00 1er Juillet à 10h00
    Craquage de mot de passe Amy Trusty 2 Juillet à 0h00 2 Juillet à 05h00

    Ce calendrier est simple. Il sert de référence pendant le test.


    Tests spécifiques :

    Vous exécuterez peut-être un test d'intrusion, ou bien des tests spécifiques, comme le craquage de mots de passe ou un war dialing sur un réseau. Peut-être aussi tenterez-vous un social engineering ou une évaluation des systèmes d'exploitation Windows en réseau. Quoi que vous fassiez, votre supérieur ou votre client ne tentera pas d'entrer dans les détails. Cela permet de travailler plus sereinement  sans chercher, pour autant, à cacher des choses aux personnes qui vous font confiance.

    La preuve ultime, incontournable de ce qui a été testé et du moment où cela a été testé, est d'autoriser la connexion aux systèmes.

    Lorsque vous automatisez la procédure de test avec des outils, il peut être difficile de comprendre les tenants et les aboutissants de chaque test effectué. Ceci est d'autant plus vrai quand l'outil utilisé est automatiquement mis à jour chaque fois que vous l'exécutez. Cette fréquence des mises à jour potentielles souligne toute l'importance que revêt la consultation de la documentation et des fichiers readme ou lisezmoi livrés avec les outils.


    Test en aveugle ou non :

    Bien qu'il ne soit pas nécessaire de maîtriser les systèmes testés, il est recommandé d'en connaître certains aspects pour protéger tous les utilisateurs contre vos attaques préventives. Si vous attaquez les systèmes d'un client, vous devez investir davantage leur fonctionnement pour bien apprécier ce que vous faites.

    La meilleure approche consiste à envisager des attaques illimitées. Les hackers ne se limitent pas dans leurs exactions, il n'y a donc aucune raison pour vous vous imposiez des restrictions. Vous devez également apprécier l'opportunité de conduire les tests de manière indétectable, notamment lors de tests de sécurité physique et de social engineering. Ces tests particuliers sont étudiés aux chapitres 5 et 6.

    La vigilance de chacun peut être dénaturée si tout le monde sait ce que vous faites. L'humain, inconsciemment, modifie son comportement. Or, ce changement d'attitude est nuisible à vos tests. Cela ne veut pas dire qu'il ne faille parler à personne. Non ! Toutefois, limitez vos contacts aux seuls responsables de la société où vous intervenez.


    Localisation :

    Vous devez lancer vos attaques là où les hackers peuvent accéder aux systèmes. Vous ne sauriez dire si les attaques viendront d'un hacker interne ou externe. Par conséquent, combinez des tests externes (l'Internet public) et des tests internes (réseau privé).

    Vous pouvez exécuter des tests, comme le craquage de mots de passe et les évaluations de l'infrastructure réseau, depuis les fauteuils confortables de votre bureau - au sein même du réseau. Toutefois, il est judicieux d'avoir un intervenant externe de confiance pour exécuter d'autres tests sur les routeurs, les firewalls, et les applications Web publiques.

    Pour les attaques externes qui exigent une connexion au réseau, il est recommandé de rester en dehors du site d'investigation (une bonne excuse pour rester à la maison) ou d'utiliser une sereur proxy externe. Mieux encore : vous pouvez assigner à vtre ordinateur une adresse IP publique disponible et vous connecter au réseau en passant derrière le firewall pour apprècier l'intrusion du hacker dans les systèmes. Les tests internes sont faciles car vous avez simplement besoin d'un accès physique aux locaux et au réseau.


    Réagir à ce que vous découvrez :

    Déterminez à l'avance si vous interromprez vos investigations ou les poursuivrez après avoir découvert une faille majeure. Votre responsable ou votre client ne vous le demandera certainement pas, mais, je pense qu'il est nécessaire de continuer pour voir ce que l'on peut déceler d'autre.

    Je ne demande pas de procéder à un hacking préventif jusqu'à la fin des temps ou le blocage des systèmes. Suivez simplement le chemin ainsi ouvert jusqu'à ce que les attaques ne soient plus possibles.


    Présomptions stupides :

    Lorsque vous testez un système, il faut présumer certaines choses :

    Les ordinateurs, les réseaux et les employés sont disponibles pendant vos tests.

    Vous avez tous les outils nécessaires.

    Les outils utilisés ne bloqueront pas vos systèmes.

    Vos outils de hacking fonctionnent correctement.

    Vous mesurez les risques de vos tests.

    Ces suppositions doivent être consignées et reconnues comme partie intégrante du processus d'approbation validé par votre client.


    Sélectionner des outils :

    Les outils d'évaluation de la sécurité (outils de hacking) dépendent des tests à effectuer. Rien ne vous empêcher de réaliser des tests avec une paire de chaussons, un téléphone et une station de travail rudimentaire connectée à un réseau. Toutefois, le résultat du test sera plus facile à interprêter si vous utilisez des outils de hacking.

    Un arsenal d'outils est indispensable, mais encore faut-il que ce soit les bons :

    Si vous craquez des mots de passe, un analyseur de port comme SuperScan ou Nmap est insuffisant.

    Il vous faut un outil comme LC4, John The Ripper ou pwdump.

    Si vous lancez une analyse approfondie d'une application Web, un outil d'évaluation comme Nikto ou WebInspect sera bien plus efficace qu'un analyseur de réseau comme Ethereal.

    Si vous n'êtes pas certain des outils à utiliser, mon site vous sera d'une grande utilité. Il envisage aussi bien des programmes gratuits que payants pour exécuter vos tâches.

    Il existe des centaines voire des milliers d'outils.

    Voici mes préférés :

    @stake L0phtCrack (plus connu sous le nom de LC4).

    Ethereal.

    Foundstone SuperScan.

    Qualys QualysGuard.

    GFI LANguard Network Security Scanner.

    John The Ripper.

    Network Stumbler.

    Nessus.

    Nikto.

    Nmap.

    pwdump2.

    SPI Dynamics WebInspect.

    THC-RUT.

    ToneLoc.

    Wellenreiter.

    WildPackets EtherPeek.

    AiroPeek.

    J'étudie ces outils dans la partie 2 à 5 de mon site.

    Les outils de hacking peuvent être néfastes au réseau. Prenez garde quand vous les utilisez. Comprenez-en bien les options avant de lancer les tests. Essayez vos outils sur des systèmes test. Ces précautions évitent de réaliser les conditions d'un DoS (Deny of Service) et de corrompre l'intégrité des données, voire de rendre inopérant un système de production entier.

    Lorsque vous choisissez des outils de test, vérifiez les points suivants :

    Veillez à disposer de la bonne documentations.

    Vérifiez que l'outil permet de générer des rapports détaillés sur les failles, y compris sur la manière de les exploiter et de les corriger.

    Mettez à jour le produit quand cela s'avère nécessaire.

    Vérifiez la possibilité d'établir un rapport complet et technique, compréhensible pour vos dirigeants et toute personne béotienne en matière de sécurité informatique. Ces rapports permettent de gagner du temps. Je les traite au chapitre 17.

    Appréciez objectivement vos limites et celles de vos outils. Certains outils voient des failles là où il n'y en a pas. D'autres en ignorent. En matière de social engineering ou d'évaluation de la sécurité physique, vous êtes le seul à pouvoir passer à côté de quelque chose.

    Si vous n'êtes pas satisfait d'outils gratuits très populaires, optez pour une version commerciale, donc payante. Ces versions sont souvent plus faciles à utiliser et créent plus rapidement des rapports. Certains outils sont très chers, mais leur simplicité d'utilisation et leurs fonctionnalités justifient ce prix.


    votre commentaire


    Suivre le flux RSS des articles de cette rubrique
    Suivre le flux RSS des commentaires de cette rubrique