066. PASTA (Process for Attack Simulation and Threat Analysis)

⚠️ 이 문서는 시스템이나 소프트웨어의 위험 요소를 도출할 때, 비즈니스의 중요도와 해커의 실제 공격 전술(Attack Simulation)을 결합하여 분석하는 7단계의 위협 모델링 프레임워크인 PASTA를 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: PASTA(Process for Attack Simulation and Threat Analysis)는 마이크로소프트의 STRIDE가 개발자/소프트웨어 중심인 것과 달리, '비즈니스 목표'에서 출발하여 해커의 눈(Attacker-centric)으로 시스템을 분석하는 7단계(Risk-Centric) 프레임워크다.
  2. 가치: "해커가 여기를 찌를 수 있다"는 기술적 분석에 그치지 않고, "이 해킹이 성공하면 비즈니스에 얼마의 타격(Risk)을 주는가?"를 끊임없이 결부시키므로, 경영진이 납득할 수 있는 가장 타당한 보안 투자 산출물을 만들어 낸다.
  3. 융합: 모의해킹이나 위협 인텔리전스(CTI, MITRE ATT&CK 등)와 결합하여, 이론상의 위협이 아닌 "오늘 당장 유행하는 랜섬웨어 기법"을 분석표에 반영함으로써 위협 모델링의 실전 퀄리티를 수직 상승시킨다.

Ⅰ. 개요 및 탄생 배경 (Context & Background)

과거 보안 엔지니어들은 STRIDE를 사용해 시스템의 취약점을 뽑아냈다. 문제는 수백 개의 취약점이 쏟아졌을 때, "이 취약점이 회사의 돈벌이(비즈니스)에 얼마나 위험한가?"를 설명하지 못해 경영진에게 보안 예산을 타내는 데 번번이 실패했다는 점이다.

PASTA는 이를 극복하기 위해 Tony UcedaVelez가 2012년에 발표한 프레임워크다. 이 모델의 가장 위대한 점은 1단계가 '코드 분석'이 아니라 **'비즈니스 목표 이해'**라는 점이다. 시스템이 무너지면 얼마의 손해가 발생하는지(Business Impact)를 먼저 정의한 후, 해커의 머릿속에 들어가 실제 공격을 시뮬레이션해 보는 하향식(Top-Down) 구조를 취한다.

📢 섹션 요약 비유: STRIDE가 집안의 문고리와 창문이 튼튼한지를 확인하는 '점검표'라면, PASTA는 "이 집에 숨겨진 금송아지의 가치가 얼마인지"를 먼저 확인한 뒤 "도둑이라면 저 금송아지를 훔치기 위해 어느 창문을 깰까?"를 시뮬레이션해 보는 '가상 도둑 시나리오 훈련'입니다.


Ⅱ. PASTA 7단계 프로세스 (The 7 Stages of PASTA)

PASTA는 위협 모델링을 일회성 회의가 아닌, 비즈니스와 기술이 맞물려 돌아가는 7개의 정교한 톱니바퀴로 분해한다.

단계 (Stage)명칭 (원문 / 한글 번역)수행 내용 및 목적참여 주체
1단계Define Objectives (비즈니스 목표 정의)이 시스템이 돈을 버는 구조 파악. 데이터 유출이나 다운타임이 비즈니스에 미치는 금전적/법적 타격(Risk) 정의.비즈니스/경영진
2단계Define Technical Scope (기술 범위 정의)보호해야 할 자산의 경계 확정. 관련 서버, 코드, 클라우드 인프라, 서드파티 라이브러리 목록화.아키텍트/개발자
3단계Application Decomposition (애플리케이션 분해)데이터 흐름도(DFD) 작성. 데이터가 어디서 들어와 어디에 저장되는지 구성 요소 해부.아키텍트/보안팀
4단계Threat Analysis (위협 분석)현재 유행하는 외부 해커의 수법(MITRE ATT&CK, 공격 동기)을 바탕으로 우리 시스템에 적용 가능한 위협 도출.보안팀 (Threat Intel)
5단계Vulnerability & Flaws Analysis (취약점 분석)시스템 소스코드나 설계도에서 위에서 도출한 위협을 실제로 얻어맞을 수 있는 결함(SQLi, 잘못된 권한) 탐색.개발자/보안팀
6단계Attack Modeling (공격 모델링)발견된 취약점을 해커가 어떤 순서로 밟고 들어올지 '공격 트리(Attack Tree)'를 그려 시뮬레이션함.모의해커(Pen-tester)
7단계Risk & Impact Analysis (위험/영향 분석 및 대응)비즈니스 타격(1단계)과 해킹 성공 확률(6단계)을 종합해 최종 Risk 점수 산출. 경영진에게 방어 대책 결재.모든 주체
┌──────────────────────────────────────────────────────────────────────────────┐
│           PASTA 7단계의 비즈니스(Risk) 중심 흐름 시각화                      │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│ [비즈니스/설계 (1~3단계)]                                                    │
│  (1) 비즈니스 분석: "이 결제 서버가 죽으면 시간당 1억 원 손해!"              │
│  (2) 기술 범위: "AWS의 EC2 10대와 RDS 1대가 타겟이군."                       │
│  (3) 시스템 분해: "앱 -> API -> DB 로 데이터가 흐르는구나." (DFD 작성)       │
│                                                                              │
│ [공격 시뮬레이션 (4~6단계)]                                                  │
│  (4) 위협 분석: "요즘 유행하는 랜섬웨어 그룹이 API를 노리네."                │
│  (5) 취약점 분석: "우리 API 코드를 보니 인증 토큰 검증이 없네?!"             │
│  (6) 공격 모델링: "해커가 API를 뚫고 들어와서 DB에 랜섬웨어를 심는           │
│                공격 트리(Attack Tree)를 그려보자. 뚫을 확률 90%."            │
│                                                                              │
│ [경영진 보고 및 방어 (7단계)]                                                │
│  (7) 위험 분석: "시간당 1억 원 손해(1단계) × 뚫릴 확률 90%(6단계) = 치명적!  │
│               당장 WAF를 도입하고 코드를 뜯어고칩시다!"                      │
└──────────────────────────────────────────────────────────────────────────────┘

