인프런 커뮤니티 질문&답변

jeb the sheep님의 프로필 이미지
jeb the sheep

작성한 질문수

디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)

NTFS 백업본과 관련하여 질문이 있습니다.

해결된 질문

작성

·

150

0

안녕하세요 선생님 이번 강의를 들으면서 NTFS의 BR의 백업본과 관련하여 질문이 있습니다.

아래 상황은 먼저 NTFS 파일 시스템을 사용하는 단일 파티션이라는 가정을 하고 말씀 드리겠습니다.

강의 [Autopsy]Autopsy를 이용한 파티션 복구에서 NTFS의 BR의 백업본이 HxD로 봤을 때 맨 마지막 섹터에 아마 없을 것이고 중간에 끝났을 것이라고 하신 이유가 혹시 앞에서 혹은 뒤에서 저장될 수 있는 MFT 때문에 그런건가요?

(만약 위 사실이 맞다면 MFT가 BR 다음 부터 저장이 된다면 HxD로 맨 마지막 섹터를 보면 BR의 백업본이 존재하는 것인지도 궁금합니다.)

답변 1

0

nstyxn님의 프로필 이미지
nstyxn
지식공유자

안녕하세요 jeb the sheep님!

NTFS BR의 백업본이 처음에 공부하시기에는 많이 헷갈리시죠?

우선 아시다시피, NTFS BR의 백업본은 [해당 파티션의 마지막 섹터]에 위치하게 됩니다.

여기에서 [해당 파티션의 마지막 섹터]라는게 정말 중요한데 헷갈리기도 쉬운 부분이거든요.

 

FAT의 경우 [무조건 BR의 6번째 뒤 섹터]라고 명확한데 NTFS는 그렇지가 않으니까요.

 

말씀하신 MFT의 경우 해당 파티션의 데이터 영역 어느곳에도 존재할수가 있습니다.

우선은 MFT의 저장위치와 BR의 백업 섹터의 위치는 상관이 없다라고 생각해주세요!

중요한건 NTFS 파티션의 총 섹터수가 중요하다라고 생각을 해주세요.

 

우리가 알고 있듯이 NTFS 파티션의 BR 백업은 해당 파티션의 마지막 섹터에 우치합니다.

예를 들어서, 하나는 1GB, 다른 하나는 2GB의 용량을 가진 2개의 USB가 있고, 각각의 섹터수는 100개/200개라고 가정을 해볼게요.(물론 단일파티션이고, 파일시스템은 NTFS라고 가정)

1번 USB = 1GB = 섹터수 100 / 2번 USB = 2GB = 섹터수 200

이런 경우, 우리가 배웠던대로 아주 단순하게 생각하면

1번 USB의 BR = 0번섹터 / BR의 백업섹터 = 99번 섹터

2번 USB의 BR = 0번섹터 / BR의 백업섹터 = 199번 섹터

이렇게 되겠죠?

그렇게 되면 너무 좋은데, 문제가 있습니다 ㅜ_ㅜ

 

1) 단일 파티션이 아닌경우

하나의 저장장치(HDD, SSD, USB 등)에 여러개로 파티셔닝 된 경우

- 만약 USB 하나가 있고, 이 기기의 총 섹터수가 총 100개라고 가정해볼게요(용량은 신경쓰지마세요~)

첫번째 파티션이 NTFS이고, 이 파티션이 사용하는 섹터는 0번~30번

두번째 파티션이 FAT32이고, 이 파티션이 사용하는 섹터는 31번~60번

세번째 파티션이 FAT32이고, 이 파티션이 사용하는 섹터는 61~99번

이럴 경우에 MBR등은 다 무시한다고 하면

첫번째 파티션의 BR은 0번에 있고, BR의 백업섹터는 30번에 있을겁니다.

다만 이 USB를 이미징해서 HxD로 봤을때는 섹터순서대로 나오니까 위의 파티션 순서대로 쭉 나올거예요

그런 상황에서 HxD에서 마지막 섹터로 가서 보면 첫번째 파티션의 BR 백업을 찾을수가 없겠죠?

위의 예시대로라면 HxD에서 확인한 마지막 섹터는 세번째 파티션의 마지막 섹터니까요.

두번째 파티션도 한번 볼까요? 두번째 파티션은 FAT32이고, BR은 해당 파티션의 가장 첫번째 섹터니까

BR=31번섹터이고, BR의 백업섹터는 [무조건 BR기준 뒤로 6번째 섹터]니까 37번 섹터겠죠?

FAT32의 백업섹터를 찾는건 아주 쉽습니다. 해당 FAT32의 파티션 BR이 있는곳만 찾으면 자동으로 찾아지니까요.

 

위 첫번째 NTFS의 경우처럼 'NTFS의 BR 백업은 마지막에 있다고 했어' 라는 말은 HxD에서 봤을때 마지막

섹터를 의미하는것이 아닌 해당 파티션의 마지막 섹터를 의미합니다.

