The objective of the course is to make the student aware of the problem of computer security by adopting the "ethical hacking" approach.

The approach followed is that of showing how the vulnerabilities of a computer system can be exploited to threaten security. From there, the student will develop the skills necessary to detect these vulnerabilities and to protect the system. These can be deployed upstream or downstream (depending on the development process). We will also look at the cost and strength of these measures.

The student will also receive a very brief introduction to malware analysis and the techniques to detect them.

During this course, the student will also be aware of the place that cybersecurity takes in industry, as well as the ethical issues that are related to this field.

For information, the vulnerabilities addressed will be: buffer overflow, integer overflow, format string, data race. Among the protection we will study the technique of the non-executable stack or even that of the "canary". For malware analysis, we will focus on MIRAI and the YARA tool