Secured systems engineering

linfo2144  2024-2025  Louvain-la-Neuve

Secured systems engineering
5.00 crédits
30.0 h + 15.0 h
Q2
Thèmes abordés
Ce cours introduit la sécurité des logiciels en explorant les fondements de la cybersécurité, les attaques logicielles et les vulnérabilités, comme celles qu'on peut trouver dans les protocoles cryptographiques, les cartes RFID et les passeports biométriques. Les étudiants examineront les techniques de protection contre les attaques et se familiariseront avec l'analyse des logiciels malveillants. Des sujets avancés incluent les dépassements d'entiers et de tampons, l'analyse statique et dynamique des malwares, ainsi que des exercices pratiques incluant la mise en place de pièges, l'analyse d'intrusions et de malwares.
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 oral qui compte pour 60% de la note. Les 40% des travaux obtenus en première session ne peuvent pas être refaits et sont conservés pour la seconde session. 
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 électricien

Master [120] : ingénieur civil en informatique

Master [120] en sciences informatiques

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

Master [120] : ingénieur civil en science des données

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