SSTIC 2023 - J3

SSTIC 2023 - J3

Analyse statique de code avec Semgrep

SemGrep est un outil d’analyse de code source capable de tourner sur n’importe quel langage. Le parsing est basé sur tree-sitter, le parser produit un AST, et l’outil travaille directement sur l’AST. On peut faire du pattern matching et de la teinte. On peut exprimer des sink, des sources et des sanitizer pour identifier les vulns.

Recherche de vulnérabilité à l’aide d’outils d’analyse automatique de code

Weggli est un outil d’analyse statique qui recherche des patterns sur du code C/C++. Avec ça on peut travailler sur du décompilé IDA. Pour ça il faut des bon patterns et des codes vulns en référence. On cherche des mauvaises pratiques de développement comme du strncpy avec la taille de la source calculée à partir des inputs utilisateur. Un pattern très large remontera beaucoup de faux positifs, du coup il faut bien tuner.

L’orateur a fait tourner l’outil sur Qemu, vlc et samba qui ont fait l’objet de CVE.

peetch

Via un filtre eBPF l’outil va dumper des paquets associés à des informations sur les process. Le code est disponible sur Github. Pour intercepter des fonctions dans le kernel, avant fallait faire du kprobe. eBPF va permettre l’interception de fonctions noyau, et d’aller chercher des informations de contexte. Via bpftrace l’orateur va chercher les connexions réseau. L’outil va donc dumper dans du pcapng et ajouter des commentaires avec les noms des process.

Avec cette apprchoche l’orateur est allé chercher les structures ssl_session_st et les dump dans NSS Key Log pour permettre le décodage dans Wireshark.

DECRET

Via les snapshots des releases Debian, les orateurs reconstruisent un docker vulnérable avec un utilisateur lambda et l’exploit. L’outil dépend des Debian Security Advisory. C’est très utile pour l’enseignement, la formation, l’entrainement ou l’étude de vulnérabilités.

Sécurité d’un réseau mobile et responsabilité d’un opérateur

Les réseaux mobiles des opérateurs est extrêmement complexe et issue de la sédimentation de technologies diverses et bien datés. En plus des services connus des utilisateurs, il y a d’autre bouts de SI métier qui viennent s’y greffer, et la mise à dispo de services de secours type 112, 15, 18 ou encore les réseaux dédiés aux OIV.

Les opérateurs font l’objet de pressions par les services de renseignements qui les attaquent comme dans l’opération sur belgacom ou vodafone grèce. L’attaque sur ViaSat est un autre exemple de l’impact du contexte géopolitique sur la sécurité des opérateurs. S’ajoute à ça la législation qui ne cesse de se développer.

Dans la presse on retrouve beaucoup d’histoires sur des IMSI Catchers d’habitude utilisés par des services de renseignements qui ont servis dans des campagnes de phishing par SMS.

Les réseaux 2G/3G/4G ne sont pas en reste quand aux vulnérabilités. Par exemple l’attaque aLTEr qui s’attaque au traffic DNS et qui permet d’injecter une réponse DNS modifier vers l’utilisateur. Pour l’instant la 5G redirige vers un coeur 4G, ce qui correspond à la norme 5G NSA (non-standalone). Lorsque les opérateurs passeront en Standalone (5G SA) l’ensemble de l’infra sera 5G.

Dans un téléphone la Ki est une clef secrête dupliquée dans le coeur du réseau mobile appellé UDR. Toute la sécurité du réseau mobile repose sur la confidentialité de cette clef. En 5G l’identité du client ne circule plus en clair. Le contrôle d’intégrité au niveau utilisateur permettra la protection du traffic DATA et patchera aLTEr. La signalisation basculera sur HTTP/2. A horizon 2028 il n’y aura plus que la 4G/5G.

Memory Forensics 2.0

