Parcours Sécurité Informatique

Enseignements

Les enseignements sont organisés en 4 semestres, chaque semestre permettant de valider 30 crédits ECTS. L'obtention du master nécessite la validation de 120 crédits ECTS. Chaque semestre, un certain nombre d'unités d'enseignement (UE) sont proposées, certaines étant obligatoires, d'autres à choisir parmi un ensemble d'options.

1ÈRE ANNÉE > tout déplier > tout refermer

SEMESTRE 1

UE obligatoires (30 crédits) ECTS COURS TD TP
Java avancé 3 12 0 18
  • Apprentissage de l'API crypto de Java (JCA) en complément d'Openssl
  • Signature et le déploiement d'applets pour une PKI
  • Utilisation de XML signature

 


Responsable(s) : Jean-Louis Lanet
Introduction à la cryptologie 3 12 18

Ce module est accessible aux étudiants de niveau licence de mathématiques ou licence d'informatique.

  • Fondements de la cryptographie: problématique. Théorie de l'information, entropie.
  • Point de vue historique, cryptanalyse des systèmes historiques. One Time Pad, sécurité parfaite.
  • Services de sécurité rendu par la cryptographie: authentification, intégrité, confidentialité, preuve.
  • Principes: diffusion, confusion, principe de kerckhoffs.
  • Cryptographie à clé secrète, chiffrement par blocs et à flot, (exemples: DES/3DES, AES, RC4,...), fonction de hachage: SHA-1,...
  • Cryptographie clé publique: fonctions trappe, « one-way », partage de secret, exemples (RSA, Diffie-Hellman, El Gamal, courbes elliptiques).
  • Authentification cryptographique (MAC, défi/réponse,...), principes cryptographiques des signatures électroniques.
  • Problématique de la diffusion, de la gestion et de la protection des clés.

Responsable(s) : Pierre Dusart
Complexité et calculabilité 3 12 18

Modèles de calcul: machines de Turing, fonctions récursives, calcul lambda. Calculabilité. Décidabilité. Classe de complexité: P, NP, co-NP, problèmes NP-complets. Complexité des algorithmes.

 


Responsable(s) : Duong Hieu PHAN
Analyse et développement logiciel 1 3
  • Préparation à la conduite de projet informatique
  • Présentation d'outils collaboratifs (svn) et rédaction de documents (latex)
  • Introduction aux outils de conduite de projet (diagramme de Gantt)
  • Recherche documentaire et rédaction d'un document d'étude de l'existant

Responsable(s) : Benoit Crespin
Algorithmique et programmation avancées 3 6 12 12

Responsable(s) : Guillaume Gilet
Réseaux 1 6 21 24 15

Révision et apprentissage des bases des réseaux

  • réseaux diffusion/point à point, commutation/datagramme, interconnexion ;
  • matériel : hub, pont, switch, routeur ;
  • adressage IP & MAC, routage direct/indirect ;
  • protocoles de communication : DHCP, ARP, DNS, ICMP ;
  • datagramme IP et trame Ethernet.

Programmation réseau :

  • modèle en couches ;
  • notion de protocole de communication (encapsulation, fragmentation, contrôle de flux) ;
  • contrôle d'erreur (acquittement, renvoi par timedout) ;
  • modélisation ;
  • communication en mode orienté connexion (TCP), en mode datagramme (UDP) ;
  • modèles client/serveur en mode orienté connexion, en mode datagramme ;
  • adressage et communication multicast.

Illustration en TP par la programmation de protocoles (TCP, UDP en broadcast, DNS, HTTP, SMTP/MIME).

Conception de réseau de grande taille :

  • Conception de réseau de grande taille :
  • subnetting, Supernetting, NAT ;
  • segmentation du réseau (VLAN, Switch, STP, routeur) ;
  • routage dynamique : protocoles OSPF, RIP, BGP, notion d'AS ;
  • domaine de noms : DNS, champs SRV, mDNS ;
  • présentation d'IPv6 : adressage, portée des adresses, protocole ICMPv6.

Illustration dans des simulateurs de réseaux basés Linux.

Contrôle de congestion et allocation de ressource :

  • congestion réseau dans un réseau datagramme ;
  • mécanismes de gestion de congestion de TCP (slow start, mécanisme de fenêtre de congestion)
  • qualité de service par allocation de ressource, par marquage de paquets.

