분석 순서
- 기초분석 → 정적분석 → 동적분석
정적분석
- 악성코드를 실행시키지 않은 상태에서 그 자체가 가지고 있는 속성을 분석
- 검사하다보면 악성코드를 실행시키는 경우가 있기 때문에 가상환경을 설정해야 함
- 기초 분석
- 바이러스 토탈 :
- 각 백신에 따른 악성코드 여부 확인과 해시값 조회를 통해 과거 검사 결과까지 확인
- 각 백신에 따른 악성코드 여부 확인과 해시값 조회를 통해 과거 검사 결과까지 확인
- 바이러스 토탈 :
- 패킹 여부 확인
- 패킹(Packing) :
- 실행파일을 압축하는 기술로 많은 악성코드 파일에 적용되어 있음
- 그 이유는 악성코드를 담고 있는 파일의 크기를 줄여 좀 더 빠르게 유포하고 악성코드 파일 디버깅을 하기 어렵게 만들기 위함
- 따라서, 패킹이 적용된 악성코드를 분석할 때에는 먼저 패킹을 해제하고 분석을 해 나가는 것이 바람직함
- Exeinfo :
- PE파일 생성에 사용했던 패커나 컴파일러를 확인 할 수 있음
- 과거 가장 많이 사용되던 패킹 분석툴인 PEiD 와 같은 기능을 함
- PEiD는 2011년에 개발과 지원이 중단되었으며, 64bit 전용 실행파일 분석도 가능한 Exeinfo가 현재 많이 이용되고 있음
- 패킹(Packing) :
- 문자열 확인
- Bin Text :
- 악성코드 파일로부터 아스키 및 유니코드 등의 문자열 정보를 추출
- 파일 내의 문자열을 나열해 분석하여 IP주소, 도메인 주소, 실행파일 유무, 명령어를 사용하는 경로 검사
- Bin Text :
- PE 구조 확인
- PEView :
- PE 헤더를 구조체 별로 보기 쉽게 나타내주는 도구
- 분석하고자 하는 파일의 확장자가 실제로 어떤 확장자인지 시그니처 확인
- 언제 이 파일이 만들어졌는지와 패킹여부도 확인 가능
- 어떠한 함수정보를 가지고 있는지 확인
- PEView :
동적분석
- 악성코드를 실행하여 시스템의 변화를 관찰
- 악성코드를 실행하는 것이기 때문에 시스템과 네트워크에 피해가 없도록 가상환경을 구성해야 함
- 악성코드를 실행한 시점에 PC자체에서 정상적인 행위가 동작할 가능성이 있기 때문에, 의심행위가 악성코드가 실행한 것이라고 단정지을 수 없음 → 여러번의 분석행위가 필요함
- 프로세스
- Porcess Explorer :
- 윈도우 작업 관리자에서 더 많은 기능을 추가한 프로그램
- 현재 동작중이거나 새로 실행, 종료 되는 process들에 대해서 트리형식으로 실시간으로 보여줌
- 현재 사용되는 시스템의 리소스를 알 수 있고, 실행중인 프로세스를 클릭하여 속성창을 들어가보면 상세정보를 확인할 수 있음
- Process Monitor :
- 현재 실행되고 있는 모든 프로세스들의 동작을 보여주고 변화하는 레지스토리, 파일, 네트워크 상태를 로그로 남김
- 해당 프로세스가 어떤 파일을 읽고 쓰는지, 어떤 레지스토리를 변경하는지 등을 실시간으로 기록
- 모든 프로세스들을 보여주기 때문에 필터 기능을 적절히 활용
- Porcess Explorer :
- 파일 및 레지스토리
- Autoruns :
- 윈도우 시스템에서 부팅 후 자동으로 시작되는 시작프로그램이나 서비스들을 보여주고 관리하는 모니터링 툴
- 악성코드를 실행시키기 전과 후에 레지스토리 영역에서 생성됐거나 삭제됐거나 변화된 게 있는지 확인
- Autoruns :
- 네트워크
- WireShark :
- 가장 보편적인 무료 오픈 소스 네트워크 패킷 분석 툴
- 모든 패킷에 대한 정보를 실시간으로 기록하며 개별 패킷 내의 프로토콜 정보를 세부적으로 파악 가능
- 원활히 분석하기 위해서는 tcp,udp,프로토콜에 대해 정확히 알고 있어야 함
- WireShark :
'리팩토링' 카테고리의 다른 글
악성코드 샘플 분석 실습 (0) | 2023.10.09 |
---|---|
샘플 분석 환경 구성 (0) | 2023.03.28 |
Virustotal (0) | 2023.03.09 |
보안관제 (0) | 2023.02.20 |
악성코드 (0) | 2023.02.15 |