그걸 정확히 알기 위해서는, 파티션의 첫번째 섹터인 BR의 위치만 알면 다 해결되던 FAT32와 달리

NTFS에서는 해당 파티션의 시작(BR)섹터와 함께 추가로 해당 파티션의 총 섹터수도 알아야

백업섹터를 구할수가 있습니다.

(BR의 섹터 + 총 섹터수 - 1 = [해당 파티션의] 마지막섹터 !)

여기까지 이해되실까요?

이해를 돕기 위해서 굳이 한 번 더 억지로 예를 들자면

Chapter1 ~ Chapter5 까지로 나눠져있는 교과서가 있는데,

중간고사 시험범위를 [Chapter 1 '마지막'까지] 라고 공지를 했는데

'마지막'만 생각이 나서 Chapter 5의 끝부분만 공부하는 경우 !

예가 너무 억지일까요? -_-; 아무튼 마지막은 마지막인데 어느곳의 마지막인지를 정확히 구분을 하셔야해요

 

2) 단일파티션인 경우

1)에서는 다중파티션일 경우를 설명드렸어요. 저것만 보면

"그래 파티션 여러개니 그럴수있지 이해됐어, 그런데 단일 파티션은 무조건 끝에 있어야하는거 아니야?"

라고 생각하실수 있습니다.

그런데! 저장장치 1개의 파티션이 하나만 있다고해도

해당 파티션의 마지막섹터가 저장매체의 총 섹터중 마지막 섹터와 같은 말은 아닙니다 !

조금 다른 얘기긴한데 굳이 예를 들어보면

우리가 USB든 HDD든 저장장치를 구입해서 사용하려면 그 전체용량을 다 사용할수가 없죠?

예를 들어 16GB USB라고 해서 샀는데, 우리가 실제로 저장공간으로 사용할수 있는 공간은 16GB보다

작습니다. 15GB든 14GB든 어쨌든 16GB가 아니죠 ?

어떤 파티션이든 파일시스템이 필요할테고 그 파일 시스템의 구성요소들이 기본적으로 담겨있을 공간이 필요하다보니 그 부분은 제외하고 나머지 공간을 우리가 쓰기때문에 16GB 다 사용할수 없다라고 가볍게 생각하시면 되는데

이런 점과 비슷하게 생각해볼때, 여기에서 중요한건 [하나의 파티션이라해도 그 저장장치의 전체를 다 사용하는건 아니다] 라는 점이예요.

 

이걸 다시 표현해보면 16GB USB가 1개 있고, 이 기기의 총 섹터수가 100개이며, 파티션은 NTFS 단일 파티션이라고 가정해보겠습니다.

그렇다면 BR이 있는 섹터는 0번섹터 이고, 백업은 파티션의 마지막이라고 했는데 단일파티션이니 당연히 99번섹터가 마지막이라 생각할수가 있겠죠.(MBR등 모두 무시한다고 가정)

 

그런데 위에 [하나의 파티션이라해도 그 저장장치의 전체를 다 사용하는건 아니다]라는 말을 적용해보면

단일 파티션인 NTFS 파티션은 총 100개의 섹터중 0번~94번 정도만 사용할 한다는 뜻입니다.

그렇다면 95~99번 섹터가 남아있는데 여긴 할당받지 못한 비할당영역이거나, 뭔가 다른 용도가 있다는거겠죠.

그렇다면 NTFS파티션은 0번~94번섹터이니, 쉽게 보면 BR은 0번이고 BR백업은 94번이겠죠?

이렇게 접근을 해주셔야해요.

파티션이 하나밖에 없다고해도 HxD에서 맨 마지막에 있는 섹터가 해당 파티션이 아닐수 있거든요.

 

그래서 결.론.은.

NTFS 파티션의 BR 백업 섹터는 마지막 섹터에 존재한다. 단 그 마지막이 전체의 마지막이 아니다 !

반드시 백업섹터의 위치를 알고자하는 해당 파티션의 BR섹터와 총섹터수를 알아야 정확하게 찾을수 있다!

 

 

수강생 여러분들이 질문을 주시면 항상 필요 이상으로 답변이 길어지는걸 많이 느끼면서 원인이 뭘까 생각을 해봤는데, 아마 제가 설명을 잘 못해서인것 같습니다;

간략하지만 이해가 한 번에 될 수 있게 글을 쓸 수 있으면 좋을텐데 그렇지 못한거 같아서 죄송합니다 ㅜ_ㅜ

 

혹시 이해가 잘 안되시면 얼마든지 더 질문주세요! 이해 되실때까지 설명해드리겠습니다 !

 

 

 

jeb the sheep님의 프로필 이미지
jeb the sheep
질문자

아닙니다 답변 덕분에 고민 되던 부분이 시원하게 잘 해결 되었습니다 정말 감사드립니다!

jeb the sheep님의 프로필 이미지
jeb the sheep

작성한 질문수

질문하기