안녕하세요 EnIaC 입니다. 요즘 포렌식 공부하랴 시스템 공부하랴 법 공부하랴 학교 준비에

정말 바쁜 삶을 살고 있네요... 그래도 포렌식 공부에 대해서는 블로그로 기록을 남겨야할 것 같아 이렇게 남깁니다. 저도 사람인지라 잊어버릴때가 있거든요. 그리고 저같이 국내 자료보단 해외 자료 90% 이상으로 의존하시는 분들을 위해 직접 포렌식 공부 일지(?) 를 남겨봅니다.



HDD, who are you?

포렌식을 하기에 앞서 우리는 포렌식을 할 대상을 먼저 알아야 합니다. 그중 하나가 HDD 입니다. 하드디스크는 가장 범용적으로 사용되는 저장장치이며 앞으로 배워 나가야할 파일시스템 포렌식 이론에서 대부분을 차지하게 될 내용입니다. 우리가 알고 있는 하드디스크는 여러가지의 종류가 있겠지만 대부분 이렇게 생겼을것 입니다.


[그림 1-1. 하드디스크]


우린 이렇게 생긴 저장 장치를 씹고 뜯고 맛보고 즐길 예정입니다.(?) 그럴려면 하드디스크가 어떤 방식으로 작동하며 OS 와 상호 작용을 어떻게 하고 또 저장장치에 데이터가 어떤 단위로 기록이 되는지 알아야 합니다. 아래의 [그림 1-2] 를 보시길 바랍니다.



[그림 1-2. HDD Detail]


실제 하드디스크를 뜯어보면 정말 이렇게 생겼습니다. 물론 연결 방식에 따라 조금씩 모양은 다르겠지만 구성요소는 거의 동일합니다. 하드디스크는 아주 간단하게 말하자면 가장 중심 축인 스핀들, 데이터를 기록하는 플래터, 읽고 쓰는 헤드, 뱡향을 지시하고 움직이는 액츄에이터 이렇게 핵심 장치로 이루어져 있습니다. 위 4가지만 정확히 알아두시면 나중에 굳이 포렌식이 아니더라도 다른 곳에서도 여러모로 쓸모 있으리라 생각합니다. 자세한 내용은 아래에서 알아보도록 하겠습니다.



1. 플래터 (Platter)


[그림 2-1. 플래터(Platter)]


[그림 2-1] 에 보이는 것 처럼 플래터는 원형 판을 뜻합니다. 흡사 CD/DVD 처럼 생긴 이 플래터는 하나가 아닌 여러 곂으로 존재하며 한면이 아닌 양면을 모두 사용합니다. 또한 여러개의 플래터를 읽고 쓰기 위해 헤더 또한 여러개 입니다. 플래터는 비자성체인 비금속(알루미늄) 원판(disk) 표면에 자성체인 산화금속 막을 양면에 도장(coating)한 것입니다. 이 산화금속 막을 논리적으로 나누고(partitioning) 위치를 지정(formatting)하면 정보를 저장할 수 있게 됩니다.




2. 스핀들 (Spindle)

[그립 2-2. 스핀들 (Spindle)]


스핀들은 하드디스크에 있어서 가장 중요한 부분이기도 합니다. 스핀들이 돌아가지 않으면 하드디스크는 작동할 수 있는 기초가 사라지는 것 입니다. 스핀들은 플래터가 회전할 수 있도록 모터와 직접 연결된 축 입니다. 스핀들은 4개의 볼트와 1.25" 크기의 고정용 비 금속판을 사용하여, 플래터를 축에 단단히 고정합니다. 스핀들에 여러 장의 플래터를 설치할 때는 플래터 사이에 지름 1.25" 두께 1/8"의 스페이서(spacer)를 넣어 함께 고정합니다. 플래터를 일정한 속도로 회전시키는 장치인 모터가 있고, HDD용 모터는 스핀들에 직접 연결되어 있기 때문에 '스핀들 모터'라고도 부릅니다. 




3. 해드 (Head)

[그림 2-3. 헤드 (Head)]


