보안

위협 모델링

hjjummy 2025. 4. 23. 23:37

🔸 1. 애플리케이션 분해 (Decompose the Application)

          위협 모델링 절차 중 첫번째 단계인 애플리케이션 분해

목적

:애플리케이션을 이해하고, 외부 엔티티와의 상호작용 방식을 이해한다.

 

-> 위협모델링 결과 문서에 포함된다.

-> DFDs (application data diagram) 생성에 사용된다.

 

결과물(구조)

  1. 위협 모델 정보 (Threat Model Info)
  2. 외부 종속성 (External Dependencies)
  3. 진입점 (Entry Points)
  4. 종료 지점 (Exit Points)
  5. 자산 (Assets)
  6. 신뢰 수준 (Trust Levels)
  7. 데이터 흐름 다이어그램 (DFD)

[1] 위협 모델 정보

애플리케이션 이름 분석 대상 시스템의 명칭
버전 현재 분석 중인 시스템의 버전
설명 시스템 기능, 사용자 역할 등
문서 소유자, 참여자, 검토자 위협 모델링에 참여한 인원 명시

[2] 외부 종속성

  • 시스템 외부의 구성요소로부터의 영향
  • 조직의 통제 범위 내에 있더라도 개발팀의 통제 범위에 없을 경우 외부종속성임
  • 예: 웹서버(Apache), DB서버(MySQL), 방화벽, TLS 프로토콜 등
  • 각 종속 항목에 대해 ID, 설명 제공

[3] 진입점 (Entry Points)

  • 공격자가 시스템에 접근 가능한 지점 (공격은 진입점이 반드시 존재해야함)
  • 계층 구조로 표현 가능 (예: 웹 애플리케이션은 각 웹페이지에 여러 진입점 포함 가능) 

 

    • 1 – HTTPS 포트
    • 1.1 – 도서관 메인 페이지
    • 1.2 – 로그인 페이지
    • 1.2.1 – 로그인 기능

 

  • 데이터가 시스템에 들어오는 위치
  • 항목: 식별ID, 이름, 설명, 요구 신뢰 수준

[4] 종료 지점 (Exit Points)

  • 시스템의 데이터 출력 위치
  • 클라이언트 사이드 공격 식별에 유용: XSS, 정보 유출 등 공격 탐지에 중요
  • 예: 로그인 실패 시 사용자에게 반환되는 오류 메시지

 

  • 진입점 위협과 밀접하게 연결됨.
    • 예시:
      • 로그인 실패 시 보여지는 오류 메시지(username not found)가 계정수집에 악용될 수 있음.
      • SQL 에러 메시지는 SQL 인젝션 공격의 실마리를 제공할 수 있음.
    • → 따라서 오류 메시지의 형식도 위협 요소가 됨.

[5] 자산 (Assets)

  • 공격자의 관심 대상이며 보호가 필요한 항목
  • 물리적 자산: 사용자 정보, 로그인 자격 증명, DB 접속 권한
  • 추상적 자산: 시스템 가용성, 조직의 평판
  • 포함항목 : 식별자ID, 이름, 설명, 신뢰수준

자산식별이란?

자산 식별(Asset Identification)이란, 정보 시스템이나 애플리케이션 내에서 보호해야 할 대상(자산)을 찾고 분류하는 과정을 의미

 

보안 관점에서 “자산”은 공격자 입장에서 가치가 있는 것이며, 위협 모델링의 출발점이 되는 핵심 개념

 

[진입점] 1.2.1 로그인 기능
        │
        ▼
[자산] 1.1 사용자 로그인 자격 증명
        │
        ├─ 위협: Spoofing (사용자 위장 시도)
        │         └─ 대응: 강력한 인증, 계정 잠금, 캡차
        │
        ├─ 위협: Repudiation (로그인 행위 부인)
        │         └─ 대응: 감사 로그, 타임스탬프
        │
        └─ 위협: Elevation of Privilege (일반 사용자 → 관리자 권한 탈취)
                  └─ 대응: 최소 권한 원칙, RBAC

 

  • 진입점 1.2.1은 "로그인 기능"
  • 이 진입점에서 보호해야 할 자산은 "로그인 자격 증명"
  • 이 자산과 관련된 주요 위협은 STRIDE의 Spoofing, Repudiation, EoP이며
  • 각 위협에 대응하는 보안 통제까지 연결됨

 

 

 

▶  자산 예시

ID 이름 설명 신뢰 수준 예시
1.1 사용자 로그인 정보 로그인 자격 증명 사서, DB 관리자 등
2.3 SQL 실행 능력 DB 검색 기능 DB 읽기 사용자
3.4 감사 로그 접근 권한 활동 로그 확인 웹사이트 관리자 등

