Replicated

위협 모델링 - DFD, STRIDE, DREAD 본문

스마트카 소프트웨어 보안

위협 모델링 - DFD, STRIDE, DREAD

라구넹 2025. 4. 13. 03:26

배경정보수집(DFD)

 

Data Flow Diagram

추상적인 수준에서 전체 구성 요소, 제품, 시스템의 데이터 흐름을 표시

 

레벨을 나눠 그리기도 함. Level 0 -> 1 -> 2

이건 레벨 0

 

더 자세하기 그려지면 이렇게 됨

 

다이어그램의 완성도와 일관성을 검증하려면 데이터의 출처가 잘 정의되었는지 확인하고,

데이터 유실을 피하고 데이터가 항상 프로세스를 통과하는지 체크해야 함

 


 

위협 모델 만들기 및 분석 (STRIDE)

Spoofing (위장)

Tampering (데이터 변조)

Repudiation (부인)

Information disclosure (정보 유출)

Denial of service (서비스 거부)

Elevation of privilege (권한 상승)

 

시스템에서 발생할 수 있는 위협(취약점을 이용한 공격) 사례를 도출하는 과정

스트라이드를 이용하여 6가지 유형의 위협을 식별, DFD에 각각 가져다 붙이기 가능

 

Spoofing

- 위장

- 거짓된 identity를 이용해 시스템 접근 권한을 취득하는 행위

 

Tampering

- 데이터 변조

- 불법적으로 보호 대상 데이터를 수정하는 행위

 

Repudiation

- 부인

- 사용자가 자신이 수행한 특정 액션이나 트랜잭션을 부인하는 행위

 

Information disclosure

- 정보 유출 

- 유출되지 말아야 할 개인정보나 중요 데이터가 외부로 유출되는 위협

 

Denial of service

- 서비스 거부

- 시스템 또는 애플리케이션이 정상적으로 수행되지 않도록 방해하는 행위

 

Elevation of privilege

- 권한 상승

- 비정상적인 방법을 사용하여 정상적으로 할당된 권한보다 더 많은 권한을 획득하는 것

 

대응 방안

위장 -> 인증 : 적절한 인증(패스워드, 비밀키, 지문), 쿠키를 이용한 인증, PKI, 전자서명

데이터 변조 -> 무결성 : 해쉬, MAC, 전자 서명

부인 -> 부인방지 : 전자서명, 감사 로그

정보 유출 -> 기밀성 : privacy-enhanced 프로토콜, 암호화

서비스 거부 -> 가용성 : ACLs, 접근 필터링, QoS, Throtting

권한 상승 -> 인가 : 최소 권한, Group of role membership, Input validation

 

일반적이고 표준화된 완화 기술 사용 권고

완화는 전문가의 영역임

 


 

위험도 계산(DREAD)

- 위험도를 계산하기 위한 스코어링 정책

- 5가지 항목에 대해 위험도 측정

- DREAD 등급 체계

 

Damage potential (예상 피해) - 얼마나 위험한가?

Reproducibility (재현 확률) - 얼마나 쉽게 재현 가능한가?

Exploitability (공격용이도) - 공격하기 얼마나 쉬운가?

Affected users (영향을 받는 사용자) - 얼마나 많은 사용자들이 영향을 받는가?

Discoverability (발견용이성) - 얼마나 쉽게 취약점을 찾을 수 있는가?

 

 

 

DFD 작성 -> STRIDE 위협 식별 -> DREAD 위험도 계산