헤드는 플래터 표면에 코팅된 장성체를 자화/소거하여 정보를 읽기/저장/삭제(Read/Write/Delete) 하는 장치 입니다. 일반적으로 헤드의 수는 플래터 수의 두배 입니다. 한정의 플래터는 두 개의 면이 있으므로 각면에 하나씩 즉, 2개의 헤드가 필요하기 때문입니다. 따라서 3장의 플래터로 구성된 HDD 에는 모두 6개의 헤더가 필요합니다. 



4. 헤드 구동 장치 (Actuator)

[그림 2-4. 헤드 구동장치 (Actuator)]


사실 국내에서도 '헤드 구동장치' 라는 단어 보단 '엑츄에이터' 라고 많이 부릅니다. 그래도 이름은 있으니 적어 뒀습니다. 여튼 이 엑츄 에이터는 헤드를 움직이는 장치라고 보시면 됩니다. HDD 회로 기판으로부터 제어 신호를 받고 엑츄에이터용 구동장치는 헤드가 부착된 암(Arm) 을 지정한 위치까지 이동 시킵니다. 헤드를 움직이는 구동장치는 Linear Motor(리니어 모터, 선형모터)를 사용하는데, 이 모터는 수평으로 선 운동을 하게 되어있습니다. 헤드가 부착된 암(Arm) 과 그 반대편의 코일이 감긴 모터 부분은 서로 연결되어 있으며 그 중앙에는 축이 있어 각기 반대 방향으로 움직이게 설계 되어 있습니다. 선형 모터가 왼쪽으로 움직이면 헤드는 오른쪽으로 이동하게 됩니다.



5. 카트리지 (Cartridge)

카트리지는 플래터, 스핀들 모터, 헤드, 액츄 에이터를 밀봉하는 알루미늄 주물(diecast) 케이스를 말합니다. 카트리지는 내부의 정밀 부품(특히 헤드와 플래터)에 먼지나 기타 이물질이 들어가지 않도록 완전히 밀폐하며 위 판과 아래 판 사이에 고무줄을 넣어 진동을 방지합니다. 카트리지 재질로 알루미늄을 사용하는 이유는 가공하기 쉽고 모터에서 발생한 열을 빠르게 전도하여 열처리에 좀더 유리하기 때문입니다.




Final. 하드디스크 구동 절차


최종적으로 하드디스크의 구동 절차는 아래와 같습니다.


1. +5VDC, +12VDC 전원 공급 ( power 스위치 on ) 

 2. 하드디스크 자체에서 공급 전원이 이상이 없는가 확인합니다.

규정치 보다 높거나 낮은 상태 아니면 불안정한 공급 상태 등을 확인하여 이상이 있을 경우 동작을 차단합니다. 

 3. 하드디스크 자체 진단 power 를 포함한 불안정한 상태가 없는가 확인. 확인 후 이상이 없으면 전체를  reset 시킵니다

 4. spindle motor start 명령을 보냅니다. 

 5. spindle motor가 회전을 시작하고 약 1,000 rpm 정도 도달하면 head가 flying을  시작합니다.

      수초 이내에 정상 rpm에 도달하며 head는 정상 flying height를 유지합니다. 

 6. 정상 speed를 확인한 spindle motor control회로에서 drive control 회로로  

      spindle ready신호를 보냅니다. 

 7. head가 landing zone에서 disk의 out쪽으로 움직이며 position calibration 및 

      필요한 data( servo, u-Code, special disk info. ) 를   pick up 합니다. 

 8. head를 track 0로 옮기고 head가 track 0에 있음을 control부에 알립니다. 

 9. head가 움직이지 않고 seek이 완료 되었음 ( seek complete )을 control 부에 알립니다. 

10. 모든것이 완료되어 정보를 저장하고 주고받을 수 있는 Ready 상태가 됩니다.



다음 2강에서는 데이터 기록 단위에 대해 알아보도록 하겠습니다.


WRITTEN BY
EnIaC
WhiteHackerGroup 『LockDown』 EnIaC 입니다.

,