동향

디지털 포랜식을 위한 데이터복원 기술개발동향

1. 개요

 

   전 분야(개인/기업/공공기관/교육기관/군부대 등)의 다양한 컴퓨팅기기에서 대용량 저장장치가 이용되고 있다. 최근에는 500GB~500TB급의 초대용량 저장장치들이 보편화되면서 소실된 데이터 복원에 대한 수요니즈가 증가함에 따라 대용량 하드디스크의 GPT 및 RAID 시스템 관련 핵심기술 개발이 본격화되고 있다. 이처럼 컴퓨팅 기능이 내장된 다양한 저장장치(컴퓨터 하드디스크/스마트폰/IoT 및 웨어러블 기기/PDA/USB 등)에 저장된 데이터 복원기술이 확산되면서 다양한 보안기술 분야의 안정화 기반을 구축해가고 있다. 이를 통해 디지털 포랜식(Digital Forensics : 디지털 증거물을 분석하여 수사에 활용하는 과학수사 기법의 총칭)에서 매우 중요한 역할을 담당하고 있는 저장장치의 데이터관리에 매우 중요한 가치를 부여하고 있다. 대용량 하드디스크의 GPT 및 RAID 시스템 관련 기술개발 및 상용화할 수 있는 데이터 복원 기술(GUID Partition Table(GPT) 분석기술/GPT의 구조 및 엔트리 분석기술/파괴된 RAID 구조 복원기술/HEX Editor를 이용한 16진수로 된 엔트리구조 분석기술 등)은 보안 네트워크의 패킷들을 파일로 복원하여 데이터 유출을 방지·검출하며, 보안 사고에 대비한 네트워크 포렌식(Network Forensics) 증거로 매우 유용하게 활용되고 있다[1~2]. 이메일, 웹서비스 등 다양한 서비스 및 프로토콜의 트래픽을 감시할 수 있음. 파일이 아닌 다양한 제어 패킷들도 수집·복원할 수 있어 이를 통해 보안사고를 예방할 수 있는 효과가 있다. 복원된 파일들을 바이러스 백신 프로그램으로 검사하여 바이러스의 출처 및 감염경로를 파악할 수 있으며, 특히 정보보호 제품 중에 DLP(Data Loss Prevention)로 일부 출시되어 있다. 국내에서는 외산 제품을 판매하는 수준이며, 장비도 매우 고가로 원천기술이나 개발은 아직 미비한 상황이다. 데이터 복원 기술은 기술적 측면으로는 네트워크 패킷 수집 및 복원에 대한 기술력을 확보하여 정보보호 제품으로의 파급효과를 기대할 수 있다. 경제적·산업적 측면으로는 수입대체 및 해외수출을 기대할 수 있으며, 유사기능의 외산 고가 장비를 대체할 수 있어 시장성 확보 가능성이 매우 높은 미래유망기술이다. 이에 관련 기업이나 연구자들의 첨단 데이터복원 관련 전후방 원천(핵심) 기술개발에 대한 공동노력이 요구된다.

 

2. 데이터 복원 기술개발 동향

 

2.1. MBR 및 GPT 엔트리 분석기술


 

   윈도우에서 사용할 수 있는 디스크의 형식은 MBR 디스크, GPT 디스크, 기본 디스크, 동적 디스크 등 4종이 있다. MBR 디스크는 전통적인 BIOS 방식의 시스템에서 사용되는 디스크 형식이며, GPT 디스크는 EFI 방식의 시스템에서 사용되는 디스크 형식이다. 이들의 차이점은 디스크에 관한 정보를 담는 데 MBR을 사용하느냐 GPT를 사용하느냐에 따라 BIOS(Basic Input/Output System), EFI(Extensible Firmware Interface), MBR(Master Boot Record), GPT(GUID(Globally Unique Identifier) Partition Table)로 구분된다. MBR 디스크는 IBM 호환 PC의 BIOS에서 기본적으로 사용하는 디스크 형식으로 MBR과 파티션 테이블의 구조는 다음과 같다[1~2].

 

   - IBM-PC의 BIOS에는 컴퓨터의 하드웨어를 체크하고 부팅할 수 있는 프로그램이 설치되어 있다.

   - BIOS의 마지막에는 시스템의 첫 번째 하드 디스크의 첫 번째 실린더/헤드/섹터로(CHS 0:0:1 시작 지점 - Starting Point) 이동하라는 명령이 포함되어 있으며, 디스크의 시작지점에 위치하고 있다.

 

   MBR의 크기는 총 512바이트로 부팅정보를 담고 있는 440바이트의 Master Boot Code 영역과, 파티션정보를 담고 있는 64바이트의 Partition Table 영역으로 나뉘어져 있다. MBR의 구조를 <표 1>에 나타낸다.

 

