Криптирането в съвременните SSD – защо chip-off възстановяването вече почти не е възможно

Възстановяването на данни от съвременен SSD вече няма почти нищо общо с възстановяването на данни от по-старите поколения флаш устройства.

Днес между потребителските данни и самата NAND памет съществуват множество сложни технологични слоеве – контролер, FTL, ECC/LDPC, scrambling, wear leveling, garbage collection, вътрешна организация на NAND паметта и при много съвременни SSD – хардуерно криптиране.

Това е една от основните причини професионалното SSD възстановяване да изисква специализирани знания, апаратура и опит.

Данните в NAND паметта вече не са това, което компютърът вижда

Когато записваме файл на SSD, операционната система работи с логически адреси – LBA.

Но този логически адрес не съответства директно на физическо място в NAND паметта.

SSD контролерът използва специален слой – Flash Translation Layer (FTL) – който управлява преобразуването между логическите адреси и физическото разположение на данните.

В същото време контролерът извършва:

  • wear leveling;
  • bad block management;
  • garbage collection;
  • ECC/LDPC корекция;
  • NAND interleaving;
  • scrambling;
  • управление на свободното пространство;
  • управление на metadata;
  • logical-to-physical mapping.

В резултат на това един файл, който за операционната система изглежда като последователна поредица от блокове, физически може да бъде разпределен на множество различни места в NAND паметта.

И тогава идва криптирането

При много съвременни SSD контролерът извършва хардуерно криптиране на данните преди те да бъдат записани в NAND.

Схематично процесът изглежда така:

Компютър → SSD контролер → криптографски engine → FTL/ECC → NAND

При четене:

NAND → ECC/FTL → криптографски engine → SSD контролер → компютър

Това означава, че в NAND паметта може да се намира не оригиналната информация, а криптираната версия на тази информация.

При Self-Encrypting Drive (SED) криптирането се извършва вътре в устройството и е прозрачно за операционната система.

Къде се намира криптиращият ключ?

Това е критичният момент при възстановяването.

При определени съвременни SSD архитектури ключът за криптиране е свързан с оригиналния контролер или със защитена хардуерна среда в него.

Това означава, че NAND чиповете сами по себе си не съдържат всичко необходимо за декриптиране на информацията.

При повреден контролер може да се окаже, че физически разполагаме с напълно здрави NAND чипове, но нямаме необходимия криптографски контекст, с който да превърнем съдържанието им обратно в оригиналните данни.

Именно затова при хардуерно криптирани SSD възстановяването често започва с възстановяване на оригиналния контролер, а не със сваляне на NAND чиповете.

Защо chip-off вече не е универсално решение?

Chip-off recovery представлява физическо сваляне на NAND паметта от платката и директното ѝ прочитане със специализирана апаратура.

При подходящи по-стари или некриптирани устройства този метод може да бъде много полезен.

Но ако съвременният SSD криптира данните преди запис в NAND, при chip-off се получава:

NAND → криптирани данни

а не:

NAND → оригинални файлове

Самото прочитане на чиповете не премахва криптирането.

При хардуерно криптиран SSD raw NAND dump може да съдържа само криптирана информация, която без необходимия ключ е практически безполезна за възстановяване на файловете.

Затова при такива устройства chip-off не решава проблема с повредения контролер.

Но дори без криптиране chip-off не е лесна задача

Това е другото важно уточнение.

Дори при SSD, който не използва хардуерно криптиране, суровият NAND dump не е готов образ на диска.

NAND паметта има собствена сложна организация:

Package → Die → Plane → Block → Page

а контролерът допълнително управлява физическото разпределение на страниците и блоковете. Необходимо е да се възстановят и интерпретират структури като:

  • FTL;
  • logical-to-physical mapping;
  • ECC;
  • LDPC;
  • scrambling;
  • page structure;
  • spare/OOB области;
  • interleaving;
  • bad block information;
  • metadata.

Затова суровият dump може да изглежда като огромно количество информация, но от него не следва автоматично възможността да се получи един работещ файл.

FTL – картата на физическата памет

Една от най-важните части на SSD контролера е Flash Translation Layer. Той поддържа връзката между:

LBA → физическо NAND местоположение

Без правилното възстановяване на тази транслация е възможно да имаме всички NAND чипове, но да не знаем кои физически страници съответстват на конкретните логически блокове.

Това е особено сложно заради wear leveling.

Един логически блок може първоначално да бъде записан на едно място, а впоследствие контролерът да го премести на друго.

Старото физическо място може да остане временно в NAND, докато новото стане актуалната версия.

Следователно възстановяването трябва да разбере коя физическа информация е актуална и как тя се свързва с логическите адреси.

ECC и LDPC – защо суровите NAND данни не са готови за четене

NAND паметта има физически ограничения и подлежи на грешки.

Затова SSD контролерите използват сложни механизми за error correction.

При съвременните NAND технологии широко се използват LDPC-базирани механизми. Контролерът използва тази информация, за да възстанови правилните данни при четене.

