[사이버 탐험 : 보안의 첫걸음] 파일을 삭제하면 정말 사라질까?
파일 삭제의 원리
우리가 파일을 삭제하고 휴지통을 비우면 파일이 완전히 사라질까요?
사실 그렇지 않습니다. 😊
![그림 1. [Delete 이미지]](/images/323304_251125_image1.png)
컴퓨터에서 파일을 삭제한다는 건 실제로 파일 데이터 자체를 완전히 지우는 것이 아니에요.
대신 컴퓨터는 단순히 “이 공간은 이제 사용해도 됩니다!”라고 표시만 해두고, 실제 데이터는 그대로 하드디스크나 SSD에 남아 있게 됩니다.
왜 복구가 가능할까?
보통 파일을 삭제하면 컴퓨터는 파일 이름, 위치 정보 등과 같은 메타데이터만 지우기 때문에, 실제 파일 내용은 디스크에 그대로 남아 있어요.
복구 프로그램은 바로 이 원리를 이용해서 파일 목록에는 없지만 저장 공간에 실제로 존재하는 데이터를 찾아내서 되살린답니다.
그렇다면, 이 공간에 다른 데이터가 저장된다면 어떻게 될까요?
그 공간을 덮어쓰게 되는 순간, 삭제했던 파일은 복구가 매우 어려워집니다. 😱
Windows 휴지통의 비밀
파일을 삭제하면 먼저 휴지통으로 이동하게 돼요.
Windows에서 휴지통은 실제로 각 드라이브의 루트 디렉터리에 숨겨진 $Recycle.bin 이라는 폴더예요.
![그림 2. [$Recycle.bin과 SID 폴더]](/images/323304_251125_image2.png)
명령 프롬프트를 관리자 권한으로 실행한 후, 다음 명령어를 입력해보세요.
dir C:\$Recycle.bin /a
이렇게 하면 휴지통 폴더가 보일 거예요!
참고로, /a 옵션은 숨김 파일과 폴더를 모두 표시하는 옵션이에요.
$Recycle.bin 폴더 안에는 각 사용자별로 SID(Security Identifier) 형식의 하위 폴더가 있어요.
여기서 S-1-5-21로 시작하는 긴 문자열이 바로 사용자 SID예요. 각 사용자가 삭제한 파일은 자신의 SID 폴더 안에 저장돼요.
파일 이름 변경 방식
파일을 휴지통으로 보내면 원래 이름이 $R로 시작하는 임의의 이름으로 변경돼요.
이렇게 이름이 바뀌는 이유는 같은 이름의 파일이 여러 번 삭제될 수 있기 때문에 충돌을 방지하기 위해서이기도 하고, 파일의 원래 정보는 함께 생성되는 $I 파일에 저장되기 때문이기도 해요.
$I 파일에는 원래 파일의 이름, 원래 파일의 경로, 삭제된 시간, 파일의 크기 등과 같은 메타데이터가 기록되어 있어요.
휴지통에서 파일을 복원할 때 Windows는 이 $I 파일을 읽어서 원래 위치와 이름으로 되돌려주는 거랍니다. 🧐
실제로 확인해볼까요?
![그림 3. [휴지통의 $I 파일 목록]](/images/323304_251125_image3.png)
![그림 4. [휴지통의 $R 파일 목록]](/images/323304_251125_image4.png)
cd C:\$Recycle.bin\[사용자SID]
dir
$I와 $R로 시작하는 파일 쌍이 보이는 것을 확인할 수 있어요.
파일 복구 실습
설명만으로는 감이 잘 오지 않을 수 있으니, 이번에는 직접 파일을 삭제하고 복구해볼게요!
들어가기 전에, 파일 복구 실습에 사용될 도구인 Recuva(레쿠바)를 먼저 소개해드릴게요.
Recuva 소개
Recuva는 Piriform(CCleaner 개발사)에서 만든 파일 복구 전용 프로그램으로,
누구나 쉽게 삭제된 파일을 스캔하고 복원할 수 있는 GUI 도구예요.
⚠️ 실습 전 주의사항
이 실습은 본인의 파일에서만 진행해주세요. 다른 사람의 파일을 무단으로 복구하거나 열람하는 것은 개인정보 침해에 해당할 수 있습니다.
실습 진행하기
다운받았다면 이제 본격적으로 실습하러 가볼게요!
![그림 5. [삭제할 Hello.txt 예시 파일]](/images/323304_251125_image5.png)
저는 Hello.txt라는 파일을 만들어서 바탕화면에 저장할게요.
파일을 삭제하고, 휴지통도 완전히 비워주세요!
휴지통까지 모두 비웠다면, 이제 Recuva를 실행해주세요. 😊
파일 형식 설정
![그림 6. [Recuva 파일 형식 설정]](/images/323304_251125_image6.png)
파일 형식은 All Files로 선택해주세요.
파일 타입을 지정하면 놓치는 경우도 있기 때문에, 저는 스캔 후 파일 확장자로 따로 필터링할게요.
파일 경로 설정
![그림 7. [Recuva 파일 경로 설정]](/images/323304_251125_image7.png)
파일 위치는 I’m not sure를 선택해주세요.
물론 바탕화면에 저장한 걸 알고 있지만, 저는 혹시 모르니 컴퓨터 전체에서 검색해볼게요. 😉
스캔 시작
![그림 8. [Recuva 스캔 준비]](/images/323304_251125_image8.png)
여기까지 따라왔다면 Start를 눌러 주세요!
스캔 결과 확인
![그림 9. [Recuva 스캔 결과]](/images/323304_251125_image9.png)
그러면 이렇게 삭제된 파일들이 쭉! 나올 거예요.
- 🟢 초록색 원은 복구 가능성이 높다는 의미예요.
- 🟠 주황색 원은 복구 가능하지만 일부 손상될 수 있다는 의미예요.
- 🔴 빨간색 원은 복구가 어렵다는 의미예요.
💡 Tip: 파일 이름이 다를 수 있어요!
삭제된 파일을 찾을 때, 원래 파일 이름과 다르게 표시될 수 있습니다. 예를 들어 ‘Hello.txt’가 ‘$R123456.txt’ 같은 임의의 이름으로 보일 수 있어요.
앞에서 설명했듯이, 이는 Windows가 파일을 휴지통으로 보낼 때 $R로 시작하는 임의의 이름으로 변경하기 때문입니다. 원래 파일 정보는 $I 파일에 저장되지만, 휴지통을 비우면 이 메타데이터도 함께 삭제되기 때문에 복구 프로그램이 원래 이름을 찾지 못할 수 있어요.
또한 스캔 결과에 $Recycle.bin 경로의 파일들이 많이 나타날 텐데요, 이것들은 휴지통에 있던 파일들이에요. 휴지통을 비웠더라도 실제 데이터는 남아 있기 때문에 복구 프로그램이 찾아낼 수 있는 거랍니다!
파일을 찾을 때는 파일 경로(Path)나 수정한 날짜(Modified)를 참고해서 찾아보세요!
여기서 우리가 아까 삭제했던 파일을 찾아주세요.
파일 복구하기
![그림 10. [Recuva가 찾아낸 $R 파일]](/images/323304_251125_image10.png)
파일을 찾았다면 선택하고 Recover… 버튼을 눌러주세요.
![그림 11. [Recuva 저장 위치]](/images/323304_251125_image11.png)
저장 위치를 바탕화면으로 설정하고 확인을 눌러주면 됩니다!
복구 결과 확인
![그림 12. [Recuva로 복구된 파일]](/images/323304_251125_image12.png)
그럼 이렇게 복구가 완료돼요!
![그림 13. [Recuva로 복구된 파일 내용]](/images/323304_251125_image13.png)
짠! 파일 내용도 그대로 복구가 잘 되었네요!
정말 놀랍지 않나요? 휴지통을 분명히 비워줬는데도 파일이 돌아왔어요 😉
복구 여부를 결정하는 요인
사실 삭제된 파일을 복구할 수 있는지는 몇 가지 요인에 따라 달라져요.
1. 시간
파일을 삭제한 지 얼마나 됐는지가 정말 중요해요.
삭제 후 시간이 오래 지날수록 그 자리에 새로운 데이터가 덮어씌워질 가능성이 높아지거든요.
그래서 파일을 실수로 지웠다면 최대한 빨리 복구를 시도하는 게 좋아요.
2. 디스크 사용량
삭제 후에 컴퓨터를 얼마나 많이 사용했는지도 중요해요.
새로운 파일을 많이 저장하거나 프로그램을 설치할수록 삭제된 파일의 공간이 덮어쓰여져서 복구가 어려워져요.
혹시라도 파일을 실수로 지웠다면 가능한 한 컴퓨터 사용을 자제하는 게 좋답니다.
3. 파일 크기
큰 파일일수록 디스크의 여러 영역에 나눠져 저장되기 때문에, 일부가 덮어쓰여질 확률이 높아져요.
그래서 큰 파일은 부분적으로만 복구되거나, 완전히 복구되더라도 파일이 손상되어 열리지 않을 수도 있어요.
4. 저장 장치의 종류
하드디스크는 비교적 복구가 쉬운 편이지만, SSD는 조금 까다로워요.
SSD는 ‘TRIM’이라는 기능이 있어서 삭제된 데이터를 자동으로 완전히 지워버리거든요.
이 부분은 아래에서 더 설명해 드릴게요!
파일 완전 삭제
완전 삭제가 필요한 이유
개인정보가 포함된 파일이나, 회사의 기밀 문서, 또는 중고로 컴퓨터를 판매하기 전 디스크의 모든 데이터를 완전히 지워야 할 때는 파일을 완전하게 삭제해야 해요.
앞서 실습에서 보셨듯이, 일반적인 삭제만으로는 파일이 언제든 복구될 수 있기 때문이죠 😧
그렇다면 저장 장치 종류에 따라 ‘완전 삭제’는 어떻게 달라질까요?
저장 장치별 삭제 방식
HDD (Hard Disk Drive)
![그림 14. [HDD]](/images/323304_251125_image14.png)
HDD(Hard Disk Drive)는 안에 돌아가는 플래터에 자성을 기록하는 방식으로 데이터를 저장해요.
그래서 파일을 삭제해도 실제 데이터는 그대로 남아 있고, 이름만 지워질 뿐이라 복구가 가능합니다.
따라서 HDD에서 중요한 파일을 완전히 지우려면 파일이 저장되어 있던 같은 위치를 새로운 데이터로 덮어쓰는 작업이 필요해요.
덮어쓰기를 하면 기존 자성 흔적이 사라지기 때문에 복구가 어려워지는 거죠.
(과거에는 여러 번 덮어쓰기를 권장했지만, 현대 HDD는 1회만으로도 충분해요.)
SSD (Solid State Drive)
![그림 15. [SSD]](/images/323304_251125_image15.png)
반면 SSD(Solid State Drive)는 반도체 칩에 전기적으로 데이터를 저장하는 방식이에요.
SSD는 ‘TRIM’이라는 기능을 통해, 삭제된 파일이 있는 공간을 자동으로 정리해버립니다.
TRIM 명령이 실행되면 복구가 거의 불가능해요.
하지만 TRIM이 항상 바로 실행되는 건 아니라서, TRIM이 되기 전이라면 복구될 가능성도 있어요.
그래서 HDD든 SSD든 중요한 파일은 완전 삭제 프로그램을 사용하는 게 가장 안전합니다.
그럼 이제 직접 파일을 완전히 삭제하는 실습을 해볼까요?
파일 영구 삭제 실습
이번에도 실습에 들어가기 전에 도구를 먼저 다운받아줄게요.
이번에 사용할 도구는 바로 Eraser 이라는 도구예요.
Eraser 소개
Eraser는 무료로 사용할 수 있는 오픈소스 파일 완전 삭제 도구예요.
여러 가지 덮어쓰기 방식을 지원해 사용자가 원하는 수준에 맞춰 데이터를 안전하게 지울 수 있습니다.
![그림 16. [우클릭 메뉴에 추가된 Eraser 옵션]](/images/323304_251125_image16.png)
설치하면 이런식으로 Windows의 우클릭 메뉴에 ‘Erase’ 옵션이 추가되기 때문에, 파일을 우클릭해서 바로 삭제할 수 있는 점도 정말 편리해요.
또한 정해진 시간에 자동으로 데이터를 지워주는 예약 삭제 기능도 제공한답니다.
실습 진행하기
![그림 17. [Eraser 실행 화면]](/images/323304_251125_image17.png)
다운받으셨다면 Eraser를 실행해주세요!
![그림 18. [삭제할 Hello.txt 예시 파일]](/images/323304_251125_image18.png)
이번에는 Hello.txt를 컴퓨터에서 완전히 삭제해볼게요.
작업 생성하기
![그림 19. [Eraser 작업 스케줄 화면]](/images/323304_251125_image19.png)
Erase Schedule 창에서 마우스 오른쪽 버튼을 눌러주세요. New Task 메뉴가 보이면 클릭해주세요!
파일 선택하기
![그림 20. [Eraser 작업 설정 창]](/images/323304_251125_image20.png)
Add Data를 눌러서 삭제할 파일을 선택해줄게요.
![그림 21. [Eraser 파일 선택 화면]](/images/323304_251125_image21.png)
Browse를 눌러서 삭제할 파일을 찾아주세요!
![그림 22. [Eraser 파일 선택 완료]](/images/323304_251125_image22.png)
저는 Hello.txt를 삭제해줄 거예요. 삭제할 파일을 선택했다면 OK를 눌러주세요.
삭제 실행하기
![그림 23. [Eraser 작업 실행(Run Now)]](/images/323304_251125_image23.png)
그 다음으로 Run Now를 눌러 주시면 삭제가 진행됩니다!
삭제 결과 확인
![그림 24. [Eraser 작업 완료 화면]](/images/323304_251125_image24.png)
짠! Status가 ‘Completed’로 표시되면, 해당 파일은 완전히 삭제된 상태예요.
![그림 25. [완전 삭제 후 Recuva 검색 결과]](/images/323304_251125_image25.png)
이제 정말 완전히 지워졌는지 확인해볼까요? 다시 Recuva를 실행해보세요.
분명 방금 삭제했고, 바탕화면에서도 사라진 것을 확인했는데도 Recuva에서 아예 찾을 수 없어요!
일반 삭제와 달리, Eraser로 완전 삭제한 파일은 복구 프로그램으로도 찾을 수 없답니다. 😉
파일 삭제와 복구에 대해서 다뤄봤는데, 재미있으셨나요?
생각보다 컴퓨터의 세계는 훨씬 더 흥미롭지 않나요? ✨
오늘을 마지막으로 사이버 탐험 시리즈가 마무리되었어요.
4편의 여정이 여러분께 유익하고 재미있는 시간이 되었기를 바랍니다!
그동안 함께해 주셔서 정말 감사드립니다! 🥰
참고자료
- Pinterest. (n.d.). [Image pinned on Pinterest].
https://kr.pinterest.com/pin/375346950211722429/ - Pinterest. (n.d.). [Image pinned on Pinterest].
https://kr.pinterest.com/pin/220183869252419681/ - Whitesnake1004 (2020-02-15). “윈도우 디스크 에러 검사(CHKDSK) 사용법 및 옵션 정리”. Tistory.
https://whitesnake1004.tistory.com/273