Home TTP 기반 공격 행위 분석에 대해서
Post
Cancel

TTP 기반 공격 행위 분석에 대해서

최근 공격자의 공격 절차를 방어자가 개입해 무력화 시키기 위한 전략으로 TTP(Tactics, Techniques, Procedure)를 사용하고 있습니다. 공격자들은 공격 시그니처인 IoC를 쉽게 버릴 수 있지만 공격의 노하우라고 할 수 있는 전략과 절차들은 쉽게 버릴 수 없습니다. 방어자들은 침투 과정에서 해당 절차에 따라 대처법을 함께 정리한 것인 TTP를 이용하여 대처할 수 있습니다.

TTP란?

Adversarial Tactics(전술), Techniques, and Command Knowledge를 의미한다.
Windows Enterprise Network에 대한 APT 공격의 TTPs(전술, 기술, 과정)을 문서화함으로써 시작했다.
공격자가 end point 또는 시스템과 상호작용하여 발생한 행동 패턴을 분석한다
ATT&CK는 TTP를 식별해줄 프레임워크로 발전했다. 공격 방법부터, 개별 기술 항목으로 분류 되었다.
기존의 사이버 킬 체인은 높은 수준으로 추상화 되어 있어 TTP 매핑이 쉽지 않다. 전술과 기술을 분석하여 잠재적 공격에 대한 탐지 성능을 높인다.
실제 공격 사례를 바탕으로 하여 현실에 적용하기 용이하고, 공격 기술 용어 통일을 통해 다른 공격 그룹에 대해서도 일괄적으로 적용이 가능하다.


최종적인 목표는 아래 질문에 답하기 위해서다.

  • HOW : 공격 탐지 시 어떤 공격이 유입되었는지를 확인 (CVE-ID 또는 Technique ID)
  • WHICH : 해커가 공격할 때 사용한 SOFTWARE 을 수집
  • WHO : 해당 CVE 및 TID, 소프트웨어 정보와 매핑되는 해커 그룹 정보 확인
  • WHY : 해당 해커 그룹의 과거 HISTORY 성향, 주요 목표를 확인

즉, 공격 기법 -> 공격자 -> 공격자의 목표/공격 이유를 추적할 수 있게 된다.
과거 전통적인 보안 모니터링에서는 WHERE 까지 파악 후 소모적인 차단에만 집중했다. 어느 IP Address 에서 유입된 공격인지. 파악했지만 이제는 해커의 공격 기법과 소속, 목표를 확인하는 것 까지 발전했으며, 이런 전략을 기반으로 공격 행위를 탐지하기 위해 TTP가 공유되었다.

전략 Tatics

공격 목표에 따른 공격자의 행동을 나타낸다. 상황에 따른 각 기술에 대한 범주 역할을 한다, 전략이라는 것은. 지속성, 정보탐색, 실행, 파일 추출 등 공격자의 목적에 따라 분류된다.

초기 접근 단계 (Initial Access)

네트워크 진입을 위해 사용자 환경에 대한 정보를 취득하는 것을 목적으로 한다. 피해 시스템에 접근하기 위해 정보를 수집하는 단계이다.

실행 (Execution)

공격자가 로컬 또는 원격 시스템을 통해 악성코드를 실행하기 위한 행동

지속 (Persistence)

공격 기반을 유지하고 시스템에 지속적으로 접근하기 위한 행동

권한 상승 (Privilege Escalation)

공격자가 시스템이나 네트워크에서 높은 권한을 얻기 위한 행동

방어 회피 (Defense Evasion)

공격자가 침입한 시간 동안 탐지 당하는 것을 피하기 위한 행동

접속 자격 증명 (Credential Access)

시스템, 도메인 서비스, 자격증명 등을 접근하거나 제어하기 위한 행동

탐색 (Discovery)

시스템 및 내부 네트워크의 정보를 얻기 위한 행동

내부 확산 (Lateral Movement)

네트워크 상의 원격 시스템에 접근한 후 이를 제어하기 위한 행동
탐지를 회피해가며 침해 대상을 장악해 나가는 것

수집 (Collection)

공격 목적이나 관련 정보가 포함된 데이터를 수집하기 위한 행동

명령 및 제어 (Command And Control)