<표 1> MBR의 구조















































주소 설명 크기[Bytes]
16진수 8진수 10진수
0000 0000 0 코드 영역 446
01BE 0676 446 프라이머리 파티션 테이블

(4개의 16Byte 엔트리)
64
01FE 0776 510 55h MBR 서명 2
01FF 0777 511 AAh
MBR, 전체 크기 : 446+64+2=512 512


* 자료 : 마이크로소프트 테크넷 자료종합(2018) / 재구성.

 

   프라이머리 파티션 테이블 영역(64바이트)은 16바이트의 프라이머리 파티션 테이블에 기록되는 파티션 엔트리로 구성되어 있다. 따라서 MBR 디스크에서 최대 생성 가능한 파티션의 개수는 64÷16=4개이다. 파티션 테이블의 구조상 MBR에서 최대 생성 가능한 파티션수가 4개 밖에 되지 않기 때문에 MBR은 확장 파티션과 EBR(Extended Boot Record)을 통해 이러한 구조적 문제를 해결할 수 있다[2]. 파티션 엔트리의 구조를 <표 2>에 나타낸다.

 

<표 2> 파티션 엔트리의 구조



































오프셋 필드 길이 설명
0x00 1 Byte 파티션 상태 (0x80:시동가능, 0x00:부팅불가)
0x01 3 Byte 파티션 첫 번째 섹터의 실린더-헤드-섹터 주소
0x04 1 Byte 파티션 종류
0x05 3 Byte 파티션 마지막 섹터의 실린더-헤드-섹터 주소
0x08 4 Byte 파티션 첫 번째 섹터의 LBA


* 자료 : 마이크로소프트 테크넷 자료종합(2016).

 

2.2. EBR과 논리 드라이브의 구조

 

   4개로 제한적인 파티션 개수의 한계에 대한 해결방안으로 다음과 같은 방안들이 개발되었다. 확장 파티션은 3종류의 파티션(주 파티션/확장 파티션/확장 파티션 내 EBR을 통해 생성되는 논리 드라이브)으로 구성되어 있다[3~4].

 

   - MBR은 파티션 테이블에 기록된 파티션 중 하나를 확장 파티션으로 명시하고 확장 파티션 내에서 다시 MBR과 비슷한 역할을 하는 EBR을 추가로 생성하는 방법

   - EBR을 통해 확장 파티션 내에 다시 논리 드라이브 파티션을 생성하여 파티션 개수의 한계를 해결하는 방법 등

 

   EBR은 MBR과 거의 유사한 구조로서 EBR 내의 파티션 테이블은 총 4개, 파티션 엔트리의 구조는 MBR의 파티션 엔트리와 동일하다. EBR의 파티션 테이블에 기록되는 파티션 엔트리는 MBR과는 다르다. 즉, EBR은 확장 파티션이 아닌 각 논리 드라이브의 시작분에 모두 위치하고 있다. EBR의 파티션 테이블을 통한 논리 드라이브 기록방법을 간단히 요약하면 다음과 같다[5~7]

 

   - 첫 번째 파티션 엔트리의 논리 드라이브에 관한 정보가 기록된다.

   - 두 번째 파티션 엔트리는 제1 엔트리 다음에 위치한 논리 드라이브의 EBR을 지칭하는 정보가 기록된다.

   - 3~4번째 파티션 엔트리는 사용하지 않는다.

 

   이때 MBR 디스크의 해결과제로는 MBR 디스크의 각 섹터인식용 주소체계는 32bit 체계이기 때문에 인식 가능한 주소한계가 232개이며, 섹터크기가 512바이트이다. 따라서 232×512=2TB의 용량 한계 문제가 있다. MBR 디스크의 이러한 한계를 극복하고 다양한 컴퓨팅 환경에 대응하기 위해 확장 펌웨어 인터페이스(EFI)의 GPT 디스크 기법이 있다. 이에 향후에는 파괴된 RAID 구조 복원기술 정보(HEX Editor를 이용한 16진수로 된 엔트리구조 분석기술 포함)의 개발이 필요하다.

 

