% INF4471 — Introduction à la sécurité informatique % UQAM — Département d'informatique % Plan de cours — Automne 2020 * Horaires, locaux et enseignants: * Site web du cours: Responsable(s) du cours ======================= Coordination ------------ Gambs, Sébastien PK-4925 Enseignement ------------- Killijian, Marc-Olivier PK-4740 Groupes: 020-cours Laurent, Antoine Groupes: 020-laboratoires Modalité de communication ========================= Le cours de cet automne étant effectué en distanciel et majoritairement en asynchrone, voici les modalités prévues pour la communication entre les étudiants et professeur/auxiliaire. - Le forum (foire aux questions) du moodle du cours sera l'instrument de communication privilégié, car il bénéficiera à tout le monde. Il devra être utilisé pour toutes les questions d'intérêt général concernant le contenu du cours ou son organisation, ou des laboratoires. - Le courriel pourra être utilisé pour les questions plus personnelles ou confidentielles. Les questions posées par courriel, si elles sont de portée générale, pourront être transférées sur le forum de façon anonymisées. - Le professeur répondrai aux questions forum/courriel portant sur le cours a minima les mardis et jeudis matin. - En ce qui concerne les laboratoires, forum ou courriel à Laurent Antoine, qui traitera sous 24h. - Il y aura des séances Zoom pour des questions posées de vive voix, ou pour revenir sur des questions du forum : - les mardis de 11h à 12h concernant le cours ; - les jeudis de 10h à 11h concernant les laboratoires. Description du cours ==================== Il s'agit d'un cours d'hygiène informatique et d'introduction à la sécurité informatique. Les objectifs sont donc souvent duals entre application et théorie. Au fil des séances, nous verrons notamment les points suivants. **Principes et concepts fondamentaux de la sécurité** des systèmes informatiques. Principaux objectifs de sécurité: confidentialité, intégrité, disponibilité, authentification, non-répudiation, contrôle d'accès. Typologie des attaques et menaces: fuites, modifications, dénis de service. **Introduction aux mécanismes de sécurité modernes**: systèmes de chiffrement symétriques et asymétriques; codes d'authentification de messages et signatures électroniques; fonctions de hachage; protocoles sécuritaires: authentification, contrôle d'accès. **Sécurité des réseaux**: gestion et infrastructure de clés; étude de la sécurité de protocoles existants (TLS, IPSec); protocoles d'authentification dans les réseaux sans fil (WEP, WPA et WPA2); surveillance et détection d'intrusion; appareils mobiles. **Sujets avancés**: introduction à la protection de la vie privée; sécurité en infonuagique; sécurité de l'internet des objets; Bitcoin et blockchain. **Gestion des incidents de sécurité** et améliorations des systèmes: mécanismes de recouvrement. Analyse de risque. Gestion des vulnérabilités techniques. Éducation des usagers. Considérations légales, politiques et éthiques. Politiques et modèles de sécurité. Objectif du cours ================= Introduire les étudiants à l'hygiène informatique et aux différents aspects de la sécurité des systèmes informatiques. Sensibiliser les étudiants aux risques et menaces. Présenter les techniques permettant d'assurer la sécurité des systèmes d'information. Décrire les méthodes de mitigation du risque. À la fin de ce cours, l'étudiant devra être en mesure de: - comprendre l'ensemble des problématiques de la sécurité informatique et distinguer les principaux objectifs de sécurité; - manipuler de façon sécuritaire les outils informatique; - expliquer le fonctionnement et justifier l'utilisation des principaux mécanismes de sécurité: chiffrement, signature, hachage, protocoles, etc.; - identifier les risques et les menaces, actuels et futurs, auxquels fait face un système; - proposer des mesures de contrôle appropriées. Contenu du cours ================ **Introduction**. Problématique de la sécurité: confidentialité, authentification, intégrité, traçabilité, disponibilité, non-répudiation, respect de la vie privé, contrôle d'accès. Vulnérabilités, menaces à la sécurité et attaques. Techniques de base en sécurité: Terminologie. Notion de confiance. Analyse de risque. Principes et politiques de sécurité. Éducation des usagers, hygiène informatique personnelle et professionnelle. Droits et organisation de la sécurité informatique. **Canaux cachés**. Fuites d'information matérielles, métadonnées, réseau. Respect de la vie privée et lien avec la sécurité informatique. Outil de traçage, traces numériques. Attaques par inférence et méthodes d'assainissement. Protection des données par k-anonymat et confidentialité différentielle. Technologies de protection de la vie privée (réseaux de communication anonyme, accréditations anonymes, retrait privé d'information). **Enjeux géopolitiques, économiques et étatiques de la sécurité informatique**. Agences nationales de sécurité, espionnage. Méthodes d'appréciation et d'analyse de risques : évaluation, analyse, acceptation, assurance. Vie privée et technologies de géolocalisation : enjeux, attaques et défenses. **La fraude sur Internet**. Les différents types d'attaques et les risques et menaces associées : hameçonnage, dénis de service, vol d'identité, botnets, rançongiciels. Economie de la sécurité et de l'insécurité, marché des failles de sécurité. **Cryptographie symétrique** (clé privée). Arithmétique modulaire. Principes de Kerckhoffs. Exemples de chiffrements historiques et de mécanismes de base: transposition, permutation. Caractérisation des systèmes de chiffrement. Cryptanalyse et attaques. Notions de base fondamentales: entropie, redondance. Chiffrement à sécurité inconditionnelle : masque jetable. Systèmes de chiffrement symétriques modernes (DES, AES). Modes de fonctionnement : ECB, CBC, CTR. Chiffrement par flux (RC4). **Communications anonymes**. Systèmes d'échanges pair-à-pair. Darkweb, le routage en oignon et TOR. La chaine de bloc et les monnaies cryptographiques. Les messageries sécurisées. VPNs. Accréditations anonymes. **Malware et antivirus**. Aspects historiques. Typologie des malware et la métaphore anthropomorphe (virus, ver, troyen et bombes logiques). Contremesures, analyse de malware, pots-de-miel, systèmes de détection d'intrusion, antivirus, patches. **Cryptographie asymétrique** (clé publique). Historique et propriétés. Bases mathématiques : calcul entier, PGCD, modules et exponentiation modulaire. RSA. Fonctions à sens unique. Intégrité des données et authentification de messages. Génération pseudo-aléatoire. Introduction au chiffrement homomorphe. **Courriel, pourriel, authentification, signatures électroniques et infrastructure de gestion de clé**. Problématique et enjeux économiques des pourriels et de leur détection. Signature numérique DSA et RSA. Le logarithme discret. Gestion et infrastructure de clés (Diffie-Hellman, attaques de l'homme du milieu). Infrastructure publique, certificats, chaines de certificats, X.509, PGP. **Mots de passe et authentification de messages**. Fonctions de hachage (MD5, SHA-1, SHA-3). Codes d'authentification de message (HMAC, CBC-MAC). Introduction aux protocoles d'authentification. Les mots-de-passe et leur propriétés. Gestionnaires de mots-de-passe. Attaques et outils d'évaluation de la robustesse des mots de passe. Authentification biométrique. **Disques dur chiffrés et forensique**. Comment et pourquoi chiffrer un disque dur. La forensique, les enjeux et techniques. L'expertise judiciaire, la réponse à incident de sécurité. **Sécurité des systèmes répartis et de réseaux**. Rappel réseau (TCP/IP, équipement). Menaces spécifiques: écoute illicite, imposture, déni de service, brouillage. Caractéristiques des médiums de transmission. Capture de paquets, pare-feus, proxies, détection d'intrusion. Réseaux privés virtuels. Les protocoles IPSec, SSH et SSL et certaines attaques. Authentification dans les réseaux Wi-Fi (WEP, WPAs) et le protocole Bluetooth. Formule pédagogique =================== Chaque séance sera composée de différentes activités, chacune obligatoire et susceptible d'être évaluée dans un devoir ou un examen: - Capsules vidéo (30 à 60 minutes) sauf la première séance pour laquelle les capsules seront remplacées par une séance Zoom de 1h30, le 8 septembre de 10h30 à 12h - Laboratoire (2h) - Lectures - Ecoute de ballados, vidéos - Quizzs d'autoévaluation (non notés) Des activités optionnelles seront parfois proposées, possiblement en langue anglaise. Modalités d'évaluation ====================== - Capsules vidéo de présentation d'un sujet lié à la sécurité (en équipe et co-évaluées): 20% - Réalisation d'un glossaire autour de la terminologie et des grands sujets de la sécurité: 25% - Participation active à la foire aux questions (pour poser des questions ou y répondre): 5% - Devoirs (étalés sur la session): 30% - Examen final (10 décembre): 20% Capsules (20%) - 20 octobre --------------------------- A réaliser par équipe de 5 étudiants, une capsule vidéo d'une durée de 5 à 10 minutes présentera les problématiques de sécurité sur un sujet spécifique à prendre dans la liste suivante, ou à proposer et à faire valider par le Professeur. Ces capsules seront ensuite accessibles à tous les étudiants, qui participeront à leur évaluation. Il s'agit de présenter les problèmes de sécurité soulevés, ou traités, par le sujet en question, l'évaluation porte sur l'objectif \#1 du cours : "comprendre l'ensemble des problématiques de la sécurité informatique et distinguer les principaux objectifs de sécurité". Chaque équipe devra sélectionner un sujet distinct. Sujets potentiels : la fuite de données chez Desjardins; le paiement sans contact; les applications de traçage de contact dans la crise CoVid; a t'on encore besoin d'un Wikileaks; l'engouement pour la visio-conférence (Zoom, etc.); les bug bounty; red-team vs. blue-team; le tatouage de vidéo; la cryptographie quantique; la cryptographie post-quantique; le chiffrement homomorphe; e-démocratie; vote électronique et machines à voter; authentification biométrique; sécurité offensive; évaluation des risques de sécurité; etc. Glossaire (25 %) - 20 octobre et 15 décembre -------------------------------------------- Chaque étudiant devra, tout au long de la session, produire un glossaire des différents termes, acronymes et grands sujets rencontrés dans le cours et ses activités (capsules du cours, autres vidéos et ballados, lectures, etc.). Ce glossaire sera un outil qui permettra d'avancer dans la compréhension globale du cours. Il sera évalué à la mi-session (12.5%) ainsi qu'à la fin de la session (12.5%). Forum (5%) - 20 octobre et 15 décembre -------------------------------------- Chaque étudiant devra, tout au long de la session, participer au forum sur le Moodle du cours pour poser des questions et y répondre. Ce forum sera un outil de rétroaction important dans le cadre de la tenue de ce cours en distanciel. Devoirs (30 %) - 3 et 24 novembre --------------------------------- A deux occasions au cours de la session, des devoirs écrits notés permettront aux étudiants d'approfondir les sujets vus en cours ou encore de mettre en pratique et de vérifier expérimentalement certains des concepts présentés en classe. Les devoirs et travaux, qui pourront être réalisés en équipes de deux, toucheront à différents sujets en sécurité informatique. L'écriture de programmes courts sera potentiellement nécessaire pour la réalisation des devoirs. Examen final (20 %) - 15 décembre --------------------------------- Examen à livre ouvert, portant sur l'ensemble de cours. Prenez note que la correction des exercices et examens tient abondamment compte des explications fournies. Il est donc avantageux d'exposer votre travail de façon claire et dans un langage correct. Une réponse correcte obtenue au terme d'un raisonnement invalide ou flou ne vaut pas grand chose. Par contre, un raisonnement valide, conduisant à une réponse erronée à cause d'erreurs mineures vaut beaucoup plus. Dans le doute, il vaut mieux être explicite que succinct. Notes ----- Les règlements de l'UQAM concernant le plagiat seront strictement appliqués. Pour plus de renseignements, consultez le site suivant : Tout travail que vous soumettez doit être le fait de votre propre travail. Vous pouvez échanger avec vos collègues sur les travaux, les approches de solutions, mais les idées et solutions que vous soumettez doivent émaner de votre propre réflexion. Dans le cas de programmes, vous devez créer et coder votre propre code source, et le documenter vous même. Une fois le programme écrit, il est possible de se faire aider pour le déboguage. En cas de doute sur l'originalité des travaux, un test oral pourra être exigé. Une pénalité de retard de 10% par jour ouvrable sera appliquée sur les travaux remis après les dates prévues. Il est de la responsabilité de l'étudiant de se faire des copies de ses travaux. Matériel et logiciels utilisés ============================== Le cours se donnant en distanciel, il vous faut évidemment un ordinateur connecté à Internet, capable de lire des vidéos et d'écouter des ballados. Il vous faudra également installer le logiciel Zoom. En équipe, il vous faudra produire des capsules vidéos, pour ce faire un simple téléphone intelligent peut suffire, mais un ordinateur avec caméra, logiciel de montage, etc. fonctionne également. Certains laboratoires vous demanderont d'installer le logiciel Oracle VirtualBox https://www.virtualbox.org/wiki/Downloads et de lancer une machine virtuelle Linux d'une taille de plusieurs dizaines de Go. Afin de ne pas avoir de problème, il vous est donc recommandé d'avoir au minimum 100 Go d'espace disque libre. Tout système (Windows, Linux, Macintosh, Solaris) convient a priori. Il sera nécessaire de disposer d'une clé USB **vierge** d'au moins 8 Go. Médiagraphie ============ Sera complété sur le Moodle au fur et à mesure des lectures.