기본적인 이해
운영체제에서 특정 행위를 발생시키기 위해서는 코드와 데이터가 필요합니다.
코드 → 특정 행위를 일으키는 주체
데이터 → 코드가 실행될 때 필요한 부가적인 정보
코드와 데이터를 묶어서 큰 의미의 데이터 봤을 때, 운영체제에서 데이터는 두 가지 형태로 존재할 수 있다.
하드 디스크에 파일 상태로 존재 OR 메모리에 상주
악성코드 VS. Fileless 악성코드
일반 악성코드와 Fileless 악성코드의 차이 : 악성 행위를 발생시키는 데이터의 위치와 관련있다. 악성데이터가 하드디스크에 파일 상태로 존재 VS. 메모리에 위치
Fileless 악성코드
시스템 메모리에 곧 바로 실행되어지므로 Fileless In-Memory Attack이라고 하며, 이러한 악성코드를 Fileless malware라 부른다. Fileess malware라고 부르는 것은, 실행 파일의 형태로 실행되지 않고, 동작되는 시스템의 메모리에 직접 로드되어 실행되어지기 때문이다.
2014년 8월 처음 발견되었다. 단순한 Fileless malware, 즉 시스템이 Power-Off 되거나 Reboot되면 자연히 사라지는 일시적인 malware는 이전에도 존재하였다. 하지만 2017년 Fileless malware는 지속적인 공격을 한다는 것이다. 따라서 과거의 것과 구별하기 위해 Persistent Fileless malware라고 부르기도 한다.
악성 데이터의 위치가 중요한 이유
데이터가 메모리 상에만 존재하는 것은 언제든지 사라질 수 있다는 것. 백신이 필요한 데이터 확보가 어려울 수 있다. 또한 모든 백신이 메모리를 직접 검사하는 것이 아니기 때문에, 메모리에 올라간 악성 데이터는 탐지 될 가능성이 낮다.
Fileless 악성코드는 메모리에만 존재하나?
악성 데이터가 파일로 유입되어 실행되는 경우도 있다. 이 경우에는 다음과 같은 절차를 거치기 때문에 파일로 존재하지 않은 것 처럼 보인다.
파일 유입 → 악성 파일 실행 → 악성 파일이 정상 프로세스에 악의적인 데이터 삽입 → 악성 파일 삭제
Fileless malware 특징
시스템을 Reboot한 후에도, 지속적으로 Fileless 방식으로 악성코드가 수행되기 위해서는 해커가 지정한 C&C 서버에 접속하여 malware를 다운 받는, 즉 downloader 기능을 수행하는 code 또는 script가 시스템의 어딘가 저장되어져서 시스템 Rebooting 시 마다, 실행되져야한다.
현재 FILELESS 악성코드의 가장 많이 알려진 감염 벡터는 Exploit Kits,스팸메일의 첨부파일 혹은 악성 URL, 다운로더이다. 감염 장소는 레지스트리와 메모리와 같은 장소를 이용해 파일이 아닌 형태로 존재한다. 레지스트리의 자동 시작 경로에 삽입되어 시스템이 재시작 될때 마다 메모리에 재삽입 된다. FILELESS 악성코드를 이용한 악성 행위는 공격자에 따라 다양하다. 다음은 해당 문서에서 언급하고 있는 FILELESS 악성코드의 감염 벡터와 감염 장소, 악성 행위에 대한 설명이다.
※ Exploit Kit : Exploit Pack라고도 불리며 Acrobat Reader, Java Runtime Environment, Adobe Flash Player, Silverlight, Web Browser 등의 어플리케이션 취약성을 이용하여 이메일, 웹 페이지 등으로 악성코드를 유포하기 위한 자동화 도구
※ Watchdog : 컴퓨터의 오작동을 탐지하고 복구하기 위해 쓰이는 전자 타이머
※ 레지스트리 자동시작 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Currentversion\Run
※ 클릭 사기 : (클릭당 지불 (CPC) 사기라고도 함 ) 온라인 광고의 트래픽 통계를 인위적으로 늘리는 행위
감염 벡터 | 감염 장소 | 악성 행위 |
Exploit Kit | 레지스트리 하위키에 인코딩된 바이러니 파일 생성 | DDL 로드(Watchdog) |
스팸 메일 | 레지스트리 자동시작 경로에 스크립트 삽입 | 백도어 기능 |
다운로더 | 메모리 인젝션 | 클릭 사기 |
공격자들이 사용하는 Fileless Techique 방식
1. Reflective DLL Injection
2. Memory Exploits
3. Script-based Techniques
4. WMI Persistence
출처
Fileless 악성코드 이해
악성코드가 시스템 메모리에 곧 바로 로드되어 실행되어지므로 Fileless In-Memory Attack 이라고 하며...
blog.naver.com
한 번의 클릭으로 감염되는 FILELESS 악성코드(CVE-2017-0199) #nagoona
개요 예전에 작성한 문서이며 지금은 이러한 취약점을 이용한 CVE-2017-0199, 2017-8759 등등 작년 수많은 스피어 피싱에 사용된 공격방법이며 아래 문서의 작성도 1년이 넘어 현재와 맞지않는 부분도
two2sh.tistory.com
securityfactory.tistory.com/399
[개념이해] Fileless 악성코드
1. 기본적인 이해 운영체제에서 특정 행위를 발생시키기 위해서는 코드와 데이터가 필요합니다. 코드 → 특정 행위를 일으키는 주체 데이터 → 코드가 실행될 때 필요한 부가적인 정보 코
securityfactory.tistory.com