Living Off The Land

최근 몇년 간 “Living Off The Land” 는 APT난 Commodity Malware를 막론하고 하나의 트렌드로 자리 잡고 있습니다. “Living Off The Land”의 원래 의미는 문명에서 벗어나 대자연속에서 살아 가는 자급자족의 삶의 방식, “off the grid”와 비슷한 의미라고 볼 수 있습니다. 다음과 같이 자연속에서 기본적인 생존 도구들만을 갖추고 살아 가는 삶의 형태를 의미한다고 보면 됩니다. 보안에서의 “Living Off The Land”는 이와는 비슷한 의미를 가집니다. 많은 다른 정의가 있겠지만, 시만텍 보고서의 정의에 따르면 다음과 같습니다.

* Use of tools already installed on targeted computers or are running simple scripts and shellcode directly in memory 
* Creating fewer new files on the hard disk, or being completely fileless

Attackers are increasingly living off the land

한마디로 이미 시스템에 인스톨 되어 있는 툴들을 최대한 활용한 공격 기법으로서 파일 생성을 최대한 억제하여 기존의 보안 시스템들 (예를 들어 안티 말웨어 제품들)로 부터 최대한 탐지되는 것을 회피하는 공격 기법이라고 볼 수 있습니다.

안티 말웨어 내지는 안티 바이러스라는 제품의 기원은 1980년대까지 거슬러 올라갑니다. 그때의 모든 바이러스 내지는 말웨어는 코드 조각이나 파일 형태를 띠는 것이 일반적이었고, 결국은 파일 인펙션을 통해서 전파 되었습니다. 그러한 파일, 특히 실행 파일을 생성하는 시류는 그 이후 쭉 계속 되어 왔습니다. 안티 말웨어 제품이 파일에 집중할 수 밖에 없는 이유였습니다.

보안 시스템, 제품들의 발전과 더불어 파일 내용의 난독화 (obfuscation)를 통한 cat & mouse 게임은 정점과 동시에 한계에 도달했고, 이제 공격자들은 fileless 말웨어 내지는 “Living Off The Land” 공격 기법을 통해서 돌파구를 마련했습니다. 이제 많은 안티 말웨어 제품들은 새로운 도전에 직면하게 되었습니다.


실례들

가장 간단하게 “Living Off The Land” 공격 기법들을 알아 보는 방법은 MITRE ATT&CK Matrix를 활용하는 것입니다. 이 표에 망라된 많은 공격 방법론들이 “Living Off The Land” 공격법의 일부로 사용되고 있습니다.

Certutil

예를 들어 certutil이라는 윈도우의 기본 툴을 이용하는 방법인 T1140 - Deobfuscate/Decode Files or Information을 확인해 볼 수 있습니다. certutil은 원래 윈도우 환경에서 인증서들을 관리하기 위한 커맨드라인 유틸리티입니다. 하지만, 최근들어 공격자들은 이 툴을 Base64로 인코딩 된 페이로드를 디코딩하는 용도로 활용하기 시작했습니다. Certutil의 -decode 인자를 이용하면 Base64로 인코딩되어 있는 파일을 디코딩할 수 있는 기능이 있기 때문입니다. 예를 들어 APT28의 경우 certutil을 이용한 디코딩 기법을 즐겨 사용하기도 했습니다.

자체적으로 Base64를 디코딩하는 루틴 구현하여 사용할 수도 있겠지만, 이렇게 시스템에 이미 존재하는 유틸리티를 사용함으로 인해서, 방어자의 입장에서는 새롭게 모니터링해야 하는 툴이 더 늘어 나게 됩니다. 또한 공격 초기에 certutil을 사용한 공격 방법이 널리 알려지지 않은 상황에서는 방어자의 여러 쿼리들을 피해 갈 수 있는 장점이 있습니다. 그리고, 많은 1차원적인 이벤트만을 쿼리할 수 있는 SIEM 등의 제품등에서 외부로 부터 유입된 명령 실행 등의 행위를 쿼리하기가 더욱 어려워집니다. PE 파일이 브라우저나 외부와 통신하는 바이너리이나 잘 알려진 스크립팅 바이너리가 아닌 예상치 못한 실행 파일에서 생성되기 때문입니다.