2.3. RAID 데이터 복구기술

 

   HEX Editor를 이용한 16진수로 된 엔트리구조 분석기술 포함한 파괴된 RAID 구조 복원기술은 독립 디스크의 중복 배열을 의미하는 다중 디스크를 결합하는 데 사용되는 저장기술을 의미한다. 성능과 중복 데이터를 기반으로 이 장치에 하나 또는 여러 가지 방법으로 배포된다. 이 기술의 장점을 간단히 요약하면 다음과 같다[8].

 

   - 디스크 드라이브 중 하나는 시스템의 성능에 영향을 주지 않는다.

   - 데이터 손실에 대한 높은 보호기능을 통해 스토리지의 성능을 향상시킬 수 있는 특징이 있다.

 

   RAID 기술의 해결과제는 드라이브 파티션 시 데이터의 이동위치를 쉽게 찾을 수 있는 방법과, 열에 의한 진동 등으로 인해 펌 웨어(firmware)에 영향을 최소화하는 방안이 필요하다. RAID 드라이브의 데이터 손실에 대한 주원인은 다음과 같이 요약할 수 있다[8].

 

   - 사용자의 실수 : 의도하지 않은 RAID 드라이브의 데이터 손실에 대한 가장 일반적인 이유

   - 하드디스크 손상 : CHKDSK 도구는 RAID 디스크를 해결하기 위해 시도 할 때마다 RAID 패턴이 파괴되는 경우

   - 파티션 테이블의 손상 : 드라이브의 파티션에 관한 모든 내용을 저장하는 파티션 테이블이 손실(손상)되는 경우

   - 시스템 변경 : 파일시스템을 변환하는 동안 예기치 않은 중단으로 인해 RAID 드라이브의 데이터가 손실되는 경우) 등

 

   RAID 데이터 복구방법으로는 ⅰ)가장 우수한 RAID 드라이브의 데이터복구 애플리케이션인 Yodot 하드 드라이브 이용하는 방법, ⅱ)Windows 및 Mac용 데이터 복구 소프트웨어를 다운로드하는 방법이 있다. Yodot 다운로드 및 설치 하드 드라이브 복구 소프트웨어를 이용하여 컴퓨터에 영향을 주지 않으면서 RAID 드라이브 시작메뉴를 통해 복구할 수 있다[8].

 

3. 데이터복원 기술시장 특성

 

