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 13 au 15 juin 2018.

Closed, heterogenous platforms and the (defensive) reverse engineers dilemmaHalvar Flake


Date : 13 June 2018 à 10:00 — 60 min.

Computing platforms are currently undergoing rapid change. The end of single-core scaling throws a monkey wrench into ~20 years of "mostly unchanging" hardware; systems with multiple heterogenous computing platforms and shared memory seem like the future.

This is coupled with an increased tendency to build "closed" systems: Systems that are - either by accident or design - hard to introspect and hard to debug. These developments have multiple side-effects on practicing reverse engineers: On the one hand, tooling has to adapt (as reverse engineering tools need to mirror development tools); in some other ways, the community is already adapting (more specialization etc.).

This talk will outline the changes the reverse engineering community is facing, describe some of the observable effects, and concludes with a discussion how the "closed" systems fundamentally put well-meaning defenders at a disadvantage, while providing little deterrent effect for serious and well-financed attackers.

Slides are available here: https://docs.google.com/presentation/.../edit#slide=id.g3807d77cc5_0_82 or click on the link in the sidebar for a local copy.

Backdooring your server through its BMC: the HPE iLO4 caseAlexandre Gazet, Fabien Perigaud, Joffrey Czarny


Date : 13 June 2018 à 11:30 — 30 min.

iLO is the server management solution embedded in almost every HP servers for more than 10 years. It provides the features required by a system administrator to remotely manage a server without having to physically reach it. iLO4 (known to be used on the family of servers HP ProLiant Gen8 and ProLiant Gen9) runs on a dedicated ARM micro-processor embedded in the server, totally independent from the main processor.

We performed an initial deep dive security study of HP iLO4 and covered the following topics: firmware unpacking and memory layout, embedded OS internals, vulnerability discovery and exploitation as well as full compromise of the host server operating system through DMA.

One of the main outcome of our study was the discovery of a critical vulnerability in the web server component allowing an authentication bypass but also a remote code execution. Still, one question remains open, namely; are the iLO systems resilient against a long term compromise at firmware level. For this reason, this paper is focused on the update mechanism and how a motivated attacker can achieve long term persistence on the system; how a new/backdoored firmware can be crafted then installed, to offer an attacker a stealth and resilient backdoor in an environment which has been compromised.

T-Brop: Taint-Based Return Oriented ProgrammingColas Le Guernic, Francois Khourbiga


Date : 13 June 2018 à 12:00 — 30 min.

Nous présentons une nouvelle approche pour la recherche de gadgets. Plutôt que d'utiliser une sémantique symbolique précise et coûteuse, nous nous basons sur une sémantique de teinte qui prend en compte correctement les registres, la pile, et la mémoire. Cette approche a été implémentée dans un outil libre, T-Brop, qui démontre son intérêt et son positionnement intermédiaire: plus rapide que les outils symboliques et permettant des requêtes plus expressives que les outils syntaxiques.

Certificate Transparency ou comment un nouveau standard peut aider votre veille sur certaines menacesChristophe Brocas, Thomas Damonneville


Date : 13 June 2018 à 12:30 — 15 min.

Certificate Transparency est un projet qui vise à obliger les autorités de certifications à publier tous les certificats publics qu'elles signent dans des dépôts intègres et accessibles à tous. Nous présenterons comment nous pouvons tirer parti de cette nouvelle obligation pour améliorer notre veille sur certaines menaces. Nous donnerons les cas d'usage où Certificate Transparency permet d'une part de détecter des émissions anormales de certificats sur nos domaines et d'autre part de découvrir des sites malveillants sur des domaines proches de nos domaines. Nous fournirons aussi un retour d'expérience opérationnel et nous exposerons un outillage open source que nous avons développé pour la détection et l'investigation.

Risques associés aux signaux parasites compromettants : le cas des câbles DVI et HDMIEmmanuel Duponchelle, Pierre-Michel Ricordel


Date : 13 June 2018 à 14:45 — 30 min.