Illustration dans des simulateurs de réseaux basés Linux.

Contrôle et partage d'accès à un réseau :

  • aspects physiques de la transmission de données (codage en bande de base et par modulation) ;
  • notion de variance, de capacité (Shannon, Nyquist) ;
  • détection et contrôle d'erreur (Hamming, polynomiale);
  • notion de saut de fréquences ;
  • protocole d'accès au support (MAC) stochastique/contrôlé,
  • distribué/centralisé : CSMA/CD, MACA, DCF/PCF.

Illustration : WiFi, Ethernet, FastEthernet, Bluetooth et Wimax.


Responsable(s) : Pierre-François Bonnefoi
Intelligence artificielle 1 3 12 12 6

Méthodes de recherche avec heuristique dans un espace d'états.

  • Les problèmes de satisfaction de contraintes (CSP).
  • Algorithmes pour les jeux.
  • Représentation des connaissances et systèmes experts.
  • Techniques d'apprentissage.
  • Introduction aux réseaux de neurones.

Responsable(s) : Karim Tamine
Applications distribuées 1 3 9 0 21
  • Introductions aux applications distribuées et aux serveurs d’applications dans JEE 8
  • Les Servlets
  • JSF (Java Server Faces) et la programmation front end
  • Les EJB
  • La persistance de donnée avec JPA
  • Les architectures de micro-services
  • Conception et développement de services web REST et SOAP en JEE
  • La sécurité JEE

Responsable(s) : Emmanuel Conchon
Développement sur GPGPU 3 12 0 18

 

  • Introduction aux processeurs graphiques programmables massivement parallèles, notions de threads et de noyaux
  • Mémoire locale, globale et partagée 
  • Mémoire vs calcul intensif 
  • Librairies CUDA et OpenCL 
  • Illustration sur des problèmes d'algèbre linéaire, d'illumination 3D et de factorisation

Responsable(s) : Benoît Crespin
UE optionnelles (0 crédits à choisir) ECTS COURS TD TP

SEMESTRE 2

UE obligatoires (24 crédits) ECTS COURS TD TP
Anglais 3 36

Formation orientée sur les deux années de façon à préparer les étudiants à atteindre le niveau B2 européen.


Responsable(s) :
Droit et conduite de projet 3 30
  • Droit des brevets et autres droit du transfert
  • Droit des contrats
  • Initiation au droit de l'informatique: propriété intellectuelle, loi « Informatique et Libertés », Loi Godfrain, législation sur la cryptographie, LCEN,...
  • Introduction à la conduite de projet informatique.

Responsable(s) : Benoit Crespin
Sécurité des usages TIC 3 15 15

Cette UE est accessible aux étudiants disposant d'un niveau en mathématique et informatique de seconde année de licence. Il est orienté vers la sécurité des usages de l'Internet et des Technologies de l'Information et de la Communication. Il est illustré par des TP.

  • Menaces Internet et sur les TIC.
  • Protection du poste de travail individuel: protection des documents électroniques, protection contre les « malware » (virus, spyware, rootkit), pare-feux personnels, ...
  • Gestion des droits et des autorisations, principales méthodes d'authentification, mot de passe.
  • Usages des signatures électroniques, certificats électroniques, compréhension des IGC.
  • Sécurité des communications Internet: courrier électronique, connexion distantes, accès aux sites Internet, voix sur IP.
  • Protection de la vie privée: traçabilité des connexions, spyware.

Responsable(s) : Pierre-François Bonnefoi
Analyse et développement logiciel 2 6 90

Travail significatif (encadré par des enseignants de la spécialité) d'analyse, de recherche d'informations et de programmation, réalisé par les étudiants. Orientation vers la recherche (en lien avec des travaux de recherche scientifique menés au sein des laboratoires associés) ou vers l'industrie (réalisation d'un logiciel répondant à un cahier des charges précis)


Responsable(s) : Benoit Crespin
Réseaux 2 3 9 12 9

 Programmation réseaux de bas niveau :

  • présentation de Scapy ;
  • utilisation de plate-forme virtuelles dédiées (VMware, VirtualBox) ;
  • réalisation d'outils d'analyses de trafic.

