ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Windows] '$LogFile' entry at the NTFS File System
    > Information Security/Forensics 2014. 1. 7. 21:42

    지난 포스팅에서 NTFS 파일시스템의 전반적인 구조를 살펴보았다.


    NTFS 파일시스템의 MFT에는 메타데이터 파일이라고 불리는 여러개의 MFT 엔트리로 구성되어 있다.


    [NTFS 파일시스템 구조]



    그 중에서도 이번 포스팅에서 다룰 것은 '$LogFIle' 엔트리이다.


    [MFT 엔트리]



    [ $LogFile 구조]


    $MFT가 파일시스템에 존재하는 메타데이터를 저장하는 공간이라면, $LogFile은 메타데이터의 트랜잭션(Transaction) 파일을 저장하고 있다.  

    따라서 $MFT에 남아있지 않은 이벤트 분석이 가능하다.


    $LogFile은 각 '페이지'단위로 구성된 재시작 영역(Restart Area)와 로깅 영역(Logging Area)로 구성되어있고, 각 페이지는 페이지 헤더와 여러 개의 레코드 들로 구성되어 있다. 


    [$LogFile 영역 구분]



    이 때, 재시작 영역은 2개의 페이지로 파일의 첫 두 페이지 영역을 나타내며, 로깅 영역은 실제 작업 레코드가 기록되는 영역으로 다시 버퍼 페이지 영역과 일반 페이지 영역으로 나뉜다


    다시 이 '페이지'라는 단위를 자세하게 살펴보자.


    [$LogFile '페이지' - 헤더]


    [$LogFile '페이지' - 작업레코드]



     여러 개의 작업 레코드들이 하나의 트랜잭션 작업을 이루는 구조로 되어있는데, 트랜잭션의 시작을 나타내는 레코드를 ‘Checkpoint Record’, 트랜잭션의 작업을 다루는 레코드를 ‘Update Record’, 트랜잭션의 마지막을 나타내는 레코드를 ‘Commit Record’로 구분할 수 있다.

     

    이러한 작업 레코드는 레코드의 메타데이터를 저장하는 레코드 헤더부분과, 작업 전(Undo)과 작업 후(Redo)의 데이터가 담긴 레코드 데이터부분으로 구성되어 있다.



    [$LogFile '페이지' - 작업레코드 헤더]




    [재시작 영역(Restart Area)- 페이지 헤더]


    [로깅 영역(Logging Area) 구조]


    재시작 영역은 두 페이지로 구성되어있으며, 두 번째 페이지는 백업용이다. Current LSN필드를 통해 가장 마지막 레코드의 LSN을 알 수 있다.

     

    로깅영역은 두 페이지로 구성 된 버퍼페이지 영역과 일반 페이지 영역으로 다시 나뉜다. 버퍼페이지 영역에는 최근 작업 레코드들이 존재하며, 순차대로 기록되다가 꽉 차게 되면 일반 페이지 영역에 기록하는 원리이다. 일반 페이지 영역은 버퍼 페이지 영역을 제외한 나머지 영역이다.

     







    <참고>

    [F-INSIGHT] NTFS LogTracker(Korean).pdf , 오정훈

    UCS Lab 파일시스템 개론, 박종혁

    728x90
    반응형

    '> Information Security > Forensics' 카테고리의 다른 글

    [Windows] NTFS  (0) 2014.01.02
Designed by Tistory.