티스토리 툴바


[+] Hacking/[!] Quiz Report 2012/01/28 15:40

제목 그대로 SANS에서 이벤트로 했던 대회인데 deok9님과 함께 참여해 보았다.

문제 URL : http://pen-testing.sans.org/holiday-challenge 

결과는 흠... 뽑히지 못했지만 나름 재밌었던 대회였다.

풀이 보고서 버전은 처음부터 배포 목적으로 작성해서 한글 버전과 영문 버전이 있다. 아래 자료는 한글 버전이다.

 





답과 풀이는 우승자 보고서랑 별반 다를게 없는데 영작에서 조금 주최측에 이해 차이가 있었던 듯 싶다. 

(개인적으로는 보고서 마지막 코멘트가 SANS에게 우리를 뽑지 않는 계기를 준듯...) 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
http://maj3sty.tistory.com/trackback/885 관련글 쓰기
[+] Forensic 2012/01/28 14:29

이번 글 에서는 파일시스템 파일 이름 참조 모델과 응용 프로그램 참조 모델에 대해서 알아 볼 것이다.

일단 파일 이름 참조 모델부터 알아보자.

[파일 이름 참조 모델]
해당 참조 모델은 파일명을 포함하며, 사용자 입장에서 메타 데이터 참조 모델을 통한 파일 접근이 아닌 파일 명으로 접근 하게 끔 도와준다. 이 참조 모델이 포함하는 데이터는 파일명과 해당 파일의 메타 데이터 엔트리 주소이다.
아래는 파일 이름 참조 모델의 개념이다.

[파일 이름 기반 파일 복구]
해당 기술은 파일 이름 참조 모델이 가지고 있는 메타 데이터 엔트리 주소를 이용하여 파일을 복구 하는 기술이다. 메타데이터 엔트리는 파일에 할당 된 클러스터 주소를 가지고 있기 때문에 이러한 복구가 가능하다.

[그림 1 - 파일 이름 참조 모델과 메타 데이터 참조 모델의 관계]

이 기술에서 주의해야 할 점이 있다. 만약 첫 번째로 특정 메타 데이터 엔트리에 할당 되었던 파일 이름이 비 할당 상태가 되고 특정 메타 데이터 엔트리에 새로운 파일명이 할당 되었다가 새롭게 할당 되었던 파일명이 비 할당 상태가 된 상태에서 조사관이 분석을 수행 한다면 조사관은 두 파일명 간의 할당 순서를 파악하지 못하게 된다.
이렇듯 파일 이름을 기준으로 지워진 파일들을 조사하거나 복구 할 때에는 메타 데이터와 클러스터들이 새로운 파일에 다시 할당 될 수 있다는 점을 명심해야 한다.
 

 
이번에는 분석 기술에 대하여 알아보도록 하자.

[파일명 목록 작성]
해당 기술은 이름, 경로, 파일 확장자 기반으로 증거를 검색할 때 사용된다. 이 기술의 기본적 방법은 파일시스템의 루트 디렉토리 위치를 파악하는 것이다. 루트 디렉토리의 레이아웃은 메타데이터 엔트리에 저장되어 있다.
디렉토리 위치를 파악하고 처리 한 후 파일의 목록과 그것들에 해당하는 메타 데이터 주소를 얻는다.
대부분의 도구들은 이러한 기능을 가지고 있으며, 메타 데이터 참조 모델의 데이터와 파일 이름 참조 모델의 데이터를 통합하여 분석해 사용자는 두 정보를 한번에 확인 할 수 있다. 

 

[파일명 검색]
해당 기술은 전체 파일명을 모를 때 사용하는 기술이다. 해당 기술의 방법은 아래와 같다.

 - 디렉토리 내용들을 불러와 하나씩 처리한 후 디렉토리의 각 엔트리와 지정된 패턴(검색 문자열)과 비교한다.

또 다른 검색 방법으로는 메타 데이터 엔트리에 할당 된 파일명을 검색하는 방법이다.
이 방법은 클러스터에서 증거를 찾은 후 해당 클러스터를 할당한 메타 데이터 구조체를 검색할 때 사용된다. 


[일관성 검사]
해당 기술은 할당 된 모든 파일명이 할당된 메타 데이터 구조체를 가리키고 있는지 증명하는 기술이다. 이 기술은 같은 파일 내용에 여러 파일명이 있는 파일시스템에 적합하다.  


[영구 삭제 기술]
해당 기술은 파일 이름 참조 모델의 데이터인 파일명과 메타 데이터 주소를 지운다. 또 다른 방법으로는 파일명 구조체에 특정 값을 덮어 씌어 엔트리는 존재하지만 더 이상 해당 데이터가 유효하지 않도록 한다.
또 다른 방법으로는 파일명 목록을 얻어와 삭제된 파일명을 기존의 파일명으로 덮어 씌우는 것이다. 이 방법은 복잡하고 파일명을 숨기는 기술이어서 조사관들이 조사 수행 시 어떤 파일에 해당 기술이 사용되었는지 알 수 없다. 

 
이번에는 마지막 파일시스템 참조 모델인 응용 프로그램 참조 모델에 대해서 알아 보도록 하겠다.

[응용 프로그램 참조 모델]
해당 참조 모델에 포함되는 데이터는 파일시스템에 있어서 필수적인 데이터는 아니지만 일부 파일시스템은 해당 참조 모델의 데이터를 포함한다.  

[파일시스템 저널]
파일시스템의 저널은 프로그램이 문제 없이 실행되기 위해 구성 된 것이다. 원리는 아래와 같다.

 - 파일시스템에 메타데이터가 변경되기 전 저널에 변경 되는 것을 알리는 엔트리가 생성 됨
 - 메타데이터가 변경 되면 저널에는 변경 되었다는 또 다른 엔트리가 생성 됨
 - 만약 프로그램이 실행 되는 도중에 프로그램이 손상되었을 때 점검 프로그램은 해당 프로그램의 저널을
   읽어 완성되지 않은 엔트리 위치를 확인 함 
 - 해당 프로그램의 엔트리 위치를 확인하여 복구를 완료하면 저널은 엔트리를 지우고 원래 상태로 돌아 감 


이처럼 프로그램 동작에 도움을 주는 기능이지만 파일시스템 동작에 있어서 필수적인 기능은 아니기 때문에 응용 프로그램 참조 모델에 속하는 것이다. 

 

[응용 프로그램 기반 파일 복구]
해당 기술은 시그니처를 기반으로 검색을 하는 기술이다. 대부분의 파일들은 표준적인 시그니처를 가지게 되는데 해당 기술은 그러한 시그니처들을 이용하여 검색을 하는 기술이다. 대표적인 도구로는 foremost가 있다. foremost는 각 파일시그니처가 목록화 되어 있는 설정 파일을 기반으로 동작한다. 


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'[+] Forensic' 카테고리의 다른 글

File System (5)  (0) 2012/01/28
File System (4)  (0) 2012/01/27
File System (3)  (0) 2012/01/26
File System (2)  (0) 2012/01/26
File System (1)  (0) 2012/01/26
http://maj3sty.tistory.com/trackback/884 관련글 쓰기