Symposium sur la sécurité des technologies de l'information et des communications

Conférence francophone sur le thème de la sécurité de l'information.
Elle a eu lieu à Rennes du 2 au 4 juin 2021.

Crouching hacker, killer robot? Removing FUD from cyber-physical securityStefano Zanero


Date : 02 June 2021 à 09:30 — 60 min.

Cyber-physical systems are attracting a lot of attention: attacks on connected cars received a lot of media exposure, as did attacks on industrial control systems, airplanes or medical devices. A lot of this interest is driven by vulnerability research (often in the form of “stunt hacking”). While engaging and attractive, does this research really help to answer the fundamental question of how to embed security analysis in design? Why are we failing? What are the root causes? How do we do better and move beyond instilling fear?

Analyse des propriétés de sécurité dans les implémentations du Bluetooth Low EnergyJosé Lopes Esteves, Nicolas Docq, Tristan Claverie


Date : 02 June 2021 à 11:00 — 30 min.

Le Bluetooth Low Energy (BLE) est issu d'une norme complexe et qui laisse une grande latitude aux implémentations. Les fonctions de sécurité du BLE sont disséminées dans plusieurs couches protocolaires. Le fonctionnement du BLE et de sa sécurité ont été étudiés, avant qu'un état de l'art ne permette de comprendre les différentes attaques possibles et leurs impacts. Puis la propagation des propriétés de sécurité est étudiée sous le prisme de la norme avant d'étudier son implémentation dans les piles BLE de Linux et d'Android. Cette étude permet de conclure que la norme comporte des incohérences et de détecter des non conformités sur les implémentations étudiées.

InjectaBLE : injection de trafic malveillant dans une connexion Bluetooth Low EnergyFlorent Galtier, Geraldine Marconato, Guillaume Auriol, Mohammed Kaaniche, Romain Cayre, Vincent Nicomette


Date : 02 June 2021 à 11:30 — 30 min.

Ces dernières années, le Bluetooth Low Energy (BLE) s'est imposé comme l'un des protocoles de communication sans fil les plus populaire pour l'Internet des Objets (IoT). Par conséquent, plusieurs attaques visant le protocole ou ses implémentations ont été publiées récemment, illustrant l'intérêt croissant pour cette technologie. Plusieurs défis techniques majeurs restent cependant irrésolus à ce jour, tels que l'injection de trames, l'usurpation du Slave ou l'établissement d'une attaque de type Man-in-The-Middle dans une connexion établie. Dans cet article, nous décrivons une nouvelle attaque nommée InjectaBLE, permettant d'injecter du trafic malicieux dans une connexion établie. La vulnérabilité exploitée étant inhérente à la spécification du protocole, elle touche de fait l'ensemble des connections BLE, indépendamment des équipements utilisés, la rendant particulièrement critique.

Dans cet article, nous décrivons les fondations théoriques de l'attaque, son implémentation en pratique, et nous explorons quatre scénarios offensifs critiques permettant de déclencher une fonctionnalité donnée de l'équipement ciblé, d'usurper les deux rôles impliqués dans une connexion ou de mener une attaque Man-in-the-Middle sur une connexion établie. En conclusion, nous décrivons l'impact de l'attaque et proposons plusieurs contre-mesures.

Un pare-feu pour le HDMIJosé Lopes Esteves, Pierre-Michel Ricordel


Date : 02 June 2021 à 12:00 — 15 min.

Dans cette présentation nous identifions les protocoles qui transitent dans les câbles HDMI. Ces protocoles présentent une surface d'attaque non négligeable qui a déjà fait l'objet de plusieurs publications (notamment DDC/EDID et CEC). Cette situation est préoccupante dans le cas des écrans ou des projecteurs de salle de réunion, qui sont successivement utilisés par des personnes externes ou internes à la structure d'accueil.

