주호의 공작소
article thumbnail

1. HPA(Host Protected Area)

HPA는 ATA-4 표준에서 추가된 기능이며, 해당 메모리 영역은 HDD에 의해 미리 예약된 영역으로 운영체제(OS) 및 BIOS 통한 접근이 불가능하다. 따라서 일반 사용자에 의해 변경, 수정이 되지 않는 영역이며 하드디스크의 끝에 위치해있고, 하드디스크를 논리적으로 포맷하거나 삭제하더라도 데이터가 보존되는 영역이다. 이 영역은 ATA 명령을 통해 확인 및 설정할 수 있다.

그렇다면 어떤 용도로 사용되는가?

  • 별도의 매체 없이 컴퓨터 운영체제를 설치, 복구하는데 필요한 파일을 저장
  • 노트북 보안 유틸리티를 저장하는 경우
  • 루트킷을 통한 악의적인 용도로 사용
  • 안티 포렌식 행위로써 민감한 데이터를 은닉하기 위해 사용

<HPA 영역이 생성, 확인, 소멸시킬때 수행되는 명령들의 과정>

HPA를 만들고 지우거나 존재 유무를 확인하는 과정에서는 크게 3개의 명령이 사용된다

  • SET_MAX_ADDRESS (EXT) : BIOS를 통해 접근 가능한 최대의 주소를 설정
  • IDENTIFY_DEVICE : BIOS를 통해 접근 가능한 주소의 최대 값을 반환 (HPA, DCO 영역 제외)
  • READ_NATIVE_MAX_ADDRESS (EXT) : 디스크의 물리적 주소의 최대 값을 반환 (DCO 영역 제외)

 

SET_MAX_ADDRESS 명령을 통해 HPA영역을 만들고 SET_MAX_ADDRESS 명령의 입력값을 READ_NATIVE_MAX_ADDRESS 명령의 반환 값으로 사용하게 되면 HPA영역을 정상적으로 복구할 수 있다.

HPA 영역을 탐지하기 위해서 윈도우즈 환경에서는 ATAtool, 리눅스 환경에서는 hdparm를 사용할 수 있다.

 

 

2. DCO(Device Configuration Overlay)

DCO는 HPA와 달리 ATA-6 표준에서 추가된 기능이며, HDD와 같이 저장매체를 여러 사이즈로 제조할 필요 없이 DCO를 통한 하드디스크의 용량을 제한할 수 있다. 또한 반대로 여러 사이즈로 제조된 HDD를 같은 섹터 개수를 가지는 고정된 크기의 HDD로 구성하는 것이 가능하다. 이 또한 숨겨진 영역이므로 사용목적에 따라 악의적인 용도로 사용할 수 있다.

  • ATA-6 표준에서 추가
  • DCO 역시 OS와 BIOS를 통해 접근 불가
  • HDD 제조사에 따라 정의된 특별한 ATA 명령을 통해 접근이 가능
  • 1TB, 500GB, 250GB의 HDD들을 OS, BIOS에서 100GB HDD로 인식할 수 있게 함

<DCO 영역이 생성, 확인, 소멸시킬때 수행되는 명령들의 과정>

DCO영역을 생성할때는 DEVICE_CONFIGURATION_SET 명령을 사용하며, 반대로 삭제할때에는 DEVICE_CONFIGURATION_RESET를 사용한다.

DEVICE_CONFIGURATION_IDENTIFY 명령으로 하드디스크의 실제 크기와 전체 명령어 목록을 반환할수있으며, 이 명령과 IDENTIFY_DEVICE 명령의 반환값이 같다면 해당 하드디스크에는 HPA 영역과 DCO 영역이 존재하지 않는 것이며, 비교를 통해 숨겨진 영역을 확인할수있다.

위 명령들은 ATA 컨트롤러에 따라 달라질수있다.

 

이와 더불어 DCO 생성과 HPA 생성 명령을 순차적으로 하게 되면 HPA영역과 DCO영역이 하나의 하드디스크에 같이 존재할수있다.

<HPA 영역과 DCO 영역이 동시에 존재할시 구조 및 명령어별 반환 값>

Conclusion

포렌식 과정중 증거를 수집하는 과정에서 HDD와 같은 정보저장매체를 수집하는 경우 크게 두가지의 방법을 크게 두가지로 나눌 수 있다. 장비를 이용하여 물리적으로 HDD를 복제하는 경우, 이미징 소프트웨어를 통하여 HDD를 이미징하는경우가 있는데 비트스트림 복제방식의 경우에는 크게 문제가 없으나 OS단에서 진행되는 이미징의 경우에는 HPA, DCO 영역이 존재하는지 확인해보아야 할 것이다.

윈도우 환경에서 이미징을 진행할 경우 HPA와 DCO가 존재한다고 의심이 되거나 확인된 경우, EnCase는 HPA영역과 DCO 영역을 고려하지 않으므로 EnCase 부팅 디스크를 사용하여 증거를 수집하는것이 적절할 것이다.

profile

주호의 공작소

@Juho_H

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!