Logo ÉTS
Session
Cours
Responsable(s) Chamseddine Talhi

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Chamseddine Talhi


PLAN DE COURS

Automne 2020
LOG460 : Sécurité des logiciels (3 crédits)


Modalités de la session d’automne 2020
Pour assurer la tenue de la session d’automne 2020, les modalités suivantes seront appliquées :


La plupart des cours de la session d'automne seront donnés à distance. Les autres seront donnés en présence. Cette information vous a déjà été communiquée.

L’étudiant inscrit à un cours à distance doit avoir accès à un ordinateur, un micro, une caméra et un accès à internet, idéalement de 10Mb/s ou plus.

Les cours à distance pourraient être enregistrés, à la discrétion de l’ÉTS. Le cas échéant, les enregistrements de cours pourraient notamment être rendus accessibles aux étudiants par le biais notamment du portail de l’ÉTS.

La notation des cours sera la notation régulière prévue aux règlements des études de l'ÉTS.

Pour les cours à distance, les examens (intra, finaux) se feront normalement à distance. Leur surveillance se fera à l’aide de la caméra et du micro de l’ordinateur et pourrait être enregistrée. Ceci est nécessaire pour se conformer aux exigences du Bureau canadien d’agrément des programmes de génie (BCAPG) afin d’assurer la validité des évaluations.
 
Le contexte actuel oblige bien sûr l’ÉTS à envisager la possibilité d’une deuxième vague de la pandémie de COVID-19, laquelle pourrait entraîner, après le début de la session d’automne 2020, un resserrement des directives et recommandations gouvernementales. Nous vous assurons que l’ÉTS se conformera aux règles en vigueur afin de préserver la santé publique et que, si requis, elle pourrait aller jusqu’à interdire l’accès physique au campus universitaire et ordonner la dispense en ligne de toutes les activités d’enseignement et d’évaluation pour la durée restante de la session d’automne 2020.

Des exigences additionnelles pourraient être spécifiées par l’ÉTS ou votre département, suivant les particularités propres à votre programme.

Si vous ne consentez pas aux modalités décrites précédemment, vous devez vous désinscrire de vos cours avant le 13 septembre et vous pourrez être remboursé.

Pour les nouveaux étudiants inscrits au programme de baccalauréat uniquement, vous devez vous désinscrire avant le 25 septembre et vous pourrez être remboursé.

En demeurant inscrit, vous acceptez les modalités particulières de la session d'automne 2020.




Préalables
Programme(s) : 7065,7070,7365,7610
             
  Profils(s) : Tous profils  
             
    LOG121    
             
Unités d'agrément
Total d'unités d'agrément : 58,8 60,0 % 40,0 %




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours

En dépit du progrès de la discipline du génie logiciel et des nombreux mécanismes de défense développés, les logiciels déployés et exécutés sur nos infrastructures sont souvent la cible de cyberattaques. En effet, de nouvelles vulnérabilités logicielles sont régulièrement découvertes, ce qui représente de nombreuses brèches qui peuvent être exploitées afin de mener des cyberattaques redoutables. De ce fait, les spécialistes en cybersécurité doivent maitriser les principes fondamentaux de la sécurité des logiciels. Ceci inclut une compréhension des vulnérabilités et des risques associés, une maîtrise des principes de codage sécurisé, et une prise en considération de la sécurité dans les différentes phases du processus logiciel.

Ce cours a pour principal objectif de présenter les principaux aspects de la sécurité des logiciels : les principales vulnérabilités logicielles, les principales exploitations de ces vulnérabilités, les techniques de vérification et de test de sécurité et les techniques de renforcement de la sécurité des logiciels.

Au terme de ce cours, l'étudiant sera en mesure :

  • de comprendre les principales vulnérabilités logicielles et les méthodes et les outils permettant leur exploitation;
  • d'identifier des problèmes de sécurité dans le code source et les fichiers binaires, d’identifier des scénarios permettant leur exploitation et de démontrer leur impact;
  • d'estimer le risque associé à l’exploitation des vulnérabilités étudiées sur la sécurité des logiciels et la vie privée de leurs utilisateurs;
  • d'identifier des composants logiciels vulnérables et de les étudier en appliquant des méthodes de test logiciel et de test d’intrusion; adopter des approches de génie logiciel permettant le renforcement de la sécurité des logiciels.



Objectifs du cours

Au terme de ce cours, l'étudiant sera en mesure :

  • de comprendre les principales vulnérabilités logicielles et les méthodes et les outils permettant leur exploitation;
  • d'identifier des problèmes de sécurité dans le code source et les fichiers binaires, d’identifier des scénarios permettant leur exploitation et de démontrer leur impact;
  • d'estimer le risque associé à l’exploitation des vulnérabilités étudiées sur la sécurité des logiciels et la vie privée de leurs utilisateurs;
  • d'identifier des composants logiciels vulnérables et de les étudier en appliquant des méthodes de test logiciel et de test d’intrusion;
  • d'adopter des approches de génie logiciel permettant le renforcement de la sécurité des logiciels.



Stratégies pédagogiques

La pédagogie du cours est basée sur les méthodes suivantes

  • Exposés magistraux et lectures individuelles permettent de traiter le contenu du cours;
  • Trois laboratoires réalisés en équipe.