Davide Balzarotti est un grand chercheur académique du monde de la sécurité informatique. Il est aussi le fondateur de la team shellphish. Le forensic mémoire, c’est la collecte, la validation et l’analyse de preuves numériques contenus dans la mémoire.

Le cycle est le suivant: l’acquisition, l’interprétation et l’investigation. L’analyse actuellement repose sur des patterns spécifiques qui permettent de retrouver les structures mémoire des process, des sockets etc. Une implémentation connue c’est Volatility. Cette approche est très consomatrice en temps et nécessite le reverse-enginering du kernel windows, dont l’agencement de la mémoire peut changer d’une version à l’autre.

Il est aussi très difficile de mesurer la robustesse et la fiabilité de certaines de ces techniques manuelles de récupération de ces structures en mémoire. Le problème avec l’agencement de la mémoire, physique c’est qu’il dépend de la MMU et de comment elle est configurée. Le reste sur le site du SSTIC.

Symless

Symless est un outil d’aide à la rétroconception en facilitant l’import de structures C afin de renommer les variables dans IDA. Symless utilise des heuristiques simples pour gérer les conflits de renommages comme les overlap entre une structure et un champ de la structure déjà pointé. Symless peut utiliser des symboles pour renommer certains champs de la structure.

On peut utiliser symless en mode pré-analyse ou les structures sont identifiés préalablement. Une fois une variable employant la structure identifiée, on peut propager à partir de ce point.

Tesla Hacking

Les voitures sont des systèmes d’information roulants fortement connectés. Vu que les véhicules autonomes type Tesla sont pilotables par un ordinateur, l’impact d’une vulnérabilité est bien plus fort qu’avant.

la partie multimédia d’une voiture est une belle surface d’attaque. Les éléments de connectivité Radio, les bus CAN & cie interconnecte ces composants avec parfois les fonctions multimédia. Du coup on retrouve les mécaniques classiques du pentest d’entreprise dans les véhicules intelligents. L’isolation entre la partie système embarqué métier du véhicule et la partie infotainment est assuré par une security gateway.

Certains voleurs utilisent un accès physique au réseau CAN pour communiquer avec d’autres ECU et provoquer le dévérouillage et le démarrage du véhicule. L’accès au CAN à un impact critique et permet une prise de contrôle total du véhicule. La security gateway prémuni en théorie le véhicule d’une attaque à distance. Un attaquant qui aurait accès à l’entreprise pourrais redescendre sur le multimédia, puis taper le réseau CAN, ce qu’on appelle une « full chain » ou compromission totale.

Les Tesla partagent le même hardware sur l’ensemble des véhicules. Lorsque le hardware change, Tesla fait attention à ne pas casser de fonctionnalités. L’autopilot et l’infotainment sont dans le même boitier.

Tous les composants multimédia sont connectés sur le switch Ethernet, gateway, autopilot et diag compris. Pour limiter la surface d’attaque le noyau Linux de la Tesla ne contiens que les drivers stricement nécessaires. Côté logiciels, seuls les fonctionnalités utiles sont activés. Si certains logiciels font l’objet de fonctionnaités à risque, des patchs sont appliqués pour désactiver la fonction vulnérable. Chaque fonctionnalité tourne sur un utilisateur unix dédié. Les privilèges de chaque utilisateur est limité avec un sandboxing par processus. Kafel gère l’accès aux syscalls, Apparmor l’accès fichier & socket, Iptables pour firewaller les process et enfin minijail pour la création de namespaces et du chroot. Le switch est controlé par la security gateway via un bus MDIO. Tesla ne gère pas la fin de vie des composants, les ECU acheté sur eBay contiennent d’anciennes données utilisateurs.

Rétro-ingéniérie de systèmes embarqués AUTOSAR