Régulation du trafic réseaux : Firewall et applications

  • présentation des outils de NetFilter en niveau 2 et 3, EBtables et IPtables (notion de table, de chaînes, hook, statefull/stateless) ;
  • partage d'adresse et limitation : DNAT, SNAT, REDIRECT, STUN ;
  • quelques risques, les filtrage associés et leur limites : brute force, fragments, SYN Cookie) ;
  • QoS : contrôle du débit par marquage de paquet avec qDisc (Classless Queuing Disciplines) ;

Illustration dans des simulateurs de réseaux basés Linux.

VPNs : déploiement et utilisation :

  • les protocoles d'accès sécurisé à un réseau (EAP, 802.1X, Radius) ;
  • IPSec, OpenVPN, utilisation des certificats ;

Illustration dans des simulateurs de réseaux basés Linux.

IPv6 : déploiement et configuration.

Illustration dans des simulateurs de réseaux basés Linux.


Responsable(s) : Pierre-François Bonnefoi
Infrastructures réseaux 3 9 12 9
  • Approche pratique de la sécurité des réseaux locaux et de leurs accès par l'extérieur
  • Etude et mise en place de mécanismes de sécurité (VLAN, firewall, VPN) et des différents vecteurs d'attaques
  • Mise en place d'architectures de sécurité afin de comprendre comment mettre en place les dispositifs de sécurité dans un réseau

Responsable(s) : Pierre-François Bonnefoi
Cryptologie Avancée 3 12 12 6

Responsable(s) : Philippe Gaborit
UE optionnelles (6 crédits à choisir) ECTS COURS TD TP
Intelligence artificielle 2 3 9 9 12

Les algorithmes génétiques.

  • Introduction aux réseaux bayésiens.
  • Intelligence artificielle distribuée: Introduction aux systèmes multi-agents
  • Systèmes Intelligents à base de colonies de fourmis. Apprentissage par analogie. Réseaux de neurones. Algorithmes génétiques.

Responsable(s) : Karim Tamine
Théorie des Jeux 3 9 9 12
  • Concepts de solution
  • Jeux sous forme normale : stratégies dominantes/dominée, Équilibre de Nash, Critère de Pareto, stratégies mixtes et
  • jeux à somme nulle
  • Jeux sous forme extensive
  • Équilibres corrélés
  • Jeux répétés

 


Responsable(s) : Oussama Habachi
Parallèlisme et applications 3 9 12 9

Introduction à la programmation concurrente :

  • les différentes architectures des machines parallèles et fermes de stations ;
  • la multi-programmation au sein d'un même processus : programmation et synchronisation (mutex, threads POSIX et sémaphore : application  au C).

Les outils pour l'évaluation du parallélisme  :

  • les  métriques : accélération, efficacité et loi de Amdhal ;
  • l'analyse de complexité  dans le cas moyen ou dans le pire des cas ; 
  • modélisation et expression d'un programme parallèle.

Exploitation du parallélisme :

  • architectures matérielles des machines parallèles : MISD, SIMD, MIMD, mémoire partagée, réseau d'interconnexion, processeurs multi-cœurs;
  • évaluation d'un algorithme parallèle par rapport au meilleur algorithme séquentiel disponible : analyse de complexité, utilisation d'architecture dédiée ;
  • parallélisme de données : dépendance de données et critère de Bernstein, effet pipeline ;
  • parallélisme fonctionnel : notion de granularité, notion de granularité et de tâche, graphe de précédence, ordonnancement, placement des tâches sur les différents processeurs, évaluation de la solution.

Programmation parallèle :

  • exploitation du modèle de programmation à mémoire partagée : programmation et conception avec OpenMP ;
  • exploitation du modèle de programmation SIMD : présentation et conception de programme GPGPU, «General-Purpose computation on Graphics Processing Units»
Utilisation de processeurs multi-cœurs et de cartes graphiques dédiées.

Présentation du modèle de programmation par échange de messages :

  • les instructions spécifiques d'une machine parallèle (envoi/réception asynchrone, scatter, gather, communication de groupe, barrière de synchronisation, recouvrement calcul/communication) ;
  • programmation de programme parallèles à l'aide de bibliothèques (PVM, MPI).
Utilisation d'une plate-forme virtuelle basée Linux.

Responsable(s) : Pierre-François Bonnefoi
2ÈME ANNÉE > tout déplier > tout refermer

SEMESTRE 3

UE obligatoires (21 crédits) ECTS COURS TD TP
Organisation de l'entreprise 2 4 16

