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은 단순히 악성코드를 발견하는 데서 끝나지 않고 사고가 어디서 시작됐고 어디까지 영향을 미쳤는지를 확인하는 데 중요한 역할을 합니다.

같은 카테고리의 다른 글
인디자인 / 그림 삽입

인디자인 / 그림 삽입

가져오기 를 클릭합니다. 단축키는 Ctrl+D입니다. 이미지를 선택하고, 드래그하여 크기를 정하면 그림이 문서에 들어갑니다. 링크 포함 그림은 문서에서 보이지만 문서에 포함된 것은 아닙니다. 따라서 그림을 삭제하거나 이동하면 문제가 생깁니다. 문서에 그림을 포함하고 싶다면 을 클릭하세요. 이미지가 선명하게 보이지 않는다면 원본이 충분히 고화질임에도 불구하고 이미지가 선명하게 보이지 않는다면 에서 ...

버추얼박스 / 가상 머신 만드는 방법, 삭제하는 방법

버추얼박스 / 가상 머신 만드는 방법, 삭제하는 방법

가상 머신 만들기 가상 머신에 사용할 OS의 ISO 이미지를 준비합니다. 버추얼박스에서 를 클릭합니다. 이름을 적절히 정하고 OS의 종류와 버전을 선택합니다. 을 클릭합니다. 가상 머신에 할당할 메모리 크기를 정하고 을 클릭합니다. 를 클릭합니다. 을 클릭합니다. 동적 할당은 가상 하드 디스크를 사용하는 만큼 호스트 PC의 하드 디스크를 사용합니다. 고정 크기는 그 크기 만큼 미리 공간을 확보해 놓습니다. 적절히 설정하고 을 ...

외장 하드 케이스 / ipTIME HDD3135

외장 하드 케이스 / ipTIME HDD3135

남아도는 2.5인치 하드디스크를 활용하려고 아이피타임의 HDD3225를 구입했었습니다. 그런데 3.5인치도 있더군요. 그것도 4TB 대용량으로... 요즘 주로 노트북을 사용해서 어디 장착할 수도 없고 해서 3.5인치용 외장 하드 케이스를 구입했습니다. 구입한 제품은 HDD3135. 요것도 ipTIME 제품입니다. 공유기와 외장 하드 케이스는 ipTIME이 꽉 잡은 거 같네요. 하드 독(도킹 스테이션)을 살까도 고민했습니다. 여러 개의 HDD를 꽂을 수도 ...

Microsoft Office 2016 / 마이크로소프트 계정에서 로그아웃하는 방법

Microsoft Office 2016 / 마이크로소프트 계정에서 로그아웃하는 방법

MS OFFICE 2016은 마이크로소프트 계정에 로그인되어 있지 않아도 사용할 수 있습니다. 어떻게 로그아웃하는지 알아보겠습니다. 오른쪽 위에 있는 계정 이름을 클릭하면 조그만 창이 나오는데, 제일 아래에 있는 을 클릭합니다. 을 클릭합니다. 계정 옆에 나오는 을 클릭합니다. 로그아웃할 때 발생하는 문제를 안내하는 창이 나옵니다. 를 클릭하면 로그아웃되고, 오른쪽 위에 계정 이름 대신 링크가 생깁니다.

VisiPics / 중복 사진 정리 프로그램

VisiPics / 중복 사진 정리 프로그램

중복 사진 정리 프로그램 VisiPics 필름으로 사진을 찍을 때는 한 장 한 장 정성스럽게 찍었던 거 같습니다. 필름 한 통으로 찍을 수 있는 양이 정해져 있었고, 눈으로 볼 수 있게 현상하는 것도 돈이 들었으니까요. 하지만, 지금은 사진을 파일로 저정하고, 현상하지 않아도 PC 등에서 사진을 볼 수 있으므로, 사진을 많이 찍게 됩니다. 여러 ...

안드로이드 / 앱 / 동행복권 / 스마트폰에서 로또 당첨 여부 쉽게 확인하는 방법

