Les articles de MISC N°101

Le coup de pouce bleu aux gilets jaunes
Cela fait 20 ans qu’une vulnérabilité présente dans OpenSSH permet d’énumérer les utilisateurs. Elle a été rendue publique le 17 août 2018 sous la référence CVE ID 2018-15473. Du fait de sa facilité d’exploitation, des exploits ont rapidement vu le jour sur des sites de dépôt de code comme GitHub, des scripts Python ont également été codés et même le très célèbre Metasploit a mis à jour son module d'énumération des utilisateurs SSH [Ref] « modules/auxiliary/scanner/ssh/ssh_enumusers.rb ». Cette vulnérabilité ne donne pas la liste des noms d'utilisateurs valides, mais permet, sans faire d’attaque par mot de passe, de dire si un utilisateur existe ou non. Nous allons voir ensemble au travers de cet article pourquoi cette vulnérabilité existe, comment l'exploiter et de quelle manière nous pouvonsnous en prévenir.
Les processus de sérialisation et de désérialisation Java ne manipulent que des données et non du code. Malheureusement, comme pour une chaîne ROP, il est possible de combiner des « gadgets » Java pour exécuter du code arbitraire lorsque la désérialisation s’effectue sur des données contrôlées par un attaquant. Nous présentons dans cet article une vulnérabilité de désérialisation affectant directement les libraires standards de la machine virtuelle Java.
Si le suivi du flot d’exécution permet de restituer le code d’un noyau Android, peu de désassembleurs s’appuient sur la présence des symboles pour affiner leur analyse. Cet article se propose de fournir les points clefs pour retrouver ces symboles de façon statique dans ce cadre précis, même si l’approche peut être adaptée à d’autres environnements.
MEAN est un socle technique composé de MongoDB, Express, Angular et Node.js. Ces quatre composants ont un point commun : le JavaScript ! La connaissance de cet unique langage de programmation vous permet désormais de créer une application web dynamique et moderne. Ce socle technique est donc largement utilisé par les développeurs « full stack » et c’est ainsi que de nombreuses applications MEAN viennent s’installer progressivement dans les SI des entreprises. Mais voilà ! Ce socle technique est-il suffisant pour développer des applications sécurisées qui seront amenées à manipuler des données sensibles (carte bancaire, santé…) ?
On ne plaisante pas avec un contrôle d’identité ! Il en va de même en sécurité applicative où l’authentification est une fonctionnalité primordiale à mettre en œuvre. Mais quand il faut s’y mettre, le développeur sera confronté à de nombreuses problématiques et se posera beaucoup de questions sans y trouver de réponses, faute d’avoir un expert en sécurité applicative à sa disposition.Tout au long de cet article, vous suivrez pas à pas le questionnement d’un développeur back end accompagné d’un expert sécurité pour l’aider dans son raisonnement.
HttpOnly, vous connaissez ? Non ? Et X-XSS-Protection ? Zut… Pourtant ces petits mots doux nous aident à rendre la vie de nos utilisateurs plus sûre. Cet article liste un ensemble d’en-têtes qui aident à réduire le risque d’exploitation de failles de sécurité. Pour chacune d’entre elles, un exemple d’implémentation avec Express.js est présenté.
Développer une application qui répond aux besoins du client est compliqué. Développer une application répondant à l’ensemble des exigences non fonctionnelles est encore plus compliqué. Et développer une application industrialisée et sécurisée relève de l’exploit ! Mais, nous verrons dans cet article qu’à l’impossible nul n’est tenu…
Il existe un monde hostile où l’inertie règne trop souvent… pour ne pas faire progresser la sécurité. C’est le monde du Système d’Information et de ses applications. Ce monde est peuplé de gens à l’excuse facile. Parmi celles-ci, il y aura pêle-mêle qu’il faut mettre à jour l’application web pour installer le correctif, que cela prend du temps, que cela coûte, que tout marche bien alors pourquoi changer, bla bla bla… Dans ce monde cruel où seules patience, zénitude et opiniâtreté permettent d’avancer péniblement dans la souffrance, il peut parfois apparaître une lueur d’espoir : « URL interceptor ». Il est le justicier solitaire qui n’a besoin d’aucun compromis, car il se place en protecteur et passage obligé pour atteindre les mécréants à l’excuse bidon, il sait être discret tout en étant puissant au besoin, et surtout il a su rester simple et frugal d’exigences…
Depuis plus de quarante ans, le piratage de logiciels demeure un phénomène planétaire, que rien ne semble véritablement pouvoir enrayer. Cet article s’intéresse à l’évolution du piratage de logiciels dans le monde, plus particulièrement au cours de la dernière décennie (2007-2017). Pour alimenter notre étude, nous nous appuyons sur les séries statistiques produites par la BSA et sur un ensemble de rapports et d’études publiés tout au long de la période. Dans un premier chapitre, nous rappelons les principaux enjeux du piratage (économiques, juridiques). Puis nous mettons en évidence quelques caractéristiques de l’évolution du piratage dans le monde, telles qu’elles émergent des séries statistiques de la BSA. Enfin, dans la troisième partie de l’article, nous formulons quelques constats et hypothèses sur les déterminants du piratage et les caractéristiques de son évolution. Des résultats significatifs sont-ils obtenus par les acteurs de la lutte contre le piratage ? Le développement de l’arsenal juridique et le durcissement des sanctions prononcées contre les contrefacteurs sont-ils vraiment de nature à impacter l’évolution du phénomène ?
Nous abordons ici une des questions posées en marge du modèle implémenté par Intel SGX : celle de la sécurisation de la communication entre une enclave et un périphérique.