Les principes abordés seront accompagnés d’exemples concrets, d’exercices pratiques et/ou de quiz. Les travaux pratiques effectués au cours des séances de laboratoire permettent d’analyser, d’investiguer et d’expérimenter différentes facettes de la sécurité des logiciels.

 

Charge d’enseignement : 39 heures de cours, 24 heures de laboratoire.

Sur une base hebdomadaire, ceci correspond à trois heures de cours magistral, deux heures de laboratoire et 4 heures et demi de travail hors classe. Totalisant ainsi 145 heures de travail.

 




Utilisation d’appareils électroniques

L'utilisation d'appareils électroniques en classe est interdite. Aucun enregistrement (photographie, film ou audio) ne sera toléré.




Horaire
Groupe Jour Heure Activité
01 Lundi 08:30 - 10:30 Laboratoire (Groupe A)
Lundi 10:30 - 12:30 Laboratoire (Groupe B)
Vendredi 13:30 - 17:00 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Oussama Boudar Activité de cours cc-Oussama.Boudar@etsmtl.ca A-2608
01 Chamseddine Talhi Activité de cours Chamseddine.Talhi@etsmtl.ca A-4497
01 Othmane Lagrini Laboratoire (Groupe A) othmane.lagrini.1@ens.etsmtl.ca



Cours
  1. Introduction à la sécurité des logiciels (2h)
    • Historique
    • Enjeux
    • Principaux sujets
  2. Sécurité du code exécutable (9h)
    • Rappel : langage assembleur, processeur, etc.
    • Compilation du code C en code Assembleur
    • Débogage et investigation de fichiers exécutables
    • Altération des données dans la mémoire et injection de code
  3. Sécurité des applications Web (9h)
    • Enjeux
    • Owasp Top 10
    • Test de vulnérabilités
    • Exploitation des vulnérabilités
  4. Tests de sécurité et Pentest Applicatif (3h)
    • Outils et méthodologies de test
    • Analyse des rapports de test
  5. Analyse de code et codage sécurisé (3h)
    • Revue de code
    • Méthodologies et outils
  6. Sécurité dans le cycle de vie logiciel (3h)
    • Sécurité pour chaque phase du cycle logiciel
    • Méthodologies et outils
  7. Sujets spéciaux (6h)
    • Sécurité DevOps
    • Sécurité des applications mobiles
    • Sujets abordés lors des présentations des équipes

Ces heures sont des heures approximatives d’enseignement pour chaque sujet.




Laboratoires et travaux pratiques

Ce cours comporte trois laboratoires :

  • Le premier laboratoire permet de familiariser l’étudiant avec l’exécution du code assembleur, les outils d’analyse et de débogage et les techniques d’exploitation ‘Buffer Overflow’.
  • Le deuxième laboratoire permet de familiariser l’étudiant avec les principales vulnérabilités logicielles : comment les exploiter et comment les corriger.
  • Le troisième laboratoire permet l’investigation et la pratique d’outils de test de sécurité et de Pentest applicatif.



Utilisation d'outils d'ingénierie

L'étudiant se familiarise avec des environnements d’analyse et de débogage d’exécutables, d’analyse et d’exploitation de vulnérabilités logicielles, de test de sécurité et de Pentest applicatif.




Évaluation

Activité

Description

Date de remise

Pondération

Intra

Examen portant sur les cours #1 à #6

Voir date intra

30%

Final

Examen récapitulatif

Période examens finaux

25%

Laboratoires

En équipes de 4 personnes

Selon les dates communiquées durant la session

35%

2 Quizs

Le meilleur résultat sera retenu

Durant la séance du 2 octobre

Durant la séance du 20 novembre

5%

Présentations en classe

En groupe de 4. Portant sur la pratique de la sécurité logicielle

Durant la séance du 4 décembre

5%

 

À noter qu’une moyenne inférieure à 50% dans les évaluations individuelles entraine automatiquement un échec au cours!




Dates des examens intra
Groupe(s) Date
1 16 octobre 2020



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Plagiat et fraude
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

Matériel pédagogique développé par le professeur. Disponible sur le site web du cours. Articles disponibles sur le site web du cours complétant le matériel pédagogique.




Ouvrages de références
  • Livre : Sécurité informatique sur le Web - Apprenez à sécuriser vos applications (management, cybersécurité, développement et opérationnel). Jérôme THÉMÉE, 340 pages, mars 2017, ISBN : 978-2-409-00634-0, Éditions ENI.  Ref. ENI : EPSECAW
  • Livre : Sécurité informatique Ethical Hacking : Apprendre l'attaque pour mieux se défendre (5e édition). ACISSI - Damien BANCAL - David DUMAS - David PUCHE - Franck EBEL - Frédéric VICOGNE - Guillaume FORTUNATO - Jérôme HENNECART - Laurent SCHALKWIJK - Marion AGÉ - Raphaël RAULT - Robert CROCFER - Sébastien LASSON, 887 pages, septembre 2017,  ISBN : 978-2-409-00974-7. Éditions ENI, Ref. ENI : EP5SEC.



Adresse internet du site de cours et autres liens utiles

n/a