Nous proposons une solution sous la forme d'un module matériel très simple, qui se place en coupure sur le câble HDMI, et qui réduit considérablement cette surface d'attaque tout en préservant un niveau fonctionnel satisfaisant.

Hyntrospect: a fuzzer for Hyper-V devicesDiane Dubois


Date : 02 June 2021 à 14:15 — 30 min.

Hypervisors are complex software which may require the reimplementation of legacy stacks. On Microsoft Hyper-V virtual machines (generation 1), some devices are emulated in the userland of its root partition. To explore this attack surface, a specifically crafted open source toolchain called Hyntrospect has been developed. It aims at helping find vulnerabilities in a pragmatic way: by taking benefits of existing Hyper-V and Windows capabilities and tools to perform coverage-guided fuzzing on Hyper-V closed-source binaries. That approach was inspired by previous experiences with libFuzzer, a publication by Microsoft on their fuzzing campaign, and other research conducted on the topic. The specificity of that tool is to rely on debugging and as a consequence to run in a real environment. It was also written in the perspective of putting together techniques that could be ported in the future to other Hyper-V root partition’s userland targets.

Vous avez obtenu un trophée : PS4 jailbreakéMehdi Talbi, Quentin Meffre


Date : 02 June 2021 à 14:45 — 30 min.

Le navigateur de la PlayStation 4 constitue sans doute la surface d'attaque la plus ciblée pour un jailbreak de la console. Cependant, les techniques de durcissement dont bénéficient les navigateurs actuels couplés à l'absence de capacité de débogage rendent difficile l'exploitation de bugs sur les derniers firmwares de la PS4.

Cette présentation détaille la stratégie d'exploitation que nous avons adoptée afin d'exploiter une vulnérabilité 0-day dans WebKit. Il s'agit d'une vulnérabilité de type Use-After-Free qui n'offre de prime abord que des primitives limitées. Cependant, grâce à une faiblesse identifiée dans l'ASLR, il a été possible d'exploiter cette vulnérabilité menant au premier jailbreak public sur la version 7 de la PS4.

HPE iLO 5 security: Go home cryptoprocessor, you’re drunk!Alexandre Gazet, Fabien Perigaud, Joffrey Czarny


Date : 02 June 2021 à 15:15 — 30 min.

At the core of HPE Gen10 servers lies the Integrated Lights Out 5 (iLO 5) technology. This new revision (hardware and software) of the remote management technology introduced a key feature described as a silicon root of trust built into the hardware.

Our previous studies on the technology highlighted a critical flaw in the secure boot process, allowing us to load a rogue userland applicative image.

At the start of 2020, we observed that new HPE iLO5 firmware (version 2.x) would come as an encrypted binary blob. In times where supply chain attacks and platform security are more exposed than ever, we decided to review the security implications of the new firmware packaging, and will present:

  • An analysis of the new firmware file format;
  • An extensive review of the cryptographic scheme and used hardware resource (cryptographic coprocessor);
  • The discovery of a new 0-day vulnerability to achieve host-to-ilo code execution;
  • A demonstration that Frankenstein firmware and supply chain attacks are still possible.

All these steps have been conducted to reach a final goal: releasing a tool allowing anyone to decrypt firmware updates to assess their security.

Taking Advantage of PE Metadata, or How To Complete your Favorite Threat Actor's Sample CollectionDaniel Lunghi


Date : 02 June 2021 à 16:15 — 15 min.

In this presentation, we will show some common techniques that we leveraged in a real case investigation that started with one SysUpdate sample found in December 2020, and ended with dozens of samples from the same malware family, dating back to March 2015.

SysUpdate is a malware family that has been attributed to the Iron Tiger threat actor in the past. Other malware families from the same threat actor were found, and the result of the investigation has been published in the Trend Micro blog.

The goal of this short talk is to discuss some of the techniques that proved useful to gather related samples, with detailed examples, different than those presented at SSTIC in 2020.

oletools et ViperMonkeyPhilippe Lagadec


