leejhstory
동적분석 본문
동적분석
- 의심 파일을 실행해서 파일의 동작 형태를 분석하는 방법
- 프로세스, 파일, 레지스트리, 네트워크의 동작을 모니터링을 통해 알 수 있다.
1. 프로세스 모니터링
- 프로그램이 실행되면 반드시 프로세스가 존재. 악성코드를 실행하고 프로세스의 변화를 살펴보는 것으로 악성코드의 동작을 추측
* Process Explorer
- 프로세스를 모니터링하기 위한 툴
2. 파일 모니터링
- 악성코드를 실행하면 자신의 동일 파일을 다른 위치에 생성하거나 다른 파일을 다운 또는 드롭한다.
- 파일 생성의 경우 이외 백신 프로그램 관련 파일 또는 특정 프로그램을 삭제하는 경우도 존재
- 바이러스의 경우는 파일을 변조하게 됨
* filemon
- 파일의 모든 행위를 모니터링
- 파일 생성/변조/삭제 이외에 파일에 접근하고 파일을 읽고 쓰는 행위 등 파일에 관한 모니터링.
3. 레지스트리 모니터링
- 악성코드는 윈도우즈 설정을 변경해 자신이 원하는 동작을 수행
- 자신의 파일을 숨기거나 레지스트 편집기, 작업관리자 실행 불가 안전모드 부팅 불가, 부팅 시 악성코드 동작 등의 작업이 레지스트리 수정을 통해 발생
* Regmon
- 레지스트리 관련된 모든 정보를 모니터링(filemon과 사용법 동일)
4. 네트워크 모니터링
- 악성코드에서는 네트워크를 통해 정보유출 및 공격자의 명령을 받고 백도어를 열고 있는 등의 작업이 이루어짐
- tcpview는 네트워크 연결상태를 보기 편리한 구조로 이루어져있음.
- wireshark는 네트워크 통신내용을 확인할 수 있음.
* tcpview
- 시스템이 어디로 연결되어 있는지, 어떤 포트를 사용하고 있는지 확인
- TCP와 UDP 프로토콜의 연결만 확인
* wireshark
- 네트워크 패킷을 갭쳐하는 툴
- TCP/UDP 이외의 모든 프로토콜의 패킷을 캡쳐
5. 시작 프로그램 모니터링
- 악성코드는 레지스트리 값을 조작하여 윈도우즈 부팅 혹은 로그인 시에 자동으로 동작을 시작
- 자동 실행과 관련된 정보만 모아서 보여주면 악성코드가 자동실행 관련해 어떤 레지스트리에 등록했는지 찾기 쉽다.
* Autoruns
- 해당 pc의 자동실행과 관련된 모든 레지스트리의 정보를 나타내는 프로그램
- 자동 갱신이 안됨
6. 루트킷 탐지
- 루트킷은 악성코드의 행위를 감추기 위해 윈도우즈 내부에서 역할을 수행하는 경우가 많다.
- 새로운 기술이 나오면 기존 프로그램으로 탐지 되지 않을 수 있기 때문에 루트킷 탐지와 관련된 툴을 항상 최신버전을 사용
* Gmer
- 루트킷 탐지에 사용되는 툴
- 해당 툴은 프로세스, 쓰레드, 서비스, 파일, 레지스트리 등 악성코드에 의해 숨겨진 데이터를 찾고 후킹된 함수의 목록도 찾아준다.
- 실행과 동시에 스캔을 시작해서 결과를 알려줌.
7. sysanalyzer
- 의심파일을 실행 전 파일, 프로세스, 레지스트리, 네트워크 정보를 가지고 있고, 의심파일을 실행 후 결과와 비교해서 차이점을 리포트 형식으로 제공해준다.
- 여러개의 툴을 사용하지 않고 하나의 툴로 파일, 프로세스, 레지스트리, 네트워크의 정보를 볼 수 있다.
- 실행 전 이미지와 실행 후 특정 시간 이후의 이미지를 비교하기 때문에 그 사이에 있는 변화는 놓치게 된다.
8. ThreatExpert
- 웹 서비스로 의심파일을 받아 실행결과를 메일로 보내주는 서비스
- sysanalyzer는 로컬에서, ThreatExpert는 원격에서 실행해서 결과를 알려준다.
'악성코드 분석 > 악성코드 분석 강의 정리' 카테고리의 다른 글
악성코드 분석 실습 (0) | 2019.06.09 |
---|---|
정적분석 (0) | 2019.06.08 |
동적분석과 정적분석 (0) | 2019.06.07 |
악성코드 분석(PE 구조3) (0) | 2019.06.07 |
악성코드 분석(PE 구조2) (0) | 2019.06.06 |