SecurityInsider
Le blog des experts sécurité Wavestone

Bring Summer Back ! Compte-rendu des conférences de cet été - BSides Las Vegas 2018





Wavestone était présent à l’édition 2018 de la conférence de sécurité BSides Las Vegas les 7 et 8 août dernier. Après 7 heures de queue, Arnaud SOULLIE et Alexandrine TORRENTS ont finalement réussi à obtenir des walk-in tickets pour la conférence !
Nous vous présentons ci-dessous le compte-rendu d’une sélection de talks, les vidéos étant disponibles sur la chaîne YouTube de la conférence.

Jarvis nerver saw it coming : Hacking machine learning in speech, text and face recognition & frankly everywhere else – Guy BARNHART-MAGEN, Ezra CALTUM

Et si une intelligence artificielle pouvait être attaquée comme n’importe quel système ? Les systèmes de machine learning font généralement passer les données par plusieurs étapes :
  • Les entrées sont tout d’abord réordonnées et rangées selon une représentation intermédiaire (IR) ;
  • Elles sont multipliées par des matrices ;
  • Les sorties obtenues sont ensuite mappées avant d’obtenir les prédictions finales.
Il est possible d’attaquer le système à des étapes différentes de ce processus itératif :
  • Attaque de l’infrastructure du système : IR ou mapping
  • Attaque de l’algorithme lui-même : les multiplications de matrice ou les sorties
Le top 5 des attaques classées selon leur score CVSS sont les suivantes :
  • DoS
  • Erreur de prédiction
  • Perturbation du modèle
  • Vol d’IP
  • Backdoor
L’une des attaques les plus intéressantes, appelée adversarial attack, consiste à manipuler les sorties avec une entrée créée de toute pièce injectée durant la phase d’apprentissage. Il est ainsi possible par exemple, de faire croire au système qu’une tortue est une arme à feu !
Afin d’éviter ce genre d’attaques, il convient de réaliser plus de contrôle sur les données et de construire une infrastructure plus robuste, en particulier les interfaces entre les différentes étapes du process de machine learning.

Serverless infections : Malware just found a new home – Erez YALON

De plus en plus d’entreprises passent au mode serverless, ou function as a service, c’est-à-dire que l’intégralité de la plate-forme est gérée par le prestataire, seule le code est fourni par le client. AWS et Google proposent ces services avec AWS Lambda et Google Cloud Platform. Le principe est simple : développer la fonction, la publier, la déclencher puis détruire l’environnement d’exécution.
Ce système a l’avantage d’être extensible et peu cher mais est cependant plus lent et dépendant de la plateforme utilisée. D’un point de vue sécurité, les deux points forts sont le fait que la fonction soit lancée dans son propre environnement et que cet environnement soit détruit à la fin de l’exécution.
Il est néanmoins possible d’attaquer ce genre d’environnement et même de contaminer le code de la fonction de manière persistante dans un environnement non persistent ! En effet, sur AWS, il est possible d’utiliser les fonctions AWS-SDK et AWS-CLI pour injecter du code et modifier le code source de la fonction. Cela est rendu possible grâce à deux éléments de configuration par défaut :
  • Le container possède un privilège élevé d’exécution, le « lambda execution role »
  • Par défaut, aucun VPC (Virtual Private Cloud) n’est configuré et il n’y a donc aucun contrôle sur les flux de sorties
Le tableau suivant résume les actions possibles par un attaquant en fonction de la plate-forme :



Il convient donc de faire attention à la configuration de ses environnements, et en particulier de ne pas exposer inutilement des données sensibles, définir un VPC et restreindre les privilèges des containers.

Pacu : Attack and post Exploitation in AWS – Spencer GIETZEN