Date : 02 June 2021 à 16:30 — 15 min.

Présentation des outils oletools et ViperMonkey, et des nouveautés dans oletools 0.60.

oletools et ViperMonkey sont des outils qui servent à analyser des fichiers MS Office malveillants, en particulier lorsqu'ils contiennent des macros VBA, Excel 4.0 ou des objets OLE. Ce sont des logiciels libres developpés en Python, utilisables en ligne de commande ou intégrables dans des applications Python.

oletools contient plusieurs outils qui permettent de faire une analyse statique poussée de la plupart des fomats de fichiers MS Office (Word, Excel, PowerPoint, Publisher, Visio, RTF, MHT, XML, etc): macros VBA et Excel 4.0, objets OLE, DDE, remote templates, détails de la structure interne, déchiffrement, ...

ViperMonkey est un émulateur pour l'analyse dynamique de l'exécution de macros VBA, simulant le fonctionnement de MS Office afin de déterminer le comportement des macros et d'extraire les indicateurs utiles (IOCs).

Ils avaient été présentés pour la première fois au SSTIC en 2015: https://www.sstic.org/2015/presentation/analyse_office_macros/

Depuis ces outils ont énormément progressé, notamment grâce aux contributions de la communauté, et ils ont été intégrés à des dizaines de projets et de services en ligne pour l'analyse de malware: https://github.com/decalage2/oletools#projects-using-oletools

Collecte de journaux Office 365 avec DFIR-O365RCLéonard Savina


Date : 02 June 2021 à 16:45 — 15 min.

Office 365 est une solution de travail collaboratif proposée par Microsoft qui est de plus en plus utilisée. Cette solution est donc devenue une cible privilégiée pour les attaquants.

De plus les nombreuses adhérences entre la solution Office 365 qui se base sur l’annuaire Azure Active Directory et l’annuaire du SI interne Active Directory permettent souvent à un attaquant de se latéraliser d’un environnement à l’autre.

Il est donc essentiel d’analyser les journaux liés à l’administration et l’utilisation de cette solution lors d’une investigation sur un incident.

L'outil DFIR-O365RC récupère les journaux unifiés d’audit Office 365 ainsi que les journaux d’authentification et d’audit Azure Active Directory et les exporte au format JSON. Ce format permet une analyse facile des données et une intégration aisée dans la chaîne de traitement d’analyse forensique utilisée par le CERT-FR. Le module, composé de différentes fonctions, permet d’adapter la collecte en fonction du type d’investigation, de la nature et du niveau de licence de la plateforme Office 365 investiguée.

La présentation de ces fonctions permettra de faire un rapide tour d’horizon de différentes attaques sur Office 365 et de déterminer comment les mettre en évidence via l'analyse des journaux collectés.

Phishing post {exploi/automa}tion at scaleJoffrey Czarny


Date : 03 June 2021 à 09:45 — 15 min.

Phishing is well know attack but more and more company have implemented countermeasure to limit the efficiency of this kind of attack. For example, Multi-Factor Authentication (MFA) is being adopted to make password spraying and standard phishing ineffective. Countermeasures adopted raise the exploitation bar, for attacker.

But what happens if you can easily tamper MFA too? If you can proxy all traffic, directly steal sessions and automate malicious actions before the credentials are changed or the attack detected? What do you think if you phish an SSO portal and then you're able to instrument all applications granted with a SSO token...

The goal of this presentation is to share my experience of a massive phishing campaign, how you can use Muraena/Necrobrowser at scale and show how we can phish and get a temporary access to steal enough data or add some persistents access in order to come back later. And of course before being detected and losing access.

Exploitation du graphe de dépendance d'AOSP à des fins de sécuritéAlexis Challande, Guenael Renault, Robin David


Date : 03 June 2021 à 10:00 — 15 min.

