위협 모델링이란?
시스템이 공격환경에 계속 노출되어 악용될 가능성이 높은데 이를 식별하고 해결하기 위한것
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 |