Responsable :

  • Organisation des entreprises.
  • Eléments de gestion des entreprises.
  • Préparation à la recherche d'emploi: simulation d'entretien, CV et lettre de motivation.
  • Présentation des métiers de la spécialité: tâches, qualités et compétences requises, évolutions, perspectives.

Responsable(s) : Olivier Blazy, Philippe Gaborit
Anglais 3 0 30 0

L'enseignement est orienté sur les deux années de façon à préparer les étudiants à obtenir le meilleur score possible au TOEIC, certificat indispensable pour certains emplois.


Responsable(s) :
Mécanismes cryptographiques et applications 4 21 15 9

Principes de bases de la cryptologie :

  • cryptologie à clé symétrique et à clé asymétrique,
  • principes du chiffrement, signature, authentification,
  • algorithmes les plus courants (RSA, DSA, Courbes elliptiques, AES, DES, GQ..)

Mise en pratique de la cryptographie :

  • courrier électronique sécurisé, application de la signature électronique,
  • contrôle d'accès aux ressources, sécurisation de réseaux,
  • certificats, gestion des clés, PKI.

Cette UE comprend un projet en petit groupe qui pourra nécessiter de la programmation et faire intervenir des compétences mixtes mathématiques – informatique.


Responsable(s) : Philippe Gaborit
Administration et sécurité des systèmes et réseaux 9 45 45 15

Ce cours s'intéresse à la sécurité des systèmes d'exploitation et des réseaux du point de vue du défenseur mais aussi de l'attaquant.

Partie réseaux:

  • Notion de politique de sécurité
  • Isolation Niveau 2: VLAN, PVLAN
  • Isolation Niveau 3: Firewall, proxy
  • Tunnels, encapsulation : STUN, GRE, tunnel applicatif, SSH
  • Chiffrements des flux (VPN): OpenVPN, IPSec
  • Introduction aux architectures de sécurité
  • Authentification: 802.1x, RADIUS, EAP
  • Sécurisation des équipements
  • Sécurité Wifi: WEP, WPA, 802.1x
  • IDS, monitoring sécurité
  • Sécurisation des infrastructures DNS et courriers
  • Architecture de sécurité
  • Méthodologies de l'audit réseaux
  • Découverte de réseaux
  • Failles et exploitation

Partie systèmes d'exploitation

  • Administration Unix / Linux
  • Sécurité Unix / Linux
    • support hardware de la sécurité
    • droits, DAC, ACL
    • Vserver, chroot, SeLinux
    • sécurisation des services
    • authentification (PAM)
    • SeLinux
    • solutions NIS, Kerberos + LDAP
  • Administration Windows
    • Windows Server
    • DNS
    • Déploiement d'un Active Directory
    • unités d'organisation
    • notions d'abre, de forêt
    • groupe, stratégie de groupe
  • Sécurité Windows
    • authentification et permissions
    • présentation des possibilités d'intrusion
  • Exploitation de failles logicielles / noyau
    • notion d'exploit
    • stack overflow, interger overflow, heap overflow
    • race condition
    • format string
    • écriture de shellcode.

Responsable(s) : Emmanuel Conchon
Développement de logiciels cryptographiques 3 13.5 16.5

Le module sera évalué sur la base d'un projet de programmation en langage C. Exemple de sujets abordés:

  • Cryptographie asymétrique :
  • test de primalités,
  • génération de premiers, 
  • logarithme discret, 
  • factorisation, 
  • courbes elliptiques.
  • Cryptographie symétrique :
  • Attaque Squre
  • Attaque par différentielles impossibles sur l'AES

Responsable(s) : Christophe Clavier
UE optionnelles (9 crédits à choisir) ECTS COURS TD TP
Cartes à puce et développement Java Card 3 12 18 0
  • Norme ISO 7816 régissant l'interopérabilité des cartes à puce.
  • Assembleur carte à puce avec implémentation (partielle) de chiffrements standard.
  • Applications industrielles, architecture, spécifications. Carte bancaire, téléphonie, télévision à péage,…
  • Méthodologie d'évaluation des technologies de sécurité de l'information (Critères Communs ISO 15408).
  • Java Card 3.0. Cartes multi-applicatives.

