SSTIC 2022 J3

SSTIC 2022 J3

Après un bon social event dans un cadre magnifique, nous voila repartis pour une journée. Bon forcément le matin ça pique.

La sécurité des réseaux locaux en environnement industriel.

Dans les années 90 les réseaux locaux était a plat, pas cloisonnés etc… et Conficker est arrivé. Du coup on est passé a des lans routés, avec un maximum de moyens d’assurer la disponibilité. Sauf qu’on arrête pas d’ajouter des devices et a fini par coûter un pognon de dingue.

Pour contrôler l’accès, on peut faire du 802.1x mais les iot et autres ne supportent pas bien ces protocole. Le SD-Lan c’est du réseau overlay lan sur du lan physique traditionnel. VXLan permet de créer un réseau maillé façon super-vlan mesh. GRE est issu du monde du wlan, la sécurité y est plus fine qu’avec VXLan. La micro-segmentation consiste à faire des vlans pour chaque catégorie d’équipement. Du coup pour déterminer ou placer un équipement qui ne supporte pas 802.1x on va les ranger par leur mac en attendant l’authentification. Beaucoup de choses reposent sur le service AAA.

Côté attaques, les devices d’overlay n’ont pas de protections côté réseau underlay/accès physique. Du coup faut pas oublier de les firewaller/protéger.

L’avantage c’est qu’on peut automatiser la mise en quarantaine, ou avoir une attribution automatique post-auth du device au bon endroit.

La mauvaise nouvelle c’est que les attaques physiques fonctionnent toujours malgré ces technos faciltatrices. Par contre le SD-Lan facilite la mise en oeuvre d’une approche Zero-Trust.

La détection réseau n’est pas morte

La détection réseau s’appuie sur l’ensemble des informations lié au réseau, des nids aux flux netflow en passant par les event-id 3 sysmon.

Avec de simples éléments statistiques on peut identifier des anomalies, des changements de répartitions dans les protocoles etc… ce qui fait écho avec la politique de sécurité et ce qui est « normal »sur le réseau, et là on découvre des trucs.

On peut durcir un réseau comme un dingue, si on a pas de détection/contrôle on ne peut pas se rendre compte qu’il ya du shadow it, de nouveaux devices accédant physiquement a votre SI, ou une imprimante qui communique avec l’internet là ou vous avez pas d’EDR.

La détection de beaconing permettant d’identifier une machine compromise causant avec son serveur de command and control.

Parfois on dit que la détection réseau arrive trop tard, mais dans une intrusion il peut y avoir de nombreuses étapes et on peut s’appuyer sur le réseau pour tracer et suivre l’attaquant.

Le chiffrement n’est pas la fin de la détection, pas besoin d’accéder au contenu des échanges pour détecter des anomalies statistiques. Exemple avec ja3 (et hassh) qui permettent de découvrir des agents sur le si.

Anomark

L’évènement 4686 de création de processus fournit l’ensemble des création de process sur une machine windows. Quand on fait de la détection sur la base d’ioc on va regarder des petites choses spécifiques.

Les chaines de markof, c’est une modélisation sous forme de machine a état probabilistique avec des proba de changement d’état.

En observant les probabilités de transition vs le réel on peut déterminer la vraisemblance de la correspondance entre le modèle et l’objet réel observé.

les n-gram c’est un découpage en nombre de morceaux d’un texte. L’objectif c’est d’avoir un modèle statistique de ce qui suit certaines séquences de texte.

Quand on applique ça aux lignes de commandes on peut obtenir l’identification des commandes probables ou improbables par rapport au jeu de données d’apprentissage. L’avantage c’est que l’algo est lisible et qu’on peut le tester sur des commandes ou faire générer des commandes au modèle pour voir ce qu’il a appris.

Le tout est disponible sur le github de l’anssi.

TPM is not the holy way

Histoire d’un audit d’un device hardware sécurisé avec luks, tpm2 n co. Le TPM c’est un chipset connecté a un cpu qui va contenir des secrets et pouvoir faire des contrôles cryptographiques ou d’intégrité.

L’orateur s’est donc acheté un tpm pour jouer avec. Le tpm communique avec le cpu en utilisant divers protocoles. Il existe des sniffers pour écouter les bus de com du TPM. L’orateur lui à préféré, sur la base de l’accès au bios, s’attaquer au tpm au niveau software.