Risques associés aux signaux parasites compromettants : le cas des câbles DVI et HDMI

Smart TVs: Security of DVB-TChaouki Kasmi, José Lopes Esteves, Tristan Claverie


Date : 13 June 2018 à 15:15 — 30 min.

During the last decade, classical televisions have experienced the same evolution as computers and feature phones by integrating new capabilities. Reading emails, installing applications, surfing the web are now common usages of so-called Smart TVs. With new services and communication interfaces come new interests from IT security researchers. Multiple studies dealing with security and privacy issues on a large number of models have been released. Since 2013, the RF signal broadcasting digital television contents has been shown as a new attack vector, using interactive applications being received through the radiocommunication interface. In this paper, the compounds of a DVB-T stream as well as the mechanism of interactive multimedia applications are presented. A recent extension of those standards designed to mitigate the interactive applications attack vector has been published in early 2017 that will be discussed with regards to weaknesses uncovered during our experimentations. Furthermore, several shortcomings of this specification will be discussed listing possible efficient countermeasures for each of them.

Three vulns, one plugGwenn Feunteun, Olivier Dubasque, Yves Duchesne


Date : 13 June 2018 à 15:45 — 15 min.

Cette présentation détaille trois vulnérabilités identifiées dans une puce wifi largement utilisée dans le domaine de l'IoT, du médical et de l'industriel.

Dans un premier temps, le protocole d'échange de clef, argument principal du vendeur, est étudié, reversé et exploité (présentation d'un PoC). Un accès dérobé logiciel présent dans le soc est ensuite présenté, puis une analyse forensique hardware permettant de récupérer les secrets stockés est menée.

La dernière partie de cette étude présente une preuve de concept sous forme d'un module hardware de correction afin de sécuriser l'échange de clefs.

Escape Room pour la sécuritéEric Alata, Erwan Beguin, Vincent Nicomette


Date : 13 June 2018 à 16:00 — 15 min.

Du PCB à l'exploit: étude de cas d'une serrure connectée Bluetooth Low EnergyDamien Cauquil


Date : 13 June 2018 à 16:45 — 30 min.

Cette présentation introduit une méthodologie d'analyse des objets connectés appliquée à un cas d'étude: une serrure connectée utilisant le protocole de communication sans-fil Bluetooth Low Energy (ou Bluetooth Smart).


Nous aborderons ainsi les différentes phases de l'analyse, du circuit imprimé aux micro-logiciels, les outils nécessaires à sa réalisation ainsi que ceux permettant de développer des exploits spécifiques à la technologie Bluetooth Low Energy.

WooKey: USB Devices Strike BackArnauld Michelizza, Jérémy Lefaure, Mathieu Renard, Philippe Thierry, Philippe Trebuchet, Ryad Benadjila


Date : 13 June 2018 à 17:15 — 30 min.

The USB bus has been a growing subject of research in recent years. In particular, securing the USB stack (and hence the USB hosts and devices) started to draw interest from the academic community since major exploitable flaws have been revealed by the BadUSB threat.

The work presented in this paper takes place in the design initiatives that have emerged to thwart such attacks. While some proposals have focused on the host side by enhancing the Operating System's USB sub-module robustness, or by adding a proxy between the host and the device, we have chosen to focus our efforts on the device side.

More specifically, our work presents the WooKey platform: a custom STM32-based USB thumb drive with mass storage capabilities designed for user data encryption and protection, with a full-fledged set of in-depth security defenses. The device embeds a firmware with a secure DFU (Device Firmware Update) implementation featuring up-to-date cryptography, and uses an extractable authentication token. The runtime software security is built upon EwoK: a custom microkernel implementation designed with advanced security paradigms in mind, such as memory confinement using the MPU (Memory Protection Unit) and the integration of safe languages and formal methods for very sensitive modules. This microkernel comes along with MosEslie: a versatile and modular SDK that has been developed to easily integrate user applications in C, Ada and Rust.

Another strength of this project is its core guiding principle: provide an open source and open hardware platform using off-the-shelf components for the PCB design to ease its manufacturing and reproducibility.