공격자가 침입한 대상 네트어크 내부 시스템과 통신하며 제어하기 위한 행동

유출 (Exfiltration)

공격자가 네트워크에서 데이터를 훔치기 위한 행동

임팩트 (Impact)

공격 목표의 가용성과 무결성을 손상시키기 위한 행동

기술 Techniques

공격자가 목표에 대한 tatic을 달성하기 위한 방법을 나타낸다. Technique를 사용함으로써 발생하는 결과를 명시한다.

  • 기업용 네트워크에 대한 12개의 Tactic, 266개의 Technique으로 카테고리별 목록화를 한다
  • Cyber Kill Chain 모델의 단계 중 5단계 (deliver, exploit, control, execute, maintain)에 해당한다.
  • 공격자의 TTP, 네트워크 공격 활동 특징 기반으로 적성되었다.

공격 시나리오 (Cyber Kill Chain)

Reconnaissance

  • 무작위 공격이 아닌 정확한 목표를 설정
  • 공격 대상에 대한 정보 수집을 위하여 제어 시스템 관련자와 관계 유지
  • 공개된 정보 수집(ICS 제품 웹 사이트, ICS 현장 사진, VPN 연결 정보)

Weaponization

  • 공격 대상과 관련한 zero-day exploit 개발
  • 악성코드 RAT(백도어) 제작
  • PHP 기반의 악성 웹사이트 서버 작성
  • Microsoft Office의 기능으로 SMB 프로토콜 취약점을 익스플로잇하는 악성 코드 제작

Delivery

  • 공격자가 발전소 주위에 감염된 USB 뿌리기
  • 내부 직원이 해당 USB를 습득하여 업무망 혹은 제어망이 위치한 건물 내부로 반입
  • 감염된 개인 노트북을 업무망 혹은 제어망이 위치한 건물 내부로 반입
  • 악성 웹사이트 링크가 있는 악성 이메일을 ICS 제품 VENDOR 직원에게 전송
  • 악성코드가 첨부된 악성 이메일을 ICS 제품 VENDOR 직원에게 전송

Exploitation

  • 업무망 혹은 제어망의 컴퓨터에 컴퓨터에 감염된 USB를 삽입하여 악성 코드를 설치한다
  • 감염된 개인 노트북을 압무망 혹은 제어망에 연결하여 내부망에 악성 코드 전파
  • Zero-day exploit 을 통해 악성 코드 설치

Persistence & Defense Evasion

  • 커널 모드 컴포넌트를 생성하고 이들을 시스템 서비스 항목에 등록
  • 악성 ICS 소프트웨어 혹은 Spear-phishing으로 다운로드 된 악성코드가 실행되어 RAT 이 동작

Command and Control

  • 감염된 시스템 간의 RPC 통신을 통해 P2P 네트워크 구축
  • 감염된 노드들이 각자 수집한 제어 시스템 정보들은 RPC 통신을 통해 모든 감염된 노드들이 서로 공유함
  • 외부 인터넷에 연결도니 노드는 C&C 서버와 통신함
  • HTTP GET 메소드를 통해 제어 시스템 정보를 C&C 서버에 전달
  • C&C 서버는 RPC 명령어 혹은 새로운 모듈을 감염된 노드에 전송
  • 공격자가 RAT을 통해 원격 접속

Pivoting

  • 네트워크 공유 폴더, 프린트 스풀러 취약점 등을 통해 악성코드 전파

Discovery

  • 같은 네트워크에 위치한 주변 시스템 스캐닝
  • 네트워크 공유 폴더, WinCC SQL 서버, 프린트 공유 옵션 등의 정보 수집
  • 네트워크 정보, Outlook Main, 연락처 리스트, OPC(OLE for Process Control) 정보를 수집
  • SCADA 소프트웨어를 검색
  • OPC 스캐닝 모듈로 ICS 장비에 대한 정보를 수집
  • 44818, 102, 502 TCP 포트를 사용하는 네트워크 디바이스를 검색
  • 원격 접근 VPN, RDP, OWA(Outlook Web Access)를 사용하는 자산 식별

Privilege Escalation

  • 악성 코드 설치 과정 중 다수의 zero-day 권한 상승 취약점을 활용