Contrairement aux GNU autotools, le système de build Soong, développé par Google, se prête plus favorablement à l'analyse de l'interdépendance des cibles de compilations. Utilisées à des fins de sécurité, ces relations de dépendances permettent d'évaluer la propagation d'une vulnérabilité et les composants affectés à travers un graphe, appelé graphe de dépendance unifié. Appliqué à l' Android Open Source Project, la construction et l'exploitation de ce graphe permettent de savoir quelles sont les cibles issues d'un fichier. Ces travaux présentent les problématiques techniques liées au calcul de ce graphe et le potentiel offert par son exploitation.

QBDL: QuarkslaB Dynamic LoaderAdrien Guinet, Romain Thomas


Date : 03 June 2021 à 10:15 — 15 min.

The QuarkslaB Dynamic Loader (QBDL) library aims at providing a modular and portable way to dynamically load and link binaries.

The goals of the library are:

  • provide a simple-to-use abstraction to load dynamically linked binaries
  • modular enough to be able to load binaries in foreign systems or lightweight sandboxes (e.g. Miasm's sandbox, or Triton's engine)
  • support loading and dynamic linking of PE/ELF/MachO binaries
  • cross-platform and portable library

Notable non goals of the library:

  • provide full operating system (re)implementations, like Wine or Darling.
  • get the best performance out of all dynamic loaders. Said differently, performance can be scarified for better modularity, in order to make the library usable in various reverse engineering scenarios.
  • supports architectures where pointer values are bigger than 64 bits.

BOA : analyse du flot de données pour la construction du graphe de flot de contrôle des codes obfusquésSylvain Cecchetto


Date : 03 June 2021 à 11:00 — 15 min.

L'augmentation des cyberattaques dans le monde fait de l'analyse des codes malveillants un domaine de recherche prioritaire. Ces logiciels utilisent diverses méthodes de protection, encore appelées obfuscations, visant à contourner les antivirus et à ralentir le travail d'analyse. Dans ce contexte, la plate-forme d'analyse de binaires BOA (Basic bOck Analysis) apporte une solution à la construction du Graphe de Flot de Contrôle (GFC) d'un code binaire obfusqué. Cette plateforme effectue une analyse statique d'un code binaire protégé. Pour cela, nous avons défini une sémantique s'appuyant sur l'outil BINSEC à laquelle nous avons ajouté des continuations. Ces dernières permettent d'une part de contrôler les auto-modifications, et d'autre part de simuler le système d'exploitation pour traiter les appels et interruptions système. L'analyse statique est faite en exécutant symboliquement le code binaire et en calculant les valeurs des états du système à l'aide de solveur SMT. Ainsi, nous effectuons une analyse du flot de données afin de construire le GFC en calculant les adresses de transfert. Enfin, la gestion des boucles est réalisée en transformant un GFC en un automate à pile. BOA est capable de calculer les adresses des sauts dynamiques, de détecter les prédicats opaques, de calculer les adresses de retour sur une pile même si elles ont été falsifiées, de gérer les falsifications des gestionnaires d’interruption, reconstruire à la volée les tables d'importation, et pour finir, de gérer les auto-modifications. Nous avons validé la correction de BOA en utilisant l'obfuscateur de code Tigress. Ensuite, nous avons testé BOA sur 35 packers connus et nous avons montré que dans 30 cas, BOA était capable de reconstruire complètement ou partiellement le binaire initialement masqué. Pour finir, nous avons détecté les prédicats opaques protégeant XTunnel, un malware utilisé lors des élections américaines de 2016, et nous avons partiellement dépacké un échantillon du cheval de Troie Emotet, qui, le 14/10/2020 n'était détecté que par 7 antivirus sur les 63 que propose VirusTotal. Ce travail contribue au développement des outils d’analyse statique des codes malveillants. Contrairement aux analyses dynamiques, cette solution permet une analyse sans exécution du binaire, ce qui offre un double avantage : d’une part une approche statique est plus facile à déployer, et d’autre part le code malveillant n’étant pas exécuté, il ne peut pas prévenir son auteur.

