EDR / 개념과 주요 기능

기업에서 사용하는 PC와 서버에는 백신, 방화벽, 보안 프로그램 등 다양한 보안 솔루션이 설치되어 있습니다. 하지만 최근의 사이버 공격은 단순한 악성코드 감염을 넘어 랜섬웨어, 파일리스 공격, 계정 탈취, 정상 프로그램을 악용한 공격 등으로 점점 복잡해지고 있습니다.

이러한 공격을 탐지하고 대응하기 위해 사용하는 보안 솔루션 중 하나가 EDR(Endpoint Detection and Response)입니다.

EDR은 일반 백신처럼 악성 파일을 찾아 삭제하는 데 그치지 않고, PC와 서버에서 발생하는 여러 행위를 지속적으로 수집하고 분석하여 의심스러운 행동을 탐지하고 공격 과정을 추적하며 필요한 경우 해당 시스템을 격리하는 역할을 합니다.

EDR이란?

EDR은 Endpoint Detection and Response의 약자입니다.

직역하면 다음과 같습니다.

  • Endpoint : 엔드포인트, 즉 PC나 서버 등의 단말
  • Detection : 탐지
  • Response : 대응

따라서 EDR은 PC나 서버에서 발생하는 보안 위협을 탐지하고 분석하여 대응하는 보안 솔루션이라고 할 수 있습니다.

여기서 Endpoint는 일반적으로 다음과 같은 장비를 의미합니다.

  • 직원이 사용하는 Windows PC
  • 업무용 노트북
  • Linux 서버
  • Windows Server
  • 가상 서버
  • 일부 클라우드 워크로드

기업의 중요한 데이터가 실제로 처리되는 곳이 이러한 Endpoint이기 때문에 공격자 역시 PC나 서버를 주요 공격 대상으로 삼습니다.

EDR은 이러한 엔드포인트에서 발생하는 여러 이벤트를 수집하여 이상 행동이 있는지 분석합니다.

EDR은 왜 필요한가?

기존의 백신 프로그램은 주로 알려진 악성코드의 특징을 이용해 악성 파일을 탐지합니다. 예를 들어 특정 랜섬웨어 파일의 패턴이나 해시값이 보안 업체의 데이터베이스에 등록되어 있다면 해당 파일을 발견했을 때 악성코드로 판단하고 차단할 수 있습니다.

하지만 공격 방법이 발전하면서 단순한 악성 파일 탐지만으로는 모든 공격을 막기 어려워졌습니다. 예를 들어 공격자가 별도의 악성 프로그램을 설치하지 않고 Windows에 기본적으로 포함된 PowerShell을 이용해 공격할 수도 있습니다.

다음과 같은 상황을 생각해볼 수 있습니다.

사용자 PC → 악성 이메일 실행 → PowerShell 실행 → 외부 서버 접속 → 악성 스크립트 다운로드 → 계정 정보 탈취 → 다른 서버로 이동

PowerShell 자체는 Windows에서 정상적으로 사용하는 프로그램입니다. 따라서 단순히 PowerShell을 실행했다는 이유만으로 차단할 수는 없습니다.

EDR은 프로그램 자체가 정상인지 아닌지만 보는 것이 아니라 어떤 프로세스가 PowerShell을 실행했는지, 어떤 명령을 실행했는지, 어느 서버에 접속했는지 등 전체적인 행위를 분석합니다.

이것이 기존 백신과 EDR의 중요한 차이 중 하나입니다.

EDR이 수집하는 정보

EDR은 Endpoint에서 발생하는 다양한 이벤트를 수집합니다.

제품마다 차이가 있지만 일반적으로 다음과 같은 정보를 수집합니다.

프로세스 실행 정보

어떤 프로그램이 실행되었는지 기록합니다.

예를 들어 다음과 같은 프로세스 실행을 확인할 수 있습니다.

explorer.exe
└─ winword.exe
└─ powershell.exe
└─ cmd.exe

이러한 정보를 이용하면 어떤 프로그램에서 공격이 시작되었는지 추적할 수 있습니다.

