SSD 포렌식 불가능하게 만드는 안티포렌식 (오버라이팅, 암호화 등)
HDD(하드디스크) 안전하게 파기하는 방법에 대해 글을 쓴 적이 있었죠. 당시에 SSD에 대해서도 여쭤보신 분이 계셨는데, 나중에 써야지 하다가 엊그제 생각나서 간단하게 포스팅합니다.
그런 목적으로 글을 쓴다기 보다는 다 사용한 SSD를 버리실때 안심하고 종량제 봉투에 버릴 수 있는 목적이라고 봐주세요. (SSD는 일반쓰레기라고 합니다.) 혹은 중고로 판매시 개인정보 유출이 염려되시는 분들에게도 유용할 수 있습니다. SSD 복구 안되게 하는 방법에 대한 내용을 알고싶은 분들에게 유용한 글 입니다.
SSD는 하드디스크에 비해서 구조적으로 포렌식 분석이나 데이터 복구가 어려운 저장매체지만 알고 사용하면 더 안전하게 사용할 수 있으므로 필요한 정보를 공유합니다. 그리고 그 누구도 살릴 수 없는 데이터 삭제 방법이라고 제가 100% 보장할 수 없지만 아래 내용만 알아도 걱정은 하지 않을 정도는 될거라 생각합니다.
SSD는 덮어 씌우기 필요없다?
우선 TRIM에 대해서 간단하게 알고 넘어갈게요. TRIM은 쓰레기 청소부라고 할 수 있습니다. SSD에서 삭제되어 더 이상 사용되지 않는 데이터 블록을 청소하고 새 정보를 기록할 수 있도록 해줍니다. HDD의 조각 모음과 비슷해 보이지만 둘은 다릅니다. 조각 모음은 데이터 조각의 정리, TRIM은 청소의 역할 입니다.
SSD는 HDD와 다르게 플래시 메모리에 저장하는 방식이고, SSD의 불필요한 정보를 정리하기 위해서 주기적으로 작동하는 TRIM 기능만 작동해도 데이터 복구가 불가능하다는 의견이 있습니다.
그래서 TRIM 기능이 작동하지 못하도록 실수로 중요한 데이터를 삭제했을때는 전원을 끄고 SSD를 뽑아서 복구 업체에 맡겨야 한다고도하죠. 그래서 굳이 덮어 씌우기(Overwriting)이 필요 없다는 의견이 많은 이유입니다.
TRIM 확인 방법
- 윈도우 키 누른 후 CMD 입력
- CMD 관리자 권한으로 실행
- fsutil behavior query DisableDeleteNotify 입력
- 아래 이미지처럼 나오는지 확인
‘DisableDeleteNotify’ = 0 이 TRIM 활성화 된 상태입니다. 1은 비활성화.
활성화 하시려면 fsutil behavior set DisableDeleteNotify 0 입력
만에 하나 안되면 SSD 공식 프로그램에 설정 부분이 있는지 확인해보세요.
웨어 라벨링
SSD의 수명을 연장하기 위해 데이터를 디스크의 모든 셀에 고르게 분배하여 기록하는 방식인 Wear Leveling이라는 기술이있는데 이 기술로 인해 데이터 조각들이 분산되기 때문에 파일 복구가 더 어려워지는 부분도 있다고 합니다.
HDD처럼 포맷 – 쓸데없는 파일 저장 – 포맷 이것만 거쳐도 SSD라서 훨씬 더 안전하겠지만, 사람의 심리와 상황에 따라서 불안함이 해소되지 않을 수 있기 때문에 아래의 방식도 참고하세요.
추천하는 기본적인 안티포렌식 몇가지
1. 전체 디스크 암호화
뒷처리 만큼이나 중요한 것이 SSD를 구매했을때 바로 ‘암호화’하는 것입니다. 처음 SSD를 사용하실때 디스크 전체를 암호화로 보호해두면 나중에 많은 노력을 기울이지 않아도 복구가 거의 안되는 수준으로 만들 수 있습니다.
- 암호화 툴 : 윈도우를 사용하신다면 BitLocker 하나만 생각하시면 됩니다. 내가 사용할 SSD 전체를 ‘암호화 된 공간’으로 만들고 내 데이터는 그 안에 저장됩니다.
- 암호화된 상태에서 SSD를 초기화하거나 물리적으로 파괴하면 사실상 복구 가능성이 거의 기대하기가 어렵다고 봐야합니다.
- 비트로커 사용이 안되는 환경이라면 Veracrypt를 활용하시면 됩니다.
2. 안전한 초기화
Secure Erase
Secure Erase 명령은 SSD 제조업체에서 제공하는 기능으로, 디스크의 모든 데이터를 안전하게 삭제하는 방법입니다. Secure Erase는 데이터를 완전히 제거하여 SSD를 초기 상태로 되돌릴 수 있습니다. 일반 포맷보다는 더 안전하다고 평가받습니다.
제조사 프로그램
- 삼성 SSD – 삼성 매지션 소프트웨어에 Data Management – Secure Erase 기능이 있습니다.
- 하이닉스 SSD – SK hynix SSD 디스크 매니저 설치 후 Settings에 Format이 있는데 같은 기능으로 보이긴하지만 확인이 필요합니다.
메인보드(마더보드) BIOS
제품에 따라서 조금씩 다를 수 있습니다. 제가 사용하는 컴퓨터 중 한대에서 아까 테스트했는데 ASUS 기준 UEFI BIOS로 들어가신 후 Tool에 Secure Erase 기능이 있었습니다.
Windows Diskpart
위의 2개 옵션이 둘다 불가능한 상황이라면 윈도우 자체 내장 기능인 Diskpart를 이용해 봅시다.
- 윈도우 키 누른 후 ‘CMD’ 입력 (관리자 권한으로 실행)
- diskpart 입력
- 프롬프트 상태가 DISKPART> 이렇게 변합니다.
- ‘list disk’ 입력 후 나오는 디스크 목록에서 본인이 초기화할 SSD 번호 확인
- select disk [번호]
- Disk [번호] is now the selected disk. 라는 문구가 보입니다.
- clean all 입력 하시면 잠시 후 Diskpart succeeded in cleaning the disk. 라고 나오면 완료.
저는 Diskpart 하나만으로 효과가 확실하지 않다고 생각합니다. 저라면 심리적 안정감을 위해 포맷 한 두번 더 할듯.
3. Overwriting
다시 한번 더 말씀드리지만 기계식 하드 드라이브에서 임의의 데이터를 여러 번 덮어 씌워서 원래 이 자리에 무엇이 있었는지 알 수 없도록 하는 것은 SSD에겐 그렇게 효율적이지 못한 방식입니다.
- 하드디스크의 경우 DoD 5220.22-M 같은 표준을 따라 디스크의 모든 섹터를 여러 번 덮어쓰는 방법을 사용하지만 SSD는 구조 자체가 다르기 때문에 그렇게 확실한 방법으로 권장되진 않습니다.
- TMI : DoD는 미국 국방부(Department of Defense)를 의미합니다. 기밀이 중요한 곳에서 지정한 ‘안전한 데이터 삭제 표준’으로 정부 기관 및 계약 업체들까지 동일하게 이 절차를 따르도록 한다고해요.
- SSD 역시 데이터는 덮어쓰고 삭제하는 방식이 1%라도 복구를 더 어렵게 만드는 것은 사실이기 때문에 걱정이 많이 되시는 분들은 초기화 혹은 포맷 – 복구되어도 상관없는 데이터 덮어쓰기 이 것을 3번 정도 반복하시면 되겠습니다. HDD 안티포렌식에도 보통 3 Pass(3번 덮어쓰는것)를 많이 사용합니다.
이 방법들은 일반적인 사용자의 데이터를 보호하는 데 유용할 수 있지만, 본인이 증거 인멸에 대한 책임을 쳐야할 상황에 따라서 법적 제재를 수반할 수 있으므로 사용 전에 주의가 필요합니다.
안그래도 남아도는 SSD 처분할까 생각중이었는데 좋은 글이네요 잘 봤습니다!
댓글 남겨주셔서 감사합니다!