Définition du TP2
Transcription
Définition du TP2
420-C32-BB, Automne 2009 Travail pratique numéro 2 Professeurs : Yves Bergeron et Fabrizio Gotti Objectifs Le but du TP2 est de vous familiariser avec la gestion des sockets réseaux, l’utilisation des appels système Linux/Unix et la gestion sécuritaire d’une poste de travail et de son système d’exploitation. Date de remise Les 10 questions : Le mardi 17 novembre 2009 avant midi. (PAS DE RETARD) Les rapports finaux : Le mardi 8 décembre 2009 avant midi. Programmes à écrire Vous aurez à écrire deux courts programmes en C/C++ version Linux. Programme 1 : un serveur botnet qui écoute les ordres de son maître distant • Le serveur botnet ouvre un socket réseau dont le numéro de port correspondant à 50000 + les 4 derniers chiffres de votre numéro de DA. • À la requête du maître, il exécutera les commandes correspondantes et retournera le résultat à travers le socket réseau. Six commandes doivent être préparées pour répondre aux requêtes : hote (hostname), memoire (free), usagers (finger), adresse (ip addr), web (w3m) et exit. Pour l’usage de ces commandes, utilisez popen. Les requêtes non traitables doivent recevoir la réponse : « Ce n'est pas une commande acceptée ! » Programme 2 : un maître client qui envoie des requêtes à travers le socket réseau • Le maître établit un lien avec 127.0.0.1 et envoie des requêtes espion pour obtenir des informations sensibles provenant du système où est logé le serveur pirate. Lorsque la commande exit est envoyée, la communication se termine. Analyse à faire et rapport à rédiger Vous devez constituer un questionnaire de 10 questions au sujet des bonnes pratiques de gestion de son poste de travail que vous remettrez au prochain cours. PAS DE RETARD ! Ces 10 questions doivent couvrir l’ensemble des thèmes vus dans la partie II des bonnes pratiques. Ces questions doivent être précises de manière à établir un bilan diagnostic complet de la situation de sécurité d’un poste. Cela exclut toute question de type oui/non. Vous utiliserez le document final qu’on vous remettra issu de la synthèse de toutes vos questions pour analyser la sécurité de votre poste et de celui d’un membre de votre famille ou d’un(e) ami(e). Ce rapport inclura l’identification des failles et les correctifs à apporter. Pour ce travail, mettez-vous dans la peau d’un consultant plutôt que dans celle d’un étudiant : rédigez un travail de professionnel, au contenu complet et clair et à la présentation soignée. Sans faute, bien sûr ! (La touche F7 est située tout juste au dessus des touches 8 et 9). À remettre Veuillez remettre deux rapports : Le premier • Une page de garde • Programme et code C/C++ • Les réponses aux questions suivantes : 1. Y a-t-il un risque d’injection de code en utilisant la fonction popen de façon générale ? 2. Dans le man de signal on peut lire la phrase suivante : « The signals SIGKILL and SIGSTOP cannot be caught or ignored! ». Pourquoi ? 3. Dans la gestion des fichiers on utilise un tampon d’une certaine dimension pour optimiser les temps d’écriture et de lecture. En vous référant à la section 2 du chapitre 13, on constate que l’augmentation de la taille du tampon au-delà de 8K n’apporte plus d’accélération. Pourquoi ? 4. Quels sont les dangers reliés aux témoins (cookies) utilisés par tous les fureteurs Internet ? Le deuxième • Votre rapport de calibre professionnel !!! Liens utiles http://vidalc.chez.com/lf/socket.html http://www.bien-programmer.fr/reseaux.php http://www.linuxhowtos.org/C_C++/socket.htm