특히 부모 프로세스와 자식 프로세스의 관계를 확인하는 Process Tree는 EDR 분석에서 매우 중요한 기능입니다.

파일 생성과 변경

EDR은 파일이 새로 생성되거나 변경되는 행위를 모니터링할 수 있습니다. 예를 들어 랜섬웨어가 실행되면 짧은 시간 동안 많은 파일이 변경될 수 있습니다.

document.docx → document.docx.lock
photo.jpg → photo.jpg.lock
data.xlsx → data.xlsx.lock

EDR은 이처럼 일반적인 사용자 작업과 다른 비정상적인 파일 변경 행위를 탐지하여 랜섬웨어 공격을 판단할 수 있습니다.

네트워크 연결

프로세스가 어떤 IP 주소나 서버와 통신했는지도 중요한 보안 정보입니다.

예를 들어 다음과 같은 정보가 수집될 수 있습니다.

Process : powershell.exe
Destination IP : 203.xxx.xxx.xxx
Destination Port : 443
Protocol : TCP

만약 PowerShell이 평소 접속하지 않던 해외 서버와 연결된다면 보안 담당자는 이를 조사할 수 있습니다.

레지스트리 변경

Windows에서는 많은 시스템 설정이 Registry에 저장됩니다.

공격자가 PC를 재부팅한 이후에도 악성 프로그램을 계속 실행하기 위해 Registry의 자동 실행 영역을 수정하는 경우가 있습니다.

EDR은 이러한 Registry 변경 행위를 감시할 수 있습니다.

사용자 로그인과 계정 활동

일부 EDR 제품에서는 로그인 이벤트나 계정 관련 활동도 분석합니다.

예를 들어 평소와 다른 계정이 관리자 권한을 사용하거나 여러 시스템에 연속적으로 접근하면 이상 행동으로 탐지될 수 있습니다.

EDR의 주요 기능

EDR의 핵심 기능은 이름 그대로 Detection과 Response, 즉 탐지와 대응입니다. 하지만 실제 제품에서는 이보다 훨씬 다양한 기능을 제공합니다.

실시간 위협 탐지

Endpoint에서 발생하는 이벤트를 실시간으로 수집하여 의심스러운 행동을 탐지합니다. 예를 들어 다음과 같은 행동이 탐지 대상이 될 수 있습니다.

  • 비정상적인 PowerShell 실행
  • 악성 스크립트 실행
  • 시스템 파일 변조
  • 대량 파일 암호화
  • 의심스러운 외부 서버 접속
  • 비정상적인 관리자 권한 획득
  • 자격 증명 탈취 시도
  • 다른 서버로 이동하는 행위
  • 공격 경로 추적

단순히 '악성코드가 발견되었습니다.'라고 알려주는 것이 아니라 공격이 어떻게 진행되었는지를 추적할 수 있습니다.

이러한 정보를 이용하면 보안 담당자는 공격의 시작 지점과 영향을 받은 시스템을 조사할 수 있습니다.

Endpoint 네트워크 격리

보안 사고가 발생한 PC가 다른 PC나 서버를 추가로 공격할 가능성이 있다면 해당 Endpoint를 네트워크에서 격리할 수 있습니다.

보통 EDR 관리 서버와의 통신만 허용하고 다른 네트워크 통신은 제한하는 방식으로 동작합니다.

악성 프로세스 종료

EDR 관리 콘솔에서 악성 프로세스를 종료할 수도 있습니다. 예를 들어 다음 프로세스가 공격에 사용되고 있다고 판단하면

malware.exe
powershell.exe
cmd.exe

보안 담당자가 해당 프로세스를 강제로 종료할 수 있습니다.

물론 PowerShell이나 cmd.exe처럼 정상적인 프로그램은 단순히 프로그램 이름만으로 판단하지 않고 실행 명령과 부모 프로세스 등의 정보를 함께 분석해야 합니다.

악성 파일 격리 또는 삭제

악성 파일이 발견되면 해당 파일을 실행하지 못하도록 격리하거나 삭제할 수 있습니다. 이를 통해 추가적인 피해를 방지합니다.