안드로이드 / 앱 / 동행복권 / 스마트폰에서 로또 당첨 여부 쉽게 확인하는 방법

로또를 거의 매주 산다. 돈을 기부한다는 느낌이 들기도 하지만, 가끔 당첨이 된다. 가장 많이 받은 건 5만 원. 그 돈으로 다시 로또를 사니 별 의미는 없다. 당첨 여부 확인은... 예전에는 숫자를 보면서 하나하나 맞췄는데 요즘은 동행복권 Lite라는 앱으로 한다. 로또에는 QR 코드가 있고, 동행복권 Lite라는 앱에서 스캔하면... 바로 결과가 나온다. 너무 빨라서 ...

위키(Wiki) / 위키 만드는 소프트웨어 / 미디어위키(MediaWiki)

위키(Wiki) / 위키 만드는 소프트웨어 / 미디어위키(MediaWiki)

미디어위키(MediaWiki)는 오픈 소스 위키 소프트웨어로, 위키백과(Wikipedia)와 같은 대규모 협업 프로젝트를 위해 설계되었습니다. PHP로 작성되었으며, MySQL 및 MariaDB를 데이터베이스로 사용합니다. 미디어위키는 다양한 기능과 확장성을 제공하여 복잡한 위키 사이트를 운영하는 데 적합합니다. 역사 미디어위키는 처음에는 위키백과 프로젝트를 지원하기 위해 개발되었습니다. 2002년, 매그너스 만스케(Magnus Manske)가 PHP로 작성한 초기 버전이 공개되었으며, 이후 개발자들이 지속적으로 기여하여 현재의 ...

위키(Wiki) / 위키 만드는 소프트웨어 / 티키 위키 CMS 그룹웨어(Tiki Wiki CMS Groupware)

위키(Wiki) / 위키 만드는 소프트웨어 / 티키 위키 CMS 그룹웨어(Tiki Wiki CMS Groupware)

티키 위키 CMS 그룹웨어(Tiki Wiki CMS Groupware)는 오픈 소스 위키 소프트웨어로, 위키, 콘텐츠 관리 시스템(CMS), 그룹웨어 기능을 통합하여 제공하는 강력한 웹 애플리케이션 플랫폼입니다. 다양한 기능을 하나의 시스템에서 제공하여 복잡한 웹사이트나 협업 프로젝트를 효율적으로 관리할 수 있습니다. 역사 티키 위키는 2002년에 시작되었으며, 다니엘 마코니(Daniel M. Gerzo)가 주도한 오픈 소스 프로젝트입니다. 티키 위키는 GPL ...

지메일, 네이버 메일, 다음 메일 / IMAP 사용할 수 있게 설정하는 방법

지메일, 네이버 메일, 다음 메일 / IMAP 사용할 수 있게 설정하는 방법

지메일, 네이버 메일, 다음 메일 등은 아웃룩이나 썬더버드 같은 메일 클라이언트 프로그램으로 메일을 주고 받을 수 있습니다. 메일을 받을 때 POP3 또는 IMAP 방식을 사용하는데, IMAP이 여러모로 편합니다. 메일을 보내는 것은 SMTP를 이용하구요. IMAP/SMTP를 이용하여 아웃룩 등으로 메일 송수신을 하려면 웹메일에서 IMAP을 사용할 수 있도록 설정해주어야 합니다. 메일 서비스별로 설정하는 방법을 ...

Brackets / 언어 변경하는 방법

Brackets / 언어 변경하는 방법

Brackets는 다국어를 지원합니다. 원하는 언어로 사용할 수 있습니다. 언어 변경은 다음 순서로 합니다. 상단 메뉴에서 디버그(Debug)를 클릭하고 언어 변경(Switch Language)을 클릭합니다. 언어를 선택하고 Brackets 재시작(Reload Brackets)를 클릭합니다. 브라켓이 재시작 되면서 언어가 변경됩니다.