One Bug to rule them all : la faille Calendar/Java

Magazine
Marque
MISC
Numéro
45
Mois de parution
septembre 2009
Domaines


Résumé

Le 3 décembre 2008, Sun a corrigé une faille, découverte et rapportée par Sami Koivu le 1er août 2008. Le rapport de Sun était laconique : « A Security Vulnerability in the Java Runtime Environment (JRE) Related to Deserializing Calendar Objects May Allow Privileges to be Escalated ». Il n'y a là pas grand-chose pour attirer l’œil, si ce n'est l'absence de référence à toute bibliothèque native et à toute corruption mémoire (telle que le classique « buffer overflow ») comme c'est le cas pour la plupart des vulnérabilités Java.


En fait, cette vulnérabilité est due à une faille logique dans la manière dont Java traite la sérialisation (les procédés de conversion entre la représentation interne d'objets et une séquence d'octets stockable ou transférable). Elle permet indépendamment de la plate-forme sous-jacente, de casser le modèle de sécurité de Java et de sortir de la JVM. Pour un attaquant, cela permet notamment de pirater une victime utilisant un navigateur web supportant Java en sortant du bac à sable Java et en exécutant du code arbitraire avec les privilèges de l'utilisateur. Et cela, quel que soit le navigateur, le système d'exploitation et l'architecture matérielle.

Dans cet article, nous tenterons d'expliquer pourquoi nous avons qualifié [ext.1] cette faille de « proche du Saint Graal des failles de logiciels client ».

1. L'impact

L'impact potentiel de cette faille est la raison principale pour laquelle nous nous y sommes intéressés. La mesure de l'impact d'une...

Cet article est réservé aux abonnés. Il vous reste 91% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Zéro SQLi malgré les développeurs

Magazine
Marque
MISC
Numéro
111
Mois de parution
septembre 2020
Domaines
Résumé

Nous proposons une méthode pour effectuer des requêtes SQL qui garantit l'invulnérabilité aux injections SQL, y compris lorsqu'elle est utilisée par un développeur pressé ou incompétent, contrairement aux requêtes paramétrées. Basée sur l'utilisation d'arbres de syntaxe abstraite, elle permet facilement de construire des requêtes dynamiques et est plus facile à mettre en œuvre qu'un ORM. Nous proposons une bibliothèque Java implémentant nos idées, mais la méthode peut s'appliquer à d'autres langages de programmation et d'autres types de requêtes.

Introduction au dossier : Python au service de la recherche et l’exploitation de vulnérabilités

Magazine
Marque
MISC
Numéro
109
Mois de parution
mai 2020
Domaines
Résumé

Quand on s’adonne aux plaisirs de la sécurité informatique, il est ce moment où doivent s’aligner les idées et la pratique, c’est-à-dire la production d’une preuve de concept. Et quand il faut écrire du code, le choix du langage s’impose forcément : d’un côté, il y a les contraintes fortes qui nous donnent des possibilités restreintes, et de l’autre il y a nos bas instincts qui prennent la solution qui produira le plus rapidement possible le résultat escompté.