0Pricing
Ethical Hacking Academy · 강의

정적 분석

문자열과 헤더

정적 분석은(는) CoddyKit의 무료 Ethical Hacking Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ethical Hacking Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

정적 분석이란 무엇인가요

정적 분석은 악성 코드 샘플을 실행하지 않고 검사하는 과정입니다. 파일의 내용, 구조, 메타데이터를 살펴 샘플이 어떤 동작을 할 수 있는지 알아냅니다.

알 수 없는 코드를 실행하는 것보다 안전하며, 일반적으로 모든 악성 코드 조사의 첫 단계입니다.

안전하게 작업하기

정적 분석도 격리된 환경에서 수행해야 합니다. 민감한 데이터가 없는 전용 분석 VM을 사용하고, 가능하면 네트워크를 비활성화하십시오.

절대로 주 컴퓨터에서 악성 코드를 분석하지 마십시오. 실수로 실행하거나 악성 압축 파일을 열면 시스템이 손상될 수 있습니다.

샘플 해시 계산

먼저 파일의 해시(MD5, SHA-1, SHA-256)를 계산하십시오. 해시는 샘플을 식별하고 위협 인텔리전스 데이터베이스에서 조회할 때 사용하는 지문입니다.

VirusTotal에 해시만 제출하면 샘플 자체를 업로드하지 않아도 됩니다.

sha256sum sample.exe

문자열 추출

strings 명령은 바이너리에서 출력 가능한 텍스트를 추출합니다. URL, IP 주소, 파일 경로, 레지스트리 키, 오류 메시지를 발견할 수 있습니다.

이러한 흔적은 악성 코드의 기능과 명령 및 제어 인프라를 파악하는 단서가 됩니다.

strings -n 8 sample.exe | less

파일 형식 식별

파일 확장자를 믿지 마십시오. file을 사용하고 매직 바이트도 검사하여 실제 형식을 확인하십시오.

Windows 실행 파일은 MZ(PE 형식)로 시작하고, ELF Linux 바이너리는 0x7F ELF로 시작합니다. 형식을 알면 이후 분석 방향을 정할 수 있습니다.

file sample.exe
# sample.exe: PE32 executable (GUI) Intel 80386

PE 헤더

Windows 실행 파일은 이식 가능한 실행 파일(PE) 형식을 사용합니다. 헤더에는 섹션, 진입점, 타임스탬프에 대한 정보가 들어 있습니다.

PEview, pefile, PE-bear와 같은 도구가 이 구조를 대신 분석해 줍니다.

import pefile
pe = pefile.PE('sample.exe')
print(pe.FILE_HEADER.TimeDateStamp)

임포트와 IAT

임포트 주소 테이블(IAT)에는 프로그램이 다른 DLL에서 호출하는 API 함수가 나열됩니다. 이는 동작을 추론할 수 있는 가장 풍부한 단서 중 하나입니다.

InternetOpenUrl, CreateProcess, RegSetValue와 같은 임포트는 네트워크 통신, 실행, 지속성을 암시합니다.

섹션과 엔트로피

PE 파일은 .text(코드), .data, .rsrc(리소스)와 같은 섹션으로 나뉩니다.

한 섹션의 엔트로피가 높으면 패킹이나 암호화가 적용되었음을 나타내는 경우가 많습니다. 즉, 실제 코드는 실행 시점까지 숨겨져 있을 수 있습니다.

문자열과 임포트가 거의 없다면

샘플에 읽을 수 있는 문자열이 매우 적고 임포트도 거의 없다면 패킹되었을 가능성이 높습니다. 패킹된 악성 코드는 실행 중 메모리에서 스스로 압축을 풉니다.

이는 정적 분석만으로는 모든 내용을 확인할 수 없으며, 이후 동적 분석과 언패킹이 필요하다는 뜻입니다.

YARA 규칙

YARA 규칙은 악성 코드군을 분류하고 탐지하기 위한 문자열 또는 바이트 패턴을 정의합니다. 샘플을 규칙 집합에 대조하면 알려진 위협을 빠르게 식별할 수 있습니다.

분석가는 정적 분석 중 발견한 흔적을 바탕으로 사용자 지정 규칙도 작성합니다.

yara malware_rules.yar sample.exe

분석 결과 기록

정적 분석을 진행하는 동안 해시, 의심스러운 문자열, 임포트, 섹션 이상 징후 등 모든 흔적을 기록하십시오. 이러한 정보는 IOC가 되어 다음 단계를 결정하는 데 도움을 줍니다.

기록을 잘 남겨 두면 샘플을 알려진 악성 코드군과 연관 지을 수 있고, 나중에 다시 분석할 때 같은 작업을 반복하지 않아도 됩니다.

빠른 확인

섹션 엔트로피가 높은 경우 일반적으로 무엇을 의미하는지 떠올려 보십시오.

복습

이제 악성 코드 정적 분석을 이해했습니다.

  • 격리된 VM에서 샘플을 실행하지 않고 검사합니다.
  • 해시를 계산하고, 문자열을 추출하며, 파일 형식을 확인합니다.
  • PE 헤더, 임포트(IAT), 섹션을 분석하며, 높은 엔트로피는 패킹의 단서가 됩니다.
  • YARA를 사용하여 알려진 악성 코드군을 분류합니다.

다음에는 동적 분석으로 악성 코드의 동작을 관찰합니다.

자주 묻는 질문

“정적 분석” 강의는 무료인가요?

네 — “정적 분석” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ethical Hacking Academy 강의 전체를 잠금 해제할 수 있습니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“정적 분석”에서 뭘 배우나요?

문자열과 헤더 브라우저에서 직접 실행하는 실습 코드로 Ethical Hacking Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Ethical Hacking Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Ethical Hacking Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“정적 분석” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Ethical Hacking Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Ethical Hacking Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 정적 분석
  2. 동적 분석
  3. 디스어셈블리 기초
  4. 언패킹
← Ethical Hacking Academy(으)로 돌아가기