일본 데이터 복구 협회가 진행한 데이터 복구 활동 발표회의 내용을 간추렸습니다.
현재 SSD의 출하량은 크게 늘어나고 있습니다. 2015년에는 전세계 8천만대도 팔리지 않았으나 2018년에는 1억 6715만대로 늘어났습니다. 하드디스크는 4억 6883만대에서 3억 7929만대로 감소.
데이터 복구의 경우 단순한 SSD 뿐만 아니라 플래시 메모리를 탑재한 제품의 의뢰가 갈수록 늘어나고 있습니다. 메모리카드나 스마트폰, 태블릿이 해당되겠군요.
플래시 메모리는 하드디스크와 구조가 완전히 다릅니다. 하드디스크는 섹터에 순서대로 데이터를 기록하지만, 플래시 메모리는 기록할 때마다 컨트롤러가 위치를 판단합니다.
낸드 플래시 메모리는 메모리 셀 어레이의 워드 라인에 데이터를 기록합니다. 비트라인이 워드라인의 수를 파악하 컨트롤러에 정보를 보내며, 데이터 삭제는 그 블럭 단위로 진행합니다.
플래시 메모리는 하드디스크처럼 특정 위치의 데이터만 재기록하는게 불가능하며 페이지 단위로 기록합니다. 특정 부분에 기록을 많이 하면 플래시 메모리가 열화되기 때문에, 모든 부분을 균일하게 사용하도록 컨트롤러가 개입합니다.
하나의 페이지를 기록하는데 쓴 데이터의 양이 너무 적어도 페이지 전체의 데이터 리프레시가 이루어집니다. 모든 데이터를 0으로 기록해도 플래시 메모리 내부에는 0이 아닌 부분이 생길 수 있습니다. 재기록이 필요 없는 부분도 컨트롤러가 임의 재기록하니까요.
플래시 메모리의 열화를 막기 위해 불필요한 데이터를 삭제하고 페이지도 정리합니다. 최근 SSD와 운영체제는 자체 관리 기능이 뛰어나 웨어 레벨링과 트림이 즉시 진행되기에, 1시간이 지나면 데이터가 상당 부분 교체됩니다.
또 슬림형 PC는 크기를 줄이기 위해 기판에 직접 플래시 메모리를 납땜하는 경우가 많습니다. 그래서 데이터 복구와 시스템 관리가 어렵습니다.
바이오스가 UEFI로 바뀐 것도 플래시 메모리의 복구에 어려움을 줍니다. 바이오스는 하드디스크의 마스터 부트 레코드 MBR을 읽어 논리 볼륨을 얼마나 쓸지를 결정하고, 커널을 부팅한 다음 부트로더가 OS 커널을 불러오고 메인보드 드라이버를 정하고 OS를 부팅합니다.
UEFI는 EFI 파티션을 찾아서 부팅합니다. 일반 바이오스는 MBR이 하드디스크의 가장 앞에 있어야 했지만 UEFI는 EFI 파티션이 뒤에 있어도 바로 부팅이 됩니다. 그래서 MBR의 복구 방식이 달라질 수밖에 없습니다.
애플의 경우 원래 파이어와이어나 USB 포트로 부팅이 가능하지만, 애플 T2 보안칩을 탑재한 맥은 보안 칩이 포트를 아예 막아버리기에 부팅할 경로가 줄어듭니다. 마이크로소프트 서피스도 마찬가지.
하드디스크도 복구가 어려워졌습니다. SMR(Shingled Magnetic Recording) 기술을 도입하면서 가비지 컬렉션(SSD의 웨어 레벨링) 이후 불필요한 데이터가 삭제되기에 데이터 복원이 어려워집니다.
컨트롤러 부하를 줄이기 위해 4K 네이티브 포맷을 쓰는 SSD는 섹터 당 512바이트에 8개로 구성하는 게 아니라, 4096바이트 개로 구성됩니다. OS가 8개의 512바이트와 1개의 4096바이트를 접근할 때 격차가 발생하는 경우가 생깁니다.
아이폰이나 안드로이드 7 이상 버전에선 파일 포맷 암호화가 진행돼 복구가 불가능합니다. 파일 암호화는 100개의 데이터를 만들 때 100개의 암호화가 진행된 데이터를 만들기 때문입니다.
팩토리 리셋을 하면 스마트폰의 암호화 키도 없어지기에 스마트폰 데이터 복구는 거의 불가능합니다. 하지만 복구가 된다고 사람들을 속이는 경우가 있으니 조심하라고 하네요.
하드디스크는 이게 작동하는지 물리적으로 확인 가능하나, 플래시 메모리는 전기가 통하기나 하는지 알 방법도 없습니다. 그래서 전기적인 파형과 프로토콜 등의 파악이 필요하기에 보다 전문적인 기술이 필요합니다.