Cet article fait suite à la présentation en détail des SSD professionnels, ainsi qu’à celui à propos de la durée de vie des SSD.
Sur un disque dur mécanique, la récupération de données est bien souvent possible : il y a une trace physique des données écrites. Il existe de nombreux services ou sociétés qui proposent ce type de services. Ainsi, il suffit de réparer les composants mécaniques défectueux et/ou d’utiliser un logiciel/appareil forensique. Pour ce qui est des SSD, le data recovery ou récupération de données est bien plus complexe.
Sur un SSD, comme il n’y a pas forcément le moindre lien entre organisation logique et physique des données, cette opération est bien plus complexe voire impossible dans certains cas.
Processus de récupération pour SSD
Le processus pour récupérer des données sur un SSD défectueux est toujours le même, quelle que soit l’origine de la panne (défaut du contrôleur, rupture du circuit etc…) :
- Il faut dessouder les puces mémoires qui le composent pour lire individuellement les données stockées, cela requiert du matériel spécifique et de précision (station de soudage, lecteur spécifique, etc…).
- Il faut ensuite reconstruire les données, c’est la partie la plus laborieuse et complexe. En effet sur un SSD, les données sont organisées de façon assez spécifique.
Premièrement, tous les bits sont, de base, à 1, ainsi pour minimiser le nombre d’écriture/effacement, et le nombre de 1, dans les puces, il arrive très souvent que les constructeurs choisissent d’appliquer une fonction XOR aux données entrantes. Le problème étant que la fonction XOR est difficilement réversible en plus d’être difficilement détectable. En plus de cela les données peuvent être organisées de diverses façons, plus ou moins complexes.
Prenons par exemple l’entrelacement interne nouvelle génération. Cette manière d’organiser les données répartit les pages par bloc, c’est à dire qu’un volume logique de X pages sera écrit sur (supposons) deux blocs, on retrouvera alors les pages paires dans les blocs pairs et les pages impaires dans les blocs impairs.
Une récupération de données difficile
La principale difficulté est, qu’il est impossible de savoir quelle fonction a été utilisée pour organiser les données sans les tester, ce qui prend beaucoup de temps. De plus, les contrôleurs utilisent des algorithmes complexes pour reconstituer un volume de données logique en utilisant la dernière version de chaque bloc. Pour cela, il stocke le numéro de version de chaque bloc au sein d’un espace dédié. Ainsi, si le contrôleur est défectueux, la tâche est encore plus complexe. Enfin, les constructeurs développent des algorithmes de gestion parfois très complexes pour leurs SSD, ainsi, pour éviter le reverse-engineering, ils chiffrent ces algorithmes ainsi que certaines données, cet obstacle est probablement le plus infranchissable.
Un point sur les données effectivement effacées s’impose. Sur un SSD, les données sont déterminées par l’état électrique des puces mémoires, après avoir été effacées par le garbage collector ou la commande Trim. les données ne laissent pas la moindre trace physique sur leur support. Ce détail peut paraître insignifiant mais cela peut être un problème pour les autorités légales, en effet sur un disque dur classique (à moins que celui-ci soit passé par une série d’opérations spécifiques ou simplement détruit) il est possible de récupérer les données que l’utilisateur pensait avoir effacées puisque leur trace est toujours présente sur le plateau. Sur un SSD cela s’avère impossible, si l’utilisateur lance les commandes appropriées (ou qu’il laisse simplement le temps à son SSD de faire fonctionner son garbage collector) il sera impossible pour qui que ce soit de récupérer les données puisque les cellules mémoires seront simplement vides.
Sur un SSD, si le support physique, c’est à dire la puce mémoire, est endommagée il est tout bonnement impossible de récupérer les données, alors qu’avec le matériel et les logiciels adaptés, il est généralement possible de lire les résidus des données supposément effacées sur le plateau d’un disque dur.
1 réflexion au sujet de « La récupération de données dans un SSD »