0Pricing
Cyber Security Academy · 강의

공격 트리와 위험 우선순위 지정

위협의 순위를 정하고 완화 방안을 선택합니다.

공격 트리와 위험 우선순위 지정은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

공격 트리란 무엇인가

공격 트리는 공격자가 목표를 달성하는 방법을 모델링하는 다이어그램입니다. 목표는 루트에 놓이고, 가지에는 목표에 도달하는 데 필요한 여러 경로와 하위 단계가 표시됩니다.

STRIDE가 위협의 유형을 열거한다면, 공격 트리는 공격자가 택할 수 있는 구체적인 경로를 탐색합니다. 공격 트리는 특정한 고가치 대상을 분석할 때 특히 유용합니다.

최상위 목표와 하위 목표

최상위 노드는 '고객의 결제 데이터를 훔친다'와 같은 공격자의 궁극적인 목표입니다. 하위 노드는 상위 목표를 달성하기 위한 하위 목표 또는 방법입니다.

트리는 '공격자가 이 노드를 어떻게 달성할 수 있을까?'라고 반복해서 질문하며 만듭니다. 각 답변이 하위 노드가 되며, 구체적으로 실행 가능한 말단 동작에 도달할 때까지 계속 세분화합니다.

AND 노드와 OR 노드 비교

공격 트리는 노드와 하위 노드 사이에 두 가지 논리적 관계를 사용합니다:

  • OR 노드 — 상위 목표를 달성하려면 하위 노드 중 하나만 충족하면 됩니다(대체 경로)
  • AND 노드 — 모든 하위 노드를 함께 충족해야 합니다(필수 단계)

이 구분은 매우 중요합니다. OR 노드에서는 공격자가 가장 쉬운 경로만 선택하면 되지만, AND 노드에서는 모든 단계를 통과해야 합니다.

공격 트리 예시

결제 데이터를 훔치는 과정을 나타낸 텍스트 형식의 공격 트리는 다음과 같습니다:

GOAL: Steal customer payment data
  OR
  +-- Compromise the database directly
  |     AND
  |     +-- Gain network access to DB
  |     +-- Obtain DB credentials
  +-- Steal data in transit
  |     +-- Intercept unencrypted traffic
  +-- Compromise an admin account
        OR
        +-- Phish an admin
        +-- Brute force weak password

속성으로 노드에 주석 달기

우선순위를 정하는 데 도움이 되는 속성으로 말단 노드에 주석을 추가하면 공격 트리의 강력한 기능을 활용할 수 있습니다:

  • 공격자에게 드는 비용
  • 필요한 기술 수준 또는 난이도
  • 탐지 가능성(경보가 울리는가?)
  • 성공 가능성

그런 다음 이러한 값을 트리의 상위 노드로 전파합니다. OR 노드에서는 공격자가 가장 저렴하고 쉬운 하위 노드를 선택하므로, 가장 약한 연결 고리가 드러납니다.

위험 = 가능성 x 영향

우선순위를 정하려면 위험 점수가 필요합니다. 일반적인 공식은 두 가지 요소를 결합합니다:

Risk = Likelihood x Impact

Likelihood: how probable is this attack to succeed?
Impact:     how bad is the damage if it does?

Example:
  High likelihood (3) x High impact (3) = 9  -> top priority
  Low likelihood (1)  x High impact (3) = 3  -> monitor

DREAD 점수화 모델

DREAD는 다섯 가지 차원에 따라 위협의 점수를 정하는 체계적인 방법입니다. 각 항목을 평가한 다음 우선순위 점수로 결합합니다:

  • Damage — 영향이 얼마나 심각한가?
  • Reproducibility — 얼마나 안정적으로 반복할 수 있는가?
  • Exploitability — 실행하기 얼마나 쉬운가?
  • Affected users — 영향을 받는 사용자가 몇 명인가?
  • Discoverability — 발견하기 얼마나 쉬운가?

DREAD는 어느 정도 주관적이므로 팀 전체에서 일관된 평가 기준을 사용하십시오.

