Secured systems engineering

linfo2144  2021-2022  Louvain-la-Neuve

Secured systems engineering
5.00 crédits
30.0 h + 15.0 h
Q2
Enseignants
Langue
d'enseignement
Anglais
Thèmes abordés
L'objectif de ce cours est d'apprendre à construire une application sécurisée de la théorie à la pratique. Comme étude de cas, le cours se focalise sur les applications basées sur des cartes sans contact dont l'objectif principal est d'assurer l'authentification.
  • Introduction aux applications basées sur descartes à puce.
  • RFID: applications actuelles et les caractéristiques.
  • Protocoles d'authentification, clé secrète et publique
  • Exemples de mauvaises conceptions (MIT, DST), TMTO.
  • Mise en place de primitives cryptographiques.
  • Implémentation de générateurs de nombres pseudo-aléatoires.
  • Exemples de mauvaises conceptions (Mifare).
  • Attaques relais et test de proximité.
  • Confidentialité: fuite d'information et traçabilité malveillante.
  • Déni de service.
  • Cas du passeport biométrique.
Acquis
d'apprentissage

A la fin de cette unité d’enseignement, l’étudiant est capable de :

1 Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • INFO1.1-3
  • INFO2.1-5
  • INFO5.2, INFO5.4-5
  • INFO6.1, INFO6.3, INFO6.4
Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • SINF1.M1
  • SINF2.1-5
  • SINF5.2, SINF5.4-5
  • SINF6.1, SINF6.3, SINF6.4
Les étudiants ayant suivi avec succès ce cours seront capables de:
  • concevoir des systèmes informatiques utilisant l'authentification par cartes sans contact en assurant la sécurité de ces systèmes
  • implémenter une application sécurisée basée sur des cartes sans contact dont l'objectif principal est d'assurer l'authentification.
  • expliciter les techniques utilisées en matière de sécurité afin de convaincre les utilisateurs potentiels que ces aspects ont correctement été pris en compte.
Les étudiants auront développé des compétences méthodologiques et opérationnelles.  En particulier, ils auront développé leur capacité à
  • rédiger un rapport technique succint sur la sécurité d'une application en utilisant à bon escient la terminologie et les concepts théoriques,
  • réaliser une implémentation d'une solution sécurisée,
  • prendre en compte les dimensions éthiques (en particulier en matière de respect de la vie privée, de confidentialité des informations, ...) dans le cadre de leur pratique professionnelle,
  • argumenter de la banalisation des outils informatiques et des risques que cela engendre en matière de sécurité de l'information et en particulier en matière de protection de la vie privée.
 
Contenu
L'objectif du cours est de donner une introduction à la sécurité logiciel. Dans un premier temps, on abordera les conceptes de sécurité et d'attaque logiciel. Nous analyserons ensuite des vulnérabilités logiciel et nous étudierons des protections. Pour terminer, une introduction à l'analyse de malwares sera présentée.
Contenu.
- Introduction à la cyber sécurité
- Introduction aux notions de vulnérabilités, menaces et attaques
- Introduction au fishing
- Introduction à l'escalade de privilège
- Integer overflow
- Buffer overflow: assembleur, protection et contre attaque
- Format string et vulnérabilités du langage C
- Ecriture de "shellcode"
- Introduction aux analyses statiques et dynamiques de malwares
- Honey pots
- Analyse dynamique de mémoire
- Packing et cracking
- Intervenants extérieurs: la sécurité à l'UCLouvain, chez CISCO et chez NVISO.
- Exercices pratiques sur ordinateurs
- Travaux pratiques: mise en place de pièges, intrusion, analyse de malware
Méthodes d'enseignement
Cours théoriques et travaux pratiques. Intervenants extérieurs pour présenter des problèmes d'actualité.
Modes d'évaluation
des acquis des étudiants
En première session:
  • un examen qui compte pour 60% de la note finale
  • deux travaux qui comptent pour 40% de la note finale
Les étudiants qui réussissent les deux travaux avec plus de 12/20 peuvent être dispensés de l'examen oral. 
 En seconde session: Un examen qui compte pour 100% de la note finale.
Quelque soit la session, l'examen oral comporte à la fois de la théorie et de la pratique. 
Autres infos
INGI2347 vs INGI2144
  • INGI2347 est une introduction à la sécurité des réseaux et des applications informatiques.
  • INGI2144 est un cours avancé sur la sécurité des applications.
Préalables:
  • Une connaissance générale des systèmes informatiques et de programmation est nécessaire. Suivre le cours INGI2347 n'est pas nécessaire pour aborder le cours INGI2144. 
  • Les étudiants qui ne savent pas si leur formation leur permet de suivre le cours (par exemple les étudiants ELEC, ELME ou MAP) doivent contacter le titulaire.
Ressources
en ligne
https://moodleucl.uclouvain.be/enrol/index.php?id=12241
Bibliographie
Available on moodle.
Disponible sur moodle. 
Faculté ou entité
en charge


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Master [120] : ingénieur civil en science des données

Master [120] : ingénieur civil électricien

Master [120] : ingénieur civil en informatique

Master [120] en science des données, orientation technologies de l'information

Master [120] en sciences informatiques

Master [120] : ingénieur civil en mathématiques appliquées