% INF4471 — Introduction à la sécurité informatique % UQAM — Département d'informatique % Plan de cours — Automne 2021 * Horaires, locaux et enseignants: * Site web du cours: Responsable(s) du cours ======================= Coordination ------------ Killijian, Marc-Olivier PK-4740 Enseignement ------------- Killijian, Marc-Olivier PK-4740 Groupes: 020 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: - Séance de cours (3h) - Laboratoire (2h) - Lectures - Ecoute de ballados, vidéos Des activités optionnelles seront parfois proposées, possiblement en langue anglaise. Calendrier ========== \#Semaine Cours ----------- ------------------------------------------- 1 Introduction 2 Fuite d'information 3 Geolocalisation - Intelligence économique 4 Fraude sur Internet 5 Cryptographie symmétrique 6 Communications anonymes **7** **Présentations** 8 Maliciels et antivirus 9 Cryptographie asymmétrique 10 Courriels et pourriels 11 Mots de passe 12 Chiffrement de disque dur 13 Sécurité réseau 1 14 Sécurité réseau 2 **15** **Examen final** Modalités d'évaluation ====================== - Présentation d'un sujet lié à la sécurité (en équipe et co-évaluées le 19 octobre): 20% - Devoir 1 (à rendre le 10 octobre à 23h55): 25% - Devoir 2 (à rendre le 14 novembre à 23h55): 25% - Examen final (14 décembre): 30% Présentations (20%) - 19 octobre -------------------------------- A réaliser par équipe de 5 étudiants, une présentation d'une durée de 8 à 10 minutes autour des 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 : les fuites de données; le paiement sans contact; le passeport vaccinal (CoVid); les outils de 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. Devoirs (50 %) - 10 octobre et 14 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 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 (30 %) - 14 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 donne en présentiel, mais afin d'être capable de passer en mode distanciel s'il le fallait, il vous faut un ordinateur connecté à Internet, capable de lire des vidéos et d'écouter des ballados. Il vous faudra également installer le logiciel Zoom. 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.