3.1. 개요


 

   데이터의 폭발적인 증가는 데이터베이스의 성능 저하, 백업 시간의 증대, 스토리지/서버 등 하드웨어 인프라 증설 등 성능 및 비용, 관리 문제를 필수적으로 동반하고 있다. 이에 데이터베이스 관리자뿐만 아니라 기업 전체의 이슈로 대두되고 있다. 데이터가 늘어난다고 마냥 스토리지를 증설하는 것은 기업에 있어 부담이 되지 않을 수 없다. 이에 데이터의 생성에서부터 폐기에 이르는 체계적인 관리를 통해 비용은 물론, DB 관리자의 업무 부담을 줄일 수 있는 방안이 필요하다[9]. 이처럼 폭발적인 데이터 증가(2018년까지 연평균 44%의 증가세)로 인해 일관성 있게 데이터 증가를 관리하는 것이 최우선 관심사로 부상되고 있다. 특히 통합 데이터 백업으로 대용량 데이터를 중앙에서 관리함에 따라 확장형 플랫폼이 더욱 절실해지고 있다. 또한 다양한 저장장치의 사용 환경이 급증하면서 제2, 제3 플랫폼이 혼재하는 컴퓨팅 환경이 운용됨으로 인해 백업 관리자는 보호요구사항이 각기 다른 이기종 환경을 수용해야 하는 어려움이 있다. 이에 각 영역별로 가장 효율적인 데이터 보호조치(가상 서버와 물리적 서버, 클라우드 컴퓨팅, 다중 하이퍼바이저, 이기종 운영 체제, 애플리케이션, 관리해야 할 디스크와 테이프 등)가 필요하다. 따라서 더욱 효율적이고 통합된 데이터보호 전략을 지향하면서 사용 편의성이 핵심과제로 부상되고 있다. 이는 스토리지 관리자의 관리범위를 안정적으로 확대해주는 자동화를 요구하고 있다.

 

3.2. RTO와 RPO의 개념

 

   데이터 복원기술에서 RTO(Recovery Time Objective)와 RPO(Recovery Point Objective)의 개념은 모두 복구(Recovery)와 아주 밀접한 관계가 있다. 이들 두 개념을 간단히 요약하면 <표 3>과 같다[10].

 

<표 3> RTO와 RPO의 개념













RTO - 실제로 어플리케이션, 테이프/디스크 백업에 사용됨

- HA 클러스터 구성이나 혹은 그 이상의 견고한 시스템을 구축하는 것과 동반하여

사용되기도 함

- RTO 값이 0이면, 이는 해당 애플리케이션이 완벽하게 이중화되어 있고 데이터가

오프 사이트와 그 밖의 장소에 복제되어 보관되어 있어야 함을 의미함

- RTO가 48시간 또는 72시간이라면 테이프 백업으로도 충분함
RPO - 어떤 특별한 애플리케이션이 없이도 얼마나 버틸 수 있느냐와 관계가 있음

- 허용할 수 있는 데이터의 손실 양과 관계되는 것으로 사용자가 손실을 경험할 수

있는 최대의 데이터 양이 얼마인가에 관한 문제임

- PM7시에 백업하고, 다음날 AM4시 붕괴되었다면 백업 이후의 데이터들은 완전히

소실되는 것이며, 이러한 상황에서 RPO는 바로 전날 백업한 것이 됨


* 자료 : Storage Story 자료종합(2019.10) / 재구성.

 

   이에 RTO와 RPO는 실제로 리던던시의 종류와 백업 인프라에 영향을 미치고 서로 밀접하게 연관되오 있다. RTO가 타이트해 질수록 RPO도 타이트해진다. 물론 비용도 동반상승하게 되고 인프라 환경에 더 많은 돈이 투자되어야 함을 의미한다. 다양한 제3 플랫폼 컴퓨팅환경은 엔드유저에게 ‘중단 없는’ 애플리케이션 서비스를 제공하면서 고가용성에 대한 기대치가 높아지면서 RPO와 RTO는 시간이 흐르면서 점차 감소하고 있는 추세이다. 기업의 RPO의 경우 ⅰ)소기업(직원 수 1,000~4,999명)의 82.3%, 대기업(직원 수 10,000명 이상)의 87.5%는 RPO가 1시간 미만인 것으로, ⅱ)소기업의 73.4%, 대기업의 77.6%는 동일 애플리케이션의 RTO가 4시간 미만인 것으로, ⅲ)down time 비용은 224,952달러(소기업)~1,659,482달러(대기업)로 나타났다[11]. 소기업과 대기업의 RPO 비교결과를 <표 4>에 나타낸다.

 

<표 4> 소기업과 대기업의 RPO 비교




















구분 소기업 대기업 평균
RPO비율[%] 82.3 87.5 84.90


 