Pacu est un outil open source de post exploitation sur AWS. Les auditeurs de Rhino Security Labs se sont rendus compte lors de leurs tests d’intrusion qu’il était facile de faire ses premiers pas sur AWS mais difficile de maîtriser en profondeur sa sécurité. La meilleure façon d’apprendre étant de pratiquer, ils ont développé la plateforme Cloudgoat (https://github.com/RhinoSecurityLabs/cloudgoat), un environnement AWS vulnérable par design. Cette plateforme contient une dizaine de services AWS mal configurés (EC2, S3, IAM, Lambda, etc.) avec plus d’une vingtaine de vecteurs d’attaque. Elle est déployée sur demande avec Terraform et coûte entre 1 et 3 dollars par jour en fonction de l’utilisation.
Mais ils ne se sont pas arrêtés là et ont voulu mettre en place quelque chose de plus complexe, permettant des attaques en plusieurs étapes, une sorte de Metasploit pour AWS. Pacu a donc vu le jour. Ce framework d’exploitation AWS est disponible sur GitHub et permet de développer ses propres modules : https://github.com/RhinoSecurityLabs/pacu
La combinaison Cloudgoat + PACU permet donc de s’entraîner à la sécurité AWS et de développer ses exploits pour des environnements plus complexes.

The current state of adversarial machine learning – Heather LAWRENCE

Et oui, encore du machine learning ! Ce talk se concentre sur l’adversarial machine learning, le secteur de recherche à l’intersection du machine learning et de la sécurité informatique. Les techniques de machine learning ne sont pas toujours conçues pour des environnements stationnaires où les données de test et d’apprentissage proviennent de la même distribution. Il faut désormais considérer des adversaires qui pourraient manipuler les données injectées afin de compromettre le système de machine learning (à ce sujet, voir la récente keynote de James Mickens : https://www.usenix.org/conference/usenixsecurity18/presentation/mickens)
Les applications de ce secteur de recherche peuvent être la détection de malware, le filtrage de spam ou encore la reconnaissance biométrique.
Plusieurs types d’attaque existent :
  • La manipulation des données d’apprentissage avant la phase d’apprentissage
  • L’injection d’entrées manipulées dans les données d’apprentissage après la phase d’apprentissage
  • L’attaque du classifier
Il est possible de fournir intentionnellement au classifier des données lui faisant prendre la mauvaise décision. C’est ce que l’on appelle des adversarial examples. Et si on entraînait le classifier avec ce genre d’exemples pour réduire les attaques ? En effet, le fait d’entraîner et de tester le classifier avec de tels exemples permet de réduire le nombre de mauvaises classifications.
En revanche, les anciens travaux de recherche considéraient que l’attaquant était en mode white box, c’est-à-dire qu’il avait accès à toutes les données d’apprentissage. La réalité se rapproche plus du mode black box et les papiers de recherche les plus récents se sont penchés sur la question. Il est notamment possible de tester son attaque sur son propre classifier et d’ensuite transférer son modèle sur le classifier cible !

All your cloud belong to us : Hunting compromise in Azure – Nate WARFIELD

Avec la montée du Cloud, de plus en plus de VMs sont exposées directement sur Internet. En 2017, de nombreux services ont été attaqués sur Azure, le Cloud de Microsoft. Durant ce talk, Nate a montré comment il a traqué et trouvé des systèmes vulnérables sur Azure. Un de ses outils préférés : Shodan. Il a d’ailleurs développé des modules permettant de détecter les systèmes vulnérables : des bases de données NoSQL, des services SMBv1, etc. La configuration par défaut des VM Azure expose de nombreux ports et de nombreux clients Azure ignorent que leurs services sont exposés. Selon Nate, l’année 2018 est l’année des CryptoMiner. Les attaquants exploitent les services exposés et volent des ressources pour miner du BitCoin !
Autre type d’attaques de plus en plus présentes, les images IaaS compromises sur les marketplace. En effet, il n’est pas nécessaire de créer sa propre image. Les marketplace proposent des images toute prêtes.
Afin d’éviter les attaques sur ses machines Azure, il convient donc de :
  • Mettre à jour ses machines après le déploiement
  • Revoir les configurations firewall avant le déploiement
  • Considérer la création de sa propre image IaaS pour les machines sensibles

SilliVaccine : North Korea's weapon of mass detection - Mark LECHTIK, Michael KAJILOTI

SiliVaccine est la solution antivirus nationale de la Corée du Nord. Mark et Michael ont pu obtenir une copie rare de cette solution via un journaliste de Bloomberg qui l’avait reçu par mail. Ils ont immédiatement voulu l’analyser et observer les pratiques de la Corée du Nord.
En analysant son architecture et ses différentes DLL, ils ont trouvé un mécanisme de scan de fichiers de Trend Micro ! En creusant un peu plus, ils se sont rendus compte que toutes les fonctions principales correspondaient à des fonctions de Trend Micro. La réponse officielle de Trend Micro étant qu’ils n’ont jamais collaboré avec la Corée du Nord. En ce qui concerne les signatures, elles ont été renommées et un mécanisme de liste blanche a été mis en place. Peut-être pour l’utilisation d’une future backdoor ? Par ailleurs, l’installation de SiliVaccine semble être packagée avec le malware Jaku. Ses découvertes laissent donc place à de nouvelles questions. Notamment, cette copie de SiliVaccine était-elle destinée spécifiquement au journaliste de Bloomberg ?



Alexandrine TORRENTS

Aucun commentaire:

Enregistrer un commentaire