Mots clés : Logiciel malveillant, Obfuscation, Flot de données, Exécution symbolique, Graphe de flot de contrôle.

Return of ECC dummy point additions: Simple Power Analysis on efficient P-256 implementationAndy Russon


Date : 03 June 2021 à 11:15 — 15 min.

This presentation aims to show that the efficient implementation of elliptic curve P-256 (also known as secp256r1), present in several cryptographic libraries such as OpenSSL and its forks, is vulnerable to Simple Power Analysis (SPA).

This is made possible by the use of dummy point additions to make to the scalar multiplication constant-time with a regular behavior. However, when not done carefully, those can be revealed on a power trace and divulge the corresponding part of a secret scalar.

Combined with a lattice attack, it is then possible to recover a secret ECDSA signing key.


Cette présentation a pour but de montrer que l'implémentation efficace de la courbe elliptique P-256 (également connue sous le nom de secp256r1), qui est présente dans plusieurs bibliothèques cryptographiques telles que OpenSSL et ses forks, est vulnérable aux attaques SPA (Simple Power Analysis).

Ceci est la conséquence de l'utilisation d'additions factices de points pour rendre l'opération de multiplication scalar à temps constant en ayant un comportement régulier. Cependant, lorsqu'elles ne sont pas effectuées avec soin, ces additions factices peuvent être observées sur une trace de consommation de courant et révéler la partie correspondante de la valeur secrète.

Avec une attaque à base de réseau Euclidien, il est possible de récupérer une clé de signature secrète ECDSA.

From CVEs to proof: Make your USB device stack great againCyril Deberge, Patricia Mouy, Philippe Thierry, Ryad Benadjila


Date : 03 June 2021 à 11:30 — 30 min.

Nowadays, many devices embed a full USB stack, whose main components are made of software elements dealing with hardware IPs. USB sticks, hard-disk drives, smartphones, vehicles, industrial automatons, IoT devices: they all usually offer a USB physical connection, and a USB software driver dealing with it. In critical environments where attackers are able to tamper with this interface, any exploitable software Run Time Error (RTE) such as a buffer overflow might lead to a remote code execution on the vulnerable device, usually in privileged mode. This is even worse when the USB stack runs from a BootROM, yielding unpatchable software. This matter of fact exhibits the need for a portable RTE-free USB stack with concrete proofs: the current article proposes an open-source implementation of such a stack using the Frama-C framework, with proofs and various use cases (DFU, HID and mass storage, and more to come). Beyond providing the mere implementation, we bring a generic methodology to adapt complex protocols software stacks to Frama-C with strong embedded contexts constraints.


Les piles USB sont très représentées dans le monde de l'embarqué, et sont composées de modules logiciels pilotant une IP matérielle dédiée. En effet, des clés USB aux véhicules en passant par les smartphones, les systèmes industriels et les objets connectés, tous comportent en général au moins une interface de ce type. Dans les environnements sensibles et critiques où cette interface est accessible à des attaquants, la moindre vulnérabilité (RTE) exploitable peut se transformer en prise de contrôle de l'équipement, souvent au niveau de privilège le plus élevé. Les conséquences deviennent dramatiques lorsque cette pile USB est implémentée dans une BootROM, rendant la vulnérabilité impatchable sans révision matérielle. Cet état de fait soulève l'importance d'avoir à disposition une pile USB portable et possédant des garanties de sécurité contre les RTEs. Le présent travail propose donc une pile USB open source avec des preuves utilisant le framework Frama-C, implémentant les classes DFU, MSC et HID, modulaire et extensible. Au delà du code source de cette pile, nous discutons de la méthodologie de preuve qui possède un aspect générique et adaptable à d'autres cas d'usage de l'embarqué.