위험 행렬 만들기

위험 행렬은 가능성과 영향을 함께 표시해 한눈에 우선순위를 파악할 수 있게 합니다:

Impact
 High  | Medium | High   | Critical |
 Med   | Low    | Medium | High     |
 Low   | Low    | Low    | Medium   |
       +--------+--------+----------+
         Low      Med      High
                Likelihood

Address Critical and High cells first.

완화 방법 선택하기

위협의 순위를 정한 후에는 각 위협을 어떻게 처리할지 결정하십시오. 네 가지 선택지는 STRIDE 완화 방법에서와 같습니다:

  • 완화 — 가능성이나 영향을 낮추는 통제 수단을 추가합니다
  • 제거 — 위험한 기능 자체를 없앱니다
  • 이전 — 보험이나 제3자를 통해 위험 부담을 넘깁니다
  • 수용 — 낮은 위험을 감수한다는 사실을 공식적으로 문서화합니다

제한된 예산은 가장 위험한 항목부터 사용하고, 위험이 낮은 위협에 과도하게 대응하지 마십시오.

통제 수단의 비용 대비 효과

완화 방법은 위험을 줄이는 효과가 비용을 정당화할 때만 의미가 있습니다. 보호하는 자산보다 비용이 많이 드는 통제 수단은 좋은 투자가 아닙니다.

각 후보 통제 수단에 대해 다음을 검토하십시오:

  • 통제 수단이 위험을 얼마나 줄이는가?
  • 구축하고 운영하는 데 비용이 얼마나 드는가?
  • 사용상의 마찰이나 새로운 위험을 초래하는가?

MFA로 여러 계정 탈취 경로를 한 번에 차단하는 경우처럼, 여러 공격 경로를 동시에 차단하는 통제 수단을 우선하십시오.

위험 추적 및 재검토

우선순위 지정은 한 번 하고 끝나는 작업이 아닙니다. 식별된 각 위협을 점수, 선택한 대응, 담당자, 상태와 함께 위험 등록부에 기록하십시오.

다음과 같은 경우 위험 등록부를 다시 검토하십시오:

  • 새로운 위협이나 취약점이 나타난 경우
  • 시스템이나 자산의 가치가 변경된 경우
  • 완화 방법을 구현한 경우(잔여 위험을 다시 평가합니다)

수용한 위험에는 만료 기한을 설정하고 다시 검토해야 하며, 수용한 채 잊어서는 안 됩니다.

빠른 확인

공격 트리와 위험 우선순위 지정에 대한 이해도를 확인해 보십시오.

복습

위협의 순위를 정하고 완화 방법을 선택하는 방법을 배웠습니다:

  • 공격 트리는 공격자의 목표에 도달하는 경로를 모델링하며, AND(모든 조건이 필요함)와 OR(하나만으로 충분함) 노드를 사용합니다
  • 비용, 난이도, 탐지 가능성으로 노드에 주석을 추가해 가장 약한 연결 고리를 찾습니다
  • 위험 = 가능성 x 영향, DREAD 점수, 위험 행렬을 사용해 우선순위를 정합니다
  • 비용과 효과를 비교하여 완화, 제거, 이전 또는 수용을 선택합니다
  • 모든 내용을 위험 등록부에서 추적하고 시스템이 변화함에 따라 다시 검토합니다

이로써 STRIDE를 활용한 위협 모델링 과정이 끝났습니다.

자주 묻는 질문

“공격 트리와 위험 우선순위 지정” 강의는 무료인가요?

네 — “공격 트리와 위험 우선순위 지정” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“공격 트리와 위험 우선순위 지정”에서 뭘 배우나요?

위협의 순위를 정하고 완화 방안을 선택합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“공격 트리와 위험 우선순위 지정” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 위협 모델링이 중요한 이유
  2. STRIDE 프레임워크
  3. 데이터 흐름도와 신뢰 경계
  4. 공격 트리와 위험 우선순위 지정
← Cyber Security Academy(으)로 돌아가기