474. 위협 모델링 (Threat Modeling) 아키텍처 보안 분석
핵심 인사이트 (3줄 요약)
- 본질: 위협 모델링(Threat Modeling)은 코드를 1줄도 짜기 전인 설계(Design) 단계에서, 시스템의 아키텍처 구조도(DFD)를 칠판에 펼쳐놓고 화이트해커의 마인드로 빙의하여 **"적(해커)은 어디로, 어떤 취약점을 뚫고, 무엇을 훔쳐 갈 것인가?"를 조직적으로 상상하고 논리적으로 증명해 내는 '보안 브레인스토밍의 끝판왕'**이다.
- 가치: 개발이 끝나고 나중에 해킹당한 뒤 "아차, 여기 방화벽 안 달았네!" 하며 수억 원을 들여 인프라를 다 뜯어고치는 재앙을 막는다. 설계도에 선을 하나 잘못 그은 것을 지우개로 슥 지우고 "이 구간엔 무조건 암호화(TLS 1.3) 통신을 박아놔!"라고 0원의 비용으로 가장 근본적이고 치명적인 아키텍처 레벨의 암(결함)을 선제 타격한다.
- 융합: 시프트 레프트(Shift-Left) 보안 철학의 가장 왼쪽 끝자락에 위치하며, 마이크로소프트가 고안한 STRIDE 모델(위협 분류) 및 **DREAD 모델(위험 평가)**과 완벽하게 융합되어 막연한 '공포'를 수치화된 '우선순위(Ticket)'로 변환해 데브옵스(DevOps) 백로그에 강제로 쑤셔 넣는 기적을 낳는다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: 군대가 진지를 구축할 때, 장군들이 지도(아키텍처)를 펴놓고 "서쪽 숲길(API)로 적의 게릴라(해커)가 오면 어떻게 막을까?"를 워게임(War-game) 하듯 토론하는 것이다. 개발 프로세스에서는 보통 **DFD(Data Flow Diagram, 데이터 흐름도)**를 화이트보드에 그려놓고, 사용자 -> 앱 -> 웹서버 -> DB로 이어지는 '데이터가 흘러가는 모든 길목(Trust Boundary)'을 째려보며 뚫릴 만한 구멍(위협)을 찾아 리스트로 정리한다.
-
필요성: 개발자들은 너무 순진하다. 시스템을 그릴 때 "사용자가 로그인하면 DB에 예쁘게 저장되겠지"라고 해피 패스(Happy Path)만 상상한다. 하지만 해커는 로그인 패킷을 중간 공중에서 가로채거나(스니핑), 1초에 1만 번 로그인을 시도해서(무차별 대입) DB를 폭파시킬 궁리를 한다. "창을 막으려면 창을 던지는 자의 마인드(Attacker's Perspective)로 뇌 구조를 바꿔야 한다." 코딩에 매몰되어 시야가 좁아진 개발자들을 강제로 멈춰 세우고, 숲 전체의 맹점을 조감(Bird-eye view)하게 만드는 유일한 절차가 위협 모델링이다.
-
💡 비유: 위협 모델링은 **'나 홀로 집에(케빈의 도둑 방어 작전)'**와 같습니다. 케빈(아키텍트)은 도둑들이 현관문(로그인)이나 뒷문 창문(API)으로 들어올 것을 도면(DFD)을 보며 상상합니다. "현관문은 튼튼하니까 냅두고, 뒷문으로 오면 미끄러지게 구슬을 깔자(방어 설계)!" 이렇게 도둑(해커)의 동선을 미리 뇌내 시뮬레이션으로 돌려보고, 적재적소에 덫(암호화, 권한 체크)을 놓는 천재적인 전략 회의입니다.
-
등장 배경 및 발전 과정:
- 초기 주먹구구식 상상: 90년대엔 칠판에 그림 그려놓고 "여기 털릴 거 같은데?" 식의 천재 아키텍트 개인의 직감에 의존했다.
- 마이크로소프트 STRIDE의 대통일 (1999): 위협을 막연히 상상하지 말고, "Spoofing, Tampering..." 6가지 카테고리로 딱 잘라서 기계적으로 찾으라는 혁명적인 방법론(STRIDE)을 마이크로소프트 엔지니어들(Loren Kohnfelder 등)이 발명했다.
- DevSecOps 융합 (현재): 칠판에 그리는 걸 넘어, AWS 인프라(Terraform) 코드를 짠 뒤 버튼을 누르면 AI가 즉시 다이어그램을 그려주고 위협(STRIDE)을 자동 스캔해 주는
Threat Dragon,IriusRisk같은 도구의 융합 시대로 진입했다.
-
📢 섹션 요약 비유: 모의 해킹이 이미 완성된 성벽을 **'밖에서 대포를 쏴보는 물리적 파괴 테스트'**라면, 위협 모델링은 성벽을 짓기 전 도면(블루프린트)을 보며 **"성문 높이가 너무 낮아서 사다리 타면 뚫리겠는데?"라고 빨간펜으로 X표를 치는 도면 검수(논리적 타격)**입니다. 대포(모의 해킹)를 쏘기 전에 이미 90%의 약점을 0원의 비용으로 방어해 내는 기적입니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
1. 위협 모델링의 필수 요소: DFD와 Trust Boundary
해커의 시각을 가지려면 '그림'을 정확하게 그려야 한다.
[ 외부 해커 ]
│ (1. 가짜 신분증 내밀기 - Spoofing 위협)
▼
[ Web Server (웹 서버) ] ──────────▶ [ 외부 카드사 API ]
│ (2. 패킷 가로채기 - Tampering 위협)
====================== (💥 신뢰 경계선, Trust Boundary)
│ (3. 권한 없이 넘어오기 - Elevation of Privilege 위협)
▼
[ Database (DB 서버) ]
- 데이터 흐름도 (DFD): 네모(엔티티)와 화살표(데이터 흐름)로 시스템 전체를 그린다.
- 신뢰 경계선 (Trust Boundary): 위협 모델링의 심장이다. 외부(인터넷)에서 사내망(DB)으로 들어오는 경계, 웹 서버에서 외부 카드사로 나가는 경계 등 **"믿을 수 없는 놈과 믿을 수 있는 놈이 만나는 국경선"**을 붉은 점선으로 쫙쫙 긋는다. 해커는 무조건 이 '국경선(접점)'을 통해 침투하므로, 이곳이 바로 덫(보안 통제)을 놓아야 할 1순위 위협 타겟이다.
2. 절대 족보: STRIDE 위협 모델 (MS 발명) ★ (면접/실무 국룰)
회의실에서 "어떻게 해킹될까?" 막연히 묻지 마라. 이 6가지 이니셜(STRIDE)을 대입하면 세상의 모든 해킹이 분류된다.
- Spoofing (스푸핑, 신분 위장): "나 너네 엄마인데 폰 액정 깨졌어." (해커가 관리자 IP로 위장해서 들어옴) ➡ 방어: 강력한 인증(Authentication)
- Tampering (탬퍼링, 데이터 변조): 쇼핑몰 결제 패킷을 가로채 10만 원을 10원으로 슥 고침. ➡ 방어: 데이터 무결성 체크, 해시(Hash), HTTPS(TLS)
- Repudiation (부인, 발뺌): "나 그 돈 송금한 적 없는데? 니들 서버 오류 아님?" (증거 인멸) ➡ 방어: 부인 방지, 확실한 전자서명(Digital Signature)과 로깅(Logging)
- Information Disclosure (정보 유출): DB에 평문으로 저장된 비밀번호 100만 건 탈취. ➡ 방어: 기밀성 보장, DB 암호화(Encryption)
- Denial of Service (서비스 거부, DoS): 게시판 검색창에 매크로를 1초에 만 번 날려서 서버 CPU 폭파시킴. ➡ 방어: 가용성 보장, 트래픽 율속(Rate Limiting), WAF
- Elevation of Privilege (권한 상승): 일반 회원이 꼼수를 써서 사이트 공지사항 글을 삭제해버림(관리자 권한 탈취). ➡ 방어: 철저한 인가(Authorization) 및 최소 권한 원칙
- 📢 섹션 요약 비유: DFD의 '신뢰 경계선(Trust Boundary)'은 **'공항 검색대 출입국 심사대'**입니다. 밖(해외)에서 들어오는 모든 사람(데이터)은 검색대 선을 넘는 순간 무조건 STRIDE라는 6개의 엑스레이 검사(여권 위조(S), 마약 숨김(T), 흉기 은닉(E))를 받아야만 통과할 수 있도록 강제하는 완벽한 보안 검문 시스템 설계입니다.
Ⅲ. 융합 비교 및 다각도 분석
1. STRIDE 모델 vs DREAD 모델
위협을 찾았으면(STRIDE), 이제 그 위협이 "얼마나 무서운 놈인지(위험도)" 점수를 매겨야(DREAD) 고칠 우선순위가 나온다.
| 척도 | STRIDE 모델 (위협의 종류 분류) | DREAD 모델 (위험의 크기 평가) |
|---|---|---|
| 목적 | "해커가 **어떤 방식(How)**으로 공격할까?" | "그 공격 당하면 우리 회사 얼마나 망해(How much)?" |
| 개발자(주체)의 질문 | "이 결제 통신망(Boundary)에서 데이터 변조(Tampering)가 일어날 수 있나?" | "변조 당하면 피해(Damage)가 100억이야? 고치기 쉬워?" |
| 항목 구성 | Spoofing, Tampering, Repudiation, Info Disclosure, DoS, Elevation | Damage(피해 규모), Reproducibility(재현 쉬움?), Exploitability(공격 쉬움?), Affected users(피해자 수), Discoverability(발견 쉬움?) |
| 결과물 | 50개의 보안 위협 시나리오 리스트 도출 | 50개의 리스트에 1~10점 점수(우선순위) 매기기 |
과목 융합 관점
-
소프트웨어 공학 (Secure SDLC): 위협 모델링은 MS-SDL(보안 생명주기)의 심장이자 **3단계(Design, 설계)**에서 발동하는 필살기다. 만약 여기서 "웹 서버와 DB 사이(Trust Boundary)가 암호화되지 않아 패킷 가로채기(Tampering) 위협이 큽니다!"라고 찾았다면? 즉시 지우개로 DFD 선을 지우고 "TLS 1.3 암호화 적용"이라고 설계도를 고친다. 배포 당일(오른쪽)에 이 빵꾸를 발견하면 DB 연동 모듈 전체를 뜯어고쳐야 해서 1억이 깨지지만, 설계 단계(왼쪽)의 칠판 회의에서 발견했기 때문에 0원의 비용으로 막아낸 시프트 레프트(Shift-Left)의 위대한 승리다.
-
보안/인프라 (제로 트러스트, Zero Trust): 옛날 위협 모델링은 "회사 밖(인터넷)은 위험하고, 사내망(Intranet)은 안전하다"고 선을 그었다. 지금은 해커가 직원 이메일 피싱으로 사내망에 이미 들어와서 횡적 이동(Lateral Movement)을 하는 시대다. 현대 위협 모델링은 제로 트러스트 철학과 융합하여, "회사 밖뿐만 아니라 우리 회사 A팀 서버와 B팀 서버 사이의 통신(내부망)에도 무조건 붉은 점선(Trust Boundary)을 긋고 무조건 암호화(mTLS)를 해라!"라고 아키텍처의 패러다임을 극단적인 방어막으로 재편시키고 있다.
-
📢 섹션 요약 비유: STRIDE가 건강검진에서 엑스레이를 찍어 "위암(S), 대장암(T), 뇌종양(E)이 있네요"라고 병명을 찾아내는 것이라면, DREAD는 "위암(DREAD 9점)은 내일 당장 수술 안 하면 죽고, 작은 피부 혹(DREAD 2점)은 1년 뒤에 떼어내도 됩니다"라며 의사(아키텍트)가 긴급 수술 우선순위(백로그)를 정해주는 완벽한 리스크 관리 시스템입니다.
Ⅳ. 실무 적용 및 기술사적 판단
실무 시나리오
-
시나리오 — 부인(Repudiation) 위협을 간과한 배달 앱의 눈물: 배달 앱에서 사장님이 '주문 취소' 버튼을 눌렀다. 그런데 다음 날 사장님이 콜센터에 전화해서 "나 어제 주문 취소 버튼 누른 적 없는데요? 왜 시스템 지 맘대로 취소시킴? 돈 내놔요!"라고 진상을 부린다(Repudiation, 부인 위협). 개발팀이 DB를 까보니 로그에 "취소됨"만 있고 "누가(사장님ID), 언제, IP주소"를 저장하는 로직이 텅 비어 있었다. 증거가 없어 결국 회사가 돈을 다 물어주었다.
- 아키텍트의 해결책: STRIDE 중 'R(부인 방지)' 위협 모델링의 치명적 누락이다. 아키텍트는 설계 단계에서 DFD를 펴놓고, "클라이언트가 취소 패킷을 쏘는 이 Boundary에서 유저가 발뺌(Repudiation)하면 어떡할래?"라고 날카롭게 찔렀어야 한다. 그랬다면 즉시 설계도에 "취소 API 호출 시, 사용자 세션 정보와 IP, 타임스탬프를 원장 DB가 아닌 Write-Once(수정 불가) 감사 로그(Audit Log) 테이블에 무조건 남긴다"는 방어 로직(부인 방지)이 코딩 전에 설계로 굳어지며 악성 진상을 완벽히 차단했을 것이다.
-
시나리오 — 너무 비대한 코끼리를 그리려다 질식한 위협 모델링: 전사 시스템의 보안을 강화하겠다며 보안팀이 모였다. 100개의 마이크로서비스가 얽힌 전체 넷플릭스급 우주 아키텍처 DFD를 화이트보드 3개에 걸쳐 그렸다. 선이 1,000개가 넘고 교차해서 눈이 빙글빙글 돌았다. 여기에 STRIDE 6개를 곱하니 6,000개의 위협 시나리오가 쏟아져 나왔다. 팀원들은 3일 내내 회의만 하다가 지쳐 쓰러졌고, "위협 모델링은 탁상공론의 쓰레기다!"라며 문서 뭉치를 서랍에 쳐박아버렸다. (분석 마비, Analysis Paralysis)
- 아키텍트의 해결책: 애자일(Agile) 스케일 감각 상실 및 모듈화 실패다. 100개짜리 거대 DFD를 한 번에 그리는 것은 정신병이다. 아키텍트는 코끼리를 한 입씩 먹어야 한다(Divide & Conquer). 시스템 전체가 아니라, 이번 2주짜리 스프린트(Sprint)에서 새로 개발하는 "쿠폰 발급 컴포넌트" 단 하나(마이크로 DFD)만 떼어내서 회의실에 띄운다. 선 3개, 위협 5개만 15분 만에 깔끔하게 도출해서 이번 주말 배포 전까지 방어 코드(Patch)를 박아넣게 강제하는 **'마이크로 위협 모델링(Agile Threat Modeling)'**으로 조직 문화를 뜯어고쳐야 생존할 수 있다.
도입 체크리스트
- 비즈니스적: DREAD 점수가 낮은 것(Low Risk)을 과감히 버릴 배짱(Risk Acceptance)이 있는가? 세상의 모든 해킹 구멍을 다 막으면 서버가 0.1초 만에 돌 수가 없고 파산한다. "우주에서 방사선이 날아와 메모리 비트 하나를 바꿀 위협(Tampering)" 같은 미친 상상(DREAD 1점)은 쿨하게 수용(Accept)하고 버려라. 최고점(10점)을 받은 "관리자 권한 인증 탈취 위협" 상위 3개만 백로그(Jira) 최상단에 꽂아 넣고 이번 주 내에 완벽 방어 코드를 짜는 결단력이 비즈니스 아키텍트의 자질이다.
- 조직적: 다양한 직군의 관점(Diverse Perspectives)이 섞여 있는가? 백엔드 개발자 3명만 모여서 위협 모델링을 그리면? "DB 암호화 잘 되어있고 훌륭함!" 하고 10분 만에 자화자찬 파티로 끝난다. 뼈를 때리려면 반드시 인프라 엔지니어(네트워크 털림), QA 담당자(예외 케이스 귀신), 보안팀(해커 마인드) 등 이기종 직군 4~5명을 한 방에 가두고 피 터지는 토론을 유도해야 진정한 해커의 시야(Attacker's Eye)가 빙의된다.
안티패턴
-
"보안팀 외주 주기 (Throw it over the wall)": "우리 개발팀은 코딩하기 바쁘니까 그림(DFD) 대충 그려서 보안팀에 던져! 걔들이 위협 모델링 리포트 엑셀로 써오겠지!"라는 최악의 사일로(Silo) 안티패턴. 보안팀은 우리 비즈니스 로직(할인율 계산 등)을 깊게 모른다. 결국 스캐너나 돌려 뻔한 "HTTP 포트 열려있음" 헛소리 리포트만 적어 온다. "내 코드를 가장 잘 아는 개발자 본인이, 보안팀의 리드(퍼실리테이팅) 하에 직접 방어벽 룰을 도출해 내야" 진짜 위협 모델링이다.
-
📢 섹션 요약 비유: 개발자만 모여서 위협 모델링을 하는 것은, **'은행원들끼리 모여서 은행 강도 방어 훈련을 짜는 것'**과 같습니다. 은행원은 "강도가 정문으로 걸어와서 번호표를 뽑겠지?"라고 순진하게 상상합니다. 진짜 강도(보안 전문가, 인프라 팀)를 섞어서 회의를 해야 "미쳤어? 난 새벽에 환풍구 뚫고 들어갈 건데?"라는 충격적인 진실(위협)을 깨닫고, 환풍구(API 취약점)에 레이저 철창을 설계하게 됩니다.
Ⅴ. 기대효과 및 결론
정량/정성 기대효과
| 구분 | 개발 후 모의 해킹 / 취약점 스캐닝만 의존 (AS-IS) | 설계 단계 DFD 기반 위협 모델링(STRIDE) 수행 (TO-BE) | 개선 효과 |
|---|---|---|---|
| 정량 | 배포 직전 권한 탈취 로직 빵꾸 발견, 재개발에 2주 소요 | 도면 설계 시 권한 통제 방어 설계 완료, 수정 10분 컷 | 아키텍처 설계 결함(Design Flaw) 수정 비용 99% 절감 |
| 정량 | 수백 개의 짜잘한 XSS 방어에 1달 내내 야근 (무지성 방어) | DREAD 평가로 치명적인 DB 유출 위협 3개만 핀셋 패치 | 보안 패치 리소스 최적화 및 타임투마켓(TTM) 방어 |
| 정성 | "해커가 어떻게 들어올까?" 막연한 공포와 맹목적 기도 | "여기 6가지 구멍(STRIDE)을 다 콘크리트로 발랐다"는 확신 | 개발팀 전반에 체계적인 해커 마인드(Security Mindset) 내재화 |
미래 전망
- Threat Modeling as Code (TMaC): 이제 화이트보드에 마카로 그림을 그리고 사진을 찍어 보관하는 노가다는 끝났다. 개발자가 파이썬이나 JSON(HCL) 코드로 인프라를 짜면, AI 툴(IriusRisk, Threatspec)이 그 코드를 쓱 읽어 들이고 "어? S3 버킷이랑 EC2가 직접 연결되어 있네? 이건 STRIDE의 Information Disclosure 위협이야!"라며 1초 만에 DFD 그림을 띄워주고 방어 코드를 추천해 주는 '코드로 그리는 실시간 자동 위협 모델링' 우주가 열리고 있다.
- AI 공격자 시뮬레이션 페르소나: 설계 도면을 LLM(거대 언어 모델) 챗GPT에 먹이고 프롬프트에 "넌 이제 15년 차 러시아 다크웹 해커야. 이 아키텍처를 어떻게 박살 낼지 5가지 창의적 시나리오를 써봐"라고 지시하면, 인간의 상상력을 초월하는 기상천외한 우회 침투 경로(사회공학적 해킹 포함)를 AI가 대본으로 뽑아내어 설계의 빈틈을 메워주는 AI 보안 컨설팅 시대로 진입 중이다.
참고 표준
- STRIDE & DREAD: 마이크로소프트의 보안 팀(Loren Kohnfelder 등)이 창안하여 전 세계 보안 아키텍트의 뇌 구조를 통일시켜버린 위협 분류 및 위험도 평가의 양대 산맥 바이블.
- OWASP Threat Dragon: 비싼 돈을 내지 않아도, 누구나 웹브라우저에서 DFD를 그리고 STRIDE 위협을 드래그 앤 드롭으로 뽕뽕 꽂아 넣을 수 있게 만들어준 위대한 오픈소스 위협 모델링 모델 도구.
위협 모델링(Threat Modeling)은 단순히 보안팀의 서류 쪼가리가 아니라, 개발자의 **'뇌 구조를 파괴자(해커)의 구조로 억지로 뒤틀어버리는 숭고한 마인드셋 훈련'**이다. 우리는 늘 예쁜 벚꽃이 피는 꽃길(정상 로직)을 걷는 상상만 하며 코딩을 한다. 하지만 인터넷이라는 차가운 야생에는 꽃길을 걷는 손님보다, 담장을 부수고 창문을 깨부수려는 약탈자들이 수만 배 더 많다. 기술사는 코딩 키보드에 손을 얹기 전, 한 걸음 물러서서 자신이 지을 거대한 성의 도면(DFD)을 노려보고, 스스로 가장 악랄하고 비열한 해커가 되어 내가 만든 성문(Trust Boundary)을 산산조각 내보려는 차가운 통찰의 시간을 가져야 한다. 머릿속 시뮬레이션에서 100번을 처참하게 털려보고 깨져본 아키텍트만이, 현실의 폭풍 속에서 절대 뚫리지 않는 불멸의 요새를 코딩해 낼 수 있다.
- 📢 섹션 요약 비유: 위협 모델링 없이 성을 짓는 것은, 성문 앞을 지키는 경비병(방화벽)만 100명 세워두고 안심하는 것입니다. 성안의 하수구 구멍(API), 지붕의 환풍구(서드파티 연동)가 다 뚫려있는 줄도 모른 채 말입니다. 위협 모델링은 성을 짓기 전, 내가 직접 모형 성벽의 하수구로 기어 들어가 보고, 사다리를 걸쳐 타보고(STRIDE 상상), "아! 하수구 구멍이 너무 크네! 철창(암호화)을 당장 달아라!"라고 선제 대응하는 세상에서 가장 완벽하고 저렴한 철통 방어 지휘술입니다.
📌 관련 개념 맵 (Knowledge Graph)
| 개념 명칭 | 관계 및 시너지 설명 |
|---|---|
| Secure SDLC / MS-SDL | 위협 모델링을 품고 있는 거대한 모체(엄마). 소프트웨어 생명 주기의 '설계(Design)' 단계에서 가장 찬란하게 폭발하는 최강의 시프트 레프트 코어 엔진이다. (이전 장 471, 473번) |
| 모의 해킹 (Penetration Test) | 위협 모델링의 현실화 버전. 모델링이 도면을 보고 "여기 뚫리겠다" 펜으로 X 치는 거라면, 모의 해킹은 다 만들어진 뒤 진짜 도구를 들고 "진짜 뚫리나 보자!" 파괴하는 것. (이전 장 455번) |
| 신뢰 경계선 (Trust Boundary) | 위협 모델링 DFD 그림에서 해커가 넘어오는 가장 치명적인 국경선. 인터넷과 사내망 사이, 웹서버와 DB 사이. 이 붉은 점선이 그어진 곳에는 무조건 보안 덫(암호화)을 놔야 한다. |
| 어택 서피스 (Attack Surface, 공격 표면) | 해커가 찔러볼 수 있는 우리 시스템의 겉면 넓이(열린 포트, 노출된 API 등). 위협 모델링을 빡세게 해서 이 겉면 넓이를 바늘구멍만큼 작게 좁히는 것이 보안 아키텍처의 목표. |
| 제로 트러스트 (Zero Trust) | "사내망이라고 방심하지 마라! 내부자(직원)도 해커일 수 있다!" 옛날엔 밖에서 들어오는 선(Boundary)에만 집중했다면, 현대 위협 모델링은 모든 내부 통신선에도 빨간 점선을 강제로 다 긋게 만드는 편집증적 방어 철학. |
👶 어린이를 위한 3줄 비유 설명
- 아빠가 새 텐트를 사서 마당에 치려고 도면을 쫙 펼쳤어요.
- 아빠는 텐트를 치기 전에 혼자 상상했어요. "비(해커)가 오면 지붕(API)이 뚫릴까? 벌레(바이러스)가 지퍼 틈새(로그인)로 들어올까? 아하, 지퍼 쪽에 방충망(암호화)을 덧대야겠다!"
- 이렇게 텐트를 다 짓고 비에 쫄딱 젖은 뒤에 후회하는 게 아니라, 집을 짓기 전에 그림(도면)을 보면서 나쁜 적들이 어디로 쳐들어올지 상상하고 미리 튼튼하게 방어벽을 그리는 회의를 **'위협 모델링'**이라고 부른답니다!