엔드포인트 탐지 및 대응(EDR)은 올바르게 설정돼야 위협을 자동으로 차단해 엔드포인트 장치를 보호할 수 있다.
EDR은 네트워크 전반에서 엔드포인트 장치를 모니터링하고 위협이 식별되면 이를 차단하는 보호 방식이다. 다른 사이버 보안 제품과 마찬가지로 적절하게 설정하고 테스트를 거쳐야만 네트워크를 보호할 수 있다. 보안 및 레드팀 컨설턴트로 10년간 쌓은 경험을 바탕으로 EDR 플랫폼에 대해 알아야 할 5가지 사항을 소개한다.
1. EDR은 회피가 가능하다
EDR에 대해 가장 먼저, 또 가장 핵심적으로 이해해야 할 부분은 이것이 모든 엔드포인트 보안 문제를 해결하는 솔루션이 아니라는 점이다. 마케팅 부서와 다양한 시장 조사 기관에서 주장하는 것과 달리 EDR은 종종 아주 사소한 방식으로도 회피할 수 있다. 센서의 중단, EDR의 탐지 로직을 무력화하는 기술 구현, 정상 시스템 동작으로 위장, 엔드포인트와 중앙 수집 서버 간의 통신 체인 끊기 등 EDR을 회피할 방법은 무수히 많다.
EDR은 어려운 작업을 하는 솔루션이다. 공격자가 엔드포인트에 대해 사용할 수 있는, 알려진 툴과 알려지지 않은 툴을 모두 탐지할 수 있어야 한다. 동시에 너무 많은 오탐률로 보안 운영 센터(SOC)의 경보 피로를 유발하지 않도록 완벽하고 정확해야 한다. 사용 및 배포가 쉬운지, 성능이 뛰어나고 안전한지, 경쟁력 있는 가격에 도입할 수 있는지 여부보다 더 중요한 것은 이 모든 요소의 균형을 맞추는 일이다. EDR에 대한 기대치를 낮추고, 이것이 현재 엔드포인트 활동을 모니터링 하는 데 가장 좋은 도구이긴 해도 모든 상황을 즉시 파악할 수 없다는 점을 이해한다면 사용 방법을 개선하고 더 많은 가치를 창출할 수 있다.
2. EDR은 안티바이러스가 아니다
엔드포인트 보호 시장과 제품의 명칭이 혼란스러울 수 있다. 이름과 약어(acronym) 목록도 계속 늘어나고 있지만, 실제로 탐지 제품군은 안티바이러스와 EDR 등 2가지다. 안티바이러스는 일반적으로 아티팩트(주로 파일 기반 멀웨어)를 탐지하는 데 중점을 둔다. 반면 EDR은 행위를 탐지하는 데 중점을 둔다. 오늘날 대부분의 EDR 솔루션은 안티바이러스 기능을 구현하지만, 주로 멀웨어가 실행된 후 발생하는 활동(예: 익스플로잇 후 활동)을 포착하는 데 집중한다.
행위에 초점을 맞추는 것은 EDR의 강점이다. 최근의 많은 위협은 파일리스 멀웨어와 같이 안티바이러스에 의해 탐지될 수 있는 아티팩트를 시스템에 주입할 필요가 없도록 진화했다. 이러한 상황에서는 시스템의 동작을 조사해 악의적인 공격자의 존재를 나타내는 패턴을 찾아낼 수 있어야 한다. 활성 침해를 추적하거나 선제적 탐지를 구축하기 위해 시스템 전반에서 행동을 쿼리하고 상관관계를 파악하는 역량이 바로 EDR의 진정한 가치다. EDR을 단순히 디스크에 드롭된 멀웨어 탐지 도구로만 취급하면 그 가치를 제대로 활용하지 못하게 된다.
3. 플릿 커버리지(fleet coverage)의 중요성
필자는 레드팀 운영자로 일하면서 EDR이 배포되지 않았다는 이유만으로 워크스테이션을 손상시키고 즉시 서버로 점프한 적이 셀 수 없을 정도로 많았다. 고객과 제한된 플릿 커버리지 문제를 논의하면서 여러 이유를 찾을 수 있었다. 그러나 이유와 관계없이 권장 사항은 동일하다. EDR 배포에 있어서는 가능한 한 완전한 커버리지를 확보해야 한다는 것이다. 물론 지원되지 않는 운영체제, 제한된 시스템 리소스, 중요한 비즈니스 기능 등 예외가 있을 수 있지만, EDR 에이전트를 설치하는 것을 기본으로 하고 시스템별로 예외를 적용해야 한다.
엔드포인트에서 발생하는 이벤트를 수집하고 보고하는 EDR의 목적이 무엇인지 다시 한번 생각해 보면 그 이유를 이해할 수 있다. 우선 워크스테이션, 서버, 데이터베이스(조직의 ‘소중한 보물’을 보관하는) 등 3가지 시스템이 있다고 상상해 본다. 워크스테이션은 초기 액세스 시도가 거의 확실하기 때문에 EDR을 배포했다. 또한 데이터베이스는 전체 환경에서 가장 중요한 시스템이기 때문에 EDR을 배포했다. 반면, 서버에는 여러 이유로 EDR을 배포하지 않았다.
침해가 발생하는 동안 공격자는 워크스테이션을 손상시키고 EDR의 탐지 임계 값 이하로 활동한다. 공격자는 서버 범위로 마이그레이션할 수 있는 충분한 권한이 있다는 것을 발견하고 서버 시스템으로 이동한다. 서버에서는 사실상 탐지 관점에서 원하는 모든 것을 자유롭게 할 수 있으므로 서버가 새로운 거점이 된다. 공격자들은 정찰을 통해 데이터베이스에 연결해 고가치 정보를 추출하고 이를 유출할 수 있다는 사실을 알게 된다. 사고 대응(IR)이 시작되고 초기 접속, 익스플로잇 후 행동, 워크스테이션에서 서버로 이동하는 과정까지 매우 명확하게 확인하지만, EDR이 설치돼 있지 않아 서버에 대한 데이터가 없다는 것을 알게 되면 추적은 이미 물 건너간다.
이제 침해의 범위와 영향을 파악하고 상주 행위자를 근절하는 프로세스는 훨씬 더 어려워진다. 서버에 EDR이 설치돼 있었다면 내부 보안팀이 선제적으로 대응해 영향을 줄이거나, IR이 공격자의 공격 체인을 더 빠르고 정확하게 파악해 치료의 효과를 높일 수 있었을 것이다.
4. EDR에 추가해야 하는 것
모든 EDR에는 몇 가지 탐지 로직이 내장된다. 일부 벤더는 사용자 환경에 맞게 EDR이 정상화되는 기준선을 설정하기도 한다(예: LSASS에 액세스하는 프로세스가 사용자 환경에서는 정상적이지만 다른 회사에서는 발생하지 않을 수 있음). 이것은 좋은 출발점이지만 더 많은 것을 할 수 있다. 벤더가 제공하는 탐지 로직은 시작점으로만 봐야 한다. 사용자 환경의 복잡성, 특정 호스트 또는 시스템 그룹의 민감도, 네트워크의 전략적으로 중요한 부분 또는 특정 우려 사항까지 이해하기는 어렵다. 이를 위해서는 탐지 엔지니어링으로 전환해야 한다.
역사적으로 탐지 로직은 정밀한 특성으로 인해 두더지 잡기 게임과 같았다. 예를 들어 윈도우 시스템에서 자격 증명을 추출하는 데 사용되는 도구인 미미카츠(Mimikatz)에 대한 탐지는 ‘mimikatz.exe’라는 프로세스를 단순히 검색하는 수준으로 구성된다. 가령 공격자가 ‘mimikatz.exe’의 이름을 ‘mimidogz.exe’로 바꾸고 더 강력한 뭔가를 원할 때 이러한 로직은 우회하기 매우 쉽다. 반면 EDR은 무수히 많은 센서를 통해 운영 체제에 깊숙이 침투해 있기 때문에 미미카츠를 특별히 찾을 필요 없이 유사한 동작을 찾는 모든 데이터를 확보하고 있다.
탐지 로직이 특정 기법의 핵심 기능(예: lsass.exe에 대한 충분한 권한이 있는 핸들을 열고 해당 메모리를 읽는 것)을 찾는 경우, 해당 실행 방식의 여러 변형을 함께 포착할 수 있다. 즉 하나의 탐지 로직으로 미미카츠 및 세이프티카츠(SafetyKatz) 또는 인보크 미미카츠(Invoke Mimikatz) 같은 유사 도구에 대해 단계적으로 커버리지를 제공할 수 있다. 이러한 확장성은 오늘날 구매할 가치가 있는 모든 EDR의 핵심 기능이다.
5. EDR을 테스트하기
EDR이 탐지한다고 말하는 것을 실제로 탐지하는지 어떻게 알 수 있는가? 운영체제, EDR 에이전트, 정책 구성의 모든 버전에서 이러한 기능이 제대로 작동하는지 어떻게 아는가? 사용자 환경의 모든 호스트에서 해당 사항이 적용되는가? 다음 주와 그다음 주에도 마찬가지일까? EDR에 대한 가정을 테스트해 상황을 완전히 파악하고, 의미 있는 승인을 내릴 수 있도록 해야 한다.
탐지를 테스트하는 방법에는 여러 가지가 있다. 그중 일부는 다른 방법보다 더 구체적이다. 가장 먼저 떠오르는 것은 탐지 기능을 테스트하고 인시던트 대응 절차를 실행하기 위해 고안된 ‘레드 팀(red team)’ 서비스다. 이 방법은 방어를 테스트하는 데 유효한 방법이지만, 테스트 범위가 모든 탐지에 적용되진 않으며 특정 시점을 평가하는 데 그친다.
또 다른 스타일은 ‘아토믹(atomic)’ 테스트다. 이는 특정 동작(가장 일반적으로는 MITRE ATT&CK에 매핑)을 에뮬레이션하도록 특수 제작된 테스트를 사용해 계산된 방식으로 방어를 자극한다. 이를 통해 EDR를 보다 직접적으로 평가할 수 있도록 한다. 이 접근 방식에도 단점은 있다. 테스트 코퍼스의 품질을 측정하기 어렵고, 대부분의 솔루션이 지속적 또는 대규모로 설계되지 않았다는 점이다. 하지만 이러한 테스트 접근 방식은 모두 가정을 테스트하고 방어를 실행해 보안 프로그램에 높은 가치를 제공한다. 어떤 접근 방식을 우선시하든 가장 중요한 부분은 탐지의 효율성과 견고성을 평가하고 EDR에서 제공하는 풍부한 데이터 세트를 사용해 발견된 결함을 개선하는 일이다.
* Matt Hand는 레드팀 운영자로 10년 이상 경력을 보유하고 있다. 주로 취약성 연구와 EDR 회피에 중점을 두고 연구 수행 및 도구 개발 업무를 담당하고 있다. 현재 프리루드(Prelude)의 수석 보안 엔지니어로 근무하고 있으나, 본 글은 프리루드의 입장이 아니다. ciokr@idg.co.kr