SSD 저장 장치는 포렌식 복구가 가능합니까?

유명 인물이 경찰 수사 과정에서 노트북에 탑재된 SSD 저장장치를 포렌식 복구로 증거물을 찾을 수 있다는 얘기가 있습니다.

어떤 업체는 90% 복구가 가능하다고 하고, 또 다른 의견은 복구가 불가능하다 라고 이야기를 하여 의견이 분분 합니다.


결론부터 이야기를 하면 SSD 포렌식 복구는 SSD 제조사에 따라서 복구가 될 수도 있고 불가능 할 수도 있습니다.

그렇지만 컴퓨터의 원리 구조를 아는 분들이라면 어떤 SSD를 쓰든간에 포렌식 복구가 절대로 불가능 하도록 만들 수 있습니다.

SSD 포렌식 복구가 왜 불가능 한지 또는 복구가 가능한지 대해서 설명을 하려면,

먼저 SSD 저장장치의 구조에 대하여 이해를 할 필요가 있습니다.



SSD 저장장치의 구조

SSD 저장장치는 크게 3가지 부품으로 구성되어 있습니다.

SSD 저장장치의 구조 (1)

  • 컨트롤러 - 데이터를 전송하도록 해주는 연산장치
  • DRAM - 임시 데이터 보관 장소
  • FLASH - 실제로 보관 되는 저장 장소

컨트롤러가 실질적인 두뇌 역할을 하여 데이터를 저장하거나 수정하는 모든 기능을 담당합니다.

DRAM과 FLASH는 데이터를 저장시키는 공간 역할만 한다고 볼 수 있죠.

예를 들어서, 컴퓨터에 있는 파일을 외장 SSD에 전송할 때 어떤 방식으로 작동 되는지 간단히 설명하자면 아래와 같습니다.

SSD 저장장치 프로세스

  1. 파일을 전송을 받을 때 DRAM 공간에 데이터를 받게 됩니다.
  2. 컨트롤러는 DRAM에 있는 데이터를 FLASH 공간에 알맞은 장소를 찾습니다.
  3. FLASH 저장 공간에 최종적으로 데이터가 남습니다.
  4. DRAM에 있는 데이터는 휘발되어 흔적도 안 남고 완전히 사라집니다.

이러한 일련의 과정을 통해서 SSD에 파일이 저장되는 원리죠.

조금 더 이해하기 쉽게 다르게 비유를 해볼게요.

해외 직구를 할 때 물건이 한국으로 들어옵니다.

    DRAM = 통관 검수 장소
    Controller = 관세청 통관 직원
    FLASH = 물건을 전달 받을 우리 집

이렇게 비유를 하면 좀 더 이해하는데 도움이 되었을거라고 봅니다.


자, 이제 왜 SSD 저장장치는 포렌식 복구가 불가능 할까요?

우선 예전 하드디스크는 물리적 방법으로 데이터를 저장했지만,

SSD는 전자 신호로 0과 1 데이터로만 기록을 하기 때문에 0에서 1로만 바뀌어도 흔적이 완전히 사라집니다.

그리고 Controller 포렌식 복구를 못하도록 일처리를 하기 때문입니다.



SSD 포렌식 복구 불가능 이유

웨어레벨링 (Wear Leveling)

FLASH 메모리는 데이터를 저장할 수 있는 수백만개의 셀(Cell)이 들어있습니다.

낸드 플래시 메모리 현미경 확대 사진
SSD FLASH 메모리 저장 공간을 전자현미경으로 확대한 사진
출처: 히타치 전자 현미경

1개에 셀에는 데이터를 읽기/쓰기 횟수가 한정되어있습니다.

그렇기 때문에 컨트롤러는 FLASH의 수명을 늘리기 위해서 들어온 데이터를 분산 배치합니다.

이를 컴퓨터 공학에서는 웨어 레벨링(Wear Leveling)이라고 부릅니다.

데이터가 여러 장소에 흩어져 있다보니 포렌식으로 복구를 하려고 해도 어느 장소에 데이터가 존재하는지 찾기 어렵습니다. 마치 테트리스 퍼즐처럼 복잡하게 얽힌 형태가 됩니다.

마치 문서파쇄기에 있는 종이들을 일일히 모아서 원본 문서를 찾아야 하는 수준이죠.



가비지 컬렉터 (Garbage Collector)

컨트롤러는 1개의 셀만 사용하지 못하도록 지속적으로 골고루 사용하면서도 필요할 때마다 빠르게 꺼낼 수 있도록 해야합니다.

그렇게 하기 위해선 저장 공간을 수시로 정리해줘야 하죠.

불필요한 데이터가 있으면 수시로 제거를 합니다.

예를 들어서 파일을 삭제 후 남은 썸네일, 캐시 데이터는 더 이상 필요 없겠죠.

이를 윈도우OS가 감지 하여 자동으로 영구히 삭제를 합니다.

가비지 컬렉터 기능은 컴퓨터 작업을 하지 않을 때 자동으로 동작합니다.

노트북 바탕화면 상태
컴퓨터 바탕화면 상태

우리가 컴퓨터를 바탕화면 상태로 아무것도 안하고 놔두면, 조용히 가비지 컬렉터가 켜지면서 데이터 삭제 작업을 진행합니다.

