10 J1_ _RR_안재형_수정중.hwp

Similar documents
슬라이드 1

Microsoft PowerPoint - [#4-2] File System Forensic Analysis.pptx

디지털포렌식학회 논문양식

PowerPoint Presentation

<30372E20B1E8B5B5C7F6B4D42E687770>

PowerPoint Presentation

04_이근원_21~27.hwp

06_ÀÌÀçÈÆ¿Ü0926

6.24-9년 6월

À±½Â¿í Ãâ·Â

C# Programming Guide - Types

<31325FB1E8B0E6BCBA2E687770>

*통신1802_01-도비라및목차1~11

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

09권오설_ok.hwp

11장 포인터

DBPIA-NURIMEDIA

디지털포렌식학회 논문양식

Tablespace On-Offline 테이블스페이스 온라인/오프라인

°í¼®ÁÖ Ãâ·Â

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

PowerPoint 프레젠테이션

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

우루과이 내지-1

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

세계 비지니스 정보

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

chap 5: Trees

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

Lab 3. 실습문제 (Single linked list)_해답.hwp

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

정보기술응용학회 발표

[96_RE11]LMOs(......).HWP

04-다시_고속철도61~80p

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

BMP 파일 처리

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

인문사회과학기술융합학회

DBPIA-NURIMEDIA

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

<C1A4BAB8B9FDC7D031362D335F E687770>

Dropbox Forensics

*통신1604_01-도비라및목차1~12

슬라이드 1



CONTENTS.HWP

INDUS-8.HWP

#Ȳ¿ë¼®

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

30이지은.hwp

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA

원고스타일 정의

MS-SQL SERVER 대비 기능

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),

Frama-C/JESSIS 사용법 소개

< DC1A4BAB8C8AD20BBE7C8B8BFA1BCADC0C720C0CEB1C728C3D6C1BE292E687770>


2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

Microsoft PowerPoint - o8.pptx

음주측정을 위한 긴급강제채혈의 절차와 법리, A Study on the Urgent Compulsory Blood

untitled

김기남_ATDC2016_160620_[키노트].key

Microsoft PowerPoint - 6.pptx

제 출 문 환경부장관 귀하 본 보고서를 폐기물관리 규제개선 방안연구 에 관한 최종보고서로 제출합니다 연구기관 한국산업폐기물처리공제조합 연구책임자 연 구 원 연구보조원 이 남 웅 황 연 석 은 정 환 백 인 근 성 낙 근 오 형 조 부이사장 상근이사 기술팀장 법률팀장 기

1. KT 올레스퀘어 미디어파사드 콘텐츠 개발.hwp

00-1표지


본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

통신1310_01-도비라및목차1~9

PowerPoint 프레젠테이션

JVM 메모리구조

Microsoft PowerPoint - chap06-2pointer.ppt

2002년 2학기 자료구조

1

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

歯1.PDF

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