Attacking serial flash chip: case study of a black box deviceEmma Benoit, Guillaume Heilles, Philippe Teuwen


Date : 13 June 2018 à 17:45 — 15 min.

[ANNULÉE] Point d'accès Ruckus : Analyse du firmware, rétro-ingénierie MIPS et élévation de privilègesFlorent Fourcot, Romain Bellan, Victorien Molle


Date : 13 June 2018 à 17:45 — 15 min.

Conférence annulée à la demande des auteurs.

Audit de sécurité d'un environnement DockerJulien Raeis, Matthieu Buffet


Date : 14 June 2018 à 09:00 — 30 min.

Les environnements basés sur des conteneurs se font une place de plus en plus importante dans l'écosystème actuel, que cela soit pour leur mécanismes d'isolation ou pour les facilités qu'ils apportent en matière de portabilité ou de déploiement d'applications. Ainsi, il est important de savoir analyser leur sécurité et d'émettre des recommandations dans le but de durcir leur configuration efficacement. Il conviendra d’abord de faire un rappel des technologies bas niveau mises en œuvre, à la fois sous Linux mais également sous Windows, puis de passer en revue divers points liés à la sécurité des environnements Docker.

Machines virtuelles protégéesJean-Baptiste Galet


Date : 14 June 2018 à 09:30 — 30 min.

L’externalisation croissante et la généralisation de la virtualisation apportent de nouvelles problématiques liées à la confiance des hyperviseurs et des administrateurs. Les différents éditeurs de produits de virtualisation ont développé des solutions permettant de répondre à ces problématiques. Cette présentation présentera une étude comparative de trois produits puis détaillera le fonctionnement du produit Hyper-V pour comprendre les mécanismes de protection utilisés.

pycrate: tester les systèmes télécoms et cellulaires avec PythonBenoit Michau


Date : 14 June 2018 à 10:00 — 15 min.

Un indice en bas de l'écran pour le public: il sera question d'ASN.1 !

ProbeManager: Outil centralisé de gestion de sondes IDSMatthieu Treussart


Date : 14 June 2018 à 10:15 — 15 min.

Outil centralisé de gestion de sondes IDS, qui permet de simplifier leur déploiement et leur configuration. On peut également éditer des règles, planifier leur déploiement et les tester.

Easy TLS for Everyone: Integrating Let's Encrypt at Scale [Conférence invitée]Daniel Jeffery


Date : 14 June 2018 à 11:00 — 45 min.

After a history of Let's Encrypt, Daniel Jeffery will discuss how to integrate Let's Encrypt in a larger enterprise or hosting provider and pitfalls to watch out for.

YaDiff: Corrélation de binaires, méthodes empiriques et machine learningBenoît Amiaux, Eric Renault, Frédéric Grelot, Jérémy Bouétard, Martin Tourneboeuf, Valérian Comiti


Date : 14 June 2018 à 11:45 — 30 min.

YaDiff est un outil développé au sein des laboratoires de rétro-ingénierie de DGA-MI pour permettre facilement la propagation d'information d'une base IDA à l'autre.

Nous présentons l'état de l'art des méthodes existantes et leurs limites : fermeture du code, difficulté d'utilisation, performances, incapacité à analyser des bases de taille importante.

Nous présentons ensuite une première méthode "empirique" développée pour répondre à ces problèmes : elle allie simplicité d'utilisation et fonctionnalités étendues. L'outil développé permet de faire une analyse comparative de deux bases afin de propager un maximum d'information d'une base à l'autre (par exemple, bibliothèque avec les symboles vs bibliothèque embarquée en statique dans un binaire sans symbole).

Par informations, nous entendons les données suivantes : noms de fonctions, de données globales, de labels, commentaires, prototypes de fonctions ou données, renommage (variables, registres...), typage de structures...


