3.6 KiB
Introduction
Principe du cours : par groupes de 3-4, on passe l'année sur un sujet, avec des présentations régulières au reste de la classe.
Présentations
Anti virus
L'antivirus est un logiciel en charge de détecter les logiciels malveillants et douteux (malware), via diverses méthodes
Plusieurs types de malwares :
- Programmes simples (trojan, spywares, backdoors...)
- Programmes auto-reproducteurs (virus, vers)
- Botnet (IoT, DDOS, cryptomining)
- PUP (adwares)
- Autres (rootkit...)
Fonctionnement :
- Analyses scantime et runtime
- Principes on-demand scanners et/ou On-Access Scanners
- Dictionnaire de données
- Monitoring
- Contrôle d'intégrité
- Analyse spectrale
- Analyse heuristique
SGBD
Principaux éléments du SGBD :
- Structure mémoire - Mémoires physiques et logiques du serveur
- Processus - Chargement des données en mémoire, gère l'écriture en mémoire des fichiers
- Instances - Créées par les users lorsqu'ils se connectent à la bdd
Il y a plusieurs types de SGBD :
- Relationnels : PostgreSQL, s'inspire d'Oracle, très complet
- autres types : noSQL, MongoDB, neo4J...
SGBD VS Feuille de calcul : pourquoi c'est mieux ?
- Haute disponibilité et répartition des charges
- Multi utilisateurs
- Vérifie l'intégrité des données
Pare-feu
But : se protéger des intrusions malveillantes et des fuites de sécurité / de données
Intervient sur les couches 3 et 4 du OSI, plus la 7 pour le filtrage applicatif
Le filtrage peut être :
- Stateless : couche 3-4, se fait en fonction du paquet
- Stateful : couche 7, se fait en fonction de l'état de la connexion
Trois types de pare feu :
- Logiciel, le plus répandu, déjà intégré à l'OS/au noyau
- Matériel, lié à la machine réseau (routeur), pas flexible
- Bridge
OS
Bootloader avant l'OS
1965 : Multies par MIT
1980 : DOS
1990 : OS sous licence (Linux)
5 générations :
- Par lots
- Multitâches
- Temps partagé
- Temps réel
- Systèmes distribués
Les system calls sont des appels système via le shell, possibles une fois l'OS lancé
Les couches :
- Hardware
- Kernel
- Shell
- Applications
Ne pas confondre shell et terminal ! Ce dernier exécute le shell mais n'en est pas un !
Driver
Permet de faire fonctionner le matériel. Il est souvent embarqué avec l'OS, ou sinon est distribué autrement. Tout périphérique en a besoin ! Pour le matos de base (carte graphique, ...) c'est le BIOS qui prend la main.
Les pilotes évitent que l'OS ait à reconnaitre tous les matos, et évite ainsi beaucoup de mises à jour... Ils sont codés par les constructeurs.
Plug & play : contiennent un BIOS qui communique les infos à l'OS.
Chaque protocole a des pilotes (IP, TCP...)
Types :
- Drivers de masse
- Texte (GPS)
- Spécifiques (vidéo)
- USB (mix plug and play)
Compilateur
Le compilateur traduit du texte >> il le convertit.
Types ?
- Interpréteurs
- Formateurs de texte
- Préprocesseurs
Fonctionnement :
- Analyse lexicale : scan du texte qui est regroupé pour former des mots, des blocs, et garde ce qui l'intéresse
- Syntaxe (backend) : regarde comment sont formés les mots pour en déduire la "grammaire", la structure du texte. Création d'un arbre syntaxique, ou arbre de dépendance.
- Analyse sémantique : vérifie que la syntaxe est OK puis checke le sens. Regarde le contexte, voit la globalité : est-ce logique ?
L'optimisation passe
- Par la vitesse d'exécution
- Par la taille du code (minify)
Le code est généré d'abord dans un langage intermédiaire, puis en code binaire pour la machine. À chaque fois il est généré puis optimisé.