Une voiture c’est jusqu’a 100 ECU, soit 100 microcontroleurs/cpu avec des interfaces CAN/Ethernet/Wifi etc. Automotive Open System ARchitecture explique la chaine de compilation logicielle d’un firmware pour un ECU. Un firmware embarqué doit être mappé en mémoire correctement afin de pouvoir identifier les différentes portions fonctionelles qu’il contient. Dans les doc Autosar, il y a un module « default error tracer ». Il faut aller chercher les traces d’appels à cette fonction dans les modules & cie pour réussir à identifier les modules. Autre standard, les fonctions de diagnostique via CAN ou Ethernet. Avec Scapy et CANalyze, l’orateur arrive à récupérer des chaines de caractères dans le firmware, et de cross-ref en cross-ref, il finit par retrouver les fonctions associées à l’émission/réception des paquets CAN/Ethernet.

Un firmware embarqué c’est comme un dump mémoire, il y a des structures statiques parcequ’un système temps réel doit avoir un comportement prédictible. De ce fait les tâches et les modules associés sont présent dans des structures fixes. A coup de datasheet dans ghidra on peut importer les addresses des registres et le mapping mémoire prévu. On retrouve ainsi les portions des drivers des firmwares. Avec CCrawl l’orateur va chercher les structures correspondantes.

Conférence de cloture – CERT-FR 23 Ans d’Histoire – 15 ans d’opérations

Au menu, Espionnage, destabilisation & cybercrime. Le CERT-A à été créé à cause du bug de l’an 2000 de peur que ce bug servent à attaquer les administrations. La structure c’est créée avec 2 personnes. En 2001 la DCSSI avec le CERT-A dedans, enfermé dans une cage de farraday à Issy-les-moulineaux, les pauvres.

Dans les années 2000, les attaquants le faisait par défi, ou pour atteinte à l’image, avec un peu de vol de donnée. Les administration craignait la destruction par vers informatique. En 2003 le COSSI à été créé dans le cadre du plan Vigipirate. En 2005 le service passe en 24/7 avec un élargissement des missions. Ils avait comme objectif ambitieux de passer à 200 personnes… objectif atteint en 2019. C’est le début des botnets avec des machines gouvernementales qui s’y retrouvent enrolés.

Changement majeur, l’apparition de la menace d’espionnage gouvernemental. En 2009 le service de détection est créé, et la DCSSI deviens l’ANSSI. En 2011, un énorme incident devient l’élément fondateur de l’activitée opérationelle de l’agence.

En 2017 l’agence se restructure en 3 fonctions, Connaissance & Anticipation, Détection & Réponse. En 2019 l’ANSSI intervient sur un rançongiciel. En 2020 le covid force l’ANSSI à passer en mode Télétravail, et suivis du Télétravail des bénéficiaires avec moult accès déployés à l’Arrache. 2022 passage en multisite, avec l’explosion du nombre de CSIRT.

15 ans d’opérations surtout liées à l’espionnage, qui occupe majoritairement l’ANSSI. En 2011, détection de la compromission de Bercy avec des attaquant qui recherchait des informations liés au G20. Les attaquants était connus, peu-discrets et très actifs. La création de ORC puis DFIR-ORC est issu du retour d’expérience de cet évènement. L’investigation avec un attaquant toujours actif, et une bascule AD très technique et maintenant bien documentée dans la communauté sécurité Windows.

A partir de ce moment, le ciblage constant des intérêts français n’a jamais cessé. Avec des attaquants qui s’adaptent au changement de posture des ministères, et des compromissions parfois multi-acteurs.

Les attaquants ont évolué au fil du temps. Dans l’industrie, les attaques était au début frontales qui visaient tous le secteur, à coup de phishing, des prises de contrôle du coeur du SI et l’exfiltration systématique de données sensibles de façon discèrte. Les points communs était systématiquement relié à des modes opératoires attribués en source ouverte à la Chine. Suite à ça, la réglementation à créé les OIV, et permet à l’ANSSI d’y intervenir. Le modèle de la bascule AD à été affiné. La collecte forensic passe à l’échelle de 10000 machines à 200 000.