Nous présentons enfin une méthode utilisant des techniques d'intelligence artificielle ayant pour but de pallier aux principales limites de cet algorithme et de ceux existants : incapacité à identifier les fonctions semblables si elles ont trop changé, mais également incapacité à fonctionner entre deux architectures (32 vs 64 bit, ou ARM vs x86 par exemple). Nous présentons les résultats obtenus avec cette méthode et comment ils sont intégrés à YaDiff.


YaDiff est un outil de la suite des "YaTools" (avec YaCo, présenté au SSTIC 2017) et est diffusé sous licence GNU GENERAL PUBLIC LICENSE.

Sandbagility : un framework d’introspection en mode hyperviseur pour Microsoft WindowsEddy Deligne, Francois Khourbiga


Date : 14 June 2018 à 12:15 — 30 min.

Sandbagility est un framework en Python destiné à fournir une API haut-niveau pour automatiser et instrumenter un système virtuel invité fonctionnant sous Microsoft Windows n’ayant subi aucune modification. En l’occurrence, ce framework s’appuie sur les travaux publiés par Nicolas Couffin au SSTIC 2016. Les travaux en question ont donné lieu à l’implémentation d’un protocole, appelé Fast Debugging Protocol, en modifiant l’hyperviseur de VirtualBox. L’origine du framework Sandbagility débute là où Winbagility se termine. Il offre ainsi une complémentarité et une continuité des travaux précédents, tout en apportant de nouvelles fonctionnalités. Le choix du langage Python pour le développement du framework lui permet d’être modifiable et évolutif à moindre frais. Ainsi, le framework ne se limite pas qu’à l’étude des codes malveillant et peut être étendu à l’analyse de tout composant sous Windows. A travers l’exemple de wannacry, nous tenterons de démontrer la simplicité avec laquelle il est possible de suivre des événements en utilisant le framework.

Hardening a Java Card Virtual Machine Implementation with the MPUGuillaume Bouffard, Léo Gaspard


Date : 14 June 2018 à 14:45 — 30 min.

In the world of Java Cards, the Firewall guarantees the segregation of applet data and ensures the integrity and confidentiality of each application. In order to be independent from the microcontroller, most Java Card Virtual Machine (JCVM) implementations are not designed to use hardware-based mechanisms.

In this article, we describe how the Memory Protection Unit (MPU) can be used to segregate each Java Card applet from the Operating System and device drivers. Even if our contribution is designed to fit a specific hardware-based mechanism, our JCVM architecture can be reused for a microcontroller without MPU.

Résultats et solution du challengesstic


Date : 14 June 2018 à 15:15 — 45 min.

Présentation de la solution du challenge 2018 par le gagnant qualité.

Rumpssstic


Date : 14 June 2018 à 16:30 — 150 min.

Liste des rumps diffusées :

  1. SSTIC QUIZ (Benjamin Morin)
  2. Pourquoi c’est flou^W net? (Pierre Capillon)
  3. Docker explorer (Renzo)
  4. Suite d'outils pour identification et reverse des firmwares nRF de Nordic SemiConductor (Salma El Mohib)
  5. RTFM (Benoist Hugo)
  6. Le problème de l’IoT
  7. Mirai, dis-moi qui est la poubelle ? (Patrice Auffret)
  8. Passer d’une LFI à Administrateur du Domaine !!? (Vlad Kola)
  9. Perfect (almost) SQL injection detection (Sélim Menouar)
  10. Invite de commande pour la toile : Slides (Antoine Cervoise)
  11. Comment bien louper sa réponse à un CFP (virtu)
  12. Suricata et les moutons (Eric Leblond)
  13. les redteams sont nos amies (Thibaud Binétruy)
  14. ipibackup: a backup charger for your iphone (Yves-Alexis Perez)
  15. Représenter l'arborescence matérielle (Nicolas Iooss)
  16. La télévision numérique dans le monde (Tristan Claverie)
  17. arm_now (Sanson Chaignon)
  18. sshpki (Philippe Biondi)
  19. Smashing the func for SSTIC and profit (0xMitsurugi)
  20. Wookey: Le retour du Jeudi (Mathieu Renard)
  21. Coffee plz! (David Berard)
  22. Jam tomorrow, jam yesterday, but also jam today (Sébastien Dudek)

