Zwindler sur GithubAllez faire un tour sur mes dépôts Git !

Récap’ du Hack-It-N 2018

Hack-It-N, une conf sécu organisée (entre autre) par Tehtris et l’ENSEIRB-MATMECA

Comme l’an dernier, je suis allé faire un tour à l’édition 2018 du Hack-It-N. Cette conférence cybersécurité est organisée par la société Tehtris et l’école d’ingénieur ENSEIRB MATMECA.

Je vous met le pitch :

Les thématiques de cyberdéfense et de cyberattaque seront au coeur des préoccupations, pour coller à la réalité technique et à l’actualité des menaces : hacking, cyber-espionnage, cyber-surveillance, etc. Venez découvrir les enjeux actuels de la cybersécurité, ainsi que les techniques offensives et défensives du moment !

Et pour une fois, j’ai enfin pris le temps de faire un petit récapitulatif des présentations qui y ont eu lieux !

Discours d’ouverture Toufik ahmed et Laurent Oudot

Pour ceux qui ne connaissent pas l’ENSEIRB-MATMECA, cette école nationale supérieur, intégrée à Bordeaux INP, forme des ingénieurs dans plusieurs filières comme l’informatique, l’électronique, les systèmes embarqués et la modéliation mathématique et mécanique. Coïncidence (ou pas), il se trouve que je suis diplômé de l’ENSEIRB. 😉

Toufik Ahmed, directeur de l’option RSR (cybeR-sécurité, Systèmes & Réseaux) de la filière informatique, co-organise Hack-It-N avec la société Tehtris, représentée par Laurent Oudot (co-CEO & CTO).

Cette deuxième édition a été l’occasion de créer une identité visuelle à la conférence, notamment avec un nouveau logo que Laurent Oudot a décrypté pour nous.

Le logo hexagonal et bleu/blanc/rouge sont des références à la France, ressemble un peu à un ninja et/ou un nageur de combat évoquant les luttes dans le « cyberespace »

 

Cette introduction a également été l’occasion de citer les partenaires de l’événement dont la région Nouvelle Aquitaine, l’ANSSI, eShard, aDvens, Exaprobe et Digital Security.

Table ronde/forum

