더 나은 측면 이동 감지를 위한 LATMA 알고리즘 소개

» 블로그 » 더 나은 측면 이동 감지를 위한 LATMA 알고리즘 소개

측면 이동 감지는 모든 사이버 보안 연구원이 잘 알고 있는 문제입니다. 우리 팀과 나는 몇 달 전에 이 문제에 직면했고 당연히 이 문제를 해결할 수 있는 쉽고 빠른 솔루션이 없다는 것을 금방 알게 되었습니다.

이 게시물에서는 탐지의 어려움을 설명하겠습니다. 측면 운동 저희 팀과 제가 어떻게 이를 감지하는 능력을 크게 향상시켰는지 보여드리겠습니다. 측면 이동 분석기(LATMA) 도구. 이 알고리즘에 대해 자세히 설명하고 현재 사용 가능한 다른 알고리즘보다 훨씬 더 나은 결과를 얻을 수 있었던 방법을 설명하겠습니다.

수행자라면 들어라! 새로운 오픈 소스 도구를 사용하여 측면 움직임 감지 당신의 환경에서.

최근 공격을 조사하여 측면 이동 이해

측면 이동 감지에 대해 논의하기 전에 먼저 그것이 무엇인지 정확히 정의해 보겠습니다. 예를 사용하는 것보다 더 좋은 방법은 없습니다.

몇 달 전, 사이버 범죄 그룹 Lapsus$의 해커는 "MFA 폭격"이라는 사회 공학 기술을 사용하여 획득한 일반 사용자 자격 증명으로 VPN을 통해 Uber 시스템에 액세스했습니다. 공격자는 귀중한 정보를 찾기 위해 네트워크를 스캔했고 결국 관리자 자격 증명이 포함된 PowerShell 스크립트를 찾았습니다. 그런 다음 이 관리자의 자격 증명을 사용하여 데이터베이스에 로그인하고 중요한 회사 정보를 노출했습니다.

이 공격은 여러 단계로 구성됩니다.

  1. Uber 시스템에 대한 초기 액세스 권한 얻기 — 이 경우 사회 공학을 통해.
  2. 정보를 검색한 다음 이를 사용하여 네트워크의 다른 시스템에 액세스하고 권한 있는 자격 증명을 얻습니다.
  3. 이러한 권한 있는 자격 증명을 사용하여 악의적인 목표(이 경우 민감한 정보 노출)를 수행합니다.

이 세 단계는 거의 모든 성공적인 침해에서 발생합니다. 그러나 공격자가 조직의 네트워크를 통해 성공적으로 이동할 수 있는 능력을 나타내기 때문에 두 번째 단계만 측면 이동으로 간주됩니다. 이것이 제가 집중할 단계입니다.

측면 이동에서 역할 인증 재생 이해

시스템 간 이동에는 인증이 필요합니다. 이 단계에서 공격자는 ID 공급자에게 자격 증명을 제공해야 하며 이러한 자격 증명이 확인된 후에만 대상 시스템으로 이동할 수 있습니다.

문제는 기계 간의 정상적인 이동은 악의적인 이동만큼 인증이 필요하며 둘 다 동일한 흔적을 남긴다는 점입니다. 이로 인해 정상적인 움직임과 악의적인 움직임을 구별하기가 매우 어렵습니다.

이를 해결하는 한 가지 접근 방식은 이상 징후를 감지하는 것입니다. 그러나 이 접근 방식을 취하는 것은 많은 이상 징후가 실제로 악의적이지 않기 때문에 고유한 문제가 있습니다. 예를 들어, 직원이 도움을 받기 위해 IT 부서에 가고 IT 담당자가 도움을 요청한 사람의 컴퓨터에 로그인하는 경우 이는 비정상적인 현상이지만 분명히 악의적인 현상은 아닙니다.

슬프게도 이것이 단순한 이상 감지 알고리즘이 실제로 그다지 유용하지 않은 이유입니다. 이것이 우리 팀과 내가 이 장애물을 극복하는 LATMA 알고리즘을 개발한 이유입니다.

LATMA 탐지를 위한 XNUMX단계

1단계: 비정상적인 인증 트래픽에 대한 그래프 작성

이 단계에서 LATMA는 조직의 전체 인증 트래픽을 다이제스트하고 정상으로 보이는 인증과 비정상적으로 보이는 인증을 결정합니다. 컴퓨터/사용자 역할 및 예상되는 동작과 같은 도메인에 대한 정보를 사용하여 이를 수행합니다. 그런 다음 인증을 사용하여 네트워크를 나타내는 그래프를 작성합니다. 여기서 모든 노드는 컴퓨터를 나타내고 모든 에지는 인증을 나타냅니다.

그러나 앞서 언급한 바와 같이 이상 징후를 찾는 것만으로는 측면 이동을 감지하기에 충분하지 않으므로 프로세스에 몇 단계가 더 필요합니다.

2단계: 측면 이동 패턴 찾기

이 단계에서는 이전 단계의 인증 그래프를 입력으로 받아 횡방향 움직임 패턴을 검색합니다. 이러한 패턴은 다양한 유형의 악성 코드와 관련이 있습니다. 의도.   

