2014년 12월 7일 일요일

윈도우 시스템 로그(Windows System Logs)

Page info



    윈도우 시스템 로그

    윈도우는 이벤트 로그라는 걸출한 바이너리 로깅 시스템을 가지고 있지만, 시스템 운용을 위한 서브시스템 별로 로그를 따로 관리하기도 하고, 호환성 유지를 위해 전통적으로 운용되어온 로그를 아직 유지하고 있기도 하다.

    이러한 로그파일들은 텍스트 형태로 되어 있어 열람이 쉬운 편이며, 네트워크 장비 로그와 같이 무모한 양의 로그를 기록하지도 않으므로 상대적으로 분석하기에 용이하다. 또한 잘 살펴보면 설치 시점부터 지속적으로 발생하는 동작들에 대하여 많은 정보를 얻을 수도 있다.

    중요한 것은 포렌식 관점에서 로그들이 남기는 의미를 정확히 파악하는 것인데, 각각의 로그의 분석과 교차 분석을 통해 의미 있는 정보를 찾아내는 것은 그 자체만으로도 내용이 방대하므로, 본 페이지에서는 각 로그의 대표적인 특징만 기술하고자 한다.

    하지만, 로그파일들에 기록된 각각의 로그의 특징을 정확하게는 모른다고 하더라도, 대부분은 생성증거로서 핵심 증거에 대한 주변 정황판단 근거를 마련하는데 이용되므로, 적절한 키워드 검색의 활용과 각각의 로그의 역할만이라도 잘 숙지하고 있다면, 사건 해결에 필요한 정보를 취득하는데는 무리가 없을 것이다.

    아래 분석 대상(Target)에서 대표적인 윈도우 로그의 종류와 그 특징 및 경로를 확인할 수 있으므로, 학습.분석 시 참고하기 바란다.



    분석 대상(Target)

    ※ 아래의 내용은 PFP-List와 연동되는 정보로, PFP에서 확인 및 분석에 직접적인 활용이 가능합니다.
       (PFP ManualPFP DownloadPFP home)



    Setupact
    Target Path(Location)
    [In Windows 7 or higher]
    %SystemRoot%\PANTHER\setupact.log
    [In Windows XP]
    %SystemRoot%\setupact.log
    Check List
    Information on installing application
    List of graphical action occurred during installation
    Timestamp on each action
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    설치하는 동안의 설치 작업에 대한 정보를 담아두는 로그로, 응용프로그램 설치 절차에서 디스플레이와 관련된 부분에 대한 기록을 주로 유지한다. 



    Netsetup
    Target Path(Location)
    %SystemRoot%\Debug\Netsetup.log
    Check List
    Network-related behavior or error on installing application
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    시스템이 설치되는 동안에 생성, 네트워크와 관련하여 생기는 동작이나 오류 등을 기록하는 로그이다. 



    Task Scheduler
    Target Path(Location)
    %SystemRoot%\SchedLgU.txt
    %WINDIR%\Tasks\
     - Look at the *.job file (job file format)

    [In Windows Vista or higher only]
    %WINDIR%\System32\Tasks\
     - There are no extention (XML file format)
    Check List
    Remote Logon or access
    Account create or delete
    Service strat or end
    Process start
    System halt
    Related Tools
    elex

    작업 스케줄러의 예약된 작업 대한 실행 결과를 기록하는 로그이다. 



    Firewall Log
    Target Path(Location)
    [In Windows 7 or higher]
    %SystemRoot%\system32\LogFiles\Firewall\pfirewall.log
    [In Windows XP]
    %SystemRoot%\pfirewall.log
    Check List
    Incoming or outgoing traffic information
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    시스템 내부로 들어오는 트래픽을 수집하거나 식별한 내용을 기록하는 로그이다. 



    Dr.Watson
    Target Path(Location)
    %SystemRoot%\Drwatson\Watsonxxx.wlg
    Check List
    Debugging information in case of error
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    닥터 왓슨은 윈도우에서 응용프로그램이 동작 중에 발생하는 오류에 대한 해결 프로그램이다. 프로그램 디버깅을 위해 사용되는 로그이지만, 프로그램의 동작 여부, 작동 이상 여부를 증명하는데에도 사용 가능할 것이다. 




    Cbs.log
    Target Path(Location)
    %SystemRoot%\setupact.log
    %SystemRoot%\logs\cbs\cbs.log
    Check List
    Details of the system recovery operation and verification
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    시스템에서 진행되는 다양한 복구 작업, 검증 작업을 기록하는데 사용된다. 



    Crash Dump Files
    Target Path(Location)
    %SystemRoot%\Minidump\*.dmp
    Check List
    Snapshot of specific memory area
    Sometime contains OS-related information
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    응용프로그램 혹은 운영체제 충돌 시 관련된 메모리 영역과 데이터에 관한 스냅샷을 가지고 있는 파일이다. 프로그램 디버깅을 위해 주로 사용되지만, 충돌 당시의 시스템 상태를 살펴 보는데에도 도움이 될 수 있다. 



    Setuperr
    Target Path(Location)
    [In Windows 7 or Higher]
    %SystemRoot%\PANTHER\setuperr.log
    [In Windows XP]
    %SystemRoot%\setuperr.log
    Check List
    Error information on installing application
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    응용프로그램을 설치하는 동안의 설치 리포트(오류 등)에 대한 정보를 담아두는 로그이다. 



    Setupapi
    Target Path(Location)
    %SystemRoot%\setupapi.log

    [Vista and more over only]
    %SystemRoot%\INF\setupapi.dev.log
    %SystemRoot%\INF\setupapi.app.log
    Check List


    Log information on installing plug and play device and driver - setupapi.dev.log
    Log information on installing application - setupapi.app.log
    Log information on installing service pack and hotfix - setupapi.log
    Log information about major changes in the system - setipapi.log
     - include device and driver change
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    setupapi.log : 윈도우 Vista 이전 버전에서 사용되던 파일로  여기에 전부 저장, 장치 변경 사항, 드라이버 변경 사항 및 서비스 팩 설치와 핫픽스 설치와 같은 주요 시스템 변경에 관한 로그
    setupapi.dev.log : 플러그 앤 플레이 장치 및 드라이버 설치에 대한 정보에 대한 로그
    setupapi.app.log : 응용 프로그램 설치에 대한 정보에 대한 로그




    RDP Log
    Target Path(Location)
    %Profile%\Documents\Default.rdp
    Check List
    Connected ip or host name
    Related Tools
    [Public] Text File Viewer
    Notepad
    Notepad++
    LTFViewer

    분석 대상 시스템에서 RDP 접속을 흔적 파악하는데 사용될 수 있다. RDP 접속 후 네트워크를 통해 용의자가 파일을 전송하였거나, 정보를 획득할 수 있다는 가능성을 제기할 수 있으며, 침해사고 관점에서는 원치 않은 접속 요청에 대한 정보를 수집하여 시스템의 악성 행위 시점을 판단하는데 도움을 줄 수 있다. 





      윈도우 휴지통(Windows Recycle)

      Page info

      휴지통


      http://frederick.tistory.com/

      휴지통은 사용자가 더 이상 사용을 원하지 않아 삭제하는 파일 또는 디렉터리가 이동하는 영역이다.

      실제로 사용할 때에는 특별한 어플리케이션 처럼 동작하는 것으로 보이지만, 파일 시스템 관점에서 살펴 보았을 때, 휴지통은 단순한 디렉터리에 불과하다. 다만, 이 디렉터리에 대한 접근이 휴지통 어플리케이션을 통해서만 가능하도록 되어 있고, 내부에 있는 파일 역시 휴지통 어플리케이션이 해석 가능한 것들만 보여준다는 차이점이 있을 뿐이다.

      휴지통으로 파일 혹은 디렉터리를 삭제하는 행위 또한 실제 파일은 그대로 남겨둔 채 파일 시스템에 기록된 파일(혹은 디렉터리)과 관련된 메타 정보만을 변경할 뿐이다. 이 때, 원본 파일 복원을 위해 다양한 정보 저장하기 위해 생성되는 파일을 휴지통 정보 파일이라고 부르며, Vista 이전 버전에서는 단일 파일로 관리하였고 Vista 이후 부터는 삭제된 개체별로 정보파일을 하나씩 생성하여 관리를 하고 있다.



      휴지통 정보 파일

      휴지통은, 내부에 삭제된 파일을 저장할 때 아래와 같은 규칙을 통해 파일의 이름을 생성한다. 

      • Windows XP 휴지통 정보 파일
        • 삭제된 파일명 : D[drive letter][index number].[extension of original]
        • 정보 파일명 : INFO2
          .
      • Windows 7 휴지통 정보 파일
        • - 삭제된 파일명 : $R[random].[extension of original]
        • - 정보 파일명 : $I[same with $R].[extension of original]


      휴지통은 파일명 규칙에 맞지 않는 파일이 휴지통에 있을 경우, 일반적인 휴지통 열람으로는 내용을 보여주지 않는다. 이와 같은 특성 때문에 악성코드 혹은 사건 용의자가 정보를 은닉하는데 애용되기 때문에 반드시 파일 시스템을 해석하여 내부의 정보를 살펴볼 필요가 있다는 점을 기억하자. 



      분석 대상(Target)

      ※ 아래의 내용은 PFP-List와 연동되는 정보로, PFP에서 확인 및 분석에 직접적인 활용이 가능합니다.
         (PFP ManualPFP DownloadPFP home)


      XP Recycle Bin
        Target Path(Location)
        %SystemDrive%\RECYCLER\\DX#.
         - Deleted file
        %SystemDrive%\RECYCLER\\INFO2
         - Information file(one per folder)
         - [SID Check] : HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
        Check List
        [In INFO2 file]
         - Original file path
         - drive letter
         - File deleted date and time
         - physical size of deleted file
        Related Tools
        INFO2
        del2info

        휴지통 폴더 내부에는 사용자 계정 별로 계정 SID이름으로 된 폴더가 존재하므로 조사를 원하는 사용자의 휴지통 경로를 구분하여 분석을 진행할 필요가 있다. 

        다음의 레지스트리 경로에서 사용자 SID의 확인 가능

        • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList



        Win7 Recycle Bin
        Target Path(Location)
        %SystemDrive%\$Recycle.bin\$I.
         - Information file(one per deleted file)
        %SystemDrive%\$Recycle.bin\$R.
         - Deleted file
        Check List
        [$I. file]
         - physical size of deleted file
         - delete date and time of deleted file
         - original file path and name
        Related Tools
        del2info

        휴지통 폴더 내부에는 사용자 계정 별로 계정 SID이름으로 된 폴더가 존재하므로 조사를 원하는 사용자의 휴지통 경로를 구분하여 분석을 진행할 필요가 있다. 

        다음의 레지스트리 경로에서 사용자 SID의 확인 가능
        • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

        시스템 임시폴더(System Temp)

        Page info

        윈도우 임시 폴더

        운영체제는 시스템 운용이나 사용자의 특정 작업을 원활하게 하기 위하여 임시폴더라는 개념을 사용한다. 

        임시폴더는 말 그대로 임시로 사용되는 파일이나 폴더가 저장되는 경로로, 압축을 해제할 때에나 인터넷에서 다운로드 받은 파일을 저장 없이 실행할 때에 사용되는 것이 대표적인 예이다. 


        임시폴더 예시


        짐작할 수 있는 바와 같이 다양한 응용프로그램이나 운영체제 운용 상황에 임시폴더가 활발하게 사용되고 있기 때문에, 임시 폴더의 분석 목적을 특정하기는 어렵다. 또한 앞으로 만나게 될 분석 대상 시스템의 임시폴더에 어떤 데이터가 들어있는지 예측할 수도 없을 것이다. 

        중요한 것은 임시폴더 자체는 사용자가 굳이 알 필요가 없는 연산 과정을 수행하기 위한 데이터를 저장하기 위한 목적으로 존재하기 때문에, 임시폴더를 들여다보는 사용자가 거의 없다는 것이다. 그리고 임시폴더를 실제로 열어본다고 하더라도 여러가지 유형의 파일들이 규칙없이 산재하기 때문에, 특정 데이터가 눈에 띄기는 쉽지 않다. 

        문제는 이러한 특징을 악성코드 제작자나 사건 용의자가 이용하여 특정 파일을 은닉하는데 사용할 수도 있다는 것이다. 전적으로 가정일 뿐이지만, 임시폴더를 제대로 조사하지 않아 쉽게 얻을 수 있는 단서를 놓친 경험이 있다면 다음 조사 때 부터는 임시폴더를 꼭 확인하게 될 것이다. 

        또한, 임시폴더에 잔존하는 데이터를 통해 응용프로그램을 사용한 흔적을 일부 입증할 수 있을 가능성도 존재하므로, 사고 이미지 획득 시 임시폴더는 간단하게나마 살펴볼 필요가 있다는 것을 기억하자. 



        분석 대상(Target)

        ※ 아래의 내용은 PFP-List와 연동되는 정보로, PFP에서 확인 및 분석에 직접적인 활용이 가능합니다.
           (PFP ManualPFP DownloadPFP home)



        System Temp
        Target Path(Location)
        %SystemRoot%\Temp\
        %UserProfile%\Local Settings\Temp\
        %UserProfile%\AppData\Local\Temp\
        %UserProfile%\AppData\Local\Microsoft\Windows\Temporary Internet Files
        Check List
        Any file in temporary folder
        Related Tools
        None(Multi-dimensional analysis)

        시스템에서 사용되는 임시 폴더가 존재하는 경로로, 사건에 따라 다각적인 분석을 필요로 한다. 
        실제로, %UserProfile%\Local Settings\Temp\와 %UserProfile%\AppData\Local\Temp\는 하드링크로 연결되어 있으며, 같은 곳을 가리킨다. 




        점프리스트 (Jump List)

        Page info

          점프리스트

          Windows 7부터 추가된 Jump List 기능은 발전된 바로가기(Shorcut)라고 볼 수 있다. Microsoft는 점프 리스트를 통해 사용자들이 자주 사용하는 문서, 사진, 음악 또는 웹사이트를 빠르고 간편하게 이용할 수 있다고 소개하고 있다. 


          점프 리스트 예시

          바로가기는 단순히 특정 개체에 대한 정보와 실행 통로를 제공해 주는데에 그치는 반면, 점프 리스트는 아래와 같은 정보를 추가적으로 저장하여 사용자의 편의를 높혀준다. 


          • Recent(최근 항목) : 응용프로그램을 통해 최근 열람한 파일 
          • Frequent(자주 사용하는 항목) : 응용프로그램을 통해 자주 열람하는 파일 
          • Tasks(작업) : 경우에 따라 미디어 재생, 새 문서 작성 등의 기능을 빠르게 이용
          • Pinned(사용자 고정) : 응용프로그램의 사용이 종료되어도 작업 표시줄에 응용프로그램 아이콘을 남겨두기 위한 기능(사용자가 자주 사용하는 응용프로그램일 가능성이 크다)


          물론, 위와 같은 정보는 사용자들의 컴퓨터 사용 특징을 유추할 수 있기 때문에 디지털 포렌식 조사 관점에서도 유용한다.

          점프리스트 파일은 사용 목적과 같게 최근 문서 바로가기 파일이 저장된 경로인 %UserProfile%\ AppData\Roaming\Microsoft\Windows\Recent\에 AutomaticDestinations와 CustomDestin- ations폴더에 각각 저장되어 있다.

          AutomaticDestinations 폴더 예시
          CustomDestinations 예시

          여기서 AutomaticDestinations 내부의 파일들은 Compound Document 포맷 포멧을 사용하고 있으므로, Compound 포멧 분석기를 통해서도 내부의 내용을 확인할 수 있다.

          ※ Compound Document Format : FAT 파일 시스템과 굉장히 유사한 형태로 되어 있는 파일 포멧으로, 파일 시스템이 파일을 저장하듯 내부의 스트림(Stream)으로 데이터를 저장, 관리할 수 있기 때문에 목적에 따라 자주 사용되는 포멧이다. (대표적으로는 Office 2003까지의 문서 파일들이 사용하였고, 지금 설명하는 점프리스트의 AutomaticDestinations 파일이나, 윈도우의 스티커 노트, HWP 문서 등이 이 포멧을 사용한다.)

          CustomDestinations의 경우 자체 포멧을 사용하고 있지만, 중요한 것은 두 가지 점프리스트 포멧이 모두 내부적으로는 바로가기(.lnk) 파일을 포함하고 있다는 것이다. 따라서 분석 관점에서 정보의 해석과 활용은 바로가기 파일과 교차하여 진행하는 것이 좋다. 여기에 더해 자주 사용하는 항목등에 대한 관리가 별도의 스트림으로 저장되기 때문에 정확히 분석 한다면 바로가기만 분석하는 경우보다 나은 결과를 얻을 수 있을 것이다. 

          또한 JumpList의 항목은 사용자의 삭제 행위에 의해서만 삭제되기 때문에, 의도적으로 삭제되지 않는 한 파일 사용에 관련된 정보를 획득할 수 있다. 반대로는 삭제된 흔적이 발견되는 경우, 사건에 관련하여 용의자 의도를 의심해볼 필요가 있을 것이다. (점프 리스트 자체를 사용하지 않음으로 설정하면 관련 파일들이 모두 삭제되므로 이 점도 함께 알아두도록 하자.)


          점프리스트 사용 설정 화면



          분석 대상(Target)

          ※ 아래의 내용은 PFP-List와 연동되는 정보로, PFP에서 확인 및 분석에 직접적인 활용이 가능합니다.
             (PFP ManualPFP DownloadPFP home)


          Jump lists

          Target Path(Location)
          %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\ *.automaticDestination-ms
           - Recent and Pinned list
           - The File name(16 hex) is pre-determined.
           - Compound format(and each stream is same as .lnk file)
          %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\ *.CustomDestinations-ms
           - Frequency and Tasks list
           - The File name(16 hex) is pre-determined.
          Check List
          Recent and frequently used file list in target system
          Lnk file information (.automaticDestination-ms file has lnk files)
          Related Tools
          JumpLister
          JumpListViewer

          Windows 7 이상에서 존재.




            숏컷, 바로가기(Shorcut)

            Page info

              바로가기 링크(숏컷) 파일

              바로가기(Shortcut)는 다른 파일의 정보(경로, 시간 정보 등)를 포함하는 또 다른 작은 파일로, 주로 대상 파일을 손쉽게 사용하기 위하여 사용자가 접근하기 편한 경로에 생성되는 파일이다. 


              바로가기 파일 속성
              .
              최근 문서(Recent) 경로에 존재하는 바로가기 예시(PFP Filesystem Lookup)

              포렌식 분석 관점에서는 바로가기 파일이 가리키는 파일에 대한 추가적인 정보를 얻거나 대상 파일이 삭제된 후에도 여러 정보를 제공해 주는 역할을 하기 때문에 파일 시스템 분석과 교차하여 꼭 내용을 확인해볼 필요가 있다. 

              바로가기 파일 분석 예시

              바로가기 파일은 OS설치 시점, 응용프로그램 설치 시점, 문서파일 열람 시점에 자동으로 생길 수 있으며, 시스템마다 사용자 취향에 따라 존재할 가능성이 있다. 바로가기 파일이 주로 존재하는 위치는 아래 분석 대상(Target)에서 확인 가능하며, 생성되는 위치에 제한이 없기 때문에 파일 시스템 분석 과정에서 .lnk확장자에 관한 전반적인 확인이 필요하다.  




              분석 대상(Target)

              ※ 아래의 내용은 PFP-List와 연동되는 정보로, PFP에서 확인 및 분석에 직접적인 활용이 가능합니다.
                 (PFP ManualPFP DownloadPFP home)

              *.evt (XP or lower)
                Target Path(Location)
                [Desktop Folder]
                %UserProfile%\Desktop\
                [Recent Folder]
                %UserProfile%\Recent\
                %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\
                [Start Program Folder]
                %UserProfile%\Start Menu\Programs\
                %UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
                [Quick launch folder]
                %UserProfile%\Application Data\Microsoft\Internet Explorer\Quick Launch\
                Check List
                [Shortcut information]
                 - The creation time of link target
                 - The modification time of link target
                 - The access time of link target
                 - The file size of link target
                 - Original path of link target
                 - Volume serial number
                 - Volume type(portable, unportable, network drv, cdrom, ram)
                 - Volume label
                 - Mac address
                 - Net bios name
                Related Tools
                [Public] Shortcut(Windows)
                WFA

                바로가기가 주로 생성되는 경로로, 바로가기 파일을 확보 하고자  반드시 확인해야할 필요가 있으며, 파일 시스템 전체에 대해 .lnk 확장자를 가지는 파일에 대한 종합적인 확인도 필요하다.