iOS 7 : un générateur de nombres aléatoires trop fragile
Alors que l’affaire Snowden a souligné l’importance cruciale des générateurs de nombres aléatoires, iOS 7 en embarquant un trop fragile.
Rien ne va plus, les jeux sont faits ! Il n’y a pas qu’au casino que la génération de nombres aléatoire s’avère cruciale. Cela aussi, voire plus, en informatique, comme l’a souligné l’affaire Snowden avec les allégations de collusion entre la NSA et RSA sur le générateur de nombres aléatoires érigé en standard par le Nist américain.
Et dans un effort d’amélioration de la sécurité générale d’iOS, Apple semble avoir là commis une erreur, avec la dernière version de son système d’exploitation mobile. C’est du moins ce que laissent entendre les travaux de Tarjei Mandt, d’Azimuth Security. Dans un billet de blog, celui-ci relève que la firme à la pomme a implémenté plusieurs « techniques de protection du noyau » d’iOS avec sa version 6, au travers, notamment d’un générateur de nombres aléatoires dédié, avant de l’améliorer avec la toute dernière version d’iOS, la 7. La première mouture de ce générateur était « relativement simple », utilisant des valeurs dérivées de l’activité du processeur. Las, les nombres générés étaient quelque peu prévisibles, notamment pour ceux se succédant. Avec iOS 7, Apple a décidé de changer d’approche. Hélas, celle-ci s’avérerait moins sûre et « pourrait permettre à un attaquant de prédire les valeurs [générées aléatoirement] avec un effort minime. » Poursuivant, Tarjei Mandt indique avoir découvert qu’un « attaquant, même confiné dans le bac à sable le plus restrictif, peut retrouver des sorties arbitraires du générateur et ainsi contourner les protections contre les exploits qui s’appuient » sur le générateur de nombres aléatoires.
L’ensemble des travaux du chercheur est présenté dans un mémoire au format PDF très détaillé.