Master on Cryptology & Computer Security (University of Bordeaux)
Mise à niveau en Informatique (Master1, Autumn Semester)
Stage de remise à niveau en informatique (8h):
- Manipulation d’une machine Unix (shell);
- Programmation Shell;
- Le langage LaTeX;
- Programmation C et Rust.
C Programming (Master1, Autumn Semester)
This course is going from initiation, up to advanced topics in software project management in C programming. It covers the following topics:
- Basic C syntax;
- Advanced types;
- Memory management;
- Compilation (
gcc
) and Makefiles;
- Debugging tools (
gdb
,valgrind
); - Version control tools (
git
); - Coding conventions and programming idioms;
- Handling bit-level data-structure;
- Peer reviewing;
- Software testing and profiling;
- Medium sized code base handling;
- Command-line user interface.
Rust Programming (Master1, Autumn Semester)
This course is an initiation to Rust programming. It covers the following topics:
- Basic Rust syntax;
rustc
compiler;
cargo
;- Modules and Libraries;
Software Security (Master1, Spring Semester)
This course is about the security of software and how to exploit usual flaws to get access to unwanted features. This course covers the following topics:
- Introduction to Software Security;
- Usual logic flaws in programs;
- i386 & amd64 assembly;
- Shellcodes;
- Stack buffer-overflow;
- Heap buffer-overflow;
- Format string bugs;
- Fuzzing techniques;
- Software Reverse-engineering.
OS Security (Master2, Autumn Semester)
This course is about the security of Linux kernel and how to exploit usual flaws to get access to unwanted features. This course covers the following topics:
- Linux kernel module programming;
- Kernel debugging (QEMU + gdb-server);
- Rootkit writing;
- SMEP/SMAP kernel protection;
- KASLR and KPTI;
- Memory in kernel (SLAB/SLUB);
- Kernel exploitation;
- ROP on kernel image;
- Kernel fuzzing and static analysis.
Master Informatique (Université de Bordeaux)
Projet de Programmation (Master1, Autumn Semester)
Le cours Projet de Programmation (PdP) propose aux étudiants de
travailler en groupe sur un projet de programmation de moyenne envergure en
pratiquant en condition réelle les outils et les méthodes de développement
classiques (git
, build-systems, test frameworks, code formatting, …).
Miscellaneous
Initiation à Python 3 (Tous niveaux)
Ce cours, en français, s’adresse à ceux qui veulent découvrir le langage de programmation Python. Il ne nécessite que très peu de connaissances préalables, mais il essaye de couvrir beaucoup de sujets en peu de temps.
Course Website