mardi 9 juillet 2013

RMLL 2013 - Live blogging

Je suis de nouveau aux RMLL afin de suivre le track sécurité.
Je propose comme l'année dernière un live blogging des conférences.
Les tracks ont commencés hier, mais un problème d'accès au réseau m'a empêché de poster hier. Voici donc un CR du 8 juillet 2013. Les slides sont disponibles sur

Werner Koch - GnuPG Status Report

Werner commence par un historique des versions de GPG. La version 2 a amené la modularisation de GPG. GPG est multiplateformes, utilisable pour le desktop. GPG a une base de développeurs solide, ainsi qu'un groupe de mainteneurs, bug reporters, code reviewers, etc.. GPG est couvert par plusieurs aspects légaux un travail est donc fait pour le contourner, plusieurs copyright assignments leur ayant été remonté. Werner Koch passe ensuite en revue la liste des features de GPG: Tout d'abord S/MIME avec management de clé qui propose aussi une CLI complète permettant de gérer des clés, et le mécanisme de gestion de CA est presque au point.
GPG-Agent s'occupe de la gestion des clés privées et de leur mise en cache. GPG-agent dispose d'une fonction de scripting GPG sait se connecter avec ssh, en remplaçant ssh-agent par gpg-agent. Il fonctionne avec des cartes à puces. GPG utilise un framework spécifique pour les cartes à puces (carte openPGP), qui serait un sujet de talk à part entière, il passe donc rapidement sur le point.
Il parle ensuite du projet g13 pour le chiffrement de surface. La clé maître du device est wrappée par PGP. Il devient donc possible d'utiliser sa smartcard openPGP pour ouvrir des fichiers encFS. Le portage pour dm-crypt est en cours, ainsi que GELI (BSDs).
Le projet qui intéresse les développeurs en ce moment est GPGME, l'API standard d'accès à GnuPG. Il s'agit d'une interface pour avoir accès aux  clés et à gpg-agent.
Dans le domaine des améliorations, Werner indique que les clés GPG secrètes sont désormais controllées par GPG-agent. Cela permet des simplifications de code et le merging de clés. Une autre amélioration concerne la Keybox. En effet, les clés sont concaténées les unes aux autres, et un grand nombre de clés va demander plusieurs secondes pour y accéder. Cette amélioration permet d'accéder en moins de 100ms à une clé parmi 20000. Une autre amélioration concerne le mode pinentry qui devrait permettre d'utiliser facilement GPG sur les postes non desktop. GPG est également en train de remplacer les threads Pth par nPth pour des raisons de simplicité. De son côté la libgcrypt se voit amélioré en utilisant les optimisations des CPU modernes (AES-ni, SSE2, etc..) et quelques nettoyages de code.
Le cas d'openpgpjs est évoqué. C'est intéressant mais cela ouvre beaucoup d'axes d'attaques, malgré les demandes. Werner Koch remercie ensuite les développeurs et la communauté.

Kevin DENIS - le chiffrement de disque sous linux, vrai ou faux sentiment de sécurité, deuxième round.
Généralement, on pense que:
You choose to crypt your disk...
...and you're safe & secure
Alors qu'il s'agit plutôt de:
You choose to crypt your disk...
    and you know (basically) how it works
    and you check that crypto defaults choosen by your distro are safe
    and you check the crypto algorythm and implementation
    and you check the quality of the master key
    and you check that password inputs are safe
    and you check that you can change your keys
    and you check that your password can't be easily bruteforced
    and you check the integrity of your boot process
    and you check the integrity of the ciphered blocks
    and you check that your keys doesn't remains in RAM
...and you're safe & secure (sort of)

Paul Rascagnères - malware sous linux
Ce talk souhaite casser l'idée reçue comme quoi il n'y a pas de malware sous linux, au travers de 3 exemples réels de 2013: Darkleech, Cdorked, wirenet..
 - Darkleech/Chapro.
Darkleech est un module apache "authentique", qui va ajouter du javascript dans certaines pages pages web pour rediriger des clients. Darkleech est également une backdoor permettant de prendre la main du système. Le nom du malware varie (ex: sec2_config_module),  et injecte surtout des exploits kits. Les cibles sont choisies par les informations de headers clients, en excluant les moteurs de recherche et versions de navigateurs non ciblées par l'exploit kit. Ce malware est obfusqué par un simple XOR, ce qui permet facilement d'accéder aux informations.
 - Cdorked
Il ressemble au premier, sauf qu'il ne s'agit pas d'un module apache, mais du binaire apache lui-même. Il n'est pas obfusqué, et la première chose qui apparaît est la possibilité d'obtenir un reverse shell. (la clé pour ouvrir un shell consiste à demander le favicon.iso au lieu du favicon.ico)
 - Wirenet
Ce malware attaque plutôt les desktops, et ressemble aux malwares windows. Il est chiffré avec de la crypto forte (RC4), mais la clé est présente et permet de lire les chaines de caractères. Le malware communique avec un C&C, un faux serveur a donc été créé, la communication est chiffré avec AES prouvant que les développeurs connaissent la crypto (RC4, AES). Ce C&C permet de lancer des commandes arbitraires sur le poste victime (ps, rm, récupération de credentials pidgin, thunderbird, clear des logs, etc). Ce malware inclut toutefois l'intégralité de ces possibilités à la différence des malwares windows qui n'incluent que le strict minimum et pousse au fur et à mesure des modules additionnels.

En conclusion, Paul rappelle la facilité avec laquelle il est possible d'écrire des malwares sous linux. Une demo de 10 ligne nous montre comment écrire un ransomware en shell. Cette simplicité risque d'en faire une cible de choix, et l'idée comme quoi linux n'a pas de malware est une idée fausse.
Une question est posée lui demandant si les vecteurs d'infections sont connus, et Paul Rascagnères répond qu'il n'a travaillé que sur le reverse de ces malwares qui lui ont été fournis, et non pas sur leur détection. Pour Darkleech, nous savons que les pirates ont utilisés une faille de l'outil Plex pour obtenir un shell sur les machines hébergeant les serveurs web.

Aucun commentaire:

Enregistrer un commentaire