Ne sortez pas sans vos masques ! Description d'une contre-mesure contre les attaques par canaux auxilliairesNicolas Bordes


Date : 03 June 2021 à 14:00 — 30 min.

Les attaques par canaux auxiliaires sont des attaques particulièrement adaptée aux systèmes embarqués. Celles-ci, grâce à l’observation de grandeurs physiques lors de l’exécution d’un programme, peuvent permettre d’extraire des données sensibles de l’appareil ciblé. Lorsqu’exécutées sur un appareil non protégé, de telles attaques peuvent aboutir à l’affaiblissement, voire au contournement, des moyens cryptographiques mis en œuvre.

Cette présentation est pensée comme une description générale des principes et enjeux d’une contremesure générique à ces attaques, notamment dans le contexte de la cryptographie symétrique : le masquage.

Defeating a Secure Element with Multiple Laser Fault InjectionsOlivier Heriveaux


Date : 03 June 2021 à 14:30 — 30 min.

In 2020, we evaluated the Microchip ATECC508A Secure Memory circuit. We identified a vulnerability allowing an attacker to read a secret data slot using Single Laser Fault Injection. Subsequently, the product life cycle of this chip turned to be deprecated, and the circuit has been superseded by the ATECC608A, supposedly more secure.

We present a new attack allowing retrieval of the same data slot secret for this new chip, using a double Laser Fault Injection to bypass two security tests during a single command execution. This work was conducted in a black box approach. We explain the attack path identification process, using help from power trace analysis and up to 4 faults in a single command, during an intermediate testing campaign. We construct a firmware implementation hypothesis based on our results to explain how the security and one double-check counter-measure are bypassed.

After a brief recap of the setup and Laser Fault Injection technique, the talk will explain the different attack trials and what has been learned about the circuit at each step. We will detail the differences between the two chips revisions and explain how the security has been increased.

EEPROM: It Will All End in TearsChristian Herrmann, Philippe Teuwen


Date : 03 June 2021 à 15:00 — 30 min.

RFID tags are supposed to be robust to situations such as a quick removal from the powering field when the user swipes a tag over a reader. We'll describe the various physical effects that can happen when an EEPROM write or erase operation is interrupted, and we'll explain how to control these side effects to learn about the inner mechanisms of security features and to challenge them. We'll show how to defeat four types of security features on different tags: erasing OTP bits, recovering a locking password, unlocking a read-only UID and resetting a secure counter. We attacked them successfully thanks to the different tools we developed and we share these tools to the community to facilitate future research.

Présentation des résultats du challenge


Date : 03 June 2021 à 15:30 — 45 min.

Rumps


Date : 03 June 2021 à 16:45 — 120 min.

Diffusion en direct d'origine, avec applaudissements :

  1. Rumps 2021

Rumps individuelles :

  1. Rump SSTIC (Pierre Capillon)
  2. afl_ghidra_emu: Chasser grâce au dragon (Flavian Dola)
  3. Keystores in the wild: Hiding your keys in the bush (Jean-Romain Garnier)
  4. Laissez moi vous présenter mes PROUTs (Vlad K0La)
  5. ASR - Attack Surface Reduction (Camille Mougey)
  6. Utilisation de Bloodhound en environnement Linux (Guillaume Quéré)
  7. Audit de la présentation PS4 à SSTIC 2021 (Tiphaine Romand-Latapie)
  8. Comment j’ai soumis en Markdown à SSTIC (Nicolas Iooss)
  9. Multiple stages of useless fun (Daniel Lunghi)
  10. WinDbgFastObj (Jean-Marie Borello)

Conclusion

  1. Allocution du Président (Emmanuel Macron)

Runtime Security with eBPFGuillaume Fournier, Sylvain Afchain, Sylvain Baubeau


Date : 04 June 2021 à 09:45 — 30 min.