Comme l’an dernier, Hack-It-N a organisé une table ronde, animée par Nicolas CESAR, journaliste à Sud Ouest Eco. Autour de la table, des experts de tous bords :

  • Guy Flament (Référent Nouvelle Aquitaine ANSSI)
  • Hervé Le GUYADER (Délégué stratégie et partenariats internationaux de l’ENS Cognitique)
  • Frédéric GOUTH (Consultant Cybersécurité, Nystek // spécialiste des problématiques RGPD et aspects techniques de cybersécurité)
  • Christophe MAILLET (CEO ADACIS, spécialiste des Infrastructures Sensibles)

Cette table ronde a été l’occasion de soulever de nombreux sujets, que je vais tenter de résumer au mieux.

Évolution des attaques

Oui, les attaques viennent aussi d’états souverains, et depuis longtemps. Mais il est difficile de dire qui exactement (exemple de Stuxnet => USA ou Israel ?). La souveraineté est menacée : l’OTAN a classé en juillet 2016 le cyberespace comme 4ème domaine de conflit.

Elles viennent aussi de criminels voire de concurrents, car l’intelligence économique et espionnage industriel sont souvent sous-estimés.

Les cyberattaques reposant sur l’exploitation de failles humaines risquent de devenir de plus en plus difficiles à détecter avec la combinaison de moyens techniques (big data, profilage, machine learning) et l’ajout de recherches dans les sciences cognitives. On parle dans plusieurs universités américaines de « computer as persuasive technology« .

  • Pour lutter contre cela, la coopération entre les écoles est capitale pour former des experts pluridisciplinaires.

Coût des attaques

Le coût réel des attaques en France est quasiment impossible à chiffrer :

  • D’un part, le coût d’une attaque implique les coûts directs (remise en état) mais surtout indirects (perte de CA et perte d’image).
  • D’autre part, les société Françaises préfèrent encore garder le secret, même par rapport à des entités comme l’ANSSI.

Pour ce dernier point, les experts autour de la tables s’entendaient quand même à dire qu’il y avait du mieux. Les entreprises communiquent un peu plus qu’avant mais aussi parce qu’elles sont pour certaines obligées de le faire. Les législations à venir vont dans ce sens et cela devrait progressivement s’améliorer.

  • Ce point est capital car la prise de conscience des risques cyber se fait par les pairs. Plusieurs exemples ont cités (Fox-it, Saint Gobain), ont permis à certains participants de la conférence de justifier des arbitrages devant des directions.

Prise en compte des risques

Il y a encore de gros déficits de formation/prise de conscience des risques numériques, aussi bien dans le public que dans les entreprises.

  • L’apprentissage de ses risques devrait se faire (selon les participants de la table ronde) beaucoup plus tôt, dès le collège. RGPD va permettre une prise de conscience aux gens : leur données leurs appartiennent !
  • Côté entreprise, au delà des bonnes pratiques, c’est surtout la méthode de l’amélioration continue qu’il faut prôner (les guides de l’ANSSI et i901 ne font pas tout).

Confiance dans les acteurs de la filière

Quel confiance je peux avoir dans mon prestataire qui va mettre les mains dans mon SI et l’auditer ?

Cette question qui a été posée a fait écho à mon expérience personnelle car ce n’est pas la première fois que j’entends cet argument. Notamment dans la bouche de direction d’entreprise pour justifier l’absence d’audits de sécurité. Il y a un vrai problème de confiance.

Pour les OIV (Organisme d’Importance Vitale), il existe une qualification par l’ANSSI des prestataires mais elles n’est pas du tout pertinente pour les autres entreprises.

  • Une partie de la solution est en train d’être mise en place sur le portail cybermalveillance.gouv.fr (en cours de construction, s’adressera surtout aux TPE).

Dissection d’attaques contemporaines

Présenté Fabien Debuire (Exaprobe), cette présentation a cité 2 exemples pour décrire l’évolution des attaques récentes.

On remarque qu’on bascule de plus en plus dans un aspect commercial de l’attaque : des hackers livrent des outils clés en main (exploit ou malware tout faits pour réaliser des attaques).

Même si Wannacry était une attaque ratée (très mal codée), elle était basée sur une faille mise en ligne par les Shadow Brokers quelques jours plus tôt et découverte bien avant. Elle a aussi l’avantage d’avoir demandé une rançon via des cryptomonnaie dont on peut suivre les paiements, ce qui est utile pour faire des statistiques sur les payeurs.

Je n’avais pas bien en tête ce qu’était CERBER en revanche, et j’ai trouvé le principe génial. Des affiliés sont mis en relation avec des utilisateurs lambda via une offre de service avec une interface web. On créé un profil sur un réseau et on se met d’accord avec des attaquants sur un pourcentage pour l’affilié et l’utilisateur.

Buzzword => « Hacking as a Service »

Autre point intéressant, comme toute offre de service en ligne, l’outil a ajouté des fonctionnalité au fil du temps comme l’ajout de statistiques ou un monitoring des systèmes pour détecter les honeypots, etc.

La deuxième partie de la présentation a été axée sur « Comment s’en protéger ? ». Sans trop de surprise, les préconisations ont été de mieux former les utilisateurs aux risques numériques, respecter les bonnes pratiques de bases et utiliser des outils poussés du marché.

Ce dernier point à permis de mettre en lumière quelques problématiques face à l’utilisation des outils de sécurités qui pour des raisons purement commerciales implémentent des protocoles propriétaire en dehors des normes, empêchant de disposer d’outils de sécurité qui communiquent entre eux.

Ne négligez pas la sécurité des applications mobiles

Cette présentation a été faite par Tiana Razafindralambo, expert chez eShard  (société spécialisée dans la Sécurité des systèmes embarqué, Mobile et IoT).

Toute la présentation a tourné autour de la sécurité dans une application mobile Android APK, et les différents vecteurs d’attaques utilisables. Pour rappel les APK sont simplement des archives (similaires aux JAR/WAR), contenant les ressources (images, données sensibles) et le binaire (qu’on peut décompiler éventuellement).

Par defaut, dans Android-Studio, l’outil de dev d’app android le plus utilise défaut, il existe un outil intégré d’obfuscation et d’optimisation de code (ProGuard) permettant de ralentir un minimum le reverse engineering.

Pour « pirater » ces applications, il existe 2 vecteurs d’attaques principaux. Les attaques locales (dans le cas ou l’attaquant a le téléphone en main et qu’il est capable d’exécuter son attaque directement sur le téléphone) et à distance (via NFC, wifi, 3g/4g, voire même au travers d’attaques de type canaux-caches exploitant les fuites de signaux électro-magnetiques, ou acoustiques).

Pour comprendre pourquoi l’obfuscation de code n’est pas si inutile que ça, un exemple sur la protection des communications HTTPS a été donnée.

Cependant, dans le cas de l’attaque locale, il est souvent très simple de réaliser des analyses statiques (nombre de caractères dans les mots, patterns dans les fichiers) et de l’instrumentation de code pour comprendre puis compromettre une application. Par exemple, on peut usurper assez facilement les certificats mis en place, même lorsqu’ils utilisent du certificate pinning.

Tiana a cité deux cas d’analyses de surface d’applications bancaires, une étude polonaise et sa propre étude, qui fait relativement froid dans le dos :

  • Pologne : Pas de certificate pinning, obfuscation trop simple
  • France : beaucoup de proguard (obfuscation simple), certificate pinning trop facilement retrouvable, clavier virtuel réimplémenté (WTF) par les appli bancaires, opérations faciles à récupérer, …

Il nous a ainsi prouvé qu’avec différentes techniques on peut retrouver où se situe dans le code le clavier virtuel, le certificate pinning, etc. On peut retrouver des patterns et trouver des appli bancaires qui partent du même code légèrement modifié, ce qui facilitera l’exploitation d’une même faille par exemple.

Conseils :

  • Utiliser les options offerts par Android, les outils de protection prévus pour

    • Safetynet
    • Verify apps API
    • reCaptcha (anti rejeu)
    • Android Keystore (matériel plus logiciel)
    • Protection de la configuration réseau (Android 7+)
  • ne pas réimplémenter sa propre sécurité !

Pause de midi => concours de lockpicking

Je ne vais pas vous embêter avec ce qu’on a mangé mais j’ai trouvé original qu’un tournoi de lockpicking soit organisé pendant les pauses. Le crochetage de serrures est souvent vu comme une compétence complémentaire aux hackers, notamment ceux qui font du social engineering.

Ransomware et déplacement latéraux

Là où les présentations du matin étaient surtout dédiées aux attaquants, la présentation d’André Lenoir de Tehtris était un peu plus orientée « défense ».

André est parti du constat que de nos jours, même les ransomware tentent à minima de passer inaperçus pour au moins passer les gateway email et les antivirus. La furtivité augmente sur toutes les menaces.

Il a rappelé les règles de bases pour organiser correctement sa défense et limiter les dégâts en cas d’attaque

  • Utiliser le whitelisting d’applications
  • Séparer les rôles des utilisateurs
  • Réalisation des mises à jour
  • Mise en place de policies (GPO sous Windows)
  • Restrictions de l’accès aux partages aux seuls utilisateurs autorisés
  • Avoir des sauvegardes non accessibles sur le réseau
  • Avoir un antivirus à jour avec un bon sandboxing

Bloquer la propagation des ransomwares

Si ces protections ne sont pas suffisantes pour arrêter l’ensemble des attaques, elles permettent d’en limiter la portée. Idem pour les systèmes d’antivirus, qui restent un must have même s’ils ne pourront rien contre un 0 day.

Si on reste dans l’exemple des ransomwares, parmi les protections moins courantes, on a cité l’utilisation d’Honeyfiles déposés sur les postes utilisateurs et les partages réseaux. A la moindre modification, cela peut être le signe d’une attaque et les processus incriminés peuvent être coupés.

On peut également ajouter des seuils de détection d’activité anormale, par exemple sur le CPU ou sur le disque de la machine. Cependant cette méthode est complexe à calibrer et peut nécessite un mode apprentissage avec un humain ou éventuellement via du Machine Learning.

Enfin, André a présenté des travaux intéressants sur la détection des opération de chiffrement via l’entropie des fichiers. Seulement cette technique n’est pas utilisable en l’état car les fichiers compressés ont des entropies très importantes, parfois difficiles à distinguer des fichiers chiffrés (trop de faux positifs selon les algorithmes, forte dégradation des performances de la machine).

Déplacement latéraux

Pour éviter que les infections se propage, on peut limiter les flux d’administration entre les machines des administrateurs et les machines des utilisateurs (ou les serveurs) en ajoutant des gateway centralisant tous les accès et interdisant tout accès distant en dehors de la gateway. Ainsi même si les credentials des administrateurs sont volés, un malware ne pourra pas se propager de machine en machine car seuls les flux de la gateway seront autorisés.

On peut également mettre en place des métriques pour détecter les connexions massives, et si cela arrive isoler le endpoint et bloquer l’utilisateur compromis.

Outils DevOps : de la confiance aveugle des débuts à l’utilisation prudente avec l’âge

Cette présentation présentée par Charles Prost (Scality) a parlé rapidement de 3 sujets que vous avez sûrement vous aussi rencontré en entreprise et les impacts qu’ils peuvent avoir sur la sécurité de vos applications : Offline mode / Ansible / Vagrant&Packer.

Pour la partie « Offline mode », c’est à dire builder une application sans avoir accès à Internet, clairement c’est du vécu ! Entre les dépendances Perl quand on a pas accès à CPAN et les applications front en JS qui tirent 1000 dépendances et 700 Go de données 😉

Il faut donc éduquer les développeurs à figer leurs versions via des dépôts offline pour éviter :

  • de télécharger tout l’Internet à chaque build (donc toutes les 10 minutes en DevOps) et d’attiser la colère de l’admin réseau
  • que le build plante s’il n’y a pas Internet
  • qu’une dépendance disparaisse ou introduise une régression 10 minutes après

Pour la partie Ansible j’ai eu plus de mal à faire le parallèle avec mon expérience car ce qu’il a mis en avant, c’est que les développeurs téléchargent parfois des rôles sans s’inquiéter de ce qu’il y a dedans (et exécutent potentiellement des scripts avec sudo sans les lire). Sincèrement je n’ai jamais travaillé de cette manière et nous avons toujours plutôt réécrit nos propres rôles (parfois en s’inspirant d’existants).

Idem pour Vagrant et Packer dont les images les plus utilisées réalisent des opérations potentiellement dangereuses et dont tout le monde se fiche éperdument 😉 et Atlas cloud qui propose d’ajouter un checksum pour certifier une images mais n’en propose pas dans les images les plus usitées.

La sécurité du code est elle une illusion ou une réalité en 2018

Cette dernière présentation était présentée par Stéphane JOURDOIS (Directeur technique) et Jean Philippe GAULIER (Directeur de l’innovation), tous deux chez Digital Security. Elle a été particulièrement ludique, avec des passages en musique (tous les deux sont joueurs) et un humour très caustique (qui m’a fait beaucoup rire) sur les nombreuses failles lorsqu’on déploie du code.

L’idée de la présentation était de prendre les 7 couches qui permettent l’exécution d’une application et de voir que la sécurité était à prendre en compte à tous les niveaux, ce qui est rarement fait par le développeur lambda (avec une faille/CVE pour chaque) :

  • CPU
  • OS
  • Langage
  • Bibliothèque
  • Framework
  • Application
  • IPC

Au delà de l’aspect évident de la chose, le message que les deux intervenants ont essayé de faire passer c’est qu’il ne sert à rien d’essayer de trouver un expert capable d’appréhender les problématiques de toutes les couches. Il faut se concentrer sur la création d’équipes pluridisciplinaires.

Un avis qui ne peut que faire sourire quand on voit que pour certains recruteurs, DevOps veut dire « un développeur qui sait aussi gérer les FS full et qui nous permet d’économiser le salaire d’un sysadmin ».

Mining Ethereum the ugly way

Présentée par Florian Gaultier, cette présentation décalée a été l’occasion de parler du principe des Blockchains et en particulier d’Ethereum par rapport à Bitcoin (proof of stake vs proof of work).

Les mots clés de la présentations étaient #Blockchain #Ethereum #ConcolicExecution #Profit

Après avoir rapidement brossé le principe de distributed ledger, proof of work et proof of stake, Florian a expliqué le principe des smart contracts (ajout d’un langage Turing complet dans les blocks) et nous a montré quelques exécutions possibles avec Ethereum Virtual Machine et le principe de GAS (du GAS pour chaque instruction, plus le code et complexe, plus il coute à exécuter).

Malheureusement je n’ai pas pu la voir en entier mais je récupèrerai les slides pour mettre à jour l’article. C’était très fun !

One Comment

Add a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.