파일리스 악성 코드와 메모리 상주 기법
디스크 아티팩트를 남기지 않는 PowerShell 기반 악성 코드, 프로세스 인젝션 및 메모리 내 실행을 분석합니다.
파일리스 악성 코드와 메모리 상주 기법은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
파일리스 악성 코드란 무엇입니까?
파일리스 악성 코드는 실행 파일을 디스크에 기록하지 않고 전적으로 메모리에서 실행됩니다. 합법적인 OS 도구, 인터프리터 환경(PowerShell, 윈도우 스크립트 환경), 메모리 내 주입을 활용하여 작동하므로 기존 AV 및 파일 기반 검사로 탐지할 수 있는 포렌식 흔적을 최소한으로 남깁니다.
PowerShell 기반 공격
PowerShell은 다운로드 후 실행 패턴을 가능하게 합니다. IEX(식 호출)는 인터넷에서 스크립트를 다운로드하여 디스크에 기록하지 않고 직접 실행합니다. 문자 대체, base64, 문자열 연결과 같은 난독화 기법은 악성 스크립트 콘텐츠에 대한 서명 기반 탐지를 우회합니다.
# Example obfuscation pattern (for awareness)
# IEX (New-Object Net.WebClient).DownloadString(url)
# Often base64-encoded to evade detection생활권 이진 파일
생활권 이진 파일은 무기화할 수 있는 합법적인 윈도우 이진 파일입니다. certutil.exe(파일 다운로드), mshta.exe(HTA 스크립트 실행), regsvr32.exe(원격 COM 개체 실행), wmic.exe(명령 실행), PowerShell(모든 작업)이 그 예입니다. 이러한 파일은 기본 설치되어 있고 서명되어 있으며 허용 목록에 포함된 경우가 많습니다.
프로세스 주입 기법
고전적 주입은 VirtualAllocEx → WriteProcessMemory → CreateRemoteThread 순서로 수행됩니다. 프로세스 할로잉은 합법적인 프로세스를 일시 중단 상태로 시작하고, 해당 프로세스의 코드를 매핑 해제한 다음 악성 코드로 교체합니다. DLL 주입은 SetWindowsHookEx 또는 AppInit_DLLs를 통해 수행됩니다. 이 기법들은 모두 신뢰된 프로세스 내부에서 악성 코드를 실행합니다.
반사형 DLL 주입
반사형 DLL 주입은 윈도우 로더를 사용하거나 디스크에 기록하지 않고 메모리에서 DLL을 로드합니다. DLL에는 가져오기를 해결하고 자체적으로 재배치하는 소형 로더가 포함되어 있습니다. 미터프리터는 반사형 로딩을 사용하므로 디스크에 DLL 파일을 남기지 않습니다.
프로세스 할로잉(RunPE)
프로세스 할로잉은 합법적인 프로세스(svchost.exe)를 일시 중단 상태로 만들고, 메모리에서 원래 실행 파일의 매핑을 해제한 다음, 같은 주소 공간에 악성 실행 파일을 매핑하고 실행을 재개합니다. 작업 관리자에서는 해당 프로세스가 정상으로 보이지만 악성 코드를 실행합니다.
AMSI 우회 기법
마이크로소프트의 맬웨어 방지 검사 인터페이스(AMSI)는 AV 검사를 위해 PowerShell 스크립트를 가로챕니다. 공격자는 메모리의 AmsiScanBuffer()를 항상 정상 결과를 반환하도록 패치하거나, AMSI 탐지 임계값 아래로 스크립트를 난독화하여 AMSI를 우회합니다. AMSI 패치는 그 자체로 EDR에 탐지될 수 있습니다.
탐지: 행위 분석
파일리스 악성 코드는 파일의 존재가 아니라 행위를 통해 탐지합니다. PowerShell이 네트워크 연결을 생성하는 행위, 오피스 애플리케이션의 예기치 않은 자식 프로세스, 이를 뒷받침하는 파일이 없는 실행 권한 메모리 영역(말파인드), 인코딩된 콘텐츠가 포함된 생활권 이진 파일의 명령줄 인수 등이 그 예입니다.
ETW 기반 탐지
윈도우 이벤트 추적(ETW)은 EDR 플랫폼에 풍부한 원격 측정 데이터를 제공합니다. 스크립트 블록 기록은 디코딩된 PowerShell을 캡처하고, 모듈 기록은 로드된 DLL을 기록하며, 전체 명령줄을 포함한 프로세스 생성 및 네트워크 연결 이벤트도 기록합니다. ETW 공급자는 경고를 발생시키지 않고 악성 코드가 비활성화하기 어렵습니다.
파일리스 탐지를 위한 메모리 포렌식
볼래틸리티의 말파인드는 의심스러운 실행 메모리 영역을 식별합니다. 프로세스 메모리의 문자열에서 명령 및 제어 URL 또는 포함된 스크립트를 발견할 수 있습니다. 프로세스 할로잉은 원래 프로세스 이미지의 매핑을 해제하므로, 프로세스 메모리 맵을 디스크의 원래 실행 파일과 비교하여 탐지할 수 있습니다.
PowerShell 기록 및 제한된 언어 모드
디코딩된 모든 스크립트 콘텐츠를 캡처하려면 PowerShell 스크립트 블록 기록(이벤트 ID 4104)과 모듈 기록을 활성화하십시오. PowerShell 제한된 언어 모드는 위험한 작업을 제한합니다. WDAC 애플리케이션 허용 목록은 승인되지 않은 생활권 이진 파일 조합이 악성 스크립트를 실행하지 못하도록 차단합니다.
지식 점검
파일리스 악성 코드는 기존 악성 코드보다 탐지하기 어려운 이유가 무엇입니까?
요약
파일리스 악성 코드는 PowerShell, 생활권 이진 파일 및 프로세스 주입을 악용하여 전적으로 메모리에서 실행됩니다. 이에 대응하려면 스크립트 블록 기록, EDR 플랫폼의 행위 분석, AMSI 적용, 애플리케이션 허용 목록, 주입된 코드를 식별하는 볼래틸리티와 같은 메모리 포렌식 도구가 필요합니다.
자주 묻는 질문
“파일리스 악성 코드와 메모리 상주 기법” 강의는 무료인가요?
네 — “파일리스 악성 코드와 메모리 상주 기법” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“파일리스 악성 코드와 메모리 상주 기법”에서 뭘 배우나요?
디스크 아티팩트를 남기지 않는 PowerShell 기반 악성 코드, 프로세스 인젝션 및 메모리 내 실행을 분석합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“파일리스 악성 코드와 메모리 상주 기법” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- APT 수명 주기: 초기 접근부터 데이터 유출까지
- 파일리스 악성 코드와 메모리 상주 기법
- HTTPS를 통한 C2 및 DNS 터널링
- 위협 귀속 및 캠페인 추적