При директно четене на NAND без оригиналния контролер трябва да се разбере как конкретният контролер е организирал ECC информацията, spare областите, scrambling и останалите служебни данни.

Това е една от причините два SSD модела с NAND памет от сходен тип да могат да изискват напълно различен подход при chip-off възстановяване.

Scrambling – още един слой

SSD контролерите използват и scrambling на данните. Това не трябва да се бърка с криптиране.

Scrambling е предназначен основно за правилното поведение на NAND паметта и контролера и променя начина, по който битовете се разпределят физически.

При възстановяване от raw NAND трябва да бъде известен конкретният scrambling алгоритъм и начинът, по който той е приложен.

Това добавя още един слой между:

физическите NAND клетки

и

файла, който потребителят иска да получи.

Криптирането променя напълно ситуацията

При scrambling и ECC има възможност специалистът да реконструира съответните алгоритми и структури, ако те са известни или могат да бъдат анализирани.

При силно хардуерно криптиране ситуацията е принципно различна.

Тогава вече имаме криптографска защита, която не може просто да бъде „изчислена обратно“ чрез анализ на NAND dump.

Ако необходимият ключ е недостъпен, наличието на физическите NAND чипове не е достатъчно.

Точно поради тази причина при някои съвременни SSD първостепенната задача е да бъде възстановена работоспособността на оригиналния контролер и неговата криптографска среда.

Защо донорен контролер също не решава проблема?

На пръв поглед изглежда логично:

„Ще намерим същия SSD, ще свалим неговия контролер и ще го поставим на повредения.“

Но при съвременните хардуерно криптирани SSD това често не работи.

Контролерът-донор може да е абсолютно същият модел, но да бъде друг физически чип с различен хардуерен криптографски контекст.

Следователно замяната на контролера не означава автоматично възстановяване на ключа на оригиналния SSD.

Затова при такива случаи се търси начин да бъде възстановен оригиналният контролер, а не просто да бъде заменен с друг.

Най-голямата грешка – „ще пробваме chip-off“

При важни данни това може да бъде много лош подход.

Ако SSD използва хардуерно криптиране, chip-off може да не доведе до никакъв полезен резултат.

Освен това свалянето на NAND чиповете е физическа намеса в устройството и може да усложни последващата работа.

При някои SSD най-ценната част от носителя не е само NAND паметта, а оригиналният контролер, неговият firmware, вътрешните структури и криптографската среда.

Съвременното SSD recovery е реконструкция, а не просто „четене на памет“

При един съвременен SSD можем условно да представим процеса така:

Файл

↓

Файлова система

↓

LBA

↓

FTL / Logical-to-Physical Mapping

↓

ECC / LDPC / Scrambling

↓

Encryption

↓

NAND

При възстановяване трябва да се премине обратно през тези слоеве.

А ако някой от тях е недостъпен, физическото наличие на NAND чиповете само по себе си не решава проблема.

Затова са необходими знания и специализирана апаратура

Професионалното възстановяване на данни от съвременен SSD изисква познания по:

  • NAND архитектура;
  • SSD контролери;
  • firmware;
  • FTL;
  • logical-to-physical translation;
  • ECC/LDPC;
  • scrambling;
  • garbage collection;
  • wear leveling;
  • хардуерно криптиране;
  • управление на криптографски ключове;
  • конкретните архитектури на различните производители.

Необходима е и специализирана апаратура за диагностика и работа на ниво платка, контролер и NAND.

И най-важното – необходимо е правилно да се определи подходът преди да бъде извършена физическа намеса.

Chip-off не е мъртъв – но вече не е универсален

Важно е да се направи едно уточнение.

Не е правилно да се твърди, че chip-off recovery е абсолютно невъзможно при всички съвременни SSD.

Има устройства и контролери, при които криптирането не е активно или конкретната архитектура позволява извличане и реконструкция на NAND данните.

Но при SSD с активна хардуерна криптография chip-off не може да замести оригиналния контролер, защото прочетената NAND информация остава криптирана.

Затова правилното твърдение е:

Chip-off възстановяването вече не е универсален метод за съвременните SSD и при хардуерно криптирани устройства може да бъде практически безполезно без оригиналния контролер и неговата криптографска среда.

Възстановяването на данни вече означава да разбереш как SSD-то разбира собствената си памет

Днес не е достатъчно да достигнем физически до NAND чиповете.

Трябва да можем да възстановим логиката, която превръща физическите NAND клетки в информацията, която потребителят вижда като файлове.

А когато към FTL, ECC, scrambling и сложната вътрешна организация се добави и хардуерно криптиране, задачата става още по-сложна.

Затова при повреден съвременен SSD най-ценният ресурс често не е самата NAND памет, а възможността да бъде възстановен оригиналният контролер и целият механизъм, чрез който той превръща физическата памет обратно в достъпни данни.

Политика за бисквитките

За да подобрим представянето на уеб сайта си и Вашето потребителско преживяване, понякога използваме HTTP-бисквитки (HTTP cookies), или просто бисквитки. С използването на сайта Вие се съгласявате с това.