diff --git a/bus/03_can.md b/bus/03_can.md deleted file mode 100644 index 240fb2d..0000000 --- a/bus/03_can.md +++ /dev/null @@ -1,89 +0,0 @@ -# Session 3 2024-03 - -bus can -> bus syst. série -réduire nb cables - -# BUS CAN -conçu par BOSCH, fin des années 80 -- temps maximal normalisé -- syst. d'erreur simple et efficace - --> contrôleurs CAN petits, peu couteux, entièrement intégrés, utilisable à débit important en tps réel et env difficile avec haut niveau de fiabilité --> origine automobile, étandu à tous les domaines - -syst critique (High speed) ou low speed -CAN -> prot. réseau intégré dans la norme ISO/OSI - -## Protocole CAN -(rappel : arbitrage non destructif, si collision réémission de la deuxième trame plus tard) -=> catégorie des réseaux de terrain - --> hiérarchie des msg, garantie du temps de latence, souplesse de config -->reception de multiples sources avec synchro temporelle --> fonctionnement multimaitre, detect° d'erreurs -->retransm. automatique des msg altérés --> distinction d'err. : d'ordre temporaire ou de non fonctionnalité permanent au niveau d'un noeud --> déconnexion des noeuds défectueux - -### Caractéristiques -bus série = paire différentielle avec CAN_H(igh) et CAN_L(ow), connecté sur des résist. 120ohms ou capa 30pF résistant aux perturbat° --> attention Can_H(igh) != can high speed -résist. 120 ohm au bout pour éviter que le message reparte dans le can après avoir circulé -si EMI (interference electromagn.)=> modif des msg dans H et L, calcul de la diff. de différentiel, et les deux seront modifiés de la même manière -ex -| CAN-H|5|3 |3|*4.5*|3| -|------|-| - |-| ----|-| -| CAN-L|1|1.5|2|*2.5*|1| -| UDiff|4|1.5|1|*2* |2| --> la différence reste constante contrairement à tension mesurée dans le fil - -ex : bit = 0 si Udiff < 3, 1 sinon - -low-speed = vit de propag sur le bus = 125Kbits (permet cable plus long) -high-speed = 1 Mbits - -### Principe de fctment --> type wired-and : un bit dominant (0)(CANH > CANL) écrase un bit récessif (1)(CANH <= CANL) -+> les identif. des noeuds avec la valeur la plus faible sont prioritaires - -synchro d'horloge : bourrage de bit inversé (bit stuffing) -le débit réel des infos ne tient pas compte de ces bits stuffing - -si ajouter un bit de stuffing fait passer la séq. d'après à 5 bits conséc. => on ajoute encore un nouveau bit de stuffing => possibilité de propagation - -types de trames : -- de données -- de requête (remote frame) -- de gestion d'erreur -- de surcharge (ex si un calc n'arrive pas à lire assez vite) -- espace entre frames - -trame, fin = 7 bits à 1 + séparateur trames = 3 bits à 1 -CAN sur les couches appli (prot spécifié par l'utilisateur) liaison et physique (prot CAN pour les deux couches) - -#### Couche physique -couche MAC entre données et couche physique, elle donne la priorité et définit l'arbitrage -fournit les moyens matériels nécéssaires à l'activation, maintien, désactvation des connex physiques --> gère repr. des bits et définit les niveaux electriques optiques etc des signaux -le type de transceiver définit le type de transmission (low speed ou high speed) - -transceiver transforme trame en voltage pour can high ou low (et receptionne avec processus inverse) - -2 couches basses, 3 parties : Implémentation, Standards et CAN (iso pas à connaitre) -can controller complète le msg (ajout identifiant, concat dataframe, etc) - -µcontrolleur => crée msg - -résist. de terminaisons évitent les répétitions en bout de ligne (rebond du signal) - -##### Topologie du réseau -réseau sous forme de bus => tt est connecté -réseau avec passerelle -> un can fait office de pont entre deux réseaux - -CAN low speed -> can fault tolerance : accepte des erreurs sur le réseau, et de les résoudre ou déconnecter les noeuds - -faisceau de bits codé en NRZ -Bit stuffing sur remote frame et dataframe, s'applique jusqu'au CRC -synchro de 2 façon : -hard : sur le bit de start -Re-synchro sur chaque front récessif et dominant \ No newline at end of file diff --git a/hardware/01_init.md b/hardware/01_init.md deleted file mode 100644 index 9782f59..0000000 --- a/hardware/01_init.md +++ /dev/null @@ -1,95 +0,0 @@ -# Session 1 Architecture hardware numérique 2024-03-01 - -3 controles continus + 1 projet : réalisation carte électronique - -programme : résistances, transistor type moss, bascules (nand, etc), logique combinatoire et séquentielle, alimentation, switch, processeurs, etc - -## Composants discrets - -### Résistance - -symbole R, unité ohm, ^v^v^v -energie dissipée P=RI² -limite le passage du courant -effet joule => ça chauffe - -V/I = R <=> i = V/(RT)->inf. (R->0+) - -si résistance faible=> courant augmente, le fil chauffe et se met à fumer -système de garde = disjoncteur / fusible, - -ex : 220V tension efficace, 9KW, disjoncteur à 41V - -(éléments de dissipation : resist. de charge, d'amortissement, chauffantes -elts de division de tension : résistances en ponts, resist. dans filtres (RC, RLC) -elts de polarisation : Pull-up, Pull-Down) - - -en série : Req = somme des résistances -en parallèle : 1/Req = somme(1/R) - -si générateur idéal => fournit tjrs même courant - - -tau = RC -3tau = 95% -exp(-t/tau) -### Condensateur -ŵ : oméga -energie stockée dans un cond. : Q=C.V -symbole C, unité farad -bloque le passage d'un courant continu en stabilisé --||-- -instantané = V = exp(-t/tau)+C si on colle un condens. déchargé avec une batterie forte (voiture) et un fil, la resistance est nulle (= le fil), le courant est infini, et le condensateur va charger vite - -point de contact du condensateur => généralement une petite résistance, et une résistance de fuite (~quelques gigaohm) - -en série : 1/Ceq = somme(1/c) -en parallèle Ceq = somme(C) -^v^v^v----||-----^v^v^v^ -| | -|^v^v^v^v^v^v^v^v^v^v^v| - -Z=1/cŵ, z=impédance d'un cond. en ohm -z=inf. en continu, car ŵ=0 - -oscour -lcŵ²=1 résonance (condens. et bobines(self)), courbe de fresnel, équations différentielles -ŵ=1/rac(LC) - -#### self (bobine ?) -symbole L, unité henry, --0000000-- -résistance nulle en courant continu, et résistance importante sinon -Lŵ/R=1 -tau=L/R, au bout de 3tau~=95% de la self est démagnétisée - -self en haute freq. c'est une bonne cappa -en série Leq = somme(L) -parallèle 1/Leq =somme(1/L) -impédance Z=Lŵ - - -### Les transistors MOS (Metal Oxyde Semiconductor) (MOSFET) -porteurs d'un seul type, donc composant unipolaire (contrairement au transist. bipolaire) -en silicium, car facilement dopable -V/Id = Rdson -3 contacts : (Grille, Drain et Source) -1er temps autour des zones n+ les charges : --majoritaires sont '+' -> zone de déplétion lorsque Vgs >0 est appliquée entre drain et source, la diode substrat drain est bloquée, le courant ne passe pas --quand la tension de la grille augmente, la zone entre D et S la force electromag attire les charges - et un canal se créé et -conduction d'un courant de D vers S (flux minoritaires d'e- dans la zone P attirée par la grille) --proche de G, les e- deviennent majoritaires, un canal de conduction est créé entre D et vers S modulé par Vgs(dès que Vgs > Vth) - - -partie métal = condensateur -largeur grille ancien processeur : 5 nm, maintenant 18 angström (10^-10) : 1,8nm -salle grise - salle blanche : taux de particule réduit, on évite la poussière pour éviter d'abimer les processeurs - --sorte d'interrupteur quasi parfait - -oxyde mauvais conducteur -> un composant s'oxyde R augmente -> RI² augmente mais comme I reste le meme le disjoncteur n'intervient pas -> la maison brule - --si tension entre grille et source = 0, aucun courant ne passe, mode bloqué, R=inf, dissipation thermique RI²=0 --sinon mode saturé, R = 0.5 ohm par exemple , si Vgs=V,I~32a, si Vgs baisse R augmente, dissipation thermique augmente - -chauffe pendant qu'il s'ouvre, si passage rapide, pas de chauffe=> solution sur les transistors (1 et 0 ouvert et fermé souvent) augmenter la freq pour éviter de trop chauffer - -zone ohmique, puis zone saturée \ No newline at end of file diff --git a/securite/01_init.md b/securite/01_init.md deleted file mode 100644 index 804faf6..0000000 --- a/securite/01_init.md +++ /dev/null @@ -1,160 +0,0 @@ -# Sécurité 2024-03-01 - -epita-ssie@priamos.fr - -etienne gérain => ne pas hésiter à se connecter sur linkedin -s8 => base cyber, cybersec technique (protection et attaques), sec du cloud, cybersec en entreprise - -évaluations => tout ne sera pas dans le support de cours - =>possibilité d'évaluation non prévues, réviser le cours pour le cours suivant - -actualité -oct 2023 -> vinovalie paralysée par hackers occitanie, hopitaux vittel et neufchateau dans les vosges sont la cible d'une cyberattaque grand est -lockbit, plus grand groupe cybercriminel , interventions récentes de polices interpays - -## Histoire -fin du 8ème siècle, les vikings attaquent la france car riche mais mal organisée, attaques surprises délocalisées, population naive, pas de réponse coordonnée au problème - -21è => la France possède une énorme richesse en capital intellectuel, même problème - -école/université contre cybercrime -Pasteur => association recherche enseignement et pratique est la meilleure approche - -internet vient de l'US army, sous le nom d'ARPANET, obj : améliorer la comm entre armées -années 50, guerre froide -bases stratégiques permettant aux USA d'encercler l'urss et de lancer des att. surprises avec des bombardiers -l'urss développe son arsenal nucléaire, prend l'avantage dans les années 60 -les usa n'étaient pas protégées contre des att. sur leur réseaux de comm, une att sur une infrastruct. pouvait faire tomber tout le réseau -=> développement de l'arpanet, premier réseau maillé de **communication distribué** par léonard kleinrock à la fin des années 60 privé non prévu pour le grand public => aucune confidentialité, peu de controle d'intégrité -d'autres réseaux se développpent autour de la techno TCP/IP (NSFnet, USEnet,...) -arpanet s'interconnecte avec des univ et des labo civils ou privés -TCP/IP (protocole ouvert)=>beaucoup de flexibilité mais aucun mécanisme de séc. -nombreuses failles dans le protocole (ICMP prot. de ping, Routage, N° de séquence, SYN flooding (ouverture de tonnes de connexion), UDP) palliées par des rustines ou des surcouches - -concept de *diode* dans un réseau => communique dans un seul sens x -- |> -- X - B diode A B peut communiquer vers A mais l'inverse est impossible -n'accepte que le protocole UDP car pas d'acknowledge possible, risque de saturation si TCP -ex d'utilisation : un pilote d'avion communique aux passagers - -TCP/IP combine identité et localisation sur le réseau dans un objet : l'adresse IP => attaques facilitées car mascarade possible, détection problématique, anonymat quasi assuré - -D'autres pb qu'internet : -- terminaux et OS optimisés pour exp. utilisateur pas pour la sécurité -- µprocesseurs tjrs plus complexes introduisant des failles dans le hardware (spectre, meltdown) -- Fournisseurs de services incompétents -- utilisateurs naifs -- hacktivistes, criminalité, concurrence, cyber guerre - -HSM = hardware sec module, équipement permettant de génerer et stocker des clés crypto de séc. -cage d'écho -> rés. sociaux, suivre les gens qui pensent comme nous donne un faux sentiment de sécurité, manipulation - -## Aujourd'hui - -- 1 entreprise sur 2 se fait attaquer -- 74% des etps déclarent le phishing comme vecteur d'entrée principal pour les attaques subies -- dans 60% des cas les attaques impactent le le business des etps avec dans 7% des un déficit du CA -- les autres préjudices sont : vol de données (35%),usurpation d'identité (33%),données chiffrées par ransomware (22%) - -8 etps sur 10 mènent des campagnes de sensibilisat°, mais 38% des incidents constatés proviennent de négligences/err. de manipulation - -Les budgets alloués à la cybersec dépassent majoritairement 5% du budget IT global. 63% des etps prévoient une augmentation allouée aux dispositifs de prot., et 54% attribuée à l'augment. des effectifs - -xdr -> syst. de détection temps réel mais ne répond pas aux "menaces inconnues" - -station blanche => équipement pour tester une clé usb par exemple - - -les attaques se multiplient - -réseau de zombies => utilisation d'une partie des ressources d'un tél. etc pr recréer un syst. virtuel capable d'attaquer - -fuite de données chez un opérateur tcom (2014)=> défaillance d'un sous-traitant, avec serveur mal sécurisé permettant l'accès libre au fichier client - - -STUXNET -> 1ère utilisation majeure d'un cyber arme sur les centrales nucléaires iraniennes -usb possède capacité d'autorun - - -nouveaux vikings => gouvernement, etp, crime organisé, fraudeurs -attaques => défaçage de site, arnaque au président (d'une société), chantage à la webcam, déni de service, etc - -Le niveau de risque augmente -france => 1 des 3 pays les + ciblés par la manipulat°, influence, etc - - -# Partie 2 -## Principaux types d'attaques - -maillon faible (l'humain) => peut souhaiter bypasser le système existant si inadapté aux besoins, pas forcément uniquement de la faute de l'humain -principaux vecteurs : -- le web (sysmantec detecte +10 000 nouveaux sites web infectés par jour) -- la messagerie -- les clés usb - -top 14 attaques : ransomware, malware, service Maas, attaque par DoS et DDoS, Phishing, attaque type Man in the middle (MITM) -, script intersite (XSS), injection SQL, Tunneing DNS, Attaque de mots de passe, Attaque des anniversaires, attaque type "drive-by", -cryptopiratage, attaque IoT - - -phishing => extensions communes dangereuses : doc, pdf, exe, etc -marché noir sur le dark web -achat / vente de documents d'identité, n° de cartes bancaires, comptes sur des cloud, kits pour malwares - -**Spear fishing (SP)**=> version ciblée du phishing, envoi d'un mail depuis un contact connu un collègue, ou un proche - -> adresse email source maquillée ou piratage du mail du contact - -> exploitat° des données publiques de la cible et de ses contacts sur les réseaux, des données de l'entreprise - -pb majeur dans les etps, organisation de campagnes de sensibilisation - -sécurité par l'obscurité = sécurité en cachant des bouts de code --> mac et windows ont certaines parties de code propriétaires - -recommandation -(openbsd => aucun protocole ouvert par défaut) -un seul antivirus sur son OS, 2-3 antivirus dans une ept (1 pour les ordis portables par exemple, 1 pour les serveurs) - -plsrs antivirus se basent sur la même manière de detecter les virus - -ne jamais se connecter à un réseau wifi ouvert ou filaire, si données sensibles sur un ordi - -2017 : 1/13 des sites webs sont malicieux - - -début d'attaque : souvent SP (71% 2017), watering holes -watering holes => site web non géré par l'entreprise mais ou tous les utilisateurs se connectent (par exemple site web d'un comité d'etp) =>on attaque ce site web au lieu d'attaquer l'etp - -SP => signes évocateurs (un contact a un besoin urgent, on vous demande de changer votre mode de connexion, on vous questionne sur des outils de paiement, des projets en cours) - -recommandations d'outils : olvide, keepass - -comment réagir ? -->formation des utilisateurs -->controler, Phishing pédagogique -->et parfois sanctionner - - -mail suspect -vérifier l'id de l'interlocuteur -contacter l'expéditeur par un autre moyen pour demander confirmation -ne pas transmettre d'info sensible -ouvrir un mail est il dangereux ? oui si le logiciel pour ouvrir le mail interprète de l'html - - -SP : 1ère étape de l'attaque APT -*APT* ->(advanced persistent threat) attaque complexe qui s'est faite en plusieurs étapes, parfois en plusieurs années -Kill chain : représentation d'une APT - -reconnaissance (recherche d'infos publiques)-->construction (adaptat° des outils à l'etp)-->livraison (envoie de malware) -->exploitation (--escalade privilèges -->exfiltration--> maintien etc) - - -on peut représenter la séquence d'injection dans l'apt : envoi de mail--> ouverture du mail etc - -water holing -cryptolocker -> chiffre en masse les données accédés en vue d'une rançon -Botnet : l'attaquant donne un ordre aux machines zombies qui attaquent à l'insu de l'utilisateur, sert par ex à DDoS - -sabotages d'infrastructures industrielles - - -menaces : les réseaux sociaux, cyber-harcèlement -se protéger : mot de passe : mettre une phrase est plsu complexe à craquer qu'un mdp courts avec symboles spéciaux etc diff --git a/update.sh b/update.sh deleted file mode 100644 index 98d7ff0..0000000 --- a/update.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -set -e -cd "$(dirname "$(realpath "$0")")" - -if [ $# -lt 1 ] -then echo "Usage: update.sh [msg]" && exit 1 -fi - -dir="$1" -msg="$2" - -git add "$dir" -git commit -m "$dir $msg" -git push