Liste des rumps non diffusées en direct :

  1. Cunégonde fait des BBs (Clément Domingo)
  2. (Un)Protected Users (Aurélien Bordes)
  3. L'anonymat des pauvres (Goulou)
  4. Formats texte (Nicolas Ruff)

A Practical Guide to Differential Power Analysis of USIM CardsAdrian Thillard, Christophe Devine, Manuel San Pedro


Date : 15 June 2018 à 09:45 — 15 min.

Cette présentation décrit la mise en oeuvre d'une attaque par analyse de consommation du courant des cartes USIM afin d'en extraire les secrets cryptographiques manipulés par l'algorithme MILENAGE.

Starve for Erlang cookie to gain remote code execGuillaume Teissier, Guillaume Kaim, Olivier Vivolo


Date : 15 June 2018 à 10:00 — 15 min.

rabbitmq, ejabberd and couchdb are network daemons developed in Erlang. People may overlook at it as an exotic programming language, however, its runtime offers interesting properties, amongst which built-in scalability, resilience and dynamic code swapping. The remoting capabilities of Erlang runtime have caught our interest and in particular its authentication mechanism protected by a shared secret between all processes of Erlang node. We will show that an attacker may brute-force this secret with a complexity around 2^26.

HACL* une bibliothèque de cryptographie formellement vérifiée dans FirefoxBenjamin Beurdouche, Jean Karim Zinzindohoue


Date : 15 June 2018 à 10:15 — 30 min.

WireGuard ­– Next Generation Secure Network Tunnel [Conférence invitée]Jason Donenfeld


Date : 15 June 2018 à 11:15 — 45 min.

WireGuard is a next generation VPN protocol, which lives in the Linux kernel, and uses state of the art cryptography. One of the most exciting recent crypto-networking developments, WireGuard aims to drastically simplify secure tunneling. The current state of VPN protocols is not pretty, with popular options, such as IPsec and OpenVPN, being overwhelmingly complex, with large attack surfaces, using mostly cryptographic designs from the 90s. WireGuard presents a new abuse-resistant and high-performance alternative based on modern cryptography, with a focus on implementation and usability simplicity. It uses a 1-RTT handshake, based on NoiseIK, to provide perfect forward secrecy, identity hiding, and resistance to key-compromise impersonation attacks, among other important security properties, as well as high performance transport using ChaCha20Poly1305. A novel IP-binding cookie MAC mechanism is used to prevent against several forms of common denial-of-service attacks, both against the client and server, improving greatly on those of DTLS and IKEv2. Key distribution is handled out-of-band with extremely short Curve25519 points, which can be passed around in the likes of OpenSSH. Discarding the academic layering perfection of IPsec, WireGuard introduces the idea of a "cryptokey routing table", alongside an extremely simple and fully defined timer-state mechanism, to allow for easy and minimal configuration; WireGuard is actually securely deployable in practical settings. In order to rival the performance of IPsec, WireGuard is implemented inside the Linux kernel, but unlike IPsec, it is implemented in less than 4,000 lines of code, making the implementation manageably auditable. These features converge to create an open source VPN utility that is exceedingly simple, yet thoroughly modern and secure.


The presentation will be divided up into several parts. First, there will be an overview of the problems with IPsec, OpenVPN, and other popular VPNs, outlining attacks and weaknesses. Next, the WireGuard idea of the "cryptokey routing table" will be introduced, and we’ll walk through several properties derived from it. This will transition into a discussion of the timer state mechanism, and how secure protocols are necessarily stateful, but it’s possible to make them appear stateless to the user by exhaustively defining all possible state transitions. Then we’ll get into the hardcore meat of the presentation: the cryptography and various crypto innovations behind WireGuard. We will discuss the triple Diffie-Hellman, the role of combining static and ephemeral keys, the performance and DoS-potential of Curve25519 point multiplication, identity hiding and remaining silent on a network, and clever usage of authenticated encryption with additional data. We will examine the various attack models, and enumerate the cryptographic mitigations employed by WireGuard. The sum will be a comprehensive overview of modern day crypto tricks, attacks, and useful constructions, and how these insights have been funneled into WireGuard. Finally, we’ll examine the Linux kernel implementation of WireGuard, seeing how it’s possible to avoid allocations in response to unauthenticated packets as a defense coding technique.


