본문 바로가기
카테고리 없음

악성코드 정적분석, 동적분석

by 원톄로 2023. 10. 19.

정적분석 특징

1. 정적분석(Static Analysis)

    - 어떤 프로그램을 분석할 때 그 프로그램을 실행시키지 않고 그 자체를 분석하는 것.

    - 프로그램에 내재한 논리적 오류는 보통 프로그램을 실행하여 확인하지 않으면 찾기가 힘들지만, 정적분석은 이러한 오류를 찾아내는 데 도움을 줄 수 있음.

 

2. 특징

    - 파일의 메타데이터, 해시 값, 문자열 패턴 등을 확인할 수 있음.

    - 디스어셈블러나 리버스 엔지니어링 도구를 사용하여 소스 코드를 검사할 수 있음.

    - 비교적 안전한 분석 방법이지만 가상 환경에서 분석하는 것이 좋음.

    - 비교적 신속하게 정보 획득.

    - 복잡한 악성코드의 경우 완전한 정보 제공이 어려울 수 있음.

 

동적분석 특징

1. 동적분석(Dynamic Analysis)

    - 프로그램의 실행을 기초로 하여 프로그램을 평가하는 과정.

    - 악성코드 실행 전후 상태를 조사 및 분석하여 프로그램의 기능을 파악.

 

2. 특징

    - 프로그램의 영향을 파악하는 데에 가장 직관적인 방법.

    - 가상 환경같이 격리된 환경에서 이루어져야 함.

    - 네트워크 트래픽, 메모리 사용량, 파일 시스템 활동 등을 모니터링.

    확실한 분석을 위해 2회 이상 분석 진행해야 정상 프로세스 오인을 막을 수 있음.

    - 비교적 시간이 많이 소요됨.

 

차이점

 

분석 Tool

1. 정적분석 Tool

    - Exeinfo PE: PE 형식의 파일에 대한 다양한 정보를 확인할 수 있음.

    - PeStudio: 악성코드 분석에 사용되는 Windows용 툴로, 파일을 분석하여 여러 가지 정보를 제공.

    - BinText: 실행 파일, 바이너리 파일 등에서 ASCII 문자열과 Unicode 문자열을 추출하는 도구.

    - IDA Pro: 디스어셈블러이자 디버거로, 바이너리 코드를 어셈블리 코드로 변환하여 분석하게해줌.

    - OllyDbg: Windows 환경에서 사용되는 32비트 어셈블러 레벨 분석 디버거.

 

2. 동적분석 Tool

    - Process Monitor: Windows 운영 체제에서 실행 중인 프로세스의 파일 시스템, 레지스트리, 네트워크 활동 등을 실시간으로 모니터링하고 로깅하는 데 사용.

    - Autoruns: Windows 시작 시 자동으로 실행되는 프로그램들을 관리하고 분석하는 데 사용.

    - Wireshark: 네트워크 트래픽을 실시간으로 캡처하고 분석하는데 사용되는 오픈소스 도구.

    - CurrPorts: 현재 시스템에서 열려 있는 모든 TCP/IP 및 UDP 포트를 나열하고 이에 대한 상세 정보를 제공.

    - Cuckoo Sandbox: 악성코드를 격리된 환경에서 실행하고 그 결과를 보고해주는 자동화 분석 시스템.