어두운 작업 공간에서 대형 모니터로 코드를 검토하는 개발자들

SOAR 및 Atomic Red Team을 활용한 ATT&CK 테스트 자동화

5 1분 읽기

 

미트레 어택앤크 ATT&CK는 조직이 방어 태세를 측정하는 데 있어 사실상 표준적인 프레임워크입니다. ATT&CK는 범주별 수직 분석 도구를 제공하며, 다음과 같은 형태로 구성되어 있습니다. 전술, 이는 공격자들이 사용하는 일반적인 방법론과 일치합니다. 이러한 수직적 범주 내에는 공격자들이 전술(수직적)을 달성하는 일반적인 방법들의 집합(및 하위 집합)이 있습니다. 이것들은 다음과 같이 알려져 있습니다. 기법.

일부 기술은 여러 운영 체제에서 공통적으로 사용될 수 있습니다. 이는 일반적으로 기술에 대한 광범위한 정의를 의미합니다. 방어 담당자로서 우리는 하나의 기술이 여러 플랫폼에서 어떻게 구현될 수 있는지 이해해야 하는데, 이는 저를 포함한 많은 사람들에게 어려운 과제입니다. 다행히 Red Canary와 같은 단체들이 이러한 기술을 테스트하는 데 도움이 되는 풍부한 프레임워크를 제공해 주고 있습니다.

Red Canary는 Atomic Red Team을 오픈소스로 공개했습니다. 몇 년 전 보안 커뮤니티를 지원하기 위해 MITRE ATT&CK 프레임워크에 매핑된 아토믹(테스트) 세트를 제공하는 프로젝트가 시작되었습니다. 각 아토믹은 ATT&CK 내의 특정 기법에 매핑되며, 시스템에서 실행할 수 있는 하나 이상의 테스트를 제공합니다. 이러한 아토믹은 공격자가 사용자 환경에 대해 특정 기법을 사용하는 방식을 모방하거나 에뮬레이션하기 위한 것입니다.

Red Canary는 실행 가능한 테스트 세트를 제공하는 것 외에도 이러한 테스트를 실행할 수 있는 다양한 실행 프레임워크를 제공합니다. 이러한 프레임워크는 Python, PowerShell(Core) 및 Ruby로 작성되었지만, 가장 최신이고 활발하게 개발되고 있는 것은 PowerShell(Core) 프레임워크입니다. 참고로, 저는 2018년 9월에 PowerShell 프레임워크를 다시 작성했습니다., 하지만 그 이후로 많은 변화가 있었습니다.

핵심 아이디어는 실행 프레임워크 중 하나를 사용하여 시스템에 대해 하나 이상의 원자적 테스트를 실행하는 것입니다. 그러면 EDR, SIEM 등의 시스템에서 경고/탐지가 발생하고 환경 내 특정 기술에 대한 보안 효과를 측정하기 시작합니다. 그러나 이러한 방식은 어렵고 지루하며 시간이 많이 소요되는 수동 프로세스임이 입증되었습니다.

레드 카나리와 그들의 아토믹 레드 팀 프로젝트의 오랜 팬으로서, 저는 두 가지 주요 목표를 세웠습니다.

  1. 단일 프레임워크를 사용하여 여러 운영 체제 유형에서 원격으로 테스트를 실행합니다.
  2. 환경 내에서 Atomic 테스트와 탐지/경고를 연관시키기 위해.

저는 최근 Swimlane SOAR를 활용하여 이러한 목표를 달성한 방법에 대해 발표했습니다.. 또한, 이 사용 사례의 구성 요소를 오픈 소스로 공개하여 보안 커뮤니티에 기여하고 싶었습니다.

사용 사례

레드팀 테스트

주요 사용 사례는 단일 작업 공간 내의 여러 애플리케이션으로 구성됩니다. 저는 Atomic Red Team의 Atomic을 단일 레코드로 파싱할 수 있었습니다. 원자 애플리케이션입니다. 앞서 언급했듯이 각 Atomic에는 여러 테스트가 연결될 수 있으며, 이러한 테스트는 단일 운영 체제 유형에만 국한되지 않을 수 있습니다. 그래서 저는 보조 애플리케이션을 만들었습니다. 원자 실험, 이 레코드에는 각 테스트에 대한 세부 정보가 포함되어 있으며 Atomics 상위 레코드와 연결되어 있습니다.

단일 원자 테스트
상위 Atomics 레코드와 연결된 단일 Atomic Test 레코드입니다.

분석가가 주로 사용하는 진입점은 다음과 같습니다. 주인 호스트 애플리케이션에는 테스트를 실행하려는 호스트에 대한 정보가 포함되어 있습니다. 분석가는 레코드를 생성하고 (최소한) 이름, 주소(IP 또는 DNS) 및 운영 체제 유형을 제공합니다. 이 새로운 레코드가 생성되면 주인 레코드가 저장되면 분석가는 실행할 테스트를 선택해야 합니다. 이때 분석가는 참조 레코드를 사용합니다. 원자 실험 애플리케이션에서 테스트를 추가한 후에는 해당 레코드와 관련된 하나 이상의 테스트를 실행하도록 선택할 수 있습니다.