According to the Cloud Native Computing Foundation, container usage in production has increased by 300% between 2016 and 2020. In other words, organizations are progressively moving away from static and dedicated infrastructures, and shifting towards micro-services and containerized workloads. Container orchestration tools like Kubernetes are playing a key role in this trend, and security teams need to adapt their threat models and runtime detection capabilities to account for an infrastructure that is constantly changing.

One of the goals of a container orchestration tool like Kubernetes is to improve the usage of the resources available to a cluster. More specifically, this means making sure that CPUs, memory and network bandwidth are better utilized and distributed among the services running on a cluster. In order to achieve this goal, Kubernetes is able to mutate the infrastructure continuously so that workloads are better distributed among the hosts of the cluster, thus making sure that one machine is not saturated when another one can help share the load. From a security standpoint, this means that multiple services can now run side by side at any point in time, sharing the same kernel, and increasing dramatically the blast radius in case of a compromise. Not only does it blow up the impact of an intrusion, this also makes the life of the incident response team much harder, especially if the runtime monitoring tool that detected the attack did not provide accurate and real time information about the containers and the applications that were breached.

This paper proposes to explore eBPF to implement a new generation of runtime security tools, showing how this new technology can be used to retrieve complex container and application level context. Although containers are a particularly interesting use case for the solution we implemented, we will also demonstrate how eBPF drastically improves the legacy runtime security tools that are used in production environments today by reducing the performance impact on the host, improving the signal to noise ratio, and helping incident response team focus on what matters.

Monitoring and protecting SSH sessions with eBPFGuillaume Fournier


Date : 04 June 2021 à 10:15 — 15 min.

Secure Shell (SSH) is a network protocol that provides users with a secure way to access a host over an unsecured network. Multiple actors in an organisation usually require this access:

  • Developers use it to debug applications in a staging or sometimes production environment.
  • Software Reliability Engineering (SRE) teams and system administrators often perform maintenance and system configuration tasks over SSH.
  • Security administrators often require access to machines in production environments to perform security investigations and incident response.

In theory, the principle of least privileges should be applied, and each actor should be granted the bare minimum access required to perform its tasks. Although SRE teams and security engineers are likely to require privileged access, developers might not always need it. Regardless of the level of access on a machine, developers should also have access only to the hosts that run the services they work on.

Unfortunately, those principles are often hard to follow. First, debugging an application often means using runtime performance monitoring tools to understand why a service is not performing as expected. For example, you might want to analyse the ext4 operations latency distribution using a tool like ext4dist. Some of those performance monitoring tools require root access, which means that many developers will eventually request permanent root access. Moreover, with the growing adoption of container orchestration tools like Kubernetes, hosts are no longer necessarily dedicated to specific services. Many developers will eventually require root access to some of the nodes of the infrastructure, thus also granting them access to some pods of services they do not own. As companies grow and engineering teams expand, the number of privileged users on the infrastructure skyrockets, making it particularly hard for the security team to monitor SSH sessions and contain the blast radius of leaked credentials.

This paper explores how eBPF can provide a solution to monitor SSH sessions, while providing your security team with a new access control layer. This new access control grants temporary access to scoped resources, and only for the active session. In other words, the “all or nothing” access usually granted to Linux users no longer applies: a sudoer user might be able to become root, its access will still be restricted to the access granted to the SSH session.

Protecting SSH authentication with TPM 2.0Nicolas Iooss


Date : 04 June 2021 à 11:00 — 30 min.

For quite some time, desktop computers have been embedding a security chip. This chip, named Trusted Platform Module (TPM), provides many features including the ability to protect private keys used in public-key cryptography. Such keys can be used to authenticate users in network protocols such as Secure Shell (SSH).

Software stacks which enable using a TPM to secure the keys used in SSH have been available for several years. Yet their use for practical purposes is often documented only from a high-level perspective, which does not help answering questions such as: can the security properties of keys protected by a TPM be directly applied to SSH keys?

