악성파일
그것은 어떻게 분석하는 것인가..
악성파일를 분석하는데에는 크게 3가지 방법이 있다.
1. 기초분석(초기분석)
- 악성파일의 대한 기초적인 정보를 모으는 단계이다.
- Finger Print, 악성파일의 지문이라 불리는 해시값 및 기본 정보를 얻는 단계
- 주로 Virus total 같은 곳에 해당 악성파일를 분석한 후 악성파일의 이름에서 어떤 유형의 바이러스 인지, 어떤 행위를 할 것인지, 악성파일의 행동이나 관련된 web 주소 등 기본적인 정보를 얻는 단계이다.
- 사용 툴 : Virustotal 등
2. 정적분석
- 패킹여부확인, 악성파일의 문자열 확인, 확장 코드나 IP,URL주소등이 있는지 확인하는 단계이다.
- 정적분석 단계의 특징은 악성파일을 실행하지 않고 보이는 것으로만 정보를 확인하는 단계이다.
- 악성파일이 발견되면 우선적으로 전문 분석가들이 해당 악성파일을 분석한 후 어떤 형태인지, 어떤 방식으로 치료해야 하는지 등 분석하는 시간과 그에따른 대응법을 만드는 시간이 필요하다. 악성파일 유포자의 입장에서는 최대한 늦게 분석이 되어 자신의 이익을 얻는것이 우선이므로 쉽게 해석하지 못하게 파일을'패킹'하는 작업을 한다. 이를 확인하기 위해 악성파일의 패킹여부를 맨 먼저 확인한다.
- 악성파일이 패킹되어 있는경우 언패킹 후 파일의 문자열을 확인한다. 이를통해 악성파일이 어떤 행위를 할 것인지, 특정 URL 이나 IP가 있는경우 특정 주소에 접근해 어떤 행위를 할것이라 예측할 수 있다.
- EX) 특정 URL에 접속후 프로그램이나 파일을 다운로드하는 행위
- 사용 툴 : PEID, EXEinfo, PEview, Bintext 등...
3. 동적분석
- 이 단계에선 악성파일을 직접 실행시킨후 그에따른 변화를 비교하는 단계이다.
- VMware 같은 샌드박스 프로그램으로 가상환경을 구성한 후 동일한 환경으로 악성파일을 실행시켜 그에따른 변화를 확인한다.
- 프로세스의 변화, 네트워크상에서 이뤄지는 행위 등을 확인하는 단계이다.
- 프로세스 -> 파일 -> 레지스트리 -> 네트워크 순으로 변화하는 단계를 확인한다.
- 랜섬웨어 같은 행위가 명확한 악성코드는 판단이 가능하나, 백도어나 잠복기를 갖는 악성코드일 경우 분석 어려운 경우도 있다.
- 사용 툴 : Process explorer, Process Monitor , autoruns, TCPview, WireShark 등..
이런 단계를 통해 악성코드를 분석한다.
물론 깊고 심도있게 분석한다면 OllyDBG같은 리버싱에 사용되는 툴도 사용하며 더 깊게 각 단계를 세분화하여 분석한다.
하지만 전문적인 악성코드 분석가 또는 포렌식 전문가가 아닌이상 이 3단계로 악성파일을 분석한다고 생각하면 된다!
* 추가내용 *
최근 보안관제에서 공식적으로 사용하는 툴이 확정이 됬다.
실제 업무에서 사용하는 툴은
1. Process Monitor
2. Process Explorer
3. Autoruns ( 레지스트리 분석을 위해 사용)
4. wireshark (네트워크 트래픽 및 패킷 분석을 위해 사용)
이렇게 4가지 이다.
만약 보안관제 업무에 관심이 있다면 해당 4가지 툴의 사용법은 미리 숙지해두는것이 좋을 것 같다.
'Security' 카테고리의 다른 글
Snort 란? (0) | 2020.02.17 |
---|---|
악성파일 분석 보고서 (0) | 2020.02.17 |
APT 공격이란 무엇인가 (0) | 2019.11.03 |
랜섬웨어란? (0) | 2019.11.02 |
보안 관제란 무엇인가 (0) | 2019.10.27 |