필리핀 이트래블 앱 어플 작성방법 종결! 정상 확인까지
페이지 정보
작성자 Vanessa관련링크
본문
들어가며공격자들은 확인된 정상 URL 목록 Cobalt Strike, Brute Ratel, Mythic, Metasploit, Sliver, Merlin과 같은 널리 사용되는 C2 프레임워크 도구를 사용하여 IPS 시그니처 또는 IP/도메인/URL 차단 목록에 기반한 일반적인 정적 방어 기능을 쉽게 회피하는 새로운 정교한 C2(Command-and-Control) 기능을 멀웨어에 추가하고 있습니다. 이 도구들은 명령 및 제어, 권한 상승, 호스트에 대한 작업 등 사후 활용 기능을 제공하며, 원래는 침투 테스트와 레드팀 훈련을 위해 설계된 것이었습니다.그러나 대부분의 이런 도구들은 오픈 소스이기 때문에 공격자들이 악의적인 목적으로 동일한 툴킷을 변형하여 사용하기 시작했습니다. 예를 들어, Mythic과 Merlin 같은 도구를 들 수 있으며, Cobalt Strike와 Brute Ratel 같은 다른 상용 도구는 해킹된 복제본이나 유출된 소스 코드를 통해 공격자들에 의해 도난당했습니다. 이 때문에 동일한 도구가 악용을 위한 C2 프레임워크로 변질되었습니다.이 도구들은 C2 통신의 많은 변수를 쉽게 조정하고 변경할 수 있기 때문에, 멀웨어가 현재의 방어 체계를 훨씬 더 쉽게, 그리고 더 오랫동안 피할 수 있게 되어, 더 많은 데이터 탈취, 더 가치 있는 데이터 발견, 비즈니스 앱/서비스의 이용 불가, 그리고 향후 피해를 위한 네트워크에 대한 숨겨진 접근 유지 등 피해자 네트워크에 더 큰 피해를 입힐 수 있습니다.C2 프레임워크를 사용하여 최신 멀웨어를 탐지하는 현재의 접근 방식은 삽입된 실행 파일 탐지를 포함한 정적 시그니처와 지표, C2 트래픽 탐지를 위한 IPS 시그니처, 널리 사용되고 있는 C2 프레임워크 도구의 동적인 악성 프로파일을 처리하는 데 부적합한 IP/URL 필터를 활용합니다.따라서 알려진 공격에만 너무 얽매이지 않고, 장치와 사용자 위험을 세밀하게 추적하는 훈련된 머신 러닝 모델에 입력된 포괄적인 시그널 세트 기반의 이상 징후 탐지를 기반으로 하는 새로운 접근 방식이 필요합니다. 이 접근 방식은 기존 접근 방식을 보완할 수 있어, 오탐률을 낮게 유지하면서 탐지율을 크게 높일 수 있으며, 동일한 C2 프레임워크 도구를 통해 쉽게 활성화되는 진화하는 C2 트래픽 패턴에 대한 미래 대비성을 제공할 수 있습니다.여기에서는 현재의 접근 방식의 문제점과 사용자 및 조직 수준의 모델을 기반으로 하는 추가적인 네트워크 신호와 세분화된 위험 지표를 사용하는 집중적인 머신 러닝 접근 방식을 사용함으로써 효율성을 높이는 방법에 대해 논의합니다. 또한 C2 비콘 탐지 솔루션의 효율성을 테스트하는 데 있어 몇 가지 주요 과제에 대해서도 논의합니다. 공격용 C2 프레임워크Cobalt Strike, Metasploit, Mythic, Brute Ratel 등은 원래 악성코드 탐지를 위한 레드팀 테스트용으로 설계된 상용 및 오픈 소스 공격 시뮬레이션 도구들입니다. 이 도구들은 공격 체인의 악용 후 명령 및 제어 부분에 초점을 맞추어 레드팀 작전 중 실제 위협 활동을 시뮬레이션하기 위한 풍부한 기능 세트(Gill)를 제공하기 때문에 위협 에뮬레이션 도구 또는 C2 프레임워크라고도 불립니다.이 글 전체에서 이 용어들을 같은 의미로 사용하기도 하지만, 일반적으로 C2 프레임워크를 사용하여 이러한 도구가 악의적인 행위자에 의해 생산 환경에 영향을 미치기 위해 사용되고 있으며, 해결해야 할 문제는 친절한 내부 레드 팀의 시뮬레이션이나 에뮬레이션보다 훨씬 더 심각하다는 점을 강조합니다.이러한 C2 프레임워크 도구는 수많은 공격자에 의해 임베드, 해킹, 도난되어 사용되었습니다. 여기에는 Cobalt Strike (국제 법 집행 기관은 '스위스 군용 칼'이라고도 불리는 이 침투 테스트 도구의 불법 사용을 막기 위해 노력하고 있음), SolarWinds의 러시아 APT29(“SolarWinds 공급망 공격에 사용된 SUNBURST 백도어”)와 중국의 TA415(Larson and Blackford)를 비롯한 국가 주체들이 다양한 RAT, 봇넷, C2 지원 멀웨어의 은밀한 통신 기능을 강화하고 발전시키기 위해 사용하는 침투 테스트 도구가 포함됩니다.Cobalt Strike는 가장 인기 있는 C2 프레임워크 도구이며, 여기에서도 이를 구체적인 예로 사용하지만, 관찰 결과는 모든 유사한 도구에 동일하게 적용됩니다. 다음 Cobalt Strike의 상위 레벨 아키텍처 다이어그램은 기본 구성 요소(Rahman)와 런타임 공격 흐름을 보여줍니다.그림 1: Cobalt Strike 하이 레벨 아키텍처#공격 단계설명1Initial access / Infection초기 감염 경로, 비콘 페이로드용 다운로더와 로더 포함.2Call Home (C2)비콘은 일반적으로 HTTP/HTTPS/DNS를 활용하여 팀 서버에 콜 홈을 합니다. 프록시, 도메인 프론팅(예: CDN) 또는 도메인 마스커레이딩과 같은 리디렉터를 통해 도메인/IP 난독화를 활용할 수 있습니다. 비콘은 내부 네트워크 분할을 우회하기 위해 통신을 연결할 수도 있습니다.3Attacker command and control공격자는 비콘을 제어하여 다양한 명령을 내립니다. 공격자 스크립트를 활용하여 워크플로를 자동화/최적화할 수 있습니다.4Execute commands비콘은 별도의 프로세스에서 실행 어셈블리(.NET 실행 파일)를 사용하거나 비콘 세션/프로세스 내에서 비콘 객체 파일을 사용하여 공격 확인된 정상 URL 목록 후 기능을 확장할 수 있습니다. 메모리 주입은 악성 파일과 관련된 파일 및 디스크 활동에 초점을 맞춘 엔드포인트 방어 기능의 탐지를 피하기 위해 사용됩니다.5Actions on hostBOF 또는 어셈블리 실행과 같은 확장 기능을 통해 새로운 기능에 사용할 수 있는 수많은 빌트인 액션을 실행표 1: Cobalt Strike C2 프레임워크를 사용한 공격 체인Cobalt Strike와 유사한 툴킷을 사용하면 HTTP/S 트래픽을 쉽고 광범위하게 구성할 수 있으며, 정상적인 HTTP/웹 트래픽처럼 보이고 웹 브라우저 또는 인기 있는 애플리케이션 트래픽과 유사한 C2 트래픽을 생성할 수 있습니다. 이런 기능은 알려진 악성코드와 알려진 애플리케이션을 모두 애뮬레이션하는 도구에 기본 구성으로서 제공됩니다.DNS도 C2 프로토콜에 사용되지만, HTTP/S가 조직 안팎으로 들어오고 나가는 네트워크 트래픽의 대부분을 차지하고, 이를 사용하는 다양한 응용 프로그램으로 인해 더 복잡하며, 합법적인 양성 C2 비콘을 포함하여 네트워크 속에 숨으려는 악의적인 행위자의 대부분에 의해 사용되기 때문에 여기에서는 HTTP/S를 사용한 C2 트래픽에 초점을 맞출 것입니다.위의 도구들은 (Malleable 프로파일을 통해) 매우 유연하게 구성할 수 있으며, 타이밍, 빈도, 용량, 애플리케이션 프로토콜, 대상 IP/도메인, 사용자 에이전트, HTTP 헤더, HTTP verb, URI, 매개변수, SSL/TLS 인증서, 임의 지터가 있는 비콘 지연, 페이로드/콘텐츠를 쉽게 변경할 수 있습니다. C2 프레임워크 도구는 또한 암호화되어 다운로드되고 메모리 내에서 실행되는 수많은 사후 활용 작업을 가능하게 해, 침입 후의 활동을 엔드포인트에서 탐지하기 매우 어렵게 만듭니다.여기에서는 C2 프레임워크 도구의 특정 C2 통신 기능(예: C2 비컨)과 통신 변경의 용이성(예: Cobalt Strike의 C2 Malleable 프로파일을 통한 통신 변경), 은밀한 멀웨어를 탐지하려는 조직에 제기되는 과제에 초점을 맞출 것입니다.Cobalt Strike의 Malleable 프로파일(Gill)의 기능에 대해 설명하는 좋은 자료가 많이 있지만, 여기서는 일반적으로 사용되는 기능 중 일부를 소개하겠습니다. 다음은 Cobalt Strike(Mudge)에서 Gmail 브라우저 애플리케이션을 모방하기 위한 Malleable Profile의 일부입니다.그림 2: C2 Malleable 프로파일 (gmail) 프로파일의 주요 기능과 영역은 다음과 같습니다.섹션 | 설정설명 | 기능# Use an existing certificate or generate a self-signed certificate as seen in this# example.global options# These global options below set the C2 beacon sleep time to 60 seconds with a# random jitter of +/- 15%, showing the ability to vary the call-home timing to avoid# easy detection.set sleeptime 60000;set jitter 15;# Other global options specify on-host post-exploit action parameters such as the# process name spawned to execute commands using in-memory injection or the# pipename used for IPC communications. These are not relevant to C2.set pipename interprocess_##;set spawnto userinit.exe;# The uri path used for beacon->server communications can be varied with a listset uri /_/scs/mail-static/_/js/;# Client (beacon->server) communications including cookies, headers, and encoding# can all be specified and varied easily at the HTTP protocol levelclient {metadata {}header {}}# Similarly, server->beacon communications can also be varied at the HTTP# protocol levelserver {header {}}# Cobalt Strike allows shaping of the 2-way communications flow between the# Beacon client and C2 Team Server (“A Beacon HTTP Transaction Walk-through”):테이블 2: C2 Malleable 프로파일 설명 (gmail) 위에서 볼 수 있듯이, 이러한 프로파일을 간단히 수정하면 C2 통신을 일반적인 애플리케이션, 비콘, 웹 트래픽을 모방하도록 쉽게 변경할 수 있습니다. Cobalt Strike에만 240개가 넘는 공개 Malleable 프로파일이 있으며, 즉시 사용하거나 쉽게 수정할 수 있습니다.현재의 탐지 접근 방식현재 사용되는 악성 C2 트래픽을 탐지하는 접근 방식은 하드코딩된 바이트 시그니처와 일치하거나 페이로드 또는 헤더(IPS 시그니처)와 일치하는 정규 표현식을 사용하거나, IP/도메인/URL 목록의 일치를 기반으로 합니다. 이러한 접근 방식은 정적이며, 공격자가 임베드하는 C2 프레임워크 툴킷은 동적이며 구성 가능한 특성으로 인해 쉽게 회피할 수 있습니다.IPS 시그니처IPS 솔루션의 문제점을 설명하기 위해, 제우스 트로이 목마(Zeus Trojan)를 탐지하는 Snort 룰 중 하나를 소개합니다(Snort)그림 3: Snort 룰 (Zeus Trojan)Snort와 많은 IPS 제품은 룰에 명시된 동작 동사에 따라 레이어 3, 4, 그리고 애플리케이션 수준에서 다양한 콘텐츠 또는 헤더 매칭을 실시합니다. content 룰 옵션과 같은 많은 룰은 정적 바이트/문자 일치이고, pcre 룰 옵션은 정규표현 매칭 방법입니다.공격 측(예: 앞서 살펴본 gmail용 C2 Malleable 프로파일)과 방어 측(예: Zeus 스노트 룰)을 나란히 살펴볼 확인된 정상 URL 목록 때, 정적 하드코딩 매칭의 취약성이 분명하게 드러납니다. 공격자가 코발트 스트라이크를 사용하는 새로운 제우스 변종을 만들고 배포했다고 가정해 보십시오. 그리고 스노트 IPS가 새로운 악성코드를 효과적으로 탐지하는 위의 제우스 룰을 적용했다고 가정해 보십시오. 공격자는 프로파일의 한 글자를 쉽게 변경할 수 있습니다. 예를 들어,content:“|3B 20|MSIE|20|”과 같이 MSIE에 공백을 추가하여 일치하지 않도록 할 수 있습니다. 그리고 악성코드는 IPS 시그니처를 회피할 수 있습니다.상황 인식과 상태 추적이 가능하지만, IPS 시그니처 접근 방식은 정적 매칭으로 인해 본질적으로 제한적이며, 이로 인해 오탐(false negative)이 발생하고 쉽게 회피될 수 있습니다(문자열의 한 글자를 바꾸는 것만으로 IPS 룰을 우회할 수 있습니다).그렇다고 해서 IPS 솔루션이 유용하지 않다는 것은 아닙니다. 오히려 IPS 시그니처는 유용한 경계 방어 역할을 수행하여 많은 알려진 네트워크 취약점을 빠르고 효율적으로 차단하므로 유지해야 합니다. 이 경우, IPS가 60%의 탐지율만 달성하더라도, 그 60%는 쉽게 차단/경보할 수 있어, 비용이 많이 드는 다운스트림 처리를 피할 수 있습니다.IP/URL 차단 리스트블록 리스트(IP 또는 URL) 사용과 같은 다른 전통적인 접근 방식은 웹 브라우징 중 맬웨어의 초기 액세스 또는 다운로드를 방지하고 잠재적인 C2 트래픽을 차단하기 위해 종종 사용됩니다.블록 리스트의 일반적인 문제점은 종종 최신 정보가 아니어서 오탐(false positive)을 유발하고, Target #1 또는 Patient zero가 감염된 후에 업데이트된다는 점에서 사후대처식이라는 점입니다.이는 C2 서버의 도메인 또는 IP 주소를 숨기기 위해 사용되는 IP/도메인 간접 기술에 의해 악화됩니다. 코발트 스트라이크는 C2 서버의 실제 도메인이나 IP를 숨기기 위해 IP 프록시와 같이 간단한 리디렉터를 사용합니다. 또한 CDN을 사용하는 도메인 프론팅이나 도메인 마스커레이딩과 같은 다른 기술도 있습니다. 이 기술들은 TLS(SNI)와 HTTPS(호스트)의 불일치를 이용하여 최종 악성 도메인을 일부 URL 보안 필터에서 숨깁니다.네트워크 트래픽 휴리스틱스또 다른 접근 방식은 휴리스틱스을 사용하는 것으로, 일반적으로 볼륨이나 시간에 기반한 네트워크 트래픽 패턴에 적용됩니다. 대표적인 예로, 등록된 DNS A 레코드가 없는 IP 주소로 정기적으로(예를 들어, 60분마다) 나가는 통신을 감지하는 것입니다.탐지를 피하기 위해, C2 프레임워크 툴킷은 Cobalt Strike Malleable 프로파일의 지터 설정을 사용하여 비컨 딜레이의 임의 요소를 쉽게 구성할 수 있습니다.그림 4: C2 Malleable 프로파일 설정 (beaconing timing) 이 설정은 콜홈 간격이 60초 +/- 15%로 지정되어 있습니다. 즉, 실제 간격은 51초에서 69초 사이이며, 일정한 간격으로 반복되는 비콘 발신에 대한 간단한 검사를 회피합니다.효과성현재 접근 방식의 문제는 가변 C2 통신을 효과적으로 감지하지 못하고, 튜닝하더라도 쉽게 회피가 가능하다는 점입니다. 잘 알려진 지표로 정적인 공격 기법을 효율적으로 탐지하는 데는 도움이 되지만, 보다 동적이고 정교한 공격을 놓치거나 다수의 false positive를 생성하곤 합니다.일례로 공개된 저장소에서 가장 일반적인 코발트 스트라이크 C2 Malleable 프로파일을 테스트했을 때, Snort나 Suricata와 같은 IPS는 가장 일반적인 C2 프레임워크 툴킷에서 발생하는 C2 통신을 20% 미만으로 탐지했습니다.가능한 한 많은 공개 프로필과 일치하는 룰을 구체적으로 추가하고 이 특정 테스트에 최적화한 후에도 커버리지는 실운영 환경에서 매우 문제가 될 수 있는 false positive를 발생시키지 않고 ~60%까지 합리적으로 증가시킬 수 있었습니다.유효성에 관한 또 다른 문제로서는 오탐률이 높을 뿐 아니라, 결과적으로 특정 테스트를 위해 구성을 면밀하게 실시하여도 프로파일을 약간만 조정하면 쉽게 회피할 수 있다는 것입니다. 그리고 결국에는 여전히 40% 미만의 프로파일이 탐지되지 않은 상태로 남아 있는데, 이는 매우 높은 오탐률입니다. C2 프로파일을 기존에 잘 알려진 애플리케이션을 약간 다르게 모방하도록 맞춤화한 공격자의 추가적인 false negative은 말할 것도 없습니다.새로운 탐지 접근 방식단순히 정적 지표에 기반하는 것이 아니라, 특정 조직 내의 특정 사용자를 위해 정상적으로 수행되는 특정 애플리케이션과 비교하여 의심스러운 명령 및 제어 활동을 나타내는 다양한 네트워크 신호를 사용하여 네트워크 트래픽의 이상을 탐지할 수 있는 집중적인 기계 학습 모델을 기반으로 하는 보다 효과적인 접근법이 필요합니다. 또한, 가장 정확하고 효과적인 완화 조치를 제공하기 위해 사용자 수준에서 세분화된 위험 지표를 추적해야 합니다. C2 프레임워크 도구에서 은밀한 C2 비컨을 감지하는 데 큰 개선을 이루려면 이 세 가지 영역에서 혁신이 필요합니다.그림 5: 새로운 C2 비컨 탐지 접근 방식포괄적인 시그널시그널 세트에는 소스, 목적지, 그리고 소스(환경 내부의 악성 소프트웨어)와 목적지(C2 서버) 양쪽에서 사용되는 SSL/TLS 인증서, 도메인/IP/URL, 사용자 에이전트/프로세스 특성 같은 소스 특성, 트래픽 크기/폭주/패턴, HTTP 헤더/페이로드/URI 등 트래픽 특성, 그리고 확인된 정상 URL 목록 몇 가지 다른 특성들이 포함되어야 합니다.시간, 볼륨, 네트워크 계층, 전체 트래픽 프로파일링에 걸쳐 다양한 시그널을 살펴볼 때, 행동 탐지는 의심스럽고 악의적인 C2 비컨 활동을 통해 최신 악성코드를 탐지하는 일반적이고 효과적인 메커니즘을 제공할 수 있습니다.그림 6: 포괄적인 시그널 시그널 유형에는 다음과 같은 여러 가지 차원의 것들이 존재합니다.네트워크 흐름: 소스 및 목적지 속성, 트래픽 패턴네트워크 계층: 3~7계층의 다양한 신호(TCP/IP 헤더 전반의 이상, SSL/TLS 지문, HTTP 헤더/페이로드, 애플리케이션 수준 콘텐츠)시간: 빈도, 드물고 느린 활동을 감지하기 위한 이상적인 타이밍 패턴데이터: 콘텐츠와 용량(이상적인 패킷 크기, 버스트, 누적 통계)추가적인 몇 가지 시그널 유형도 존재합니다.트래픽 패턴 기반(볼륨, 타이밍, 콘텐츠) - 비정상적인 사용자 에이전트 또는 도메인과 함께 반복되는 비컨 트래픽 포함.휴리스틱스(예: 의심스러운 등록기관 또는 알려진 악성 SSL 핑거프린트)이상 징후(비정상적인 도메인, 사용자 에이전트 또는 SSL 핑거프린트)중요한 점은 위의 시그널 중 일부는 현재의 접근 방식과 기존 솔루션의 일부라는 것입니다. 이는 트래픽 급증(대량)과 같은 특정 신호가 그 자체로 좋거나 나쁘거나, 효과적이거나 비효과적이지 않다는 점을 강조합니다. 오히려 시그널의 맥락과 처리 과정이 결정적인 요소입니다. 네트워크 경계에서 트래픽을 차단/허용하는 데 사용될 때, 오탐(false positive)이 발생하기 쉬운 시그널은 심각한 운영 문제를 일으킬 수 있습니다. 그러나 그 시그널을 세분화된 위험 지표(아래에서 설명)와 잘 훈련된 모델에 통합하는 이상 징후 탐지 시스템에 입력하면, 오탐률이 낮고 강력한 방식으로 새로운 위협을 탐지하는 데 매우 효과적일 수 있습니다.이상 징후 탐지C2 프레임워크 툴킷의 C2 비콘을 효과적으로 탐지하려면 C2 프레임워크 툴킷과 C2 활동을 나타낼 수 있는 미래의 의심스러운 네트워크 행동을 식별하기 위해 보다 포괄적인 범위의 신호를 기반으로 하는 머신러닝 모델이 필요합니다.그림 7: 이상 징후 탐지이상 징후 탐지는 사용자/장치, 역할, 조직 수준에서 모델을 기반으로 해야 합니다. 즉, 이상 징후는 비교할 수 있는 유효한 “정상적인” 활동 또는 행동의 기준이 있다고 가정합니다. 의심스러운 활동 탐지는 다양한 상황에서 발생할 수 있습니다. 사용자의 행동과 과거의 “정상적인” 기준 또는 조직의 “정상적인” 기준 또는 유사한 역할을 맡은 개인을 기준으로 한 이상 징후가 있습니다. 모두 다른 사용 사례가 있으며, 좋은 접근 방식은 다양한 범위의 여러 모델을 통합하는 것입니다.훈련 데이터훈련 데이터 세트에는 악성 트래픽과 정상 트래픽이 모두 포함되어야 합니다.악성 트래픽은 일반적인 C2 테스트 도구, 공개적으로 이용 가능한 C2 프레임워크 도구의 구성에 기반한 특정 C2 공격용 비컨 테스트, 레드팀 관점에서 커스텀된 구성, 공식 레드팀 연습 등을 사용하여 시뮬레이션할 수 있습니다.정상적인 트래픽 또는 유효한 트래픽은 충분한 시간 동안 실제 조직의 상당수의 실제 사용자로부터 수집하여 사용자 및 조직에 편향되지 않도록 정규화해야 합니다.훈련 데이터 세트는 테스트 데이터 세트의 반대이며, 좋은 훈련 및 테스트 데이터를 분석하고 검증하는 데 많은 시간을 할애해야 합니다. 좋은 테스트 데이터 세트를 만드는 데 필요한 몇 가지 요소에 대해서는 다음 섹션에서 설명합니다.세분화된 위험 지표이상 징후 탐지의 결과는 매우 중요합니다. 가장 좋은 접근 방식은 원시 시그널을 기반으로 단순한 차단/허용 또는 경고/무반응 결정을 내리는 것이 아니라, 사용자, 역할, 조직 수준에서 세분화된 위험 지표를 추적하고 조정하는 것입니다. 그런 다음, 이 지표를 경고, 코칭, 차단 등의 문제 해결 조치에 사용할 수 있습니다.위험을 추적하고 그에 따라 조치를 취하는 이 접근 방식은 오늘날 일반적으로 사용되는 방식과 근본적으로 다릅니다. 예방적이며 일반적으로 트래픽을 차단/경보/허용하는 대부분의 경계 방어는 일반적으로 정적이며 높은 오탐률에 취약합니다. 결과적으로 이러한 솔루션은 보수적인 정책으로 활성화되어 특정 및 알려진 위험을 차단함으로써 많은 수의 오탐을 유발합니다. 방화벽의 경우, IP 위협 인텔리전스를 기반으로 한 지나치게 공격적인 차단 조치로 인해 오탐 문제가 발생합니다. IPS 솔루션을 통해, 우리는 고도로 구성 가능한 동적 C2 트래픽을 탐지하려는 정적 시그니처와 관련된 오탐(false positive) 문제에 대해 논의해 왔습니다.그러나 경계 레이어에서의 오탐(false positive)은 보다 지능적인 레이어에 대한 신호로 매우 유용할 수 있습니다. 이 시나리오에서는 이것을 이분법적 평가(허용/차단, 경고/무시)에 사용하지 않고, 조치를 취하기 전에 조정된 임계값을 사용하여 시간이 지남에 따라 조정되는 세분화된 위험 지표(예: 사용자 위험 점수)로 사용합니다. 예를 들어, 사용자나 장치 또는 IP 주소에 대한 위험 점수 1000(위험 없음)에서 0(극도의 위험)에 이르는 세분화된 위험 측정 기준을 통해 실제 위협과 관련된 회색 영역의 스펙트럼을 모델링할 수 있습니다. 확인된 정상 URL 목록 여기서 100% 악의적 또는 100% 무해한 평가가 명확하게 구분되는 경우는 거의 없습니다.개념적으로, 이것은 다음 그림에 잘 나타나 있습니다. 이 그림에서는 세 가지 다른 신호가 감지될 수 있는데, 이 신호들은 그 자체만으로는 오탐(false positive)이 될 가능성이 높습니다. 그러나 점진적 위험과 연관되어 있고, 조정된 기계 학습 모델에 의해 평가될 때, 동일한 신호가 누적 위험을 시간 경과에 따라 평가하고, 궁극적으로 높은 신뢰도의 이상 징후 탐지 기능을 제공합니다.그림 8: 세분화된 위험 지표이 예에서 시그널이 정적 시그널처럼 단순하지 않을 수 있다는 점에 유의하십시오. 예를 들어, “비정상적인 도메인, 인식되지 않는 사용자 에이전트 및 SSL/TLS 인증서”는 특정 사용자의 과거 “정상적인” 트래픽 기준 또는 유사한 사용자 역할 또는 전체 조직과 비교할 때 이상 징후가 될 수 있습니다. “의심스러운 등록기관은 시간이 지남에 따라 도메인 평판이 통합된 것일 수 있습니다. 그리고 ‘주기적인 시그널’은 더 이상 고정된 비율이나 지속 시간의 단순한 일치로 간주되지 않으며, 대신 유효한 애플리케이션 데몬 콜아웃과 달리 봇 관련 활동과 유사한 시간 창 내에서 비정상적이지만 규칙적이고 반복적인 활동을 감지할 수 있습니다.실제로 이것은 낮은 정확도의 시그널을 기반으로 위험 점수를 점진적으로 적절하게 조정할 수 있게 해줍니다. 누적 위험 점수가 조정된 높은 임계치를 초과할 때까지 차단 또는 경고 조치를 유발하지 않습니다. 이를 통해 정확도가 낮은 위험한 지표가 많은 경우를 포착할 수 있습니다. 특정 사용자 또는 장치에 대한 정확도가 높고 위험도가 높은 지표와 결합하면 누적 위험도가 매우 낮아 오탐(false positive)의 가능성이 크게 낮아집니다.평가 및 테스트새로운 접근 방식은 이론적으로는 견실해 보이지만 실제로는 실패할 수 있으며, 그 증거는 종종 데이터나 테스트로 귀결됩니다. 솔루션을 제공하는 벤더와 솔루션을 찾는 조직은 새로운 위협을 테스트하고 솔루션을 평가하는 강력한 접근 방식을 필요로 합니다. 정확한 결과를 얻으려면 악성 트래픽과 정상 트래픽을 모두 포함하는 다양한 데이터 세트로 테스트하는 것이 필수적입니다.양호한 트래픽양호한 트래픽은 현실적이고 포괄적이어야 하며, 사용자 수와 활동 측면에서 실제 환경과 유사해야 합니다. 좋은 트래픽은 종종 사용자 의존적이며, 많은 사용자 표본과 합리적인 기간에 걸쳐 연구되어야 합니다. 이 테스트 데이터 세트는 오탐률(FP)을 측정합니다. 데이터 세트의 핵심적인 차이점은 애플리케이션, 사용자 에이전트, 사용 중인 클라이언트 SSL/TLS 인증서, 대상 도메인/IP 주소에서 볼 수 있는 대상 신호, 헤더, 페이로드, 크기, 타이밍의 트래픽 패턴 신호와 같은 클라이언트 시그널입니다.좋은 소식은 사용자의 일상적인 작업에서 양호한 트래픽이 쉽게 수집된다는 것이고, 나쁜 소식은 양호한 트래픽인지 검증해야 한다는 것입니다. 실용적인 접근 방식은 양호한 트래픽을 통계적으로 샘플링하여 합리적인 신뢰도 요인에 따라 테스트한 C2 탐지 솔루션의 알림에 집중하는 데 대부분의 시간을 할애하여 알림을 실제 양성 또는 거짓 양성으로 확인하는 것입니다. 즉, 샘플링 및 확인을 통해 기준선을 형성하고, 양성 데이터 세트가 깨끗하다고 가정하고, 테스트를 기반으로 거짓 양성을 식별합니다.그림 9: 양호한 트래픽 테스트악성 트래픽유명한 C2 프레임워크 도구의 공개 프로파일을 사용하면 악성 트래픽을 테스트할 수 있는 견고한 기반을 마련할 수 있습니다. 이러한 프로파일은 방어 체계를 회피하는 실용적이고 자주 사용되는 구성을 나타내며, 오탐률(FN)을 측정하는 데 도움이 됩니다. 하지만 다음 다이어그램에 나와 있는 것처럼 커버리지와 테스트 대상 데이터 세트에 잠재적으로 여러 수준이 존재하기 때문에 대표적인 “악성 트래픽” 데이터 세트를 구성하는 위해 많은 것을 고려해야 합니다.Figure 10: Malicious Traffic TestingSafeBreach와 같은 침해 및 공격 시뮬레이션 도구는 커버리지 테스트와 반복 테스트에 탁월합니다. 이 도구의 C2 테스트 사례에는 일반적으로 C2 프레임워크 활동의 시뮬레이션이 포함됩니다. 이 도구의 장점은 잘 설계된 GUI와 아키텍처, 반복 가능한 테스트 절차와 보고서를 통해 일반적인 멀웨어 공격을 포함한 광범위한 기능을 사용할 수 있다는 점입니다. 이러한 도구를 사용하면 저속 활동, IaaS/CSP 인프라, HTTP 및 비HTTP 트래픽, SSL/HTTPS 트래픽, 다양한 사용자 에이전트의 스푸핑 등 다양한 시나리오를 확인할 수 있습니다.C2 프레임워크 도구(공개 프로필). C2 프레임워크에 대한 심층적인 테스트에는 집중적인 작업이 필요합니다. 한 가지 접근 방식은 Cobalt Strike와 같은 C2 프레임워크 도구의 특정 공개 프로필을 기반으로 테스트 데이터 세트를 만드는 것입니다. 이러한 공개 프로필은 널리 공유되고 많은 사용자와 악의적인 행위자가 사용하기 때문에, Gmail과 같은 정상적인 애플리케이션의 유용한 에뮬레이션을 포함하고 있습니다. 이 접근 방식은 일반적으로 특정 C2 프레임워크에 대한 보다 포괄적인 테스트를 확인된 정상 URL 목록 제공합니다.C2 프레임워크 도구(사용자 정의 프로파일). C2 Malleable 프로파일의 내부 사용자 정의는 C2 프레임워크에 대한 보다 현실적인 테스트를 제공할 수 있습니다. 이러한 사용자 정의 구성은 내부 레드팀 운영 중에 수행할 수 있습니다. 이를 위해서는 레드팀 운영자가 C2 프레임워크 도구에 능숙해야 하므로 더 많은 작업과 투자가 필요합니다.실제 공격. 가장 현실적인 테스트는 외부 펜 테스트 또는 버그 바운티 프로그램을 통한 블랙박스 테스트입니다. 이러한 시나리오에서는 특정 C2 프레임워크 도구 또는 C2 비컨 동작을 사용하는 실제 POC 익스플로잇을 요구하거나 장려하도록 연습 요구 사항을 신중하게 구성하고, 일정 기간 동안 탐지를 피할 수 있도록 주의해야 합니다. 이 연습의 목표는 일반적인 초기 접근 경로를 테스트하는 것뿐만 아니라, C2 활동이 입증된 백도어 페이로드를 설치할 수 있는 능력을 보여줌으로써 침해 후 활동에 초점을 맞추는 것입니다. 이를 통해 C2 프레임워크를 넘어 테스트 데이터 세트를 풍부하게 하고, 사용자 지정 C2 통신을 통해 백도어 POC 코드를 테스트할 수 있으며, 다양한 또는 사용자 지정 TTP를 활용하는 숙련된 “공격자”에 대한 탐지 도구의 복원력을 테스트할 수 있습니다.테스트에는 여러 가지 접근 방식이 포함될 수 있지만, 테스트 데이터 세트를 생성, 수집 및 검증하는 방법과 예상 결과를 측정하는 방법에 대한 명확한 선택이 이루어져야 합니다. 테스트 데이터 세트를 생성하고 수집하는 것은 테스트를 자동화하고 쉽게 반복할 수 있도록 하는 데 매우 중요합니다.또한 테스트 중에는 완전한 측정 기준을 측정하는 것이 중요합니다: 참과 거짓 양성, 참과 거짓 음성. 모든 측정 기준을 수집하는 것은 당연한 것처럼 들리지만, 정의가 정확하고 측정 방법이 명확하고 반복 가능해야 한다는 것은 어려운 일이며, 그로 인해 잘못된 결과를 초래할 수 있습니다.거짓 양성(FP) 및 거짓 음성(FN) 목표C2 프레임워크에 의해 새롭게 등장한 회피 위협으로 인해, 새로운 탐지 솔루션은 널리 받아들여지는 FP 및 FN 비율을 갖지 못할 것입니다. 그러나 FP 및 FN 목표를 설정하는 것은 매우 중요합니다. 알려진 품질 테스트 데이터 세트를 사용하면 현재 환경과 사용자/장치에 대한 기준을 만들 수 있으며, 그 기준에 따라 합리적인 목표를 설정할 수 있습니다.예를 들어, IPS만 있는 조직이 새로운 C2 탐지 솔루션에 대한 평가를 시작하고 FP/FN 비율이 어느 정도인지 확실하지 않다고 가정해 보겠습니다. 이 조직은 다음과 같은 테스트 방법론을 따름으로써 합리적인 목표를 설정할 수 있습니다.실환경 데이터를 기반으로 양성 트래픽에 대한 품질 좋은 테스트 데이터를 생성하고, 예를 들어 Cobalt Strike의 공개 C2 변형 프로파일을 기반으로 악성 트래픽에 대한 품질 테스트 데이터를 생성하고, 해당 데이터 세트의 샘플을 수동으로 검증합니다.테스트 및 측정 도구를 정의하여 명확하고 반복 가능한 테스트 방법론을 작성합니다.테스트 중 모든 지표(TP/TN/FP/FN)를 측정새로운 솔루션을 테스트하고 측정 지표를 비교합니다. 예를 들어, IPS는 악성 트래픽에 대한 TP 비율을 높이기 위해 특별히 조정될 수 있지만, FP/TN/FN 비율도 측정 및 검증되도록 해야 합니다. 그러면 다양한 솔루션의 효율성을 적절하게 평가할 수 있으며, 특히 아래의 영향 섹션에 설명된 바와 같이 조직에 미치는 전체적인 영향에 대해 평가할 수 있습니다.새로운 데이터 세트를 테스트하고 비교합니다. 공격자의 합당한 조정을 반영하도록 데이터 세트를 사용자 정의합니다. 이를 수행하는 방법에는 여러 가지가 있습니다.예를 들어, Cobalt Strike를 테스트할 때, C2 Malleable 프로파일을 쉽게 수정하여 양성 앱을 조금 다르게 모방하거나 특정 조직 내에서 사용되는 완전히 새로운 양성 앱을 모방할 수 있습니다. 프록시를 통해 HTTP/S 아웃바운드 트래픽을 스니핑하면 이 작업을 수행할 수 있습니다.기능과 기술이 다르기 때문에 하나뿐만 아니라 여러 개의 C2 프레임워크 도구를 테스트해 보십시오. C2 트래픽 쉐이핑이 달라지기 때문에 다른 C2 프레임워크 도구를 사용하는 것도 좋은 변화입니다.직접 코딩한 C2 커뮤니케이션을 사용하여 맞춤형 테스트 페이로드를 만드는 것은 테스트 데이터 세트를 변경하는 또 다른 방법이지만, 가장 많은 시간과 투자가 필요합니다.복원력 테스트다양한 솔루션에 걸쳐 새로운 데이터 세트를 테스트함으로써, 우리는 또한 다양한 솔루션의 경직함 대비 복원력에 대한 귀중한 통찰력을 얻습니다. 여기에서는 하드코딩 및 시그니처 기반 접근 방식이 C2 프레임워크를 탐지하는 데 덜 효과적일 뿐만 아니라 경직되어 있기 때문에 높은 FP/FN 비율을 초래하고, 가변적 프로파일 변경과 같은 단순한 공격 변경을 통해 쉽게 우회할 수 있다는 문제를 제기했습니다.어떤 솔루션의 복원력은 데이터 세트가 합리적인 범위 내에서 수정되는지 확인함으로써 테스트할 수 확인된 정상 URL 목록 있습니다(즉, 동일한 TTP 범주 내에서 유지). 다시 말해, C2 변형 프로파일을 사용하여 악성 트래픽 데이터 세트 내에서 C2 통신을 변경하고 TP/TN/FP/FN 비율을 모니터링함으로써 현실적인 복원력 테스트를 수행할 수 있습니다. 적용 범위가 어떻게 달라지는지 확인하고, 특정 TP/TN/FP/FN 대상에 대한 적용 범위를 유지하기 위해 탐지 솔루션에 어떤 변경이 필요한지 파악합니다.이렇게 변경된 데이터 세트를 사용하여 재시험을 하는 것은 공격자가 TTP를 변경하는 것과 유사합니다. 동일한 위협 기술 범주(HTTP/S를 통한 C2 통신) 내에서 변경 사항을 여전히 탐지할 수 있는지 확인함으로써 새로운 탐지 솔루션의 복원력과 효과를 평가합니다.False Positive와 False Negative의 영향FP/FN 비율의 측정은 좋고 상대적인 개선을 가능하게 하지만, FPS와 FN의 영향을 측정하거나 적어도 추정할 필요가 있습니다. 그렇지 않으면 탐지 솔루션의 진정한 유용성을 평가할 수 없습니다. 다시 말해서, 1%의 FP 비율 또는 FP 비율의 5% 향상은 보안 예산 결정권자에게 의미 있는 방식으로 그 1% 또는 +5%의 영향을 측정할 수 있는 방법이 없다면 맥락이 없습니다.다음은 TP/TN/FP/FN 비율을 보다 정량화할 수 있는 영향으로 변환하는 데 도움이 되는 두 가지 접근 방식입니다.시간 경과에 따른 사용자 영향: FP 비율과 동일한 절대 오탐지 수를 살펴보고 시간 경과에 따른 사용자당 비율로 표준화합니다. 이것은 정량적 측정 방법이지만, % 비율이나 절대 수치보다 더 이해하기 쉬운 경우가 많습니다. 예를 들어, 1%의 FP 또는 2,437개의 오탐지보다는 사용자당 하루 0.1개의 오탐지로 인한 영향을 평가하는 것이 더 쉬울 수 있습니다. 만약 이것이 보안 웹 게이트웨이였다면, 조직의 누군가가 특정 FP 목표가 시간 경과에 따른 사용자 영향에 근거하여 수용 가능한지 여부를 결정할 수 있습니다. 이 경우 C2 프레임워크가 활성화된 멀웨어는 침해를 초래하고, 사용자 영향은 일정 기간 동안 사용자당 다운타임 또는 데이터 손실로 더 특징지어집니다. 저희는 사용자 한 명당 매년 N%의 확률로 $X의 손실을 입을 수 있습니다. 이 수치는 대략적인 추정치에 불과하지만, 정기적인 반복을 통해 수정하고 개선할 수 있기 때문에 어떤 시작도 유용합니다. 시간이 지남에 따라 사용자 수의 영향을 평가하면, 매년 사용자 수에 따라 가격이 책정되는 탐지 또는 보호 솔루션을 평가하기가 쉬워집니다.시간, 비용, 침해 가능성과 같은 보안 운영에 대한 영향. 사용자의 영향 외에도, 특히 탐지 경보를 처리하는 데 많은 시간을 할애하는 운영 담당자의 관리적 영향을 평가해야 합니다. 잡음 경보에 응답하는 데 소요되는 시간은 FTE 급여 비용으로 직접 전환될 수 있습니다. 경보 피로라는 추가 요인은 효율성(대응 시간) 측면에서 추정할 수 있는 실제 영향이며, 더 중요한 것은 손실되거나 조사되지 않은 더 큰 영향을 미치는 위협에 대한 시간과 주의력 상실입니다. 후자의 영향은 보안 운영에서 조사 및 삭제를 위한 오탐지(false positive)가 너무 많을 때 침해 영향의 요인이 됩니다.영향 평가는 탐지 효율성의 실제 비용과 같은 중요한 통찰력을 이해하는 유일한 방법인 경우가 많습니다. 예를 들어, 낮은 FN과 높은 FP의 구성을 가진 지나치게 공격적인 탐지 솔루션은 쓸모가 없고 해롭습니다. 보안 운영이 더 높은 활용도의 활동에 참여하기보다는 낮은 정확도의 경고에 응답하는 데 과도한 시간을 낭비하게 만들기 때문입니다. 마찬가지로, 낮은 FP와 높은 FN을 가진 지나치게 보수적인 탐지 솔루션은 조직을 잠재적인 위반에 대한 높은 위험에 노출시킵니다. 이는 전반적인 위험 평가 관점에서 용납할 수 없는 일입니다.핵심 TP/FP/TN/FN 지표와 동시에 영향도도 추정하고 평가해야 합니다.현실적인 테스트자동화된 침해 또는 모의 해킹 도구가 아닌 실제 사람들로 구성된 레드 팀이 C2 비콘 솔루션을 테스트할 때는 실제 사용자와 환경을 사용하는 것이 좋습니다. 또한 모의 해킹이나 버그 바운티와 같은 현실적인 공격 시나리오를 사용하는 것이 좋습니다. 인기 있는 C2 프레임워크 툴킷의 명시적인 구현과 성공적인 사후 활용을 보여주기 위해 바운티 금액과 요구 사항을 조정함으로써, “악성 트래픽”을 실제적이고 측정 가능한 것으로 만들 수 있습니다. 이 활동은 탐지 솔루션의 복원력을 테스트하기 위한 사용자 지정 코드를 포함한 모든 C2 비콘 활동으로 확대될 수 있으며, 테스트 요구 사항에는 탐지 없이 일주일 동안 매일 비콘 활동과 명령 실행을 성공적으로 수행하는 데모가 포함되어야 합니다.외부 침투 테스트 또는 버그 바운티 프로그램이 반복되는 경우, 탐지율의 차이를 측정할 수 있으며, 이는 효율성과 ROI를 평가하는 데 유용합니다.엄격한 테스트 접근 방식을 사용하면 테스트 효율성을 종합적으로 측정할 수 있을 뿐만 아니라 현재/과거 확인된 정상 URL 목록 기준에 따라 지속적인 목표와 계획을 수립할 수 있습니다. 그리고 여러 솔루션에 대해 동일한 테스트와 측정을 수행한다면 성능을 비교하고 구매/구현 결정을 내리는 것이 매우 쉬워집니다.디자인 고려 사항이러한 개념과 전반적인 접근 방식을 포함하는 연구와 디자인에 대한 자세한 내용은 다음에서 확인할 수 있습니다: 보안 시스템 및 조작 가능한 명령 및 제어 탐지 방법(Mulugeta). 이점새로운 알려지지 않은 위협의 이상 징후 탐지이 접근 방식은 조직 내 사용자에게 고유한 애플리케이션 동작에 대해 학습된 머신러닝 모델을 활용하여 알려지지 않은 위협을 효과적으로 완화합니다. 세분화된 사용자 위험 측정 기준은 오탐(false positive)을 크게 줄여줍니다.이와는 대조적으로, 기존의 사후 대응 방식은 첫 번째 희생자 또는 Patient Zero (희생양)를 식별하는 데 의존하고, 그 다음에는 벤더 분석과 연구가 이어지며, 이 과정은 며칠 또는 몇 달이 걸릴 수 있습니다. 벤더가 새로운 시그니처나 룰을 발표하기 전까지는 아직 공격을 받지 않은 고객을 위한 새로운 위협을 차단할 수 없습니다. 이러한 접근 방식은 설계 상, 새롭게 등장하는 유연한 위협을 차단하는 데 효과적이지 않습니다.특정 기계 학습 모델을 활용하는 이상 징후 탐지 접근 방식은 분석-릴리스-업데이트 주기를 거치지 않고도 의심스러운 행동을 고유하게 탐지할 수 있습니다. 이 접근 방식은 위협 전술이 진화하더라도 견고성을 유지합니다.포괄적인 시그널 분석시간, 볼륨, TCP/IP 통신, SSL/TLS 지문, 애플리케이션 프로토콜 페이로드와 같은 포괄적인 시그널 세트에 걸쳐 이상 징후 탐지 기능을 통해 정교한 C2 가변 통신을 효과적으로 탐지할 수 있습니다.공격 도구 키트 탐지이 접근 방식은 환경 내 사용자에게 특정한 광범위한 네트워크 시그널을 이용한 이상 탐지 기능에 의존하고, 환경 내 유효하고 정상적인 트래픽과 비교함으로써 최신 C2 프레임워크 도구와 C2 프레임워크의 사용뿐만 아니라 새롭고 의심스러운 C2 비컨 활동을 효과적으로 감지할 수 있습니다.탐지 효율성현재의 접근 방식(IPS 시그니처 + IP/도메인/URL 차단)은 최신 악성 코드에서 고도의 C2 통신을 상당 부분 놓치고 있습니다(테스트 시나리오에 따라 40%에서 최대 80%까지).조정된 기계 학습 모델, 풍부한 신호 세트의 이상 징후 탐지, 세분화된 위험 지표를 사용하는 새로운 접근 방식을 사용하면 현재 회피되고 있는 공격의 85-95% 이상을 탐지할 수 있습니다.그 결과, 최소한의 오탐(false positive)을 포함해 전체적으로 95% 이상의 진정한 양성(true positive) 탐지율을 달성할 수 있었습니다.결론C2 프레임워크 툴킷은 공격자들이 지휘 및 통제(C2) 탐지를 피할 수 있는 정교한 기술을 제공합니다. 특히, Cobalt Strike, Brute Ratel, Mythic과 같이 널리 사용되는 툴킷은 오픈 소스 또는 해킹/도난당한 상용 코드로 액세스할 수 있습니다.IP/URL 차단 목록과 같은 정적 시그니처와 지표에 크게 의존하는 전통적인 정적 접근 방식은 심각한 한계를 가지고 있으며, 진화하는 위협에 의해 쉽게 우회됩니다.이러한 문제를 해결하려면 머신러닝 모델을 활용하는 근본적으로 다른 접근 방식이 필요합니다. 이러한 모델은 사용자 및 조직 수준에서 특별히 훈련된 포괄적인 네트워크 시그널 세트를 통합합니다. 또한, 이 모델은 세분화된 사용자 위험 지표를 활용하여 오탐률을 낮추고 위협과 관련된 회색 지대를 측정합니다.머신러닝 접근법의 효율성은 사용자가 신중하게 평가해야 합니다. 악의적 트래픽과 정상적 트래픽을 포함한 강력한 테스트베드를 대상으로 엄격한 테스트를 실시하는 것은 이러한 새로운 위협을 감지하고 완화하는 데 있어 그 효율성을 판단하는 데 필수적입니다. 참고 문헌원문Introduction Attackers are adding new and sophisticated command-and-control (C2) capabilities in their malware that easily evade common static defenses based on IPS signatures or IP/domain/url block lists by using common, widely-available C2 framework tools like Cobalt Strike, Brute Ratel, Mythic, M...일라이 코멘트최근 C2 통신을 어떻게 제어할 수 있는지에 문의가 많이 들어와서 Netskope에 기재된 관련 블로그를 번역해 보았습니다.C2 통신을 막기 위해서는 봇 등 맬웨어의 다운로드를 막는 것이 우선이라고 할 수 있겠습니다. 하지만, 위에서도 언급된 것처럼 대부분의 C2 통신은 양호한 트래픽(예를 들어, SNS, Blog. 클라우드 스토리지를 사용하는 경우)을 사용하는 경우가 많아 통신 내용을 전부 인스펙션하는 것이 중요합니다.넷스코프에서는 C2 관련 방어를 위해 다음과 같은 서비스가 준비되어 있습니다.Standard Package: IPS for Web, Standard Threat Protection, Advanced UEBAAdvanced Package: IPS for Web, IPS for Non-Web, Advanced Threat Protection, Advaned UEBA, SOC Detection Pack스탠다드 패키지의 경우 웹 통신만 방어할 수 있어 웹 이외의 프로토콜을 사용하는 C2의 경우 방어가 불가합니다. 따라서 모든 C2 프로토콜을 방어하고 싶으시면 어드밴스드 패키지가 필요하게 됩니다.감사합니다.
댓글목록
등록된 댓글이 없습니다.