PS3: Mauvaise sécurité = PWN

Je ne prétends pas tout comprendre à 100% ce qui entre en jeu dans cette présentation, mais je crois bien avoir compris l'important.

Les exécutables (SELF) de la PS3 sont signés avec un chiffrement de cryptographie sur courbe elliptique. Ce chiffrement nécessite entre autre une clé privée et un nombre aléatoire. Lorsqu'un nombre aléatoire valable et unique pour la cryptographie est utilisé lors de la signature d'un exécutable, la clé privée est protégée; il est virtuellement impossible de trouver cette clé privée. Par contre, si on utilise le même nombre «aléatoire» (par exemple 4) sur deux signature différentes, il est possible de trouver cette clé avec un peu de «mathémagie».

C'est ce qui est arrivé. L'équipe de Fail0verflow a calculé cette clé privée à l'aide de certaines failles de sécurité de la part de Sony. Avec cette clé, c'est possible de créer un exécutable signé que la console va accepter. En théorie, toutes les consoles déjà produites vont accepter ces exécutables signés.

Après la présentation, ils ont fait une démonstration un peu précipitée de leur méthode et exécuté une distribution Linux entièrement hébergée sur la console. La mémoire Flash de la console contenait un système modifié; GameOS a été remplacé par leur propre OS.

Pourquoi est-ce important? Pourquoi tant de temps avant la découverte de cette grossière erreur? Principalement parce qu'on pouvait déjà exécuter Linux avec la fonctionnalité OtherOS avant. Sony ont décidé de ne pas permettre OtherOS sur la PS3 Slim et ont ensuite décidé de brider cette fonctionnalité des PS3 qui le pouvaient déjà. Avec cette faille, l'utilisateur est maître de sa console. Il est aussi valable de croire que l'installation de homebrew sera même plus facile qu'avec une Wii.

Sources