[다이어그램 해설] 그림에서 보듯 PASTA는 단순히 취약점(Bug)을 찾는 과정이 아니다. 시작점(1단계)과 끝점(7단계)이 철저하게 '비즈니스'에 맞춰져 있다. 아무리 뚫리기 쉬운 취약점(6단계)이라도, 그게 기밀성이나 회사 돈(1단계)과 전혀 무관한 테스트 서버라면 과감하게 쳐내고 무시할 수 있는 근거를 제공한다. 이것이 Risk-Centric(위험 중심) 모델의 진정한 위력이다.

  • 📢 섹션 요약 비유: 회사 금고(비즈니스 자산)를 지키기 위해, 먼저 금고 안에 든 다이아몬드 가격을 확인하고(1단계), 금고의 도면을 뜯어본 뒤(3단계), 가짜 도둑(모의해커)을 시켜 털어보게 한 다음(6단계), 사장님께 "자물쇠를 안 바꾸면 다이아몬드 뺏깁니다"라고 보고하는 완벽한 보안 점검 시나리오입니다.

Ⅲ. 실무 적용의 파괴력: 공격 트리 (Attack Tree) 활용

PASTA의 백미는 6단계 '공격 모델링'에서 그려지는 **공격 트리(Attack Tree)**다. 이는 브루스 슈나이어(Bruce Schneier)가 고안한 개념으로, 최상위 목표(해커의 최종 목표)를 두고, 그것을 달성하기 위한 하위 방법들을 나뭇가지처럼 그려나가는 기법이다.

  • 최상위 목표 (Root Node): 고객 DB 통째로 훔치기
    • 방법 A: 서버 해킹 (어려움)
      • 방법 A-1: 0-day 취약점 구매 (비용 1억 원)
      • 방법 A-2: 방화벽 뚫기 (불가능)
    • 방법 B: 관리자 권한 훔치기 (쉬움)
      • 방법 B-1: 관리자에게 피싱 메일 쏘기 (비용 0원, 성공률 높음)
      • 방법 B-2: 관리자 노트북 훔치기 (회사 잠입 위험)

아키텍트는 이 트리를 그리고 나서 깨닫는다. "아, 서버 방화벽에 10억을 쓰는 것보다(방법 A 방어), 관리자 메일에 피싱 차단 솔루션과 MFA(다단계 인증)를 거는 것(방법 B 방어)이 가장 훌륭한 방어구나!"


Ⅳ. 타 모델(STRIDE)과의 차이 및 트레이드오프

  • STRIDE (Microsoft): 소프트웨어 및 개발자 중심(Software-Centric). "이 코드에 어떤 공격(S,T,R,I,D,E)이 들어올까?"라는 기술적 질문에 집중한다. 가볍고 빨라서 일상적인 개발 회의에 도입하기 좋다.
  • PASTA: 비즈니스 및 해커 중심(Risk/Attacker-Centric). "이 해킹이 우리 회사를 망하게 하는가?"를 따진다. 모의해커(Pen-tester)와 비즈니스 담당자가 모두 모여야 하므로 매우 무겁고, 시간과 비용이 많이 드는 대형 프로젝트에만 적용할 수 있다.

Ⅴ. 결론

"보안의 목적은 해킹을 막는 것이 아니라 비즈니스를 지키는 것이다." PASTA는 이 평범한 진리를 엔지니어링 프레임워크로 녹여낸 걸작이다. 개발자가 취약점 목록에 파묻혀 길을 잃지 않도록, 비즈니스 리스크라는 강력한 등대를 제공한다. 7단계의 고된 시뮬레이션을 끝낸 아키텍트는 경영진에게 "이 보안 패치를 안 하면 이번 달 영업 이익의 30%가 날아갑니다"라고 말할 수 있는 강력한 숫자의 무기를 손에 쥐게 된다.


📌 관련 개념 맵

  • 영역: Threat Modeling (위협 모델링 프레임워크)
  • 대비되는 프레임워크: STRIDE (마이크로소프트의 소프트웨어 중심 모델)
  • 내부 사용 도구: Attack Tree (공격 트리), DFD (데이터 흐름도)
  • 융합 분야: 모의해킹(Penetration Testing), 리스크 매니지먼트(ERM)

👶 어린이를 위한 3줄 비유 설명

  1. 새로 만든 로봇 장난감을 팔기 전에, 불량 악당들이 어떻게 로봇을 부수려고 할지 미리 작전 회의를 하는 거예요.
  2. 그냥 막연히 상상하는 게 아니라, "1단계: 이 로봇은 10만 원짜리야, 2단계: 팔다리는 플라스틱이네, 6단계: 악당이라면 망치로 팔을 때리겠지?" 하면서 차례대로 꼼꼼히 따져보는 7개의 순서랍니다.
  3. 이 7단계를 다 거치고 나면, 로봇 공장 사장님께 "팔에 강철을 덧대지 않으면 장난감이 안 팔려 망합니다!"라고 똑똑하게 설명할 수 있어요.