This is a non-trivial question as for example those properties do not apply for disk encryption with sealed keys. Therefore this presentation fills the documentation gap between the TPM specifications and the high-level documentations about using a TPM to use SSH keys. It does so by studying how SSH keys are stored when using tpm2-pkcs11 library on a Linux system.

U2F2 : Prévenir la menace fantôme sur FIDO/U2FPhilippe Thierry, Ryad Benadjila


Date : 04 June 2021 à 11:30 — 30 min.

Two factors authentication (or 2FA) has become a major replacement for passwords-only usage in the recent years, bringing more security to end users against the increasingly frequent data breaches on major services. Although the second factor can take many forms (a software on PC or smartphone, a mail, a SMS, etc.), the FIDO alliance has standardized a protocol named U2F that uses dedicated tokens (either software or hardware) as the second 2FA factor.

The scope of this work is to present security limitations of existing devices (both in the open source and industrial fields) in some attack models, and to address these limitations by providing an open source hardened hardware token based on the WooKey platform SDK with defense-in-depth design patterns in mind.


L'authentification à deux facteurs (2FA) devient un remplaçant de plus en plus répandu des méthodes d'authentification classiques basées principalement sur les mots de passe. Bien que ce second facteur puisse prendre plusieurs formes, l'alliance FIDO a standardisé le protocole U2F (Universal Second Factor) amenant un token dédié comme facteur.

Le présent article discute de la sécurité de ces tokens au regard de leur environnement d'utilisation, des limitations des spécifications ainsi que de l'état de l'art des solutions apportées par l'open source et l'industrie. Un PoC implémentant des améliorations de sécurité, utiles dans des contextes sensibles, est détaillé. Il est fondé sur la plateforme open source et open hardware WooKey amenant de la défense en profondeur contre divers modèles d'attaquants.

Analyzing ARCompact firmware with GhidraNicolas Iooss


Date : 04 June 2021 à 12:00 — 15 min.

Some microcontroller units use the ARCompact instruction set. When analyzing their firmware, several tools exist to recover the code in assembly instructions. Before this publication, no tool existed which enabled to recover the code in a language which is easier to understand, such as C language.

Ghidra is a powerful reverse-engineering project for which it is possible to add support for many instruction sets. This presentation presents how ARCompact support was added to Ghidra and some challenges which were encountered in this journey. This support enabled using Ghidra's decompiler to recover the semantics of the code of studied firmware in a language close to C.

(Pull Request https://github.com/NationalSecurityAgency/ghidra/pull/3006)

The security of SD-WAN: the Cisco caseJulien Legras


Date : 04 June 2021 à 14:15 — 30 min.

SD-WAN solutions allow companies to simplify their WAN management by interconnecting their networks seamlessly. This technology has become quite popular, but it also comes with some risks. Indeed, SD-WAN is a critical component that manages a lot of sensitive operations: software updates, network routing and firewalling synchronization, etc.

This presentation aims at presenting a security analysis of the Cisco solution, which was affected by vulnerabilities allowing taking over all the subsequent devices.

Mitigations and recommendations will be presented to improve the security for customers already using this solution. It will also provide some pointers for further research on the solution.

Unexpected applications of hacking skillsBrandon Falk


Date : 04 June 2021 à 14:45 — 45 min.

While we all know the standard places where hacking is useful, like, finding some sweet 0-day or gaining unauthorized access to some wicked server, the skills of hacking seem to be more widely applicable. I'm going to go through a few projects I've had in the past year, which were not directly related to hacking, but my success was largely due to my hacking experience. The problem solving skills we learn while hacking, the low level knowledge of computers, and the healthy skepticism of how things actually work end up changing the way I approach problems. I'll share the details of how I made the world's most advanced MapleStory cheats by pushing the limits of what the server's anti-cheat detections would let me get away with, as well as how I used fuzzing and AVX-512 programming to become the #1 Horde Priest in World of Warcraft Classic... without actually cheating!