(

12È«±â¼±¿Ü339~370

특집-5

02이용배(239~253)ok

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Transcription:

885 Journal of The Korea Institute of Information Security & Cryptology ISSN 1598-3986(Print) VOL.24, NO.5, Oct. 2014 ISSN 2288-2715(Online) http://dx.doi.org/10.13089/jkiisc.2014.24.5.885 * * XFS 파일시스템내의삭제된파일복구기법연구 * 안재형, 박정흠, 이상진 고려대학교정보보호대학원 The Research on the Recovery Techniques of Deleted Files in the XFS Filesystem* Jae-hyoung Ahn, Jung-heum Park, Sang-jin Lee Center for Information Security Technologies, Korea University 요 약 일반적으로사용하는컴퓨터의저장소는예상치못한오류나사고로인해파일이삭제되는일이발생할수있다. 또한악의적인목적을가진누군가가안티포렌식을목적으로직접데이터를삭제하기도한다. 이렇게삭제된파일이범죄와연관된증거이거나업무상중요한문서인경우복구를위한대책이있어야한다. NTFS, FAT, EXT 와같은파일시스템은삭제된파일을복구하기위한기법이활발히연구되었고많은도구가개발되었다. 그러나최근 NAS 및 CCTV 저장소에적용된 XFS 파일시스템을대상으로는삭제된파일을복구하기위해제안된연구개발결과가거의없으며현재까지개발된도구들은전통적인시그니처탐지기반카빙기법에의지하고있어서복구성공률이저조한상황이기때문에이에대한연구가필요하다. 따라서, 본논문에서는 XFS 파일시스템에서의삭제된파일을복구하기위해메타데이터기반복구방법과시그니처탐지기반복구방법을제안하며실제환경에서실험하여검증하였다. ABSTRACT The files in computer storages can be deleted due to unexpected failures or accidents. Some malicious users often delete data by himself for anti-forensics. If deleted files are associated with crimes or important documents in business, they should be recovered and the recovery tool is necessary. The recovery methods and tools for some filesystems such as NTFS, FAT, and EXT have been developed actively. However, there has not been any researches for recovering deleted files in XFS filesystem applied to NAS or CCTV. In addition, since the current related tools are based on the traditional signature detection methods, they have low recovery rates. Therefore, this paper suggests the recovery methods for deleted files based on metadata and signature detection in XFS filesystem, and verifies the results by conducting experiment in real environment. Keywords: XFS, file recover, data recover, XFS filesystem I. 서론 접수일 (2014 년 8 월 22 일 ), 수정일 (2014 년 9 월 12 일 ), 게재확정일 (2014 년 9 월 15 일 ) * 이논문은 2014 년도정부 ( 미래창조과학부 ) 의재원으로한국연구재단 - 공공복지안전사업의지원을받아수행된연구임 (2012M3A2A1051106) 주저자, ajh0418@korea.ac.kr 교신저자, sangjin@korea.ac.kr(corresponding author) XFS(eXtended File System) 는 1993년에개발된파일시스템으로서 IRIX 5.3에처음적용되었고 2000년에 GNU GPL(General Public License) 하에릴리즈되어리눅스커널에포함되었다 [1]. XFS 파일시스템은데이터의변경이력을저장하

886 XFS 파일시스템내의삭제된파일복구기법연구 는저널링기능을포함하고, B+tree를이용하여데이터를관리함으로써파일입 출력에대한속도를개선했다. 특히, 다른파일시스템과비교하여가장두드러지는점은높은확장성이다. 최대 1 EB(Exabyt e) 크기의볼륨을지원할수있는 EXT4 보다 8배큰볼륨을다룰수있고, OS가 32비트일경우 16 T B(Terabyte) 크기의파일과파티션을다룰수있다 [2]. 대용량데이터를취급하기위해개발된 NAS(Net work Attached Storage) 를제조하고판매하는 B UFFALO 사 는자사의모든 NAS 제품에 XFS 파일시스템을채택하였다. 또한 삼성테크윈사 의 CC TV 제품에도적용되어판매하고있다. 삭제된데이터가중요한의미를가진다면반드시복구해야한다. 삭제된데이터가저장소내에남아있음에도불구하고복구에실패한다면디지털포렌식수사시결정적인증거를놓칠수있고, 개인및집단에게의미있는파일을잃어버릴수있다. 이를대비하여많은데이터복구도구의개발과연구가이루어졌으나대부분이 NTFS(New Technology File Sys tem), FAT(File Allocation Table), EXT(Exte nded), HFS(Hierarchical File System) 파일시스템을대상으로하고있다. 현재까지는 XFS 파일시스템을지원하는파일복구도구가거의없으며, 관련연구도부족한실정이다. 본논문에서는 XFS 파일시스템에서삭제된파일을복구하기위해필요한구조분석및파일의상태변화에따른실험결과를정리하였다. 그리고삭제된파일의복구기법을제시하고이를구현하였다. 2장에서는 XFS 파일시스템의파일복구와관련된연구를소개하고, 3장에서 XFS 파일시스템의구조를상세하게설명한다. 4장에서는파일의실제데이터를추적하기위한방법을분석된파일시스템기반으로설명하고, 5장에서는파일삭제메커니즘을분석하기위해실험한자료를정리하였으며, 6장에서삭제메커니즘을분석하여삭제된파일의복구방법을제안한다. 7장에서는제안한복구방법을구현한실험결과를정리하였다. 그리고 7장에서결론및향후연구방향을제시하였다. II. 관련연구디지털장치는사용자의실수나오작동, 고의적인데이터파괴로인해데이터를잃는경우가발생할수 있으며, 이를대비하여데이터복구에대한연구와기술이꾸준히개발되어왔다 [3]. 전통적인데이터복구는파일시스템구조에기반하여파일의메타데이터를통해복구하는방식이었다. 이에따라 NTFS, FAT, EXT와같은파일시스템에대한분석이활발히이루어졌고 [4], 복구알고리즘이개발되었다. 이방식은삭제된파일의메타데이터를참조하기떄문에복구율이높고속도가빠르며삭제된파일의거의모든메타데이터를복구할수있다는장점이있지만메타데이터가덮어쓰여질경우에는복구가불가능하다. 이를보완하기위해시그니처탐지를기반으로삭제된데이터를복구하는카빙기법이개발되었다. 카빙기법은메타데이터가없어도복구가가능하지만, 파일의종류마다구조가다르고기록되는데이터의형태가다르기때문에복구를위한고유한알고리즘이필요하다. 또한, 파일의데이터가연속적이지않은블록에할당되는경우복구가어려우며많은시간이소요된다는단점이있다. 최근에는전통적인카빙방식의단점을보완하기위해연속적이지않은블록에할당된파일을복구하기위한기법의연구 [5][6] 가있었지만, 단점을완전히해결하지못하고있다. 대부분의상용도구는 FAT, NTFS 와같은파일시스템을대상으로복구하는경우복구율이높고속도가빠르다. 하지만대부분의도구들이 XFS 파일시스템을지원하지않고있으며, XFS 파일시스템을지원하는복구도구중하나인 UFS Exploerer[7] 의성능을실험한논문 [8] 에서는해당도구가 3 GB(Gigabyte) 이상크기의단일파일에대해서복구에성공했지만, 1 KB(Kilobyte) 이하의단일파일의복구에실패했으며이에따라 XFS 파일시스템을대상으로삭제된파일을복구할수있는새로운도구의개발이필요함을언급하고있다. 하지만해당논문이발표된이후 XFS 파일시스템을대상으로삭제된파일을복구하기위한기술의연구가여전히미비한상황이며관련연구가필요한실정이다. III. XFS 파일시스템구조 XFS 파일시스템의전체적인구조는 Fig.1. 과같으며, 하나의파티션은할당그룹 (Allocatino Group) 이라는단위로나눠진다. 각각의할당그룹은

정보보호학회논문지 (2014. 10) 887 Fig. 1. XFS filesystem structure 독립적으로존재하며병렬적으로처리된다. 파일시스템을생성할때할당그룹의크기와수를지정할수있는데이를지정하지않은경우에는 8개의할당그룹으로생성된다 [9]. 각할당그룹은 Super Block(SB) 으로시작하며, SB에는해당할당그룹의블록당섹터의개수, 할당그룹의크기, 루트아이노드의위치등과같은기본적인정보가기록되어있다. 할당그룹에는미할당영역관리를위한 Allocatio n Group Free space Management(AGF) 블록이있다. Fig.2. 는 XFS 파일시스템을디버깅하기위해개발된도구인 XFS_DB [10] 를이용하여 AG F의정보를출력한모습이다. AGF에는미할당영역에대한목록정보인 Allocation Group Free spa ce List(AGFL) 블록에대한정보가기록되어있다. AGFL 블록은다음과같은구조를가지는레코드가연속해서나열된다. typedef struct xfs_alloc_rec { BYTE4 ar_startblock; BYTE4 ar_blockcount; } xfs_alloc_rec_t, xfs_alloc_key_t; AGFL 은미할당영역에대한정보가담긴구조체를 2가지방식으로관리한다. 첫번째는미할당블록의오프셋을오름차순으로정렬하는방법이며, 정렬된블록의위치는각할당그룹 AGF 블록의 bnoroot 에기록되어있다.(Fig.2. 참조 ) bnoroot에기록된블록으로이동하면 Fig.3. 과같이미할당블록에대한정보를확인할수있다. 두번째는미할당블록의연속적인개수를기준으로오름차순으로정렬하는방식이며, 해당블록의위치는 AGF의 cntroot 에기록되어있다.(Fig.2. 참조 ) cntroot 블록으로이동하면 Fig.4. 와같이미할 Fig. 3. AGFL physical address in ascending order Fig. 2. Allocation Group Free space Management Block Fig. 4. AGFL free block counter in ascending order

888 XFS 파일시스템내의삭제된파일복구기법연구 당블록에대한정보를확인할수있다 XFS 파일시스템은파일의메타데이터를아이노드에저장한다. 아이노드는기본 256 byte 이며 96 byte의 아이노드코어 와 160 byte의 데이터포크 영역으로구성된다. MAC(Modify Access Create) Time, 크기, 포맷과같은메타데이터는 아이노드코어 에기록되고, 하위경로에존재하는파일의목록, extent 또는비트맵블록주소에대한메타데이터는 데이터포크 영역에기록한다. XFS_DB 를이용하여초기상태의아이노드를출력한모습은 Fig.5. 와같다. 아이노드는디렉터리와파일에대한아이노드로분류할수있으며, 파일에대한아이노드는데이터가조각난개수에따라 2가지포맷으로구분할수있다. 디렉터리에대한아이노드는 local 포맷으로분류하며아이노드의 core.format 의값이 1이다. local 포맷인경우데이터포크영역에파일목록이기록되며구조는 Table 1. 과같다. 파일에대한아이노드는데이터가조각난개수에따라 extents 와 btree 포맷으로나눈다. 아이노드의포맷이 extents 인경우, core.format 의값은 2이며데이터포크영역에 1~9개의 extent 를기록한다. XFS 파일시스템에서는파일의실제데이터위치를 128비트크기의 extent 를이용하여관리한다. extent 를통해데이터의물리적주소, 논리적주소, 할당된블록의개수를알수있으며, 구조는 Fig.6. 과같다. 파일의실제데이터가 10개이상조각나는경우 ex tent의목록으로이루어진비트맵블록을생성한다. 비트맵블록을사용하게되는경우 core.format 값은 3이되고, btree 포맷이라고부른다. 이경우데이터포크영역에비트맵블록의물리적주소를저장하며, 이때하나의비트맵블록은최대 254개의 exte nt를저장할수있다. 만약파일이 255개이상의조각이나서다중비트맵을사용한다면 Fig.7. 과같이비트맵블록간에더블링크드리스트구조로연결된다. 참고로 Fig.8. 은비트맵블록이생성되는구조를추상적으로표현한그림이다. Fig. 6. Extent structure Fig. 7. Multiple bitmap block linked by double linked list Fig. 5. Inode in initial state Table 1. File name structure Data name Details Size (byte) namelen Length of filename 1 offset Index Offset 2 name filename namelen inumber Inode number 4 Fig. 8. Multiple Bitmap block structure

정보보호학회논문지 (2014. 10) 889 Fig. 11. Inode structure Fig. 9. Bitmap block 아이노드의포맷이 btree 인경우데이터포크영역에는기본적으로 10개의비트맵블록의주소를기록할수있으며, 11개이상의비트맵이필요할경우깊이 (Level) 값을증가시켜첫번째비트맵블록에하위비트맵블록의주소를기록한다.(Fig.8. 참조 ) 비트맵블록은 Fig.9. 와같이 BMAP 시그니처가있으며비트맵블록의깊이 (2 byte) 그리고비트맵블록에존재하는 extent 의개수 (2 byte) 로구성된다. 또한앞비트맵블록의주소와다음비트맵블록의주소를 8 byte 크기로기록하며, 이전혹은다음비트맵블록이없을경우 1이기록된다. 참고로 XFS 파일시스템은 sparse 파일을지원한다. 파일내부의특정블록이 0x00 으로이루어져있다면실제공간에불필요하게할당할필요없이가상으로공간을할당하는방법이다. 이와같이 sparse 파일을지원할경우디스크공간을효율적으로관리할수있지만, extent 의개수가증가한다. IV. 데이터추적메커니즘 Fig.10. 은데이터의실제위치정보를찾는방법을 Fig. 12. Bitmap block pointer structure 표현한다이어그램이다. 먼저할당그룹의 Super block 에기록된값을통해루트아이노드 ( 아이노드목록 ) 의시작위치를알수있다. XFS 파일시스템에서는아이노드의번호를통해해당아이노드가실제로위치한물리적주소를알아낼수있으며구조는 Fig.11. 과같다. 4 byte 크기의아이노드번호값중상위 5개비트는할당그룹의번호를기록하며나머지 27개비트에할당그룹내에서의상대적인블록번호를기록한다. 아이노드번호를통해목표로하는파일의아이노드를찾은다음, 해당아이노드의데이터포크영역에기록된 extent 를분석하여실제데이터가위치한물리적주소를알수있다. 아이노드의 core.format 값이 btree 인경우데이터포크영역에비트맵블록의위치를기록한다. 8 byte 크기의비트맵블록의위치값은 Fig.12 와같이구성된다. 하위 23개비트는할당그룹내의상대적인블록번호이며나머지비트는할당그룹의번호를낸다. 비 Fig. 10. The diagram for tracking data

890 XFS 파일시스템내의삭제된파일복구기법연구 트맵블록으로이동하면 extent 목록이나열되어있으며데이터의물리적주소를알수있다. V. 파일삭제메커니즘 XFS 파일시스템에서파일을삭제할시에는해당파일의메타데이터가변경된다. 앞에서설명한것과같이아이노드는 3가지포맷이존재할수있기때문에이장에서는각포맷유형에따라서변경되는부분을상세하게설명한다. 5.1 local 포맷아이노드의변화 XFS 파일시스템은 Fig.13. 과같이디렉터리에포함된디렉터리및파일의엔트리를해당디렉터리아이노드의데이터포크영역에생성순서로저장한다. 데이터포크영역의첫 4 byte는 1 (0xfffffff f) 로기록되어있다. 데이터포크영역의첫번째 byte에는파일의개수를기록한다. Fig.13. 의디렉터리엔트리에서 DIR3 을삭제할경우 Fig.14. 와같이파일의개수를기록하는값이 1 감소한다. Fig.13. 에서 DIR2 를삭제한결과는 Fig.15. 와 Fig. 15. Change of directory entry after deleting DIR2 같다. DIR2 를삭제할경우파일의개수를기록하는값이 1 감소하며, 디렉터리엔트리가 Fig.15. 와같이정렬된다. 5.2 extents 포맷아이노드의변화 XFS 파일시스템에서는파일이삭제될경우해당아이노드의권한값및크기에관련된메타데이터가 0으로초기화된다. Fig. 13. Change of directory entry after deleting DIR2 Fig. 16. Inode before deleting a file - extent Fig. 14. Change of directory entry after deleting DIR3 Fig. 17. Inode after deleting a file - extent

정보보호학회논문지 (2014. 10) 891 Fig.16. 과 Fig.17. 은파일삭제전과후의 extents 포맷아이노드에대한변화이다. 데이터포크영역에기록된 extent 정보는변경되지않는다. 5.3 btree 포맷아이노드의변화 Fig.18. 과 Fig.19. 는 btree 포맷파일의삭제전과후의아이노드변화이다. 데이터포크영역에기록된비트맵블록의위치정보가변경되지않는다. 데이터포크영역에기록된비트맵블록의물리적주소로이동하면 Fig.20. 과같이비트맵블록이존재하며, 해당비트맵블록에유효한 extent 개수및 extent 목록이기록되어있다. Fig. 21. Bitmap block after deleting a file Fig. 21. 은파일삭제후비트맵블록의상태이다. extent의개수와 extent 목록이변경되지않는다. VI. 복구방법이장에서는앞에서설명한 XFS 파일시스템에서의파일삭제메커니즘에기반한복구방법을제안한다. Fig.22. 는본논문에서제시하는 XFS 파일시스템에서삭제된파일복구의순서도이다. 삭제된파일을복구하는방법은 2가지로, 첫번째는삭제된파일의아이노드를찾아 extent 또는비트맵블록의주소를확인하여데이터를복구하는방법이다. 두번째는비트맵블록의시그니처를탐색하여복원하는방법이다. 그외에삭제된파일복구에대해서는기존의전통적인시그니처탐지기반복구방법을 [9] 사용하며본논문에서는다루지않는다. 6.1 메타데이터기반복구방법 Fig. 18. Inode before deleting a file - btree Fig. 19. Inode after deleting a file - btree Fig. 20. Bitmap block before deleting a file 메타데이터기반복구방법의순서도는 Fig.23. 과같다. 먼저각할당그룹에있는아이노드를순차적으로탐색한다. 아이노드의목록은각할당그룹의시작위치에서 1024 오프셋에있다. 아이노드를탐색하면서버전, 포맷, 생성 수정 접근시간에 0이아닌값이있고, 그외변수의값이 0으로초기화되어있다면삭제된파일의아이노드라고판단하여데이터포크영역에있는 extent 및비트맵블록의주소정보를확인한다. 삭제된파일의데이터영역이미할당영역인지확인후복구를진행한다. 삭제된파일의데이터블록이미할당영역으로처리되어있지않다면새로운데이터로덮어쓰여졌다고판단한다. 이방법은메타데이터가기록되는아이노드를기반으로복구하는방식이기때문에아이노드의메타데이터가새로운데이터로덮어쓰여졌다면복구가불가능하다. 또한 XFS 파일시스템은파일의이름을데이터포크영역에디렉터리엔트리형태로관리하

892 XFS 파일시스템내의삭제된파일복구기법연구 Fig. 22. Flow chart of deleted files recovery 며, 파일삭제시디렉터리엔트리를정렬하기때문에경우에따라파일의이름을복구하지못할수도있다.(Fig.13. 과 Fig.15. 참조 ) Fig.24. 는 9개의 extent 를사용하는파일이삭제된뒤, 1개의 extent 를사용하는파일이동일한아이노드에할당된경우의메타데이터및데이터포크의상태를나타낸다. Fig.25. 는 Fig.24. 의파일이삭제된후 extent 의목록을파싱한결과이다. 파일이삭제될경우 extent 의개수가 0으로초기화되기때문에삭제되기전파일의 extent 가몇개인지알수없다. 하지만첫번째 extent 를분석해보면 logical 블록 0번부터 122개블록크기의데이터가연속적으로할당되어있으므로두번째 extent 의 logical 블록의 값은최소 123이되어야한다. 이러한특성에따라삭제된파일의 extent 를구별할수있다. 하지만 XFS 파일시스템은 sparse 파일을지원하기때문에두번째 extent 의값이 122 이상인경우에는추가적인검증이필요하며이에대한연구가더필요하다. 또한파일삭제시아이노드의포맷값이 2로 (extent 포맷 ) 초기화되기때문에삭제전아이노드의속성을알수없다. 따라서데이터포크영역의 1 번째비트맵블록의주소를참조하여오프셋을이동한후비트맵블록이있는지확인하는과정을추가적으로거쳐야한다.

정보보호학회논문지 (2014. 10) 893 Fig. 25. Extents in data fork overwritten by a new value 6.2 시그니처탐지기반복구방법 Fig. 23. Flow chart of recovery based on metadata Fig. 24. The state change of inode after a new file is reallocated 아이노드의메타데이터가새로운데이터로덮어쓰여졌을경우시그니처탐지기반복구방법을사용하여데이터를복구한다. 비트맵블록은 BMAP 라는고유한시그니처를가지기때문에전통적인시그니처탐지기반인카빙기법에적용하여파일을복구할수있다. 비트맵블록시그니처탐지기반복구순서도는 Fig.26. 과같다. 먼저데이터영역의블록을스캔하면서비트맵블록의 BMAP 시그니처를탐지한다. 비트맵블록의시그니처를찾았다면, 이전비트맵블록의주소값이 1 (0xffffffff) 인지확인한다. 데이터의위치는순차적으로기록되기때문에첫번째비트맵블록을먼저찾아야한다. 이전비트맵블록의주소값이 1 이면첫번째비트맵블록이므로 extent 를확인하여데이터위치를추적해나간다. 해당비트맵블록의 extent 를모두추적하였다면다음비트맵블록의주소값을확인한다. 다음비트맵블록의주소값이 1 이면, 마지막비트맵블록이므로파일의복구를완료하고, 시그니처탐지를계속해서수행한다. extent 를확인하여데이터를추적하고미할당영역에대한정보를비교하는일은메타데이터기반복구방법과동일하다. 이방법은삭제된파일이 btree 포맷일경우에만복구가가능하다. 만약아이노드가덮어씌어졌고, btree 포맷이아닌경우전통적인카빙방식에의존해야하며, 이미알려져있듯이조각난경우의카빙방법은그복구성공률이낮다. XFS 파일시스템은파일의목록을데이터포크

894 XFS 파일시스템내의삭제된파일복구기법연구 Table 2. Test and development environment 구분 Linux type Kernel version Development Tool Programming language 내용 Slackware 3.1.0 MS Visual Studio 2010 C / C++ 상세한실험및개발환경을 Table 2. 에나타내었다. 7.1 메타데이터기반복구도구 Fig.27. 은본논문에서제안하는메타데이터기반복구방법을구현한도구의수행결과를보여준다. Fig.27, 에서확인할수있는것과같이아이노드가새로운데이터로덮어쓰여지지않았다면삭제된파일을복구할수있다. Fig. 26. Flow chart of recovery based on signature search 영역에저장한다고앞서언급한바있다. 파일의개수및파일이름의길이로인해 160 byte 크기의데이터포크영역에파일목록을저장하지못할경우비트맵블록을사용하여저장한다. 이와같은비트맵블록의경우 btree 포맷에서사용하는비트맵블록의포맷과동일하다. 따라서복구수행시에카빙방식에의해탐지된비트맵블록이디렉터리엔트리를저장하기위한것인지데이터의 extent 를저장하기위한것인지구별하여처리해야한다. Fig. 27. The recovery result of deleted files by the developed tool 7.2 시그니처탐지기반복구도구 Fig.28. 은본논문에서제안하는시그니처탐지기반복구방법을구현한도구의결과이다. 1개의비트맵블록에 11개의 extent 로이루어진삭제된파일을복구하는데성공하였다. VII. 구현및실험결과 본논문에서제시한복구방법을이용하여 XFS 파일시스템이적용된리눅스환경에서삭제된데이터를복구할수있는프로토타입도구를구현했다. Fig. 28. The recovery result of lost filles based on the signature search #1

정보보호학회논문지 (2014. 10) 895 References Fig. 29. The recovery result of lost files based on the signature search #2 Fig.29. 는 2개의비트맵블록과 452개의 extent 로이루어진삭제된파일을대상으로복구도구를수행한결과이다. 이와같이비트맵블록을 2 개이상사용할경우에도복구가가능하다. VIII. 결론및향후연구방향 본논문에서는 XFS 파일시스템에서삭제된파일을복구하기위해메타데이터기반복구방법과비트맵블록을탐지하여복구하는알고리즘을제시하였다. 그리고삭제된파일을복구하기위한프로토타입의도구를구현하였고, 파일의크기나단편화의정도와상관없이삭제된파일의아이노드가덮어쓰여지지않았거나비트맵블록을생성했던파일이라면복구가능하다는것을증명하였다. 본논문에서제안한복구방법과이를기반으로개발된프로토타입도구는 XFS 파일시스템을탑재한 NAS, CCTV 에서삭제된파일을복구하기위해활용될수있다. [1] C. Hellwing, XFS:the big storage file system for Linux, Communications of the ACM, 40, pp. 71-79, May 1997. [2] A Sweeny, D. Doucette, W. Hu, C. Anderson, M. Nishimoto and G. Peck, Scalability in the XFS File System, USENIX, 1996. [3] Pal A and Memon N. The Evolution of File Carving, ieee SIGNAL PROCESSING MAGAZINE 2009. [4] Brian Carrier, File system forensic analysis, Addison-Wesley, 2005. [5] Jungheum Park, Advanced Digital Forensic System for Data Fragments, Korea University, 2013. [6] M.Karresand and N.Shahmehri, File type identification of data fragments by their binary structure, IEEE Information Assurance Workshop, June 2006. [7] http://www.ufsexplorer.com [8] Sekie Amanuel Majore, Changhoon Lee, Taeshik Shon, XFS File System and File Recovery Tools, International Journal of Smart home, Vol7, No.1, Jan 2013. [9] Silicon Graphics Inc, XFS Filesystem Structure, 2006. [10] http://linux.die.net/man/8/xfs_db

896 XFS 파일시스템내의삭제된파일복구기법연구 < 저자소개 > 안재형 (Jae-hyoung Ahn) 학생회원 2012 년 2 월 : 인제대학교컴퓨터공학부졸업 2013 년 3 월 ~ 현재 : 고려대학교정보보호학과석사과정 < 관심분야 > 디지털포렌식, 정보보호 박정흠 (Jung-heum Park) 정회원 2007 년 2 월 : 한양대학교정보통신대학컴퓨터전공공학사 2009 년 2 월 : 고려대학교정보경영공학전문대학원공학석사 2014 년 2 월 : 고려대학교정보경영공학전문대학원박사 < 관심분야 > 디지털포렌식, 안티 - 안티포렌식 이상진 (Sang-jin Lee) 종신회원 1987 년 2 월 : 고려대학교수학과학사 1989 년 2 월 : 고려대학교수학과석사 1994 년 8 월 : 고려대학교수학과박사 1989 년 10 월 ~1999 년 2 월 : ETRI 선임연구원 1999 년 3 월 ~2001 년 8 월 : 고려대학교자연과학대학조교수 2001 년 9 월 ~ 현재 : 고려대학교정보보호대학원교수 2008 년 3 월 ~ 현재 : 고려대학교디지털포렌식연구센터센터장 < 관심분야 > 디지털포렌식, 심층암호, 해쉬함수