Fin 2014, les Etats-Unis ont fait évoluer leur politique et ont lancé des indictments sur les ressortissants chinois auxquels était attribué les attaques. On les a vu revenir en 2017 après une longue phase d’inactivité. Ils se sont atttaqué de façon mieux préparé aux sous-traitants plutôt qu’aux OIV directement. Des victimes en lien informatique avec les OIV. Cette approche permettait de récupérer des accès légitimes et de brouiller les pistes.

Maintenant les attaquants visent les PME fournissant les Prestataires des OIV ce qui dénotte d’un ciblage extremement bien fait et efficace. Les équipements embarqués tels que les routeurs, pare-feux ou bornes wifi ont été ciblés. Il s’agit de matériels très peu supervisés et bien placés.

En 2021, APT-31 a compromis un très grand nombre de routeurs domestiques, et s’en servait comme réseau d’anonymisation. La stratégie d’entrave s’est basée sur du partage d’IoC, et des publications détaillant le fonctionnement du MOA.

Pendant ce temps, l’ANSSI à du traiter le projet Pegasus. L’agence fait face à une entreprise de lutte informatique offensive privée, qui utilise un code malveillant très bien fait dans un contexte politique tendu.

Lorsque la compromission SolarWinds fut connue, l’ANSSI à lancé une course contre la montre pour retrouver d’éventuels bénéficiaires utilisant la version compromise du logiciel.

En 2015, l’hacktivisme terroriste à pris de l’empleur à provoqué de nombreuses remontés du COSSI, qui n’était pas organisé par un flux massif de demande d’assistance, avec une pression médiatique terrible. Le directeur de l’ANSSI de l’époque à fait la tournée des plateaux télé pour faire de la pédagogie. Rien de plus jusqu’en 2022, ou des hacktivistes pro-russes se sont mis à faire du DDoS visant les intérêts français au fil des annonces de soutien à l’Ukraine.

TV5-Monde à été largement couvert dans le talk SSTIC. L’attaquant à opéré sous un faux drapeau Daesh alors que les indicateurs techniques pointait vers la Russie.

Février 2022, Ka-Sat (Viasat) s’est fait ciblé parcequ’ils servait d’infra pour l’armée Ukrainienne. Une opération bien préparée, sans pré-positionnement, il s sont rentré, on compromis le serveur de mise à jour des modems, et a déployé une mise à jour destructive pour les équipements.

Autre style d’opération, les Hack & Leak, tel que les MacronLeaks. Le timing était choisi pour tomber dans les phases électorales ou les candidats ne pouvais s’exprimer. L’action à été attribuée à APT-28 par les Etats-Unis.

Dernière catégorie, le pré-positionnement. Les attaquants se cachent dans des équipements d’entités sensibles. Difficile d’identifier pourquoi ils sont là, espionnage, début d’intrusion, ou placement en vue d’un sabotage futur. Exemple avec une attaque sur des serveurs Centreon. L’ANSSI à remédié les serveurs identifiés, et publié sur le mode opératoire adverse.

2018, le début du « big game hunting » avec des groupes de ransomwares qui s’attaquent aux grosses entreprises plutôt qu’aux particuliers pour obtenir de meilleurs rançons. Ces cybercriminels sont très spécialisés, l’écosystème est mouvant et partagent énormément de ressources. Quand ces groupes affectent des hopitaux, des mairies ou des services sociaux, l’impact sur la société est terrible. On ne sait plus ou enterrer les gens, ou quel plateau va à quel malade. Le secteur privé à pris le relais de l’agence.

Les stratégies de défense fonctionnent, elles permettent une meilleur réactivité et certaines victimes ont réussit à esquiver le chiffrement en bloquant les attaques à temps.

Pour conclure, la défense ça marche, et c’est important d’y investir. L’autre chose qui ne devrait pas inquiêter ceux qui travaillent dans la SSI, c’est le chômage.