PowerShell/WMI

파워쉘 (PowerShell)이나 WMI(Windows Management Instrumentation)를 이용한 말웨어 코드 전달(delivery) 기법이 또 다른 한 예가 될 수 있겠습니다. 공격자들에게 있어서 파워쉘과 WMI는 윈도우 환경에서 가장 즐겨 사용하는 공격 기법 중의 하나입니다. 그에 상응하여 방어자의 입장에서도 AMSI(Antimalware Scan Interface) 등을 이용한 방어책 구축이 이뤄지고 있습니다. AMSI가 어떻게 파워쉘 threat 등을 효과적으로 방어할 수 있는지는 “Out of sight but not invisible: Defeating fileless malware with behavior monitoring, AMSI, and next-gen AV”에 잘 나타나 있습니다. 파워쉘의 경우 AMSI를 통해서 그나마 visibility 확보가 가능하지만, 여전히 WMI의 경우에는 많은 보안 프러덕트들이 가장 기본적인 visibility에 대해서도 문제를 가지고 있습니다. “Living Off The Land” 공격 기법의 공간에서도 cat & mouse 게임이 진행 되고 있는 것입니다. 공격자들은 항상 이러한 변화하는 공격 기법과 방어 장치의 작동 방식의 간격을 이용한 공격 전략을 가지고 있습니다.

Reflective DLL Injection

약간 이견이 있을 수 있지만, “Living Off The Land” 공격 기법의 다른 예로는 Reflective DLL Injection 기법이 있습니다. 가장 좋은 레퍼런스로는 Pwn2Own 우승자인 Stephen Fewer의 ReflectiveDLLInjection 파워쉘 기반 툴킷을 참조할 수 있습니다. 이 기법은 PE 파일을 파일 시스템에 드랍하지 않고 그대로 다른 프로세스나 자신의 프로세스에 LoadLibrary 등의 API를 사용하지 않고, 직접 메모리 조작을 통해서 바로 로딩할 수 있는 기술입니다. 특정한 PE 파일이 시스템에 드랍되지 않기 때문에, 탐지는 생각보다 어렵습니다. 여러 APT 액터들을 비롯해서 많은 공격자들의 필수 공격 기법의 하나라고 볼 수 있습니다.

이렇게 “Living Off The Land” 공격 기법들은 기존 안티말웨어 제품으로 탐지하는데에 여러 장애물이 있는 경우가 많고, 방어 기법들이 이제 공격 기법들을 따라 잡고 있는 경우가 많습니다. 그리고, 지속적으로 새롭거나 기존 공격 기법을 개량한 형태의 공격들이 나오고 있습니다.


방어하기

방어기법은 그렇게 간단하지 않습니다. Anti-malware 등의 엔드포인트 제품을 사용할 때에는 반드시 AMSI 기능이 어느 정도까지 구현되어 있는지, 파워쉘 난독화 등에 대해서 얼마나 잘 대응할 수 있는지 확인하는 과정이 필요합니다. EDR 제품을 사용할 때에는 전통적인 “Living Off The Land” 공격 기법 뿐만 아니라 계속 새롭게 쏟아져 나오는 여러 기법에 대해서 얼마나 해당 제품이 디텍션하는지에 대해서 테스트해 볼 필요가 있습니다. 자잘한 여러 공격기법 보다는 특히 파워쉘을 이용한 여러 툴킷 등을 통한 테스트는 기본적인 테스트에 속한다고 할 수 있습니다.


DarunGrim Solutions

  • 다른 그림에서는 “Living Off The Land” 공격등을 비롯한 네트워크, 엔드포인트에 대한 방어 전략과 제품 선정에 대한 컨설팅 서비스를 제공할 예정입니다. 관심 있으신 분은 jeongoh@darungrim.com으로 문의 주시면 됩니다.

  • “Living Off The Land” 공격 기법에 대해서 실습을 통해서 학습하고 분석하는 내용은 Advanced Windows Malware Analysis 코스를 통해서 수강하실 수 있습니다.