[6] 신뢰 수준 (Trust Levels)

  • 애플리케이션이 각 외부 엔티티(사용자/프로세스 등)에 부여하는 접근 권한(엑세스 권한)
  • 진입점, 자산과 상호참조 ->진입점에 필요한 액세스 권한, 각 자산과 상호작용하는데 필요한 권한을 정의

 

  • 포함항목 : 식별값ID, 이름 , 설명

데이터 흐름 다이어그램 (DFD)

  • 애플리케이션이 데이터 처리하는 방법을 시각적으로 표현함으로써 애플리케션 이해도 증가

 

  • 심볼:
    • 외부 엔티티  :진입점을 통해 애플리케이션과 상호작용
    • 프로세스 :데이터 처리 작업을  표현
    • 다중 프로세스 :하위 프러세스로 분리될 수 있음
    • 데이터 저장소 : 데이터 수정x , 오직 저장만 함
    • 데이터 흐름
    • 권한 경계(신뢰경계): 신뢰 수준 변화가 발생하는 지점 , 신뢰수준 변경되는 모든 위치 보여줌

 

▶ DFD 예시

  • 로그인 요청 → AuthenticateUser() → DB 질의 → 로그인 응답

사용자 로그인 데이터흐름 DFD


🔸  2. 위협 분류 방식 (Threat Categorization)

위협 모델링 절차 중 두 번째 단계는 위협 식별 및 우선순위 지정이다.

위협을 식별하기 위한 위협분류 방식이 2가지 관점으로 존재한다.

◼ STRIDE: 공격자 관점 분류

각 STRIDE 요소는 특정 보안 목표와 대응책과 1:1 매핑됨

유형 설명 보안목표 대응예시 
Spoofing 사용자 위장 인증 (Authentication) 로그인 절파 강화, 다중 인증
Tampering 무단 데이터 변경 무결성 (Integrity) 해시, 디지털 서명
Repudiation 행위 부인 부인방지 (Non-repudiation) 감사로그, 타임스탬프
Information Disclosure 정보 유출 기밀성 (Confidentiality) 접근제어, 암호화
Denial of Service 서비스 거부 가용성 (Availability) 트래픽제한, Qos
Elevation of Privilege 권한 상승 인가 (Authorization) RBAC, 최소권한 정

◼ ASF (Application Security Framework): 방어적 관점 분류

분류예시 대응책
인증(Authentication) 비밀번호 암호화 저장, 강력한 패스워드 정책
인가(Authorization) 최소 권한, 역할 기반 접근제어
데이터 보호 암호화, 키 관리, HMAC 사용
설정 관리 최소 권한 계정, 구성 접근 제어
예외 관리 민감 정보가 포함되지 않도록 오류 메시지 처리
세션 관리 세션 만료 설정, 쿠키 암호화
로깅/감사 비밀번호 로그 제외, 감사 추적 무결성 보장

◼ DREAD: 위험 평가 기반 순위 지정

요소설명
Damage 피해 정도
Reproducibility 재현 가능성
Exploitability 악용 난이도
Affected Users 영향 범위
Discoverability 발견 가능성

▶ 예시:

  • 정보 유출 공격 DREAD 점수: (8+10+7+10+10) / 5 = 9점 (High Risk)

🔸  3. 위협 순위화 및 완화 전략

◼ 위협 순위 결정

  • 위험도 = 가능성 × 영향
  • 정성적 모델 (High / Medium / Low) 사용 가능

◼ 위협 상태 구분

  1. 완화되지 않은 위협: 대응책 없음
  2. 부분 완화된 위협: 제한적 대응
  3. 완전히 완화된 위협: 적절한 보안 조치 완료

🔸  4. 대응책 및 완화 예시

▶ STRIDE 기반 대응 예시


 

Spoofing 인증 절차 강화, 비밀번호 보호
Tampering 디지털 서명, 무결성 검증
Repudiation 감사 로그, 타임스탬프
Info Disclosure 인가 검증, 암호화
DoS 인증 및 인가 제한, 트래픽 조절
Privilege Escalation 최소 권한 원칙 적용

🔸  정리 요약

애플리케이션 분해 위협 모델 문서, 외부 종속성, 진입/종료점, 자산, 신뢰 수준, DFD
자산 식별 보호가 필요한 대상 파악 (정보, 권한, 기능 등)
위협 분류 STRIDE (공격자 중심), ASF (보안 통제 중심)
위험 평가 DREAD 점수 또는 정성 평가
대응 전략 완화(Mitigate), 수용(Accept), 제거(Eliminate)