공격 트리 (Attack Tree)
공격 트리(attack tree)는 보안 분석에서 공격자의 궁극적인 목표를 루트 노드로 두고, 그 목표에 이르는 여러 공격 방법을 가지(브랜치)와 하위 단계로 나누어 나무 구조로 정리한 분석 모델입니다. 루트에 이르는 각 경로는 보안을 깨는 하나의 방법을, 경로를 따라 쌓이는 비용이나 노력은 그 방법이 얼마나 어려운지를 나타냅니다. 1999년 브루스 슈나이어(Bruce Schneier)가 정리해 널리 알려졌습니다.
공격 트리의 구조
- 루트 노드: 공격자의 궁극적인 목표, 즉 깨려는 보안 목표입니다.
- 브랜치 및 하위 노드: 목표를 이루는 서로 다른 방법과 그 방법에 필요한 단계입니다. 하위 단계 중 하나만 성공하면 되는 경우(OR 노드)와 모두 성공해야 하는 경우(AND 노드)를 구분해 표시합니다.
- 총 노력: 각 경로를 따라 요구되는 누적된 노력이나 비용은 그 경로로 보안을 침해하는 것이 얼마나 어려운지를 나타냅니다. 시스템의 보안 수준은 가장 쉬운 경로로 정해집니다.
예시: 건물 침입
건물 안으로 들어가는 것을 루트 노드로 두면, 아래 각 브랜치는 더 작은 단계로 나뉘는 서로 다른 공격 전략이 됩니다.
- 브랜치 1: 정문을 통해 몰래 침입하기
- 자물쇠 따기
- 경비원 제압하기
- 경보를 무력화할 방법 찾기
- 브랜치 2: 담장 아래로 터널 파기
- 굴착 장비 구하기
- 건물 기초 도면 만들기
- 굴착 중 발각 피하기
- 브랜치 3: 외벽 기어오르기
- 등반 장비 구하기
- 경비원 시야의 사각지대 찾기
- 외벽의 보안 조치 무력화하기
공격 트리의 한계
가장 큰 한계는 가능한 모든 공격 방법을 빠짐없이 고려했다고 보장하기가 일반적으로 불가능하다는 점입니다. 아무도 모르는 건물로 통하는 비밀 통로가 있다면, 이 통로는 트리에 없는 고려되지 않은 공격입니다. 만약 이 통로가 분석된 어떤 경로보다 적은 노력으로 가능하다면, 분석에 없었더라도 그 방법이 실제 보안 수준의 한계가 됩니다. 즉 공격 트리는 그것을 만든 분석자의 지식만큼만 유용합니다. 또한 위협 환경이나 시스템 구조가 바뀌면 정기적으로 갱신하지 않는 한 트리는 금방 낡습니다.
장점:
- 체계적인 접근 방식: 잠재적인 공격을 식별하고 분석하는 구조적이고 조직적인 방법을 제공합니다.
- 우선순위 지정: 가장 가능성이 높고 영향력 있는 공격 경로를 강조하여 보안 노력의 우선순위를 정하는 데 도움이 됩니다.
- 위험 평가: 다양한 공격 시나리오의 가능성과 영향을 고려하여 전반적인 보안 상태를 평가할 수 있게 합니다.
- 소통: 보안 팀 및 이해관계자 간의 소통과 협력을 위한 도구 역할을 합니다.
단점:
- 완전성: 가능한 모든 공격 벡터가 트리에 포함되었다고 보장하기 어렵습니다.
- 정확성: 분석의 효과는 트리를 구성하는 데 사용된 정보와 가정의 정확성에 달려 있습니다.
- 정적인 특성: 갱신하지 않으면 변화한 위협을 반영하지 못합니다.
다양한 분야에서의 응용:
암호 분석에서 흔히 사용되지만, 공격 트리는 다양한 영역에서 응용됩니다.
- 소프트웨어 보안: 소프트웨어 애플리케이션의 취약점 및 잠재적 익스플로잇을 식별합니다.
- 네트워크 보안: 약점 및 잠재적 침입 지점을 파악하기 위해 네트워크 인프라를 분석합니다.
- 물리적 보안: 물리적 보안 조치를 평가하고 잠재적 침입 지점을 식별합니다.
- 위험 관리: 더 넓은 범위의 위험 평가 및 관리 프로세스의 구성 요소입니다.
디지털 자산 보안에서의 활용
공격 트리 같은 개념을 이해하면 거래소 계정, 지갑, 개인 키 등 디지털 자산을 지키는 과정에 어떤 위험이 있는지 더 체계적으로 평가할 수 있습니다. 예를 들어 ‘개인 키 탈취’를 루트로 두면 피싱, 악성 소프트웨어, 백업 문구 유출 같은 경로를 나누어 각각의 대비책을 점검할 수 있습니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.