EDR의 실제 활용 예

예를 들어 직원이 피싱 메일을 받았다고 가정해 보겠습니다.

  1. 직원이 첨부된 Word 문서를 실행합니다.
  2. 문서에 포함된 악성 코드가 PowerShell을 실행하고 외부 공격자 서버에서 악성 프로그램을 다운로드합니다.

EDR에서는 다음과 같은 형태로 공격 흐름을 확인할 수 있습니다.

outlook.exe

winword.exe

powershell.exe

외부 IP 접속

악성 파일 다운로드

malware.exe 실행

보안 담당자는 이를 확인한 후 다음과 같은 대응을 할 수 있습니다.

  1. 해당 PC 네트워크 격리
  2. 악성 프로세스 종료
  3. 악성 파일 격리
  4. 같은 파일이 다른 PC에도 존재하는지 검색
  5. 동일한 공격 IP에 접속한 다른 PC 검색
  6. 공격에 사용된 계정 조사
  7. 전체 공격 경로 분석

이처럼 EDR은 단순히 악성코드를 발견하는 데서 끝나지 않고 사고가 어디서 시작됐고 어디까지 영향을 미쳤는지를 확인하는 데 중요한 역할을 합니다.

같은 카테고리의 다른 글
Brackets / 탭 사이즈 변경하는 방법

Brackets / 탭 사이즈 변경하는 방법

브라켓의 기본 탭 사이즈는 4입니다. 탭 사이즈 변경은 편집기의 오른쪽 아래에서 합니다. 글자를 클릭해서 Tab Size로 만듭니다. 숫자를 클릭하고 원하는 크기를 입력합니다.

M.2 SSD 과열 시 증상과 온도 측정 방법

M.2 SSD 과열 시 증상과 온도 측정 방법

M.2 SSD 과열 시 나타나는 속도 저하, 게임 로딩 지연, 시스템 멈춤 증상과 CrystalDiskInfo, 삼성 매지션를 활용한 SSD 온도 측정 방법을 알아봅니다.

안드로이드 / 앱 / 카카오뱅크 / 지문으로 이체, 로그인 가능하게 등록, 설정하는 방법

안드로이드 / 앱 / 카카오뱅크 / 지문으로 이체, 로그인 가능하게 등록, 설정하는 방법

스마트폰이나 스마트폰 앱에 로그인할 때 지문을 사용하면 상당히 편합니다. 비밀번호나 패턴보다 보안 측면에서 좋은지는 잘 모르겠지만, 편한 건 맞습니다. 지문 사용이 가능한 스마트폰이라면 카카오뱅크도 지문으로 본인 인증이 가능합니다. 카카오뱅크 앱을 설치할 때 설정할 수 있는데, 그 때 사용 설정을 하지 않아도 변경이 가능합니다. 카카오뱅크 앱을 실행하고, 왼쪽 위에 있는 선 세 개 ...

디아블로 2 / 16자리 시디키 26자리로 변환하는 방법

디아블로 2 / 16자리 시디키 26자리로 변환하는 방법

방을 정리하다가 디아블로 2 시디들을 발견했습니다. 추억의 게임이네요. 1999년에 구입한... 찾은 김에 PC에 설치를 해보려고 했는데, PC에 시디롬이 없습니다. 요즘은 시디롬이 있는 PC나 노트북을 찾기 힘들죠. 다른 방법이 있나 찾아보니 블리자드 홈페이지에서 설치 파일을 다운로드할 수 있다고 합니다. 그런데, 그걸로 설치하려면 26자리 시디키가 필요합니다. 갖고 있는 건 16자리 시디키인데... 역시나 방법이 있습니다. ...

Ubuntu Server / 메모

MariaDB / 포트 변경 MariaDB의 기본 접속 포트는 3306입니다. 이를 다른 포트로 변경하고 싶다면 /etc/mysql/mariadb.conf.d/50-server.cnf를 수정합니다. port = 3306 을 찾아서 원하는 포트로 변경한 후 저장합니다. 그리고 MariaDB를 재시작합니다. service mysql restart MariaDB / Can't connect to MySQL server on ... (10061) 다음과 같은 에러를 만났다면... Can't connect to MySQL server on ... (10061) /etc/mysql/mariadb.conf.d/50-server.cnf에 있는 bind-address = 127.0.0.1 를 ...

