Cyber – Cybersecurity track

Master of computer science

M1 Courses

NET7214, INF557, INF558, INF559, INF565 and INF586 are mandatory courses.
M1 students have to choose at least two options among IN554, INF563 and INF571.
The internship is mandatory, and must be at least 3-month long.

  • CSC_51053_EP (INF553): Database Management Systems (Ioana Manolescu, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_51053_EP

    Contenu du cours
    • Modélisation des données: modèle entité-association, modèle relationnel
    • Algèbre relationelle, calcule relationnel
    • Le langage d'interrogation des bases de données relationnelles: SQL Qualité des schémas relationnels, formes normales
    • Sous-système des bases de données relationnelles: disques, fichiers, buffers
    • Indexation dans les bases de données: structures d'arbres, structures de tableau
    • Evaluation des opérateurs relationnels
    • Optimisation des requêtes SQL
    • Brève introduction aux bases de données NoSQL

  • CSC_51054_EP (INF554): Machine and Deep learning (Michalis Vazirgiannis and Jessee Read, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_51054_EP

    We have entered the Artificial Intelligence Era. The explosion of available data in a wide range of application domains give rise to new challenges and opportunities in a plethora of disciplines – ranging from science and engineering to business and society in general. A major challenge is how to take advantage of the unprecedented scale of data, in order to acquire further insights and knowledge for improving the quality of the offered services, and this is where Machine and Deep Learning comes in capitalizing on techniques and methodologies from data exploration (statistical profiling, visualization) aiming at identifying patterns, correlations, groupings, modeling and doing predictions. In the last years Deep learning is becoming a very important element for solving large scale prediction problems.

    Syllabus of the course:

    • General Introduction to Machine Learning
    • Supervised Learning
    • Unsupervised Learning
    • Advanced Machine Learning Concepts
    • Kernels
    • Neural Networks
    • Deep Learning I
    • Deep Learning II
    • Machine & Deep Learning for Graphs

  • CSC_51057_EP (INF557): From the Internet to the IoT: Fundamental of Modern Computer Networking (Thomas Clausen, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_51057_EP

    The 21th century is, if anything, becoming a data-driven century. Interaction with everyday objects may yield a wealth of information, especially when correlated: if in an apartment the fridge door is being opened and closed regularly, then presumably apartment is inhabited ; if a drinking glass is subsequently emptied, presumably the inhabitant is alive and well, and, is staying both fresh and hydrated ; if the BBQ or the oven is used frequently, perhaps the inhabitant is either overeating (and so, a potential customer for diet plans) or is entertaining frequently (and so, a a potential customer for party supplies) — something which analysing the usage patterns of the door bell would reveal…

    A premise for being able to analyse usage patterns and interactions is, of course, that these physical actions are captured and transformed into data — and, that these data are communicated from everyday objects with and through the Internet, and to the cloud.

    And so, the 21th century is necessarily also the connected century: smartphones, watches, fridges, toothbrushes, drinking glasses, coffee machines, medical implants, BBQs, office plants, and forks are all becoming connected objects, generating data — and thus, becoming part of the Internet.

    Outside of the consumer market, knowing the state of a machine, of an airplane engine, or of a power substation, permits scheduling predictive maintenance and avoid accidents — embedded sensors able to capture, and communicate, this state is a necessary premise.

    As a matter of fact, a company launching a product today that doesn't "run an app" and "connects to the Internet" is a company, which just hasn't grasped the needs (or, at least, the desires) of its market - much as the guy installing the bike rack on the left, clearly misunderstood his "target market".

    In order to ensure that YOU do not end up being that gal/guy, building a product miserably missing the market, this course provides you with the core competencies, necessary for developing connected systems.

    This course:

      • Offers a pragmatic and practical approach to communicating systems and to computer networking
      • Studies, for each of the four major functional layers in a protocol stack (data-link, internetwork, transport, and application) the fundamental ideas, algorithms, and architectural principles, that apply “from the Internet, and to the IoT”
      • Provides an in-depth tutorial in the principles behind TCP/IP Networking
      • Introduces and decrypts modern Internet and IoT protocols: from IPv6 to 6LoWPAN, from ALOHA through Ethernet and WiFi to LoRa and Bluetooth — and from the WEB and REST to CORE And CoAP
      • Provides practical experience in developing networked applications, and in developing and implementing protocols.

    In short, this course provides an in-depth understanding of “how the net works” (pun intended), and gives the necessary baggage for an engineer (regardless of area of exercise) to be able to design communicating systems.

    This course is self-contained: it assumes some programming skills, and a lot of curiosity — and will introduce the rest as it goes along. Each lesson will consist of a lecture, followed by 2h of lab (TD). This course is calibrated so that a student should expect to spend 1-2h/week outside of class, reviewing material and/or finishing exercises.

    Requirements:

    A good dose of curiosity is required.
    (Having followed INF321 or INF311+411 probably won’t hurt)

     

    Evaluation mechanism:

    Weekly submissions (either of homework, or of quizzes) worth 50% of the final grade, and a final exam QCM worth the other 50% of the grade.

    Language:

    English (with, at least, bilingual teaching staff)




    The 21th century is, if anything, becoming a data-driven century. Interaction with everyday objects may yield a wealth of information, especially when correlated: if in an apartment the fridge door is being opened and closed regularly, then presumably apartment is inhabited ; if a drinking glass is subsequently emptied, presumably the inhabitant is alive and well, and, is staying both fresh and hydrated ; if the BBQ or the oven is used frequently, perhaps the inhabitant is either overeating (and so, a potential customer for diet plans) or is entertaining frequently (and so, a a potential customer for party supplies) — something which analysing the usage patterns of the door bell would reveal…

    A premise for being able to analyse usage patterns and interactions is, of course, that these physical actions are captured and transformed into data — and, that these data are communicated from everyday objects with and through the Internet, and to the cloud.

    And so, the 21th century is necessarily also the connected century: smartphones, watches, fridges, toothbrushes, drinking glasses, coffee machines, medical implants, BBQs, office plants, and forks are all becoming connected objects, generating data — and thus, becoming part of the Internet.

    Outside of the consumer market, knowing the state of a machine, of an airplane engine, or of a power substation, permits scheduling predictive maintenance and avoid accidents — embedded sensors able to capture, and communicate, this state is a necessary premise.

    As a matter of fact, a company launching a product today that doesn't "run an app" and "connects to the Internet" is a company, which just hasn't grasped the needs (or, at least, the desires) of its market - much as the guy installing the bike rack on the left, clearly misunderstood his "target market".

    In order to ensure that YOU do not end up being that gal/guy, building a product miserably missing the market, this course provides you with the core competencies, necessary for developing connected systems.

    This course:

      • Offers a pragmatic and practical approach to communicating systems and to computer networking
      • Studies, for each of the four major functional layers in a protocol stack (data-link, internetwork, transport, and application) the fundamental ideas, algorithms, and architectural principles, that apply “from the Internet, and to the IoT”
      • Provides an in-depth tutorial in the principles behind TCP/IP Networking
      • Introduces and decrypts modern Internet and IoT protocols: from IPv6 to 6LoWPAN, from ALOHA through Ethernet and WiFi to LoRa and Bluetooth — and from the WEB and REST to CORE And CoAP
      • Provides practical experience in developing networked applications, and in developing and implementing protocols.

    In short, this course provides an in-depth understanding of “how the net works” (pun intended), and gives the necessary baggage for an engineer (regardless of area of exercise) to be able to design communicating systems.

    This course is self-contained: it assumes some programming skills, and a lot of curiosity — and will introduce the rest as it goes along. Each lesson will consist of a lecture, followed by 2h of lab (TD). This course is calibrated so that a student should expect to spend 1-2h/week outside of class, reviewing material and/or finishing exercises.

  • CSC_51058_EP (INF558): Introduction to Cryptology (François Morain, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_51058_EP

    Cryptology is concerned with realising the impossible, namely securing information in open networks. This includes ensuring

    • confidentiality of messages,
    • integrity of messages,
    • authenticity of principals.

    The course gives an introduction to cryptology, its history and its use in modern computer systems. While the lectures are self-contained, some familiarity with basic algebra (Z/NZ, finite fields), networking is highly recommended.

    To each lecture corresponds a TD, in which you apply the learnt concepts by implementing them in C.

  • CSC_51059_EP (INF559): A Programmer’s Introduction to Computer Architectures and Operating Systems (Francesco Zappa Nardelli, Timothy Bourke and Théophile Bastian, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_51059_EP

    We will explain the enduring concepts underlying all computer systems, and show the concrete ways that these ideas affect the correctness, performance, and utility of any application program.

    This course serves as an introduction to the students who go on to implement systems hardware and software. But this course also pushes students towards becoming the rare programmers who know how things work and how to fix them when they break.

    This course will cover most of the key interfaces between user programs and the bare hardware, including:

    • The representation and manipulation of information
    • Machine-level representation of programs
    • Processor architecture
    • The memory hierarchy
    • Exceptional Control Flow
    • Virtual memory

  • CSC_51063_EP (INF563): Introduction to Information Theory (Jean-Pierre Tillich, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_51063_EP

    Information theory deals with finding the fundamental limits for compressing a signal, storing data or communicating information reliably over a noisy channel for instance. It turns out that all these limits can be expressed in terms of a single quantity which is entropy. The foundations of this domain were laid by Shannon who quantified in a very elegant way these limits.

    We will cover during this course his major results and will also give the modern answers to this kind of issue that give very effective schemes for compressing or protecting data against noise. Now this theory has also found applications in many other areas such as cryptography, biology, quantum computing, linguistics, plagiarism detection or pattern recognition. We will cover some of those other applications during the course.

    Content

    • Entropy, typical sequences
    • Memoryless source coding
    • Memoryless source coding, Huffman code, Shannon-Fano-Elias code, Shannon code and arithmetic coding
    • Adaptative Huffman coding, universal coding of a source
    • Stationnary source, typical sequences, AEP
    • Channel coding, capacity, Shannon theorem
    • Linear codes, Hamming and Reed-Solomon codes, decoding, concatenated codes
    • Polar codes
    • Applications of Information Theory to other domains

  • CSC_52065_EP (INF565): Information Systems Security (Guenael Renault, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_52065_EP

    The aim of this course is to study the securing of Information Systems in the open network communication setting. Through practical cases, the course will show many existing threats and address current techniques to circumvent them.

    After a first introductory lesson to raise awareness on the overall risks, the lectures will address the following topics:

    • Risk Analysis and Information Security Management
    • PKI and Securing communications
    • Operating System security
    • Secure development in C
    • Security of Web applications
    • Virus, Malware
    • Hardware security
  • CSC_51071_EP (INF571): Distributed Data Structures, with a Spotlight on Blockchains (Constantin Enea and Daniel Augot, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_51071_EP

    Distributed systems are composed of several computational units, classically called processes, that run concurrently and independently, without any central control. Additional difficulties are introduced by asynchrony (processes and channels operate at different speeds) and by limited local knowledge (each process has only a local view of the system and has a limited amount of information). Distributed algorithms are algorithms designed to run in this quite challenging setting. They arise in a wide range of applications, including telecommunications, internet, peer-to-peer computing, blockchain technology...

    This course aims at giving a comprehensive introduction to the field of distributed algorithms. A collection of significant algorithms will be presented for asynchronous networked systems, with a particular emphasis on their correctness proofs. Algorithms will be analyzed according to various measures of interest (eg., time and space complexities, communication costs). We will also present some "negative" results, i.e., impossibility theorems and lower bounds as they play a useful role for a system designer to determine what problems are solvable and at what cost.

  • CSC_52086_EP (INF586): Introduction to Network Security (Thomas Clausen, 5 ECTS)

    Calendar: https://cs.ip-paris.fr/courses/tracks/cyber/?page=..%2Fcyber%2Fcourses&genics=CSC_52086_EP

    Threats and attacks are like living organisms: some survive unaltered, mostly hidden from view, but remain deadly when conditions are “just right” ; others emerge quickly, wreck havoc, then become extinct — and yet others keep evolving, both in terms of their propagation methods and their impact.

    A network professional can therefore not be limited to just static application of risk assessment methodology, nor to mechanical application intrusion detection and forensics tools — and must, by nature, not simply be “following a cookbook”, but must also have a complete understanding of the whole processes, technologies, and theories involved in attacks.

    This program in network security is therefore not just limited to a theoretical understanding the state of the art of security standards, threats, and techniques— but tries to bring a broad systems-understanding, to be able to be proactive and identify potential attack surfaces of a system, before an attack exists, and the necessary background to be able to rapidly analyse and understand the root nature of a new attackon a system.

    To this end, the program alternates theoretical lectures and hands-on exercises, with seminars and “war-stories”, with 4h practice sessions during which we will be building a first-hand experience with how vulnerable real-world Internet-connected systems are — as well as with how “white-hat”IT professional constructs (more) secured computer networks.

  • NET7214a: Git, GitLab and Introduction to Continuous Integration (Olivier Levillain, 2,5 ECTS)
  • FLE1: French courses for foreign students (M1/S1) (Nicoline Lagel, 2,5 ECTS)

M2 Courses

NET5531, NET5532, NET5534, PRO7255 and SLR303 are mandatory courses.
M2 students have to get at least 10 optional credits from the optional courses: INF568, NET5533, NET7212 and SETI901.
The internship is mandatory, and must be at least 5-month long.

ENSTA Courses

ENSTA students have to choose 11 ECTS among PRO7255, NET7212, NET7214 (only the classes on Friday morning are relevant for ENSTA students) and INF568.
The internship is mandatory, and must be at least 5-month long.