Responsable(s) : Damien Sauveron
Sécurité et implémentations sur cartes à puce 3 9 15 6
Les attaques physiques en général sont introduite dans ce cours.
Analyses de Canaux auxiliaires, attaques par fautes
Les contremesures ne sont pas oubliées, avec une attention particulière sur le développement sécurisé de l'exponentiation modulaire.
Des intervenants du monde de l'industrie complètent l'enseignement en venant donner une vision en lien avec les containtes du terrain.
  • Les attaques physiques en général sont introduite dans ce cours : Analyses de Canaux auxiliaires, attaques par fautes
  • Les contremesures ne sont pas oubliées, avec une attention particulière sur le développement sécurisé de l'exponentiation modulaire.
  • Des intervenants du monde de l'industrie complètent l'enseignement en venant donner une vision en lien avec les containtes du terrain.

Responsable(s) : Christophe Clavier
Sécurité applicative 3 15 15

Cette UE traite de la sécurisation globale d’une application, que ce soit dans ces aspects système ou réseau. Les cas considérés pourront être choisis parmi :

  • Sécurité des messageries électroniques,
  • Sécurité des sites Internet: menaces, architecture, sécurisation. Exemple des plateformes de commerce électronique.
  • Sécurité de la téléphonie sur IP.
  • Mobilité et utilisateurs nomades.
  • Sécurité des services web.
  • Gestion des identités.
  • Gestion des droits numériques (DRM): architecture, principe de fonctionnement, limitations

Responsable(s) : Emmanuel Conchon
Terminaux mobiles communicants 3 15 15
  • Les réseaux mobiles ad hoc, ou MANET ;
  • Les communications sans fils ;
  • Les protocoles de routages dans les MANETs : aspects réactifs et proactifs ;
  • Les problématiques de sécurité dans les MANETs : sécurité des échanges et des identités ;
  • Développement d'un projet de communications sécurisées en Java dans l'environnement Android et Bluetooth (sur simulateur).

Responsable(s) : Pierre-François Bonnefoi
Certification et développement sécurisé 3 21 9 0

L'objectif de cette UE est d'apprendre aux étudiants à identifier les points essentiels à sécuriser lors du développement d'un logiciel ou matériel informatique. Pour cela ils seront sensibilisés aux différentes propriétés de sécurité pouvant être mises en œuvre sur un produit et aux méthodes permettant de s'assurer de leur efficacité. En particulier, on abordera :

  • la définition d'une analyse de risque (identification des menaces, des hypothèses d'utilisation du produit, etc.) ;
  • les méthodes de mise en place de contre-mesures efficaces et exhaustives;
  • les méthodologies de développement permettant d'augmenter et d'évaluer la confiance (les Critères Communs par exemple) ;
  • les outils d'analyse statique de code (pour lutter contre les dépassements de tampon et d'autres attaques) mais aussi les systèmes dynamiques de protection.

A la fin de l'UE l'étudiant devrait être à même de pouvoir concevoir un produit grâce à une démarche méthodique qui permettra à un éventuel tiers d'avoir confiance dans le produit en question.

 


Responsable(s) : Damien Sauveron
Méthodologie pour la sécurité 3 30 0 0

Il s'agit de présenter quelques bases méthodologiques pour:

  • l'évaluation des risques dans une organisation ou induits par une solution informatique,
  • la conception de systèmes sécurisés,
  • le management de la sécurité des systèmes d'informations.

Les méthodes, normes et standards suivants, utilisées dans l'industrie et les administrations, pouront être abordés: la série ISO 270xx et les Systèmes de Management de la Sécurité de l'Information (SMSI), le Référentiel Général de Sécurité (RGS), les analyses de risques de type EBIOS, les Politiques de Sécurité des Systèmes d'Information (PSSI)  ), des méthodes formelles ou semi-formelles de conception (UML, Méthode B,...),...


Responsable(s) : Emmanuel Conchon

SEMESTRE 4

UE obligatoires (30 crédits) ECTS COURS TD TP
Stage en entreprise ou laboratoire 30

Stage en entreprise ou laboratoire de recherche, de 4 à 6 mois.


Responsable(s) : Philippe Gaborit
UE optionnelles ECTS COURS TD TP

TÉLÉCHARGEZ LA FICHE DU PARCOURS (à venir)

> Témoignage

vignette témoignage

Sébastien, promo 2006

Consultant sécurité.

Lire la suite >

> Séminaires

> À noter

Cryptis sur le réseau LinkedIn !

Diplômés en sécurité de l'information et cryptogaphie de Limoges, rejoignez le groupe Master Cryptis Alumni...

Lire la suite >