패턴을 세 가지 범주로 분류합니다.

검색 패턴 – 공격자는 이동을 수행하기 전에 전진할 좋은 대상을 찾을 가능성이 높습니다. 패턴은 단일 소스(공격자의 현재 위치를 나타냄)에서 여러 서버로의 많은 인증입니다.

고급 패턴 – 서로 다른 네트워크 자산 간의 공격자의 이동을 나타냅니다. 공격자는 도중에 자격 증명을 훔친 다음 이를 사용하여 전진할 수 있습니다.

행위 패턴 – 일반적으로 공격자가 악의적인 목표를 달성하기 시작한 침해가 끝날 무렵에 발생합니다. 이러한 패턴은 종종 정보를 훔치거나 맬웨어를 실행하기 위해 한 번에 여러 시스템에 대한 대규모 자동 액세스를 특징으로 합니다.

3단계: 알림

LATMA는 이러한 패턴 중 두 개 이상이 순서대로 발생하면 경고를 생성합니다. 예를 들어, 공격자가 진출할 대상 머신을 검색한 다음 성공적으로 진출하면 알고리즘이 경고를 생성합니다.

이 예에서 다른 패턴과 연결되는 행동 패턴을 감지하면 알고리즘이 경고를 생성하기 때문에 행동 패턴 이전에 공격이 중지되었을 수 있습니다. 행동 패턴은 일반적으로 공격자가 이미 목표를 달성했음을 의미합니다. 이 경우 알고리즘의 출력이 조사에 도움이 될 수 있습니다. 

LATMA 소개: 측면 이동 분석 도구

연구의 일환으로 LATMA의 논리를 구현하고 환경의 모든 의심스러운 움직임에 대한 자세한 보고서를 출력하는 무료 도구를 개발했습니다. 이 도구는 두 개의 모듈로 구성됩니다.

로그 수집기 – 이 모듈은 인증 트래픽을 수집합니다. Active Directory (광고) 환경. 도메인 컨트롤러 및 엔드포인트에서 로그를 수집하고 대화형에만 집중합니다. Kerberos 및 NTLM 인증. 이 모듈은 오픈 소스이며 여기에서 찾을 수 있습니다. https://github.com/silverfort-open-source/latma

분석기 모듈 – 이 모듈은 수집기에서 로그를 입력하고 LATMA가 찾은 패턴, 연결 방법, 누가 언제 수행했는지가 포함된 자세한 보고서를 출력합니다. 또한 결과를 GIF로 시각화합니다. 이 모듈은 무료이며 여기에서 찾을 수 있습니다. https://www.silverfort.com/resources/tools/lateral-movement-analyzer-tool-beta/

이 도구의 장점 중 하나는 결과가 읽기 쉽고 명확하다는 것입니다. 때때로 경보를 처리하는 데 가장 어려운 부분은 경보가 발생했다는 사실을 아는 것뿐만 아니라 잘못된 경보가 아니라고 팀을 설득하는 것입니다. LATMA의 간단한 출력은 이 문제를 해결하는 데 도움이 됩니다.

다음에서 LATMA의 전체 데모를 시청하십시오. 16 : 54 - 30 : 44

LATMA의 증거는 결과에 있습니다

여기까지 읽으셨다면 이 알고리즘과 도구가 가치가 있다는 것을 확신하셨기를 바랍니다. 그래서 나는 또한 그것이 매우 정확하다는 것을 보여주고 싶습니다.

내 업무의 일환으로 Silverfort, 저는 수백 가지의 서로 다른 환경에서 인증 트래픽을 보게 되며, 그들 중 다수가 측면 이동 시도의 대상이라는 사실에 놀랄 수도 있습니다. 고객이 이것을 발견했거나 Silverfort의 플랫폼이 우리에게 경고했습니다. 따라서 이 데이터는 검증, 교육 알고리즘 및 가설 테스트에 적합합니다.

서로 다른 환경에서 수십 개의 데이터 세트에 대해 LATMA를 실행했습니다. 결론은 측면 이동의 95%를 감지하고 약 30일에 한 번씩 잘못된 경보를 생성했다는 것입니다. 이는 기존의 다른 알고리즘보다 거의 XNUMX배 더 나은 것입니다!

향후 작업: 우리가 이 작업을 수행할 곳

알고리즘에 대한 작업은 저와 제 팀이 측면 이동 공격을 더 잘 이해하고 모델링하는 데 도움이 되었습니다. 또한 상당한 개선에도 불구하고 아직 갈 길이 멀다는 것을 깨달았습니다. 공격 표면은 빠르게 진화하고 있으며 공격자는 예를 들어 온프레미스 환경에서 클라우드로 또는 그 반대로 이동하는 등 이를 활용할 기회가 점점 더 많아지고 있습니다. 따라서 이 알고리즘의 잠재적인 향상에는 클라우드 환경의 로그 및 이벤트와 플랫폼을 가로지르는 측면 이동 감지가 포함됩니다.

따라서 LATMA에 대한 더 많은 뉴스를 기대하고 이 도구에 대한 피드백을 알려주십시오.

인증 공격 막기