Threaded throughout will be an enumeration of attacks on existing protocols and cryptographic tricks for their mitigation.


Following the presentation, slides and additional information will be available on the WireGuard.com presentation website.

Ca sent le SAPin !Yvan Genuer


Date : 15 June 2018 à 12:00 — 30 min.

Spécifique, propriétaire, compliqué, gros, cher, usine à gaz... Voici certains des adjectifs que nous entendons souvent dès que nous abordons le sujet de la sécurité SAP. Cette présentation a pour but de montrer, par un exemple concret, que les préjugés sur SAP ne sont pas tous fondés. Analyse réseau, création d’outils open source et ingénierie inversée sur un langage propriétaire, tels sont les sujets abordés qui aboutissent à la découverte de vulnérabilités triviales.

Dans les coulisses de l'équipe sécurité DebianYves-Alexis Perez


Date : 15 June 2018 à 12:30 — 15 min.

L'équipe sécurité Debian s'occupe du maintien en condition de sécurité des versions stables. En particulier, elle s'occupe de la mise à jour des paquets lorsque des vulnérabilités sont corrigées dans ceux-ci.

Cette présentation se concentre sur les travaux effectués par l'équipe, et en particulier ce qu'il se passe depuis la découverte d'une vulnérabilité jusqu'à sa correction dans les différentes versions stables: - coordination avec la communauté sécurité - coordination avec la communauté upstream - coordination avec les autres développeurs Debian

Quelques exemples de suivi de vulnérabilités spécifiques sont donnés en exemple.

Hacking Harness open-sourceIvan Kwiatkowski


Date : 15 June 2018 à 14:45 — 15 min.

L'objectif de cette présentation est de présenter un outil qui facilite la phase de post exploitation lors d'un test d'intrusion.

Il s'agit d'une instrumentation du terminal permettant de générer des commandes complexes sans avoir à déployer d'agent sur les machines cibles.

Une conférence de The Grugq en 2007 présentait le concept de Hacking Harness sur lequel peu de travaux ont été effectués depuis.

DNS Single Point of Failure Detection using Transitive Availability Dependency AnalysisFlorian Maury


Date : 15 June 2018 à 15:00 — 30 min.

The Domain Name System (DNS) is one of the cornerstones of modern Internet, allowing users to access data from a distributed database, using domain names as reference keys. Data includes IP addresses of servers. DNS servers are no exception, and their names must be resolved into IP addresses, as well. The crucial difference between the name of a DNS server and, say, the name of a web server, is that one must resolve the name of a DNS server in order to query it and proceed with a user request such as "what’s the address of that web server?". DNS experts advocate for various naming strategies for DNS servers, each having their own set of distinctive advantages and drawbacks. During this study, we analyzed over four million domain names of websites from the .fr country-code top Level Domain (ccTLD) and from Alexa top 1 million domain names, to detect single points of failure (SPOF) from DNS servers and DNS alias naming strategies, and IP address dispersion. We discovered that 83 % of the studied domain names delegated from the .fr ccTLD present SPOFs that could easily be avoided. We also discovered that over one domain out of 20 from Alexa top 1 Million web server domain names depend on a single IP address to work properly. In this paper, we detail our measurement methodology, break down the generating causes for SPOFs into classes of misconfigurations and provide guidance to improve the resiliency of the DNS.

[Conférence de clôture par le directeur technique de la DGSE]Patrick Pailloux


Date : 15 June 2018 à 15:30 — 60 min.

Le lecteur vidéo de cette page joue la version 540p.