* 자료 : IDC 자료종합(2018) / 재구성.

 

   디스크 기반 데이터복구 기술이 지속적으로 성장하면서 백업 윈도우, 백업영향 최소화, 복구시간 단축, 데이터보호 인프라의 효율적인 활용에 대한 관심이 높아지고 있다. 디스크 기반 솔루션은 테이프보다 훨씬 다양한 옵션을 제공하여 신속한 백업 및 복구(증분 및 차등), 용량 사용률 극대화(중복 제거), 실시간 데이터 이동(복제)을 지원하고 있다. 이는 비즈니스 운영 개선으로 이어져 기업에서 테이프 사용을 최소화함에 따라 이러한 추세가 더욱 확대될 것을 시사하고 있다.

 

Ⅵ. 맺음말

 

   컴퓨터 하드디스크 및 디지털기기의 스토리지가 TB(Terabyte : 1012)급 이상으로 대용량화되면서 사용자 실수나 컴퓨터 오작동 혹은 해킹 등으로 인해 저장된 데이터가 소실되는 사례가 빈번하게 발생하고 있다. 데이터복원 기술은 개인, 기업, 공공기관, 교육기관, 군부대 등 다양한 보안 분야에서 안정화 기반을 구축하는 데 기여하고 있다. 핵심기술은 GPT의 구조 및 엔트리 분석 및 파괴된 RAID 구조 복원 과정을 거쳐 완성된다. 이러한 소실된 데이터를 복원하는 기술은 사이버 범죄수사(디지털 포랙식/Digital Forensics)에서 ⅰ)사이버 범죄수사에서 데이터의 해킹경로 탐지, ⅱ)이미지 파일 카빙(Image File Carving) 같은 디지털 증거수집/증거복구(증거 데이터 획득)/증거분석, ⅲ)디지털 증거를 확보하기 위한 디지털 포렌식 기술에 응용, ⅳ)사건사고 예방 및 사후증거 활용 등 사회안전망 구축을 위한 CCTV 시스템의 훼손된 영상을 복원하는 기술에 응용 등 다양하게 적용되고 있다. 다양한 저장장치의 데이터 복원을 통해 복원된 디지털 증거는 사이버 범죄수사에서 법적인 효력을 갖고 있어 매우 중요한 기술이다. 이에 관련 기술시장을 선점함으로써 정보지원 기업의 매출 중대 등 커다란 경제적 효과를 얻을 수 있어 데이터 복원과 관련된 보다 선진화된 기술개발이 필요하다. 데이터복원 관련 핵심기술은 GPT(GUID Partition Table) 분석, GPT의 구조 및 엔트리 분석, 파괴된 RAID 구조 복원, HEX Editor를 이용한 16진수로 된 엔트리구조 분석을 거쳐 완성된다. 최근에는 사건사고 예방 및 사후증거 활용 등 사회안전망 구축을 위한 CCTV 시스템의 훼손된 영상을 복원하는 기술에도 응용되면서 보안 산업 분야의 데이터 복원 기술을 견인하고 있다.

 

[참고문헌]

 

[1] http://cappleblog.co.kr/131

[2] 마이크로소프트 테크넷 자료종합(2018).

<http://technet.microsoft.com/en-us/library/bb457122.aspx>

[3] http://en.wikipedia.org/wiki/Master_boot_record

[4] http://en.wikipedia.org/wiki/Extended_boot_record

[5] http://en.wikipedia.org/wiki/Partition_type

[6] http://www.win.tue.nl/~aeb/partitions/partition_types-1.html

[7] http://en.wikipedia.org/wiki/GUID_Partition_Table.

[8] http://www.yodot.com/ko/ko-hard-drive-recovery/ko-raid-recovery.html

[9] 폭발적인 데이터 증가 관리의 해법: 데이터 생명 주기 관리(IDG Summary, 2018.10.01)

<http://www.itworld.co.kr/techlibrary/89569>

[10] Storage Story 자료종합(2019.10).

<https://koreaceladon.tistory.com/43>

[11] 스토리지 플랫폼환경 관련 IDC 자료종합(2018).