파일 없는 악성코드도 탐지 가능하다

fileless Astaroth malware

요즘 보안 앱에 탐지되는 것을 회피하기 위해, 파일 없는 악성코드(fileless malware) 기법이 많이 쓰이고 있다. 언뜻 보면 파일이 없으니까 보안 앱이 절대 탐지할 수 없는 것으로 오해할 수 있다. 그러나 악성코드가 무슨 귀신도 아니고, 진짜로 파일 없이 실행될 수는 없다. 어디에 혹은 어떤 형태로 있느냐의 문제일 뿐 실행 파일은 반드시 존재한다. 따라서 탐지도 될 수 있다.

파일리스 악성코드는 경우에 따라 조금씩 다르게 설명된다. (참1)에서는 메모리 상에만 존재하는 혹은 정당한 tool을 악용하는 악성코드로 정의했다. 즉 저장공간(디스크)에는 악성 파일이 없다는 뜻이다.

Astaroth는 악명 높은 정보 탈취용 악성코드로 자격증명, 키보드 입력, 기타 민감한 정보를 훔친다. 그러나 어디에도 .exe 실행 파일이 없다. 아래 그림(참1)처럼 몇 개의 .dll 파일만 있을 뿐이다. 그것도 오직 메모리에만.


아까는 실행 파일이 없을 수는 없다고 해놓고는 뭔소리? 넓은 의미로 실행 파일은 뭔가 실행될 수 있는 코드가 들어있는 파일을 총칭한다. .dll과 스크립트가 대표적인 예다. 그러나 이들은 단독으로 실행될 수는 없다. .exe는 단독으로 실행되지만, .dll은 .exe의 호출이 있어야 실행된다.

living off the land 기법

Astaroth는 자체적인 .exe 없이, 윈도우의 기본 툴을 사용해 스크립트와 .dll을 실행하여 감염된다. 최종 payload(탄두, 악성코드의 핵심 본체) 역시 정상 프로세스에 주입된 .dll이다. 이처럼 표적 시스템에 이미 있는 정당한 툴만을 사용하는 해킹 방법을 'living off the land'라고 한다.

MS는 Microsoft Defender ATP의 다양한 탐지 기법으로 이를 저지했다. 전통적인 파일 스캔 방식의 보안 앱이라면 .dll 파일의 악성 여부를 판별하는 것이 유일한 탐지 가능성이다. 그러나 MS Defender ATP는 행위 기반의 검색으로 각 단계마다 탐지할 수 있었다. 상위권 보안 앱의 성능은 비슷하므로 다른 보안 앱들도 유사한 기법을 사용할 것이다.

이런 고급 탐지 기능이 Windows에 기본 탑재된 Windows Defender에도 들어있다고는 볼 수 없다. 그러나 실망할 필요없다. 이렇게 탐지된 새로운 악성코드 정보는 데이터베이스에 반영되고, 윈도우 디펜더는 이를 이용한다. 시차는 있지만 충분히 보호된다.

행위 기반 탐지

MS는 파일 없는 악성코드를 투명인간에 비유해 재미있게 설명했다. 투명인간 그 자체는 눈에 보이지 않지만 호흡, 발자국 등 흔적을 남긴다. 비 속에서는 형체가 드러난다. 열감지 카메라 같은 첨단 장비에는 그대로 걸려든다. 무엇인가를 몰래 훔치더라도 그 물건은 보인다. 마찬가지로 파일 없는 악성코드도 많은 이상 징후를 보인다는 것이다.

또한 Astaroth처럼 fileless 기법을 사용하기 위해서는 복잡한 단계를 거치게 되므로, 오히려 탐지망에 걸려들 기회가 많아지는 측면도 있다. 각 단계에 사용된 수법들은 이미 알려진 것들이기 때문이다.


참고 자료
  1. Dismantling a fileless campaign: Microsoft Defender ATP next-gen protection exposes Astaroth attack

댓글

이 블로그의 인기 게시물

마이크로소프트 4K 무선 디스플레이 어댑터(MS WDA 3) 리뷰

와이파이(Wi-Fi) 보안 설정

엑셀 필터 상태에서 복사와 잘라내기