2021년 한국소프트웨어종합학술대회 논문집의
"공격 트리와 MITRE ATT&CK의 조합을 이용한 사이버 공격 모델링의 혼합적 접근 방법 제안"
논문을 보고 정리하였습니다.
개요
기존 사이버 공격 모델링 기법들의 상호 호환성 및 활용 난이도의 문제를 해결하기 위해 공격 트리(Attack Tree)와 MITRE ATT&CK 지식 베이스 기반 혼합적 접근 모델링 방법 제안
공격 모델링 방법은 대표적으로 공격을 철저하게 분석하고 이해하기 위한 Bruce Schneier의 공격 트리(Attack Tree), 공격을 7단계로 나누고 단계별 공격을 중단할 수 있는 가장 효과적인 방어 대책을 찾기에 용이한 Lockhead Martin사의 Cyber kill Chain, 수많은 공격 기술들을 분류하고 표준화한 MITRE의 ATT&CK이 있다.
다양한 모델링이 사용되고 있지만 모델링이 다양한 만큼 하나의 동일한 결론을 내기 어려움.
이 같은 문제를 해결하기 위해 두 가지 모델링 기법을 활용 및 혼합하여 해결하고자함.
- 공격 트리를 통해 공격자의 행동 순서를 직관적으로 표현
- MITRE ATT&CK의 공격 기술 지식 베이스를 활용하여 작성 방법의 가이드라인을 정립.
모델링 결과물의 상호 호환성을 향상시켜 쉽게 이해하기 인용할 수 있게 함.
협업 및 소통의 문제 최소화, 효율적으로 수행할 수 있다는 장점이 있음.
공격 트리 (Attack Tree)
Attack Tree는 보안 위협 모델링 기법 중 하나로, 보안 공격을 계층적으로 분류하고 분석하기 위한 도구입니다. 공격자가 시스템에 침입하기 위해서는 다양한 공격 경로와 공격 방법을 선택할 수 있습니다. 이러한 공격 경로와 공격 방법을 나타내는 트리 구조를 사용하여 시스템 내의 취약점과 보안 위협을 파악하고 방어 전략을 수립할 수 있습니다.
Attack Tree는 루트 노드에서 시작하여 하위 노드로 분기하는 트리 구조를 가집니다. 각각의 노드는 특정한 공격 방법이나 보안 취약점을 나타내며, 그 하위 노드들은 이전 노드에서 선택한 방법에 따라 분기됩니다. 또한, 각각의 노드에는 해당 방법이나 취약점을 이용할 때 발생할 수 있는 위협과 결과를 나타내는 정보가 포함됩니다.
Attack Tree는 보안 전문가들이 시스템의 취약점과 위협을 파악하고, 그에 대한 방어 전략을 수립하는 데에 매우 유용한 도구입니다. 또한, 시스템 개발자들이 시스템 설계 과정에서 보안 취약점을 사전에 파악하고, 이를 해결하기 위한 보안 기술을 도입하는 데에도 활용됩니다.
공격 트리는 최상단에 위치한 루트 노드(node)인 공격자의 궁극적 목표에 도달하기 위한 공격자의 행동을 하위 노드로 구성하는 방식으로, 트리의 깊이가 깊어질수록 복잡한 구조의 공격임을 의미한다.
공격 트리는 외형이 트리 형태인 것을 제외하면 내용 구성의 제약이 거의 없다.
위 그림과 같이 공격을 분석하며 해당 공격의 실행이 가능하였는지 여부를 표기하며 공격 루트를 확인할 수 있고 공격에 순서가 있을 경우 각 노드마다 번호를 매겨 작업 순서를 표기할 수 있다.
공격 트리는 공격자의 행동으로부터 방어자의 시정에서 취할 수 있는 방어 대책 개념이 포함되어 있지 않으므로 공격과 방어의 상호 작용에 한 표현을 할 수 없다.
이는 공격 모델링 기법과 사이버 보안에 대하여 상태적으로 지식 수준이 족한 이해 당사자들 이 최적의 판단을 하기 어려워지는 요인이 될 수 있다.
이러한 공격 트리 구조의 한계를 해결하고 자 공격-방어 트리 (AD Tree. Attack-Defense Tree) 와 같은 개선 시도가 있었다. 공격 방어 트리는 각 말단의 공격 노드들에 해당 공격에 때한 방어자의 대응 방법을 표기함으로써 트리 하나로 각 요소들의 공격 과 방어 관계를 확인할 수 있는 형태 취하고 있다.
사이버 킬 체인 (Cyber Kill Chain)
Cyber Kill Chain은 사이버 공격자가 공격을 수행할 때 일반적으로 따르는 단계적인 프로세스를 설명하는 모델이다. 이 모델은 Lockheed Martin에서 개발되었으며, 이후 여러 기업과 정부 기관에서 채택되어 사용되고 있다.
Cyber Kill Chain은 공격자의 전체적인 공격 과정을 설명하는 모델로, 공격자의 의도를 파악하고 대비 방안을 마련하기 위해 사용된다.
Cyber Kill Chain은 일반적으로 다음과 같은 7단계로 구성되어있다.
1. 정보 수집 (Reconnaissance)
공격자는 대상 시스템 또는 조직에 대한 정보를 수집합니다. 이는 공격자가 대상을 선정하고 공격 계획을 수립하는 데 필요한 정보를 수집하는 과정입니다.
2. 악성 코드 삽입 (Weaponization)
정보 수집 후, 공격자는 시스템에 악성 코드를 삽입합니다. 이 단계에서는 공격자가 사용할 악성 코드를 개발하거나 기존의 악성 코드를 수정하여 대상 환경에 맞게 조정합니다.
3. 악성 코드 전달 (Delivery)
악성 코드를 대상 시스템에 전달하는 방법을 결정하고 실행합니다. 이는 일반적으로 이메일, USB 드라이브, 소셜 엔지니어링 기술 등을 사용하여 이루어집니다.
4. 악성 코드 실행 (Exploitation)
악성 코드가 대상 시스템에 진입한 후, 공격자는 악성 코드를 실행하여 시스템을 침해합니다. 이 단계에서는 보안 취약점을 이용하여 시스템에 침투하는 경우가 많습니다.
5. 권한 상승 (Installation)
공격자는 악성 코드를 실행한 후, 관리자 권한을 획득하여 시스템을 완전히 제어합니다.
6. 목표물 공격 (C2, Command and Control)
공격자는 시스템을 제어한 후, 목표물에 대한 정보를 수집하거나 추가적인 악성 코드를 배포하는 등의 작업을 수행합니다.
7. 데이터 탈취/파괴 (Exfiltration)
마지막 단계에서는 공격자가 탈취한 정보를 수집하거나 시스템을 파괴합니다. 이 단계에서는 공격자가 대상 시스템에서 가져온 정보를 사용하여 새로운 공격을 수행할 수도 있습니다.
MITRE ATT&CK (Adversarial Tactics, Techniques, and Common Knowledge)
MITRE ATT&CK는 사이버 보안에서 사용되는 공격 기술 및 전략의 지식을 분류하고 조직화한 프레임워크이다. 이는 실제로 관측된 보안 위협과 공격자의 행동 패턴, 공격에 사용되는 도구, 기술, 프로세스 및 절차 등을 기반으로 구성됩니다.
MITRE ATT&CK는 세 가지 수준의 분류 체계를 제공합니다. 첫 번째 수준은 전체적인 공격 수준을 정의하는 행위(threat)입니다. 두 번째 수준은 행위를 달성하기 위해 사용되는 기술(technique)을 정의합니다. 세 번째 수준은 특정 기술을 구현하는 데 사용되는 소프트웨어나 하드웨어 도구(tool)에 대해 설명합니다.
MITRE ATT&CK는 다양한 보안 관련 조직과 제품에서 많이 활용됩니다. 이는 각 조직이 자체적으로 보유한 데이터와 이러한 분류 체계를 활용해 보안 위협에 대한 대응 전략을 수립할 수 있기 때문입니다. 또한, 이를 기반으로 한 보안 솔루션은 공격자가 사용하는 행위 및 기술을 미리 탐지하고 방어할 수 있어 보안성을 향상시키는 데에도 사용됩니다.
제안 - 공격 포레스트 (Attack Forest)
Attack Forest는 MITRE ATT&CK Framework의 확장된 버전으로, 보안 전문가와 분석가가 복잡한 사이버 공격을 분석하고 시각화하기 위해 개발되었습니다.
MITRE ATT&CK Framework가 사이버 공격에 사용되는 기술 및 동작을 탐지하고 분류하는 데 초점을 맞추는 반면, Attack Forest는 공격을 전략적, 전술적 및 기술적 관점에서 분석하도록 설계되었습니다. Attack Forest는 공격의 단계별 전개와 같은 상세한 정보를 제공하여 보안 전문가와 분석가가 전체적인 공격 방식을 파악하고 대응 전략을 수립하는 데 도움을 줍니다.
Attack Forest는 다양한 분석 도구 및 기술을 사용하여 사이버 공격을 시각화합니다. 이를 통해 전문가들은 공격자의 목표, 전략, 동기 및 공격의 흐름 등을 파악할 수 있습니다. 이러한 정보를 바탕으로 조직은 보안 대응 전략을 수립하고 적절한 대응 방안을 마련할 수 있습니다.
최근에는 MITRE ATT&CK Framework와 함께 사용되는 것이 일반적이며, 더 많은 정보와 시각화를 제공하여 조직이 더 나은 보안 대응 전략을 수립할 수 있도록 도와줍니다.
먼저, 기초가 되는 공격 트리 모델이 재할 경우 . 혹은 공격 트리 작성으로부터 시작하는 경우 각 들의 정보를 MITRE ATT&CK에서 제공하는 공격 기술 중 일치하는 기술 로 번경하고, 필요 시 추가 정보를 별도로 표기히는 방법을 통하여 각 노드들의 테이터를 변환한다 만일 ATT&CK Matr 로 선행 모델링을 수행하였거나 기존에 유사한 형태의 공격이 이미 MITREATT&CK 지식 베이스에 있는 경우. 해당 모델로부터 시작하여 알맞은 공격요소 를 찾아내고 . 각각의 공격 요소들을 단위 공격 트리로 변환한다. 변환 시 각 단위 공격 트리는 각 노드의 내용에 맞는 14 개 전술 (Tactics) 중 하는 전술과 기술 ID. 필요 시 공격자의 작업 순서 번호를 표기 한다. 2~3 개의 전술을 동시에 포함하는 기술인 경우 . 14개 전술 중 해당하는 공격에 가장 적합한 전술을 우선 표기하며 . 해당 공격에서 활용되지 않은 전술 명은 표기하지 않는다. 이 과정을 통히여 만들어진 단위 공격 트리들이 모두 준비되었다면, 활동 순서 및 에 맞추어 배치하고, 하나 이상의 공격 활동에 해당하는 공격 행위 활동 단계를 표기한다. 하나의 공격에서 분기되어 나온 공격 활동은 여러 개의 공격 기술을 가질 수 있으며 . 분기되어 나온 공격 활동 또한 자신 아래의 분기나 다음 단계의 공격 활동을 가질 수 있다. 필요할 경우 공격 활동은 여러 개의 공격 황동 훈으로 표기할 수 있다. 그림 4는 각각의 연결 방법을 . 그림 5는 2017 년에 발견된 워너크라이(WannaCry) 랜섬웨어 공격 정보 [6] 를 바탕으로 구성한 공격 포레스트(Attack Forest) 이다.
Attack Forest 의 장점
- 공격 정보를 시간 순서에 맞게 세로로 정렬한 목록 형태로 디자인하여 공격 순서에 대한 혼동을 줄일 수 있다.
- 공격 활동의 추상도가 낮을수록 내용이 급격하게 증가하여 가로로 넓게 공간을 차지하는 공격 트리의 문제를 줄일 수 있어 자료 공유에 용이하다.
- MITRE ATT&CK 기술 ID가 명시된 공격 노드들을 통해 해당 공격을 이해하기 위한 지식 정보를 제공함으로써 개인의 지식 수준에 의존할 필요 없이 공격을 이해하고 이해 당사자들 간 같은 지식을 효과적으로 공유할 수 있다.
Attack Forest 의 한계점
분석된 바가 없는 신종 공격이 발생하여 MITRE ATT&CK의 지식 베이스에 적절한 정보가 없을 경우 이를 보완하는 방법 필요.
References
[2] MITRE ATT&CK®