페이스북 / 페이지 / 삭제하는 방법

페이스북 / 페이지 / 삭제하는 방법

페이지를 삭제하는 메뉴만 찾으면 삭제는 쉽게 할 수 있다. 아래의 순서대로 찾아가거나 페이지 프로파일 설정 페이지로 바로 접속해도 된다. 삭제 과정 마지막에 나오듯이 30일 내에는 복원이 가능하다. 회원님의 페이지를 영구적으로 삭제합니다. 삭제할 준비가 완료되면 페이지 삭제를 클릭하세요. 페이지 삭제를 요청한 후에는 페이지를 다시 활성화하고 삭제를 취소할 수 있는 30일의 기간이 주어집니다. 30일의 ...

Brackets / HTML, CSS 실시간 미리보기 사용하는 방법

Brackets / HTML, CSS 실시간 미리보기 사용하는 방법

Brackets의 장점 중의 하나는 실시간 미리보기입니다. HTML, CSS 등을 만들 때 유용합니다. 만약 실시간 미리보기가 안되는 상황이라면, 문서를 편집하고 저장하고 웹브라우저에서 새로 고침을 해야 하는데, Brackets의 실시간 미리보기를 이용하면 입력 또는 저장만 해도 바로 웹브라우저에 반영됩니다. 실시간 미리보기를 하려면 오른쪽에 있는 번개(?) 모양 아이콘을 클릭합니다. 실시간 미리보기를 처음 실행하는 거라면 다음과 같은 메시지가 ...

모니터 / 패널 / TN 패널

TN(Twisted Nematic) 패널은 가장 오래된 LCD 기술 중 하나로, 주로 빠른 응답 속도와 저렴한 비용으로 인해 널리 사용됩니다. TN 패널의 특징 빠른 응답 속도 TN 패널의 가장 큰 장점은 매우 빠른 응답 속도입니다. 일반적으로 1ms에서 5ms의 응답 속도를 제공하여, 빠른 화면 전환이 필요한 게이밍 모니터에서 주로 사용됩니다. 이는 화면 잔상(고스트 현상)을 최소화하여 부드러운 ...

아이피타임(ipTIME) 공유기 / 관리자 아이디 비밀번호 변경하는 방법

아이피타임(ipTIME) 공유기 / 관리자 아이디 비밀번호 변경하는 방법

인터넷 공유기는 외부 네트워크와 내부 네트워크를 연결해주는 통로입니다. 따라서 보안은 당연히 중요합니다. 보안을 강화하는 좋은 방법 중의 하나는 관리자 계정 아이디와 비밀번호를 주기적으로 변경하는 것입니다. 아이피타임(ipTIME) 공유기의 관리자 아이디와 비밀번호를 어떻게 변경하는지 알아보겠습니다. 공유기 관리 페이지에 접속하고 로그인합니다. 설정을 변경하지 않았다면 URL은 192.168.0.1, 로그인 이름은 admin, 로그인 암호는 admin입니다. 를 클릭합니다. 왼쪽 메뉴에서 [고급 설정 - ...

당구 / 시스템 / 50 시스템, 30 시스템, 15 시스템

당구 / 시스템 / 50 시스템, 30 시스템, 15 시스템

50 시스템 기본 50 포인트를 향해서 치면 반대편 같은 위치로 향한다. 정회전으로 치며, 회전양과 당점은 적절히 한다. 응용 앞으로 걸어 치기에 응용   30 시스템 1 기본 30 포인트를 향해서 치면 반대편 절반 위치로 향한다. 정회전으로 치며, 회전양과 당점은 적절히 한다. 응용   30 시스템 2 기본 장쿠션에서 30 포인트를 향해 치면 반대편 장쿠션의 같은 위치로 향한다. 응용   15 시스템 기본 15 포인트에서 10 포인트를 향해 치면 ...