DFRWS에서 2012년 챌린지가 나왔다. 보통 3월 이후에 나오는 것이 일반적인데 올해는 많이 일찍 나왔다. DFRWS가 디지털포렌식 연구계에서 가장 큰 행사인것은 사실이지만, 알려진 것에 비해 챌린지에 참여하는 사람이 그렇게 많은 것은 아니다. 하지만 매년 신선한 주제로 챌린지가 열리기 때문에 디지털포렌식을 연구하는데 많은 도움이 되고 있다. 챌린지의 성격만으로 보면 DC3는 왠지 연구에 관심이 있기 보다는 잿밥에 관심이 있어 보이지만, DFRWS는 포렌식 분야의 선구자 역할을 하고 있는듯 하다. 그럼 2012년 챌린지에 대해 간단히 살펴보자.

데이터 블록 선별기(data block classifier)를 개발하는 것이 챌린지의 목표이다. 단순한 개발이라기 보다는 다양한 연구가 선행되어야 한다. 개발 도구에는 여러가지 입력이 필요하다.

$ <tool_name> <target> <block_size> [<concurrency_factor>]

  • target : 드라이브 이미지일 수도 있고, 그냥 일반 데이터 스트림일 수도 있다. 100 GB와 같은 대용량도 지원가능해야 한다.
  • block_size : 정해진 크기의 블록(512, 1460, 4096)
  • concurrency_factor : 추가 옵션으로 멀티스레드/프로세스을 지원한다면, 해당 스레드/프로세스의 수를  옵션으로 줄 수 있어야 한다.

입력받은 데이터 스트림을 설정한 데이터 블록으로 나눈 후, 각 블록의 데이터 특성을 파악하는 것이 문제이다. 해당 블록 데이터가 jpeg, pdf, xls, zip 등인지, 아니면 압축/인코딩이 되어 있는지, 단순한 텍스트 형식(txt, html, xml, js, json 등)의 데이터인지 이렇듯 주어진 볼록을 판단하면 된다.

다음은 예제 출력 결과이다.

판단해야 하는 데이터 타입은 다음과 같다.

  • txt, csv, log
  • html, xml, css
  • js, json
  • base64, base85, hex
  • jpg, png, gif, fax, jbig
  • zlib, bz2
  • pdf
  • ms-doc, ms-xls, ms-ppt
  • ms-docx, ms-xlsx, ms-pptx
  • mp3, aac
  • h264, avi, wmv, flv
  • fs-fat, fs-ntfs, fs-ext
  • encrypted, random, constant, null
  • 그 밖에 다양한 데이터 타입

데이터 블록이 파일의 시작 위치나 마지막 위치를 포함하는 것만은 아니기 때문에 단순히 시그니처를 가지고 탐지하기 어렵다. 그렇다고 엔트로피를 가지고 탐지하기에는 512바이트는 너무 작아 특징이 안나올 수 있다. 이런 상황에서 어떻게 하면 효과적으로 데이터 블록의 특징을 찾아낼 수 있을까? 초기 분류를 어떻게 할 것이며, 어떤 방식으로 찾아낼 것인지에 대한 알고리즘이 관건일 것이다.

결과물에 대한 평가는 다음과 같이 이루어진다.

  • 55% : 정확성
  • 30% : 처리 속도
  • 15% : 코드의 확장성 및 멀티 플랫폼 지원 여부

이러한 연구는 어디에 도움이 될까? 데이터 블록의 크기가 제한적이기 때문에 100% 아니 80% 이상의 정확성도 나오기 힘들다. 하지만 전처리 과정에서 사용하는 기술이라고 본다면 조각난 파일을 카빙하거나 네트워크 패킷 데이터 특성을 탐지하는데 활용될 수 있을 것이다. 이번 만큼은 주어진 기간도 꽤 되는 만큼 계획적으로 연구를 해볼려고 준비하고 있으나 항상 계획은 완벽하나 실행하는 것이 문제인것 같다.

챌린지에 대한 더 자세한 내용은 DFRWS 2012 Forensics Challenge 사이트를 확인하자.

Tagged with:
 
  • http://twitter.com/ChatNoirNo1 Chang-Bae Jeon

    계획을 완벽히 세우는 것보다 실행하는게 배는 어렵죠.
    저도 이것저것 계획한 것은 많았는데 잘 안되서 머리가 아프네요. ;ㅁ;

    • http://www.facebook.com/proneer Jinkook Kim

      그래서 올해도 계획의 반만 이루는 것을 목표로 하고 있습니다. ^^

  • 퍼다우크

    이래저래 재미는 있을것 같군요…

    • http://www.facebook.com/proneer Jinkook Kim

      시그니처 기반이 아닌 인코딩 탐지나 압축/암호화 구분 등 정확성이 60~70%만 나와도 대단히 성공할 것 같네요.