"이 테스트들을 어떻게 원격으로 진행할까요?"라고 궁금해하실 수도 있겠습니다. 바로 새로운 오픈소스 도구를 소개해 드리고자 합니다. . `float`는 Windows, macOS 또는 *nix 시스템에서 원격으로 명령을 실행하는 Python 패키지이며, 크로스 플랫폼을 지원합니다.

사용하려면 키, 대상 호스트에서 PowerShell Remoting/WinRM(Windows Remote Management) 또는 SSH를 사용할 수 있는 자격 증명 세트를 제공해야 합니다.

키

저희 시스템에 자격 증명을 입력하시면 됩니다. 키스토어, Swimlane을 사용하면 여러 운영 체제의 여러 호스트에서 테스트를 실행할 수 있습니다. 각 호스트에서 실행되는 테스트에 대해 다른 애플리케이션에 기록이 생성됩니다. 테스트 기록. 이 애플리케이션에는 호스트에서 수행된 모든 테스트 기록과 시스템 응답이 포함되어 있습니다. 각 테스트는 실행된 호스트와 연결되어 있어 과거 상황에 대한 정보를 제공합니다.

호스트에서 단일 테스트가 실행되면, 테스트와 유사한 경고/탐지를 즉시 검색하기 시작합니다. 제공된 애플리케이션과 모니터링할 특정 필드를 검토하여 이를 수행합니다. 또한 판단을 내릴 때 다음과 같은 데이터 포인트를 고려합니다(이 모든 항목은 조직의 요구 사항에 맞게 쉽게 수정하거나 사용자 지정할 수 있습니다).

  1. 타임스탬프 비교
    1. 검색 시작 시간은 호스트에서 테스트가 실행된 타임스탬프를 기준으로 합니다.
    2. 종료 시간은 설정 가능하지만, 기본적으로 테스트 실행 후 3시간으로 설정되어 있습니다.
  2. 주소 비교
    1. 제공된 필드를 살펴보고 경고 호스트 이름/주소가 테스트가 실행된 주소와 동일한지 확인합니다.
  3. 실행 비교
    1. 원자력 테스트 및 경보 세부 정보의 정규화
      1. 소문자
      2. (예: |, \\ 등) 특수 문자를 제거하세요.
    2. 두 명령 목록을 비교하여 유사한 문자열과 값 사이의 백분율 차이를 찾습니다.
    3. 선택 과목:
      1. 저희는 레벤스타인 거리 계산과 SSDeep 해시 비교 기능을 제공했지만, 이러한 방법은 비용이 많이 들기 때문에 출발지와 목적지 값이 유사할 때 사용하는 것이 더 효율적입니다.

비교를 통해 경고/탐지가 테스트와 유사하다고 판단되면 해당 경고 기록을 단일 테스트 이력 기록에 연결합니다. 이 시점에서 기록을 생성하거나 테스트 이력 기록을 다른 애플리케이션과 연결합니다. 히트맵 기록.

스윔레인 UI 레드팀
식별된 경고 기록 및 히트맵 기록과 관련된 테스트 이력 기록
 

A 히트맵 기록 이 기능은 테스트를 실행한 특정 기법을 탐지(또는 탐지하지 못함)하는 능력에 대한 데이터를 추적, 보고 및 표시하는 데 사용됩니다. 테스트를 실행했지만 경고가 감지되지 않은 경우에도 해당 이벤트는 추적되지만, 모든 과거 테스트에서 해당 기법을 정확하게 탐지한 경우와는 보고 방식이 약간 다릅니다.

이러한 기록이 생성되거나 테스트 이력 기록이 특정 기술과 연결되면, 악성 활동을 탐지할 수 있는 부분과 탐지에 부족한 부분을 시각적으로 파악할 수 있습니다.

체커보드 내부 수영 레인 알림
MITRE ATT&CK 대시보드 위젯은 탐지 여부(탐지 발생 및 미탐지)를 보여줍니다.
 

위 이미지는 Swimlane의 MITRE ATT&CK 대시보드 위젯입니다. 이 대시보드는 당사에서 제공하는 데이터를 가져옵니다. 히트맵 기록 그리고 이를 동적으로 표시합니다. 그리드 상자에 색상이 없으면 해당 특정 기술에 대한 테스트를 실행하지 않았다는 의미입니다. 진한 파란색은 최소 하나 이상의 테스트를 실행하여 해당 기술을 감지했음을 나타냅니다. 더 많은 테스트와 감지가 이루어질수록 색상은 주변의 아쿠아 블루 색상으로 밝아집니다. (윈도우)에서. 테스트를 실행했지만 아무것도 감지되지 않은 경우 해당 기술은 빨간색으로 표시됩니다.

사용함으로써 레드 카나리의 아토믹 레드 팀 Swimlane SOAR를 사용하면 ATT&CK 테스트를 자동화하는 동시에 탐지 능력과 취약점을 파악할 수 있습니다. 더 이상 수동 테스트, 검토 및 상관 분석이 필요하지 않습니다. 이 사용 사례를 통해 취약점을 신속하게 식별하고 몇 분 안에 재테스트를 시작할 수 있습니다.

어두운 네트워크 배경에 SOAR를 사용하여 ATT&CK 테스트를 자동화하는 모습이 표시됩니다.

SOAR와 Atomic Red Team을 활용한 공격 테스트 자동화 (46:31)

지금 시청하세요

라이브 데모를 요청하세요