공부해요/소프트웨어보안

위협 모델링

yenas0 2025. 3. 23. 16:20
반응형

위협 모델링이란?

시스템이 공격환경에 계속 노출되어 악용될 가능성이 높은데 이를 식별하고 해결하기 위한것

application의 보안에 영향을 미치는 모든 정보를 "구조적으로" 표현한다..

 

위협 모델링 절차

0단계: security requirements 정의

1단계: Creating an application diagram(시스템의 요구 사항 캡처 및 데이터 흐름 다이어그램 만들기)

2단계: 위협 identifying

3단계: mitigating threats(보안 제어의 올바른 조합을 사용해 문제에 접근하는 방법 결정)

4단계 validating that threats have been mitigated(확인하는 과정)

 

https://learn.microsoft.com/ko-kr/azure/security/develop/threat-modeling-tool

 

Microsoft Threat Modeling Tool 개요 - Azure

Microsoft Threat Modeling Tool에 대한 개요 페이지로, 도구 시작에 관련된 정보 및 위협 모델링 프로세스를 포함합니다.

learn.microsoft.com

여기서 MS Threat modeling tool 다운 가능..

 

1단계. Creating an application diagram

목표: 다이어그램 만들기, 보안 구성관련된 모든 가정을 열거, 시스템 작동 방식의 분명한 정의 개발, 시스템에서 사용되는 모든 서비스 나열

- 여기서는 시스템에 대한 질문을 하게된다. (해당 프로세스가 분명히 정의 되는지?, 시스템에서 인증서를 어떻게 처리하는지? 통신이 어떻게 암호화되는지? 등등)

 

Data Flow Diagram

위에 링크 툴 다운받아서 하면 이런식으로 다이어그램을 그릴 수 있다.

요소 도형 정의
프로세스
입력을 수신 또는 수정하거나 출력으로 리디렉션하는 작업
데이터 저장소
영구 및 임시 데이터 스토리지
외부 엔터티
직접 제어할 수 없는 작업
데이터 흐름
프로세스, 데이터 저장소 및 외부 엔터티 간 데이터 이동
트러스트 경계
인터넷을 사용하여 보호된 회사 네트워크에 액세스하는 사용자와 같이 시스템을 통해 데이터가 흐를 대 트러스트 영역이 변경됨.

 

어떤 정보와 계층이 DFD에 포함되어야 하는가?

요인 설명
빌드 중인 시스템 유형 중요한 데이터를 처리하지 않거나 내부적으로만 사용되는 시스템은 외부 연결 시스템만큼 컨텍스트가 필요하지 않을 수 있음
보안 팀이 제공해야 하는 컨텍스트 보안 팀은 위협 모델에서 검색할 항목을 정확히 앎
보안 팀에 문의해 필요한 수준 계층을 확인
수준계층 제목 설명
0 시스템 시스템의 시작점. 데이터 흐름 다이어그램에는 주요 시스템 파트가 작동하고 상호 작용하는 방식을 이해할 수 있도록 충분한 컨텍스트까지 포함
1 프로세스 데이터 흐름 다이어그램을 사용해 시스템의 각 부분에 대한 데이터 흐름 다이어그램에 집중
2 하위 프로세스 시스템 파트의 각 하위 부분에 대한 데이터 흐름 다이어그램에 초점을 맞춤
3 하위 수준 위험한 시스템과 커널 수준 시스템에 초점을 맞춤.

 

 

2단계. Identifying threats - STRIDE

지난주에 한 stride.. 중요하다한거..

위협 특성 정의
Spoofing Authenticity 공격자가 다른 사람 또는 사물을 가장
Tampering Integrity 공격자가 권한 부여 없이 데이터를 변경
Repudiation Non-requdiability 공격자가 어떤 작업을 수행하지 않았다고 주장
Information disclosure Confidentiality 공격자가 볼 권한이 없는 데이터를 열람
Denial of service Availability 공격자가 시스템 작동을 중단
Elevation of privilege Authorization 공격자가 데이터에 무단으로 액세스

 

3단계. Mitigating threats

목표: 우선 순위 지정 프레임워크 또는 보안 버그 바에 따라 우선 순위를 측정함

https://learn.microsoft.com/en-us/security/engineering/security-bug-bar-sample

 

SDL Security Bug Bar (Sample)

This document outlines the basic criteria to consider when creating security processes, and serves as an example of a security bug bar as recommended within the SDL practices information found at https://microsoft.com/sdl.

learn.microsoft.com

 

 

https://learn.microsoft.com/ko-kr/security/engineering/security-bug-bar-sample

 

SDL Security Bug Bar(샘플)

이 문서에서는 보안 프로세스를 만들 때 고려해야 할 기본 조건을 간략하게 설명하며, 다음에서 찾은 SDL 사례 정보 내에서 권장되는 보안 버그 표시줄의 예제로 사용됩니다. https://microsoft.com/sdl.

learn.microsoft.com

위에는 버그 바..

 

 

방법 정리

- 위협 추적 워크플로 설정: 위협 우선순위 지정

변수 설명
영향 STRIDE 범주를 사용하여 영향을 할당한다.
심각도 보안 버그 바 또는 우선 순위지정 프레임워크를 사용하여 최악의 사례 시나리오를 통해 심각도를 할당 
위험 보안 컨트롤 효과 및 구현 비용 계산 사용

 

- 보안 제어 효율성 및 비용 평가

위협 보안 제어
스푸핑 인증
변조 무결성
부인 부인 방지
정보공개  기밀성
서비스 거부  사용 가용성
권한 상승 권한 부여

 

- 보안 제어 기능

기능 설명
예방 위협의 가능성 또는 영향을 줄임
탐지 공격 발생 시점에 식별
수정 시스템이 지속적인 공격에 대응하는 방식을 제어
복구 공격받은 시스템을 복구
억제 공격자가 시스템에 접근하지 못하게 함

 

- 보안 제어 세부 정보 추가 및 해결 방법

해결방법 설명
감소 버그 수정 및 재디자인을 통해 위협 영향 및 심각도를 줄이거나 해소
이전 다른 시스템 또는 팀에 문제를 할당 
회피 문제가 포함된 시스템의 일부 잘라냄
수락 해결없이 위험을 허용. 그냥 냅두는거

 

 

4단계. Validating that threats have been mitigated

목표: 시스템이 requirements 다 충족하는 지를 확인

보고서 공유, 회의, 확인 이런걸 한다.

 

요구사항을 확인하고 기본값을 설정하고, 확인을 실행함

 

확인실행에는 수동 확인과 자동확인

수동확인: 코드 검토, 침투 테스트

자동확인: 자동 코드 스캐너

 

 

나머지는 툴소개라 패스..

반응형

'공부해요 > 소프트웨어보안' 카테고리의 다른 글

SW 개발 방법론/ 시스템 모델링  (0) 2025.03.31
3주차 퀴즈  (0) 2025.03.23
2주차 퀴즈  (0) 2025.03.17
보안 SW 요구사항  (0) 2025.03.17
보안 SW 프로세스  (0) 2025.03.17