멀웨어 분석 기초

악성 바이너리를 안전하게 분석하는 방법을 배웁니다. 정적 분석을 통해 문자열과 헤더 정보를 추출하고, 동적 분석 도구인 strace 와 ltrace 를 사용하여 실행 중인 시스템 및 라이브러리 호출을 모니터링하는 방법을 결합하여 실습합니다.

Cybersecurity Engineer사이버 보안

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

악성코드 분석은 실행하지 않고 얻은 증거와 실행 중 관찰한 동작을 결합합니다. 이 실습형 과정은 안전하게 제작된 Linux 프로그램을 사용해 파일 구조, 문자열, 시스템 호출, 라이브러리 호출이 의심 실행 파일에 대해 무엇을 보여 주는지 학습합니다.

ELF를 식별하고 SHA-256을 기록하며 헤더와 내장 지표를 조사하고 strace와 ltrace로 통제된 실행을 추적합니다. 마지막 챌린지에서는 하드코딩 키를 찾고 추적 하에서 준비된 동작을 활성화하여 변경된 로컬 파일을 보고합니다.

학습 내용

  • file로 바이너리의 실제 유형과 아키텍처 판단하기
  • SHA-256 지문을 만들고 readelf로 ELF 헤더 검사하기
  • 내장 문자열에서 URL, IP 주소, 비밀 정보 추출 및 필터링하기
  • strace로 시스템 호출을 기록하고 파일·네트워크 활동으로 범위 좁히기
  • openat, unlink, socket, connect 증거 해석하기
  • ltrace로 공유 라이브러리 함수를 추적하고 문자열·파일 호출 분리하기
  • 준비된 평문 페이로드가 변환되어 디스크에 쓰이기 전에 복구하기
  • 정적 단서와 동적 추적을 결합해 발생한 파일 변경 문서화하기

추천 대상

이 중급 과정은 실행 파일 트리아지 입문을 원하는 사이버 보안 학습자, 사고 대응 담당자, Linux 관리자, 악성코드 분석 입문자를 대상으로 합니다. 어셈블리 수준 역공학보다 관찰 가능한 동작과 증거 수집에 집중합니다.

선수 지식: Linux 터미널, 파일, grep, 출력 리디렉션을 다룰 수 있어야 합니다. 프로세스, 실행 파일, 네트워크, 해시 기초가 있으면 도움이 되며 C나 디스어셈블 경험은 필요하지 않습니다.

학습 환경: file, SHA-256, readelf, strings, strace, ltrace가 있는 Ubuntu 22.04 터미널입니다. 모든 샘플은 실습용으로 컴파일된 무해한 C 프로그램이며 준비된 로컬 파일과 테스트 지표만 다룹니다.

자주 묻는 질문

실제 악성코드를 실행하나요?

아닙니다. 각 실행 파일은 설정 중 생성되는 시뮬레이터로, 실제 악성 기능 없이 파일, 네트워크 호출, 자격 증명, 페이로드 처리 패턴을 보여 줍니다.

내가 가진 미확인 샘플을 분석하기에 충분히 격리되어 있나요?

아닙니다. 제공된 무해 샘플에는 적합하지만 임의 바이너리를 위한 강화 샌드박스, 네트워크 차단, 스냅샷, 모니터링은 구성하지 않습니다. 미확인 샘플을 업로드하거나 실행하지 마세요.

디스어셈블이나 디컴파일을 배우나요?

아닙니다. 최종 챌린지 테마와 달리 실제 범위는 메타데이터, ELF 헤더, 문자열, strace, ltrace를 이용한 블랙박스 트리아지입니다. 어셈블리, 디버거, 디컴파일러, 언패킹, 코드 재구성은 포함하지 않습니다.

외부 위협 인텔리전스 서비스가 필요한가요?

아닙니다. 해시와 로컬 지표를 기록하지만 샘플을 업로드하거나 VirusTotal을 조회하지 않습니다. 모든 결론은 제공된 아티팩트와 추적 결과에서 도출합니다.

강사

labby
Labby
Labby is the LabEx teacher.