Basic Static Techiques(기초 정적 분석 기법)
안티바이러스 스캐닝(첫 번째 단계):- file signature(파일 식별자, magic number)
- Header signature
- footer or teilier signature
- 파일카빙(File Carving): 파일 카빙에는 File signature가 꼭 필요하다.
- 이미지 혹은 파일내의 다른 파일을 뽑아낼 때 사용한다. 예를 들어 DOC 문서내의 image를 carving하는 것이 가능하며, unallocated space에 있는 삭제된 파일과 같은 일정 내용을 carving하기도 한다.
- Heuristic(경험적 기법): 시스템의 룰과 패턴을 사용하여 알려지지 않은 악성코드를 탐지하기 위해 사용하는 기법
Header signature
Header signature는 파일내의 시작되는 파일 해더를 의미한다. 각각 파일마다 각자의 파일헤더가 존재하며, 가장 많이 참조하는 곳은 forensic-proof이다. 악성코드를 분석하다 보면 해당 파일이 어떤파일인지 확인이 필요할 때 File Viewer를 사용해서 해당 파일이 어떤 파일인지 확인 하는 것이다. 예를 들어 MP4 파일 같은 경우는00 00 00 18 66 74 79 70
파일 헤더를 가지게 된다.footer or teilier signature
파일 헤더 시그니처는 파일의 맨 앞에 존재하며, footer signature는 파일의 마지막에 존재하는 시그니처를 의미한다. footer signature는 잘 보지 않았던 부분인데 지금 보니, 그래픽 파일쪽에 많이 존재하는 것으로 보인다. 예를 들어 GIF 파일은 header signature로47 49 46 38 37 61
을 가지며 footer signature로는 00 3b
를 가진다. footer signature가 없는 경우는 파일 크기가 저장된 위치 값을 이용해 파일의 끝 offset를 확인한다.
그래픽 파일 스그니처도 forensic-proof에서 정보를 얻을 수 있다. :-)File Carving(파일 카빙)
파일 카빙을 정의하면 데이터 영역에 존재하는 파일 자체 정보(시그니처, 논리구조, 형식 등의 고유 특성)를 이용하는 방법으로 디스크의 비할당 영역을 대상으로 처음부터 끝까지 스캔한 후 삭제된 파일을 찾거나 특정 파일 포멧을 탐지될 경우 복원하는 방법을 의미한다. 카빙 방법으로는 데이터의 시작과 끝의 특정 시그니처를 이용한 파일 카빙과 헤더와 크기를 이용한 파일 카빙이 존재한다.대표적으로 사용했던 도구중에는 binwalk를 생각할 수 있다. binwalk는 iot 펌웨어 추출을 하기 위해 자주 사용하는 도구로 binwalk homepage에서 다운받을 수 있다. 한글로된 포스팅중 n604s 펌웨어를 대상으로 정리된 포스팅hyumini을 보면 어떤 도구인지 이해할 수 있다.
파일카빙기법에 관한 연구 Paper
Heuristic
휴리스틱 탐지 기법은 시그니처 기반으로만 악성코드를 탐지 기술의 한계를 극복하기 위해 개발된 기술로 일반적으로 악성코드가 가지고 있는 특징을 이용해 탐지한다. 특징으로는 특정 폴더에 파일을 쓰거나 특정 레지스트리에 키 생성과 같은 명령어를 확인하는 방법이다. 이러한 휴리스틱은 스캐닝 엔진의 형태에 따라 2가지 기법으로 나눌 수 있다.동적 휴리스틱 탐지 기법(Dynamic Heuristic Detection Tech)
- 파일 실행(File Execution)을 통해 수집한 다양한 정보를 휴리스틱 시그니처와 비교하여 검사하는 기법
- 런 타임 휴리스틱 탐지(Run Time Heuristic Detection)라고도 불림
- ex) 에뮬레이터(Emulator)와 샌드박스(Sandbox)에서 자주 사용되는 기술
정적 휴리스틱 탐지 기법(Static Heuristic Detection Tech)
파일이 어떤 파일 형식의 파일 실행(File Execution)없이 파일 자체를 그대로 스캐닝 엔진에서 읽어 들어 휴리스틱 시그니처와 비교하는 탐지기술을 의미한다.휴리스틱에 대한 정보는 noentrypoint blogspot에서 확인 할 수 있다.
댓글 없음:
댓글 쓰기