정적 해석
정적 해석이란
앞의 항목에서 설명한 동적 해석이 '멀웨어를 실제로 작동시켜 그 움직임을 확인' 하는 해석 방법인데 반해(p.76),
정적 해석은 '멀웨어를 실행시키지 않고 실제로 피해를 입은 컴퓨터에 남겨진 파일이나
메모리에 잔존하는 멀웨어 관련 정보 등의 내용을 보고 해석하는 방법'입니다.
정적 해석의 장단점
정적 해석에서는 멀웨어를 작동시킬 필요가 없기 때문에 동적 해석처럼 샌드박스(p.74)를 마련하거나 특정 쇼포트으웨어나 설정 파일 등을 준비할 필요가 없습니다.
작동시킬 멀웨어가 없어도 멀웨어의 해석을 진행할 수 있습니다.
한편 정적 해석에는 크게 다음과 같은 세 가지 단점이 있습니다.
1. 시간이 걸린다
2. 방대한 지식이 필요하다.
3. 해석 대상 프로그램에 기술되어 있는 것 이상의 것은 알 수 없다.
작동을 시키면 바로 알 수 있는 것도 프로그램을 분석해서 해명하려고 하면 상당한 시간이 걸립니다.
또한 정적 해석을 하려면 방대한 지식이 필요합니다.
예를 들어 프로그램이 작동하는 환경에 대한 지식도 필요하며, 해석 대상 프로그램이 외부 호스트와 통신하는 경우에는
외부 호스트에서 작동하는 프로그램에 관한 지식이나 프로그램이 주고 받는 데이터에 관한 지식도 필요 합니다.
동적 해석과 정적 해석의 용도
동적 해석과 정적 해석에는 각각 장단점이 있습니다.
그렇기 때문에 두 해석 방법을 조합하여 사용할 것을 권장합니다.
예를 들어 동적 해석을 하기 위해 필요한 데이터가 갖춰지지 않은 경우는 부족한 데이터를
정적 해석으로 조사하는 등 각각의 특징을 살려 서로 해석을 진행하는 방법을 권장합니다.
정적 해석
정적 해석에서는 멀웨어의 프로그램 파일이나 메모리에 읽혀진 정보를 바탕으로
멀웨어에 어떤 프로그램이 기술되어 있는지를 툴을 사용하여 읽고 해석합니다.
* 역 에섬블러
멀웨어아 국한되지 않고 컴퓨터에서 작동하고 있는 대부분의 프로그램은 프로그래머가 기술한 프로그램(사람이 읽을 수 있는 형식)을
컴퓨터가 실행할 수 있는 형식(컴퓨터가 읽을 수 있는 형식)으로 변환한 후에 실행용 파일로 저장되어 있습니다.
이 변환 처리를 어셈블러라고 하는데, 역어셈블러는 이것과 반대의 처리
즉, 컴퓨터가 실행하는 형식의 파일을 사람이 읽을 수 있는 형식으로 변환하기 위한 툴입니다.
동적 해석과 정적 해석의 조합 예
동적 해석과 정적 해석은 둘 다 장단점이 있으므로 양 쪽을 잘 조합하면 효율적인 해석을 할 수 있는 경우도 있습니다.
동적 해석 장점
· 실제 멀웨어의 행동을 파악하기 쉽다.
· 해석 결과를 빨리 알 수 없다.
동적 해석 단점
· 실제로 작동시킬 멀웨어 실행 파일이 없으면 해석할 수 없다.
· 샌드박스와 같은 실행 환경에서는 작동하지 않는 멀웨어도 있어서 작동시키지 못하면 해석할 수 없다.
정적 해석 장점
· 실제로 작동하는 멀웨어 실행 파일이 없어도 해석할 수 있다.
· 샌드박스와 같은 실행 환경을 마련할 필요가 없다.
정적 해석 단점
· 해석에 방대한 시간이 걸리며 고도의 스킬도 필요하다.
· 프로그램에 기술되어 있는 것 이상의 것은 알 수 없다.
[출처] 알기 쉬운 일러스트로 해설, 그림 설명으로 한 번에 이해할 수 있는 보안의 기본 Miyamoto Kunio, Okubo Takao 지음, 이영란 옮김