Execution

  • 이전 프로젝트 파일의 DLL을 변조하여 프로젝트가 로딩될 때 악성코드가 실행되도록 함
  • PLC 디바이스 데이터 모니터링, 변조된 코드 블럭을 PLC 디바이스에 주입

Credential Access

  • 기본 아이디/패스워드가 설정된 WinCC SQL 서버에 접근하여 악성 코드 바이너리 이미지를 적재하고 실행

Lateral Movement & Access

  • 네트워크 공유 폴더, 프린트 스풀러 취약덤 등을 통해 악성 코드 전파
  • 계정정보를 이용해 네트워크에 접근
  • 계정 생성, 방화벽 비활성화, RDP(Remote Desktop Protocol) 활성화

Collection & Exfiltration

  • 감염된 시스템의 운전 관련 데이터 (OPC tag, PLC 코드 블록 정보 등) 수집

Target Manipulation

  • 프로젝트 파일의 DLL을 변조하여 PLC 디바이스에 데이터를 읽고 쓰는 것을 모니터링
  • 변조된 코드 블럭을 PLC 디바이스에 주입

Objectivies

  • 펌프 원심 분리기 등에서 사용하는 모터의 회전수를 변경하여 모터에 과부하 발생
  • COM 인터페이스를 사용해 특정 서비스와 연결
  • 추출한 정보를 공격자의 서버로 전송
  • 더 많은 악성코드 컴포넌트 다운로드 및 실행
  • PLC 를 통해 연결된 각종 장치 정보 수집

ICS에 특화된 TTP

ICS(Industrial Control System)는 산업 생산 영역에서 설비 운영을 제어, 관리하는 시스템이다. ICS는 이 기종 장치 및 네트워크로 구성되어 있다. PC 부터 임베디드 장치까지 일반적인 자산의 범주고 포함됩니다. 이 ICS 의 구성 요소는 ICS 네트어크에서 하위 레벨 장치와의 통신 및 제어에 사용되는 제어 서버, 데이터들을 저장하는 데이터 저장소, 시스템의 유지/구성/관리/진단을 위한 컴퓨터 관리 콘솔, 센서 및 제어 장치에 연결되어 제어하고 IO 인터페이스 모듈을 사용하는 컨트롤러, GUI 환경을 제공하여 관리자가 쉽게 제어할 수 있도록 하는 HMI, LAN 응용 프로그램과 시스템 응용 프로그램을 모니터링하는 입출력 서버, ICS가 비정상적으로 운영될 경우 안전한 상태로 유지하기 위해 사용되는 자동제어 시스템으로 ICS 자산이 구성되어 있습니다.

금융권에 특화된 TTP

각 산업군별 TTP를 정의해 놓은 것이 있으나, 금융권에 특화된 TTP는 부족합니다. 금융, 제조업, 자동차 등 업권별로 관심있는 위협그룹과 악성코드가 다르므로 이런 부분을 고려한 분석이 필요하다.

ATM 등의 단말기로 제공되는 서비스

일반 사용자가 웹이나 앱으로 접속하는 것 뿐만 아니라 ATM 등의 단말기로도 접근이 가능하며, 이런 기기들은 업데이트가 느려 버전이 낮은 시스템에 위협적이었던 공격도 가능하기 때문입니다.
현재 시스템의 인프라 및 접근 단말에 대한 기기수 및 종류를 파악하여 해당 인프라에 맞는 범죄 행위 특성을 고려해야 합니다.

정상/비정상 로그 통계치 차이 분석

공격을 탐지하기 위해 새로운 시그니처를 탐지하는 것 뿐만 아니라 정상/비정상 로그 통계치를 탐지하는 것도 하나의 방법으로 사용될 수 있습니다. 금융권의 대량 보안 로그는 사람의 눈으로 확인하기 어려울 만큼 방대한 양이 들어오는 경우가 대부분입니다.

따라서 수집된 보안 로그의 각 기기 및 서비스 특성에 맞는 통계적인 방법으로 로그 분석을 해야 합니다. 각 서비스마다 정상적인 트래픽의 평균 통계를 구할 수 있다면, 이에 맞춰 이상치를 탐지할 수 있으므로, 각 서비스에 특화된 공격 행위에 대한 탐지 방안이 부족하더라도 초기 대응에 유리할 것입니다.

This post is licensed under CC BY 4.0 by the author.