Quand on boot sur un autre support, les registres pcr changent, mais si ils ne sont pas vérifiés ça sert à rien. l’orateur a mis au point un proxy tpm a base d’une vm qui exécute l’os après avoir booté sur sa clef. Ce qui lui permet de faire du mitm ou de sniffer les échanges.

L’outil est dispo sur le github de quarkslab

Github Security Lab

L’objectif c’est de faciliter la sécurité dans le monde de l’open source. Exemple avec log4shell dont le concept a été présenté en 2016 à blackhat, et quand on le découvre dans log4j, on a perdu 5 ans. Identifier une catégorie de vulns et communiquer dessus ne suffit pas parce que ça n’atteint pas les développeurs.

CodeQL est un langage qui représente le code sous forme d’une base de donnée requêtable. L’ast d’un code est transformé en des tables relationelles regroupant les appels de fonction, les arguments, etc… et du coup on peut query ce code.

Exemple de recherche d’app java vulnérables à log4shell à l’aide de l’extension codeQL pour VSCode. La syntaxe est très proche du SQL et permet d’identifier des propriétés définies du code: qui appelle quoi, avec combien de paramètres ainsi que leur type, etc… On peut aussi faire de l’analyse d’atteignabilité pour identifier si une source de donnée utilisateur peut atteindre une fonction vulnérable.

Isolation d’un navigateur web.

Le navigateur web fait passer n’importequoi over HTTP et en plus c’est totalement chiffré. C’est en plus un nid à vulnérabilités et ça fait une belle porte d’entrée sur le SI.

Du coup ya des solutions genre citrix vers le navigateur ou on se rend compte que le protocole citrix est aussi un nid à vuln. On peut avoir un navigateur déporté façon cloudflare mais on connait pas la surface d’attaque du composant graphique.

En regardant les solutions de streaming de jeu vidéo, on se dit que c’est pas mal du tout. Les orateurs ont donc décidé d’implémenter une solution similaire pour la navigation web.

La vm contenant le navigateur se voit adjoindre un disque dédié à l’utilisateur qui contient le profil de l’utilisateur. L’implem du streamer est faite en rust, et l’attaquant n’a accès qu’a une shared memory.

Le projet s’appelle sanzu et est en open-source sur le github du cea-dam: https://github.com/cea-sec/sanzu

Solution de sécurité pour sas usb

L’usb c’est comme un protocole réseau avec différentes classes de périphériques. Chaque périphérique choisis les protocoles d’échange qu’il accepte ou non. Exemple avec badusb ou le firmware de la clef usb lui permet de se faire passer pour un clavier.

Après avoir défoncé pluseiurs solutions de sas usb propriétaires les orateurs ont eu le droit de coder le leur.

Afin de limiter l’impact d’une éventuelle vulnérabilité, les orateur ont déporté la partie filesystemm et massstorage côté userland. Puis ils ont été isolés via seccomp.

Le tout est disponible sur github: https://github.com/cea-sec/usbsas

Conférence de cloture: Vous avez dit cyberguerre ?

L’Ukraine est le répertoire le plus complet des usages antagonistes cyber: de l’espionage au sabotage, l’Ukraine à tout subit.

Historiquement en 2007 on a eu l’Estonie qui s’est fait DDoS par des sympathisants pro-poutine. Il y a eu aussi le bombardement par Israel d’une installation nucléaire avec cyber-attaque préalable sur les systèmes radars par l’unit 8200. Stuxnet en 2010 à poussé les régulateurs à intégrer le risque cyber dans la safety des systèmes industriels.

L’Ukraine est en guerre depuis 8 ans suite au mouvement pro-européen de maidan. Avec plus ou moins de cyber-attaques: Black Energy, Industroyer, NotPetya pour les plus marquantes.

Avant l’invasion de l’Ukraine, il y a eu l’opération WhisperGate avec dénis de service, découverte de wiper et mise à bas de KA-SAT. Ajoutons à ça un Industroyer2 visant les infras électriques.

Les attaques cyber ne sont plus un tabou et sont sortis de la clandestinité avec la création de commandemants cyber. Une doctrine de réplique conventionelle face aux cyber-attaques se développe dans certains états.

L’attribution au combien complexe se fait de plus en plus et reste une décision politique et sert un agenda géopolitique.

La cyber et les attributions sont passé de la niche au grand publique, avec un narratif exagérant l’impact et l’ampleur. Chaque histoire derrière un évènement cyber est un puzzle.