우리 눈에 보이지 않지만 컴퓨터는 일을 하고 있는 중인 것이죠.



TRIM

FLASH 안에 데이터가 균일한 곳에 배치되면서도 뒤죽박죽 꼬여 있는 형태가 되면 안되죠.

그래서 Controller는 최적의 장소에 데이터를 지속적으로 보관하기 위해서 수시로 공간을 정리합니다.

윈도우 드라이브 최적화 디스크 조각 모음

우리가 알고 있는 '드라이브 최적화', '디스크 조각 모음'이 있죠.

이를 컴퓨터 공학에서는 'TRIM'이라고 부릅니다.

TRIM의 영어 단어 뜻 그대로 데이터 공간을 '손질' 합니다.

TRIM 동작 조건

  • 디스크 최적화
  • 파일 삭제 (휴지통 비우기)
  • 포맷


파일을 이동했거나 삭제했다면 그 공간을 다시 사용 할 수 있게 초기화 해버립니다.

그렇게 해야 다음에 새로운 데이터를 받을 준비를 하게 됩니다.

포렌식 복구 업체는 TRIM 작업이 진행된 데이터를 복구 하는 건 사실상 불가능하다고 볼 수 있습니다.

왜냐하면 HDD는 물리적인 기록으로 데이터를 저장하지만 SSD는 0과 1 디지털 신호로만 저장이 됩니다.

TRIM 과정에서 원래 있던 자료는 디지털 신호를 받은 적 없는 상태가 되어버리니까요.

게다가 SSD용량이 점점 커지면서 TRIM 알고리즘은 더 복잡해졌고 포렌식 복구 난이도는 더 어려워졌습니다.



SSD 포렌식 복구가 가능한 이유

앞에서 설명한 TRIM, 가비지 컬렉터, 웨어 레벨링 때문에 포렌식 복구는 절대로 불가능합니다.

그러나 포렌식으로도 복구 가능성이 단 한 가지가 있는데요.

제조사의 컨트롤러 알고리즘입니다.

SSD 포렌식 복구가 가능한 이유

SSD 제조사마다 사용하는 컨트롤러 알고리즘은 제각각입니다.

특히 TRIM 동작 조건은 SSD 제조사의 영향을 많이 받는데요.


그 이유는 제조사마다 SSD 수명을 늘리기 위한 알고리즘이 다르기 때문입니다.

강제로 디스크 조각 모음을 하지 않고 파일 삭제만 했다면, TRIM 동작하지 않을 가능성이 있는 것이죠.

실제로 파일 삭제 후 휴지통 비우기까지 하였는데도 포렌식 복구로 데이터를 찾는 경우도 있습니다.

아래 링크는 실제로 포렌식 복구 관련 연구를 했던 실험 내용입니다.

SSD 포렌식:TRIM 명령 (SSD Forensics:TRIM Command) | FORENSIC-PROOF



포렌식 복구 절대 불가능 하게 하는 방법

파일 완전 삭제

윈도우 파일 완전 삭제 방법

키보드 Shift 키를 꾹 누른 상태로 '삭제'를 진행하면 위의 이미지처럼

"이 파일을 완전히 삭제하시겠습니까?"

알림 창이 뜹니다.

이는 휴지통으로 거치지 않고 삭제하는 방식인데요.

이 방식으로 삭제한 파일은 TRIM이 무조건 동작하게 됩니다.



캐시메모리 삭제

SSD 포렌식 복구 절대로 못하게 만드는 방법

파일을 삭제했더라도 캐시 파일이 남아있는 경우가 있습니다.

썸네일 데이터, 메타 데이터 등등 말이죠. 그것까지 완전히 삭제 해주어야 합니다.

윈도우 설정 - 시스템 - 저장소 - 임시 파일


'임시 파일' 항목을 체크 한 후 '파일 제거'를 실행시켜줍니다.



디스크 최적화 및 조각 모음

마지막으로 강제로 TRIM 동작을 하기 위해서 디스크 최적화 및 조각 모음을 실행시킵니다.

윈도우 디스크 최적화 및 조각 모음
디스크 최적화 까지 걸리는 시간은 30초도 안 걸립니다.

그렇기 때문에 부담 없이 최적화를 진행하면 됩니다.

특정 파일만 지우는 것이 불안하면 포맷을 진행해도 됩니다.



일반 포맷

디스크 포맷을 진행 해본 분은 알겠지만 일반 포맷과 빠른 포맷이 있습니다.

'일반 포맷'을 진행하면 됩니다.

일반 포맷을 진행할 경우 메모리 블록이 모두 0으로 초기화 됩니다.

만약 C드라이브를 포맷하고 싶은 분은 PC 초기화를 진행하면 됩니다.

C드라이브 포맷 방법 (1)

윈도우 설정 - 시스템 - 복구 - PC 초기화

C드라이브 포맷 방법 (2)
모든 항목 제거 체크를 하여 PC를 완전히 초기화 시키면 됩니다.


이렇게 SSD 저장 장치 포렌식 복구 가능성과 복구를 못하게 하는 방법에 대하여 정리 하였습니다.

혹시 본문과 관련하여 관심 있는 분은 아래 내용도 참고하면 좋을 것 같네요~!

댓글