웹 위협 모델

W3C 그룹 노트 초안,

이 문서에 대한 자세한 정보
이 버전:
https://www.w3.org/TR/2026/DNOTE-threat-model-web-20260617/
최신 게시 버전:
https://www.w3.org/TR/threat-model-web/
편집자 초안:
https://w3c.github.io/threat-model-web/
이전 버전:
이력:
https://www.w3.org/standards/history/threat-model-web/
피드백:
public-security@w3.org 제목 줄 “[threat-model-web] … 메시지 주제 …” 사용 (아카이브)
GitHub
편집자:
(W3C)
(Legendary Requirements)
(FBK)

초록

이 문서는 웹을 위한 위협 모델을 설명하며, 웹 보안 모델을 포함하고, 아직 전체 웹 플랫폼에서 달성되지는 않았지만 새롭거나 변경된 명세 검토에 계속 적용될 목표를 포함할 수 있다.

이 문서의 상태

이 절은 게시 시점의 이 문서의 상태를 설명한다. 현재 W3C 게시물 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있다.

이 그룹 노트 초안은 Security Interest Group의 승인을 받았지만, W3C 자체나 그 회원들의 승인을 받은 것은 아니다.

이 명세에 대한 피드백을 제공하려면 GitHub를 사용하는 것이 권장되는 방법이다. 이슈를 제출하기 위해 GitHub 계정을 무료로 만들 수 있다. 제출된 이슈 목록과 이전 메일링 리스트 public-security@w3.org (아카이브) 논의의 아카이브는 공개적으로 이용할 수 있다.

이 문서는 Security Interest Group에 의해 노트 트랙을 사용하여 그룹 노트 초안으로 게시되었다.

그룹 초안 노트는 W3C 또는 그 회원들의 승인을 받은 것이 아니다.

이 문서는 초안 문서이며 언제든지 다른 문서로 갱신, 대체 또는 폐기될 수 있다. 이 문서를 진행 중인 작업 이외의 것으로 인용하는 것은 부적절하다.

W3C 특허 정책은 이 문서에 대해 어떠한 라이선스 요구사항이나 약속도 부과하지 않는다.

이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받는다.

1. 우리는 무엇을 만들고 있는가?

웹 플랫폼은 웹을 가능하게 하는 개방형 로열티 프리 기술들의 모음이다. 사용자는 웹 브라우저나 사용자를 대신해 동작하는 다른 에이전트 같은 사용자 에이전트를 통해 웹사이트와 상호작용한다.

웹사이트는 일련의 파일 형식을 포함한다. 글꼴, 이미지, 멀티미디어 같은 수동 콘텐츠와 HTML, JavaScript, WebAssembly 같은 능동 콘텐츠가 서버에서 사용자의 기기로 전송되고 웹 브라우저에 의해 해석된다. 수동 콘텐츠는 디코딩되고 렌더링되며, 능동 콘텐츠는 그 출처의 권한으로 실행되고 웹의 주요 공격 표면을 구성한다. 이 구분은 유용하지만 절대적이지는 않다. 예를 들어 삽입된 CSS도 선택자 매칭과 리소스 로드를 사용해 페이지 상태를 추론하거나 유출할 때 공격 표면이 될 수 있다 [xsleaks-css-injection].

따라서 웹사이트는 능동 실행 환경이다. 웹 서버의 응답은 실행 가능한 스크립트, 사용자 인터페이스 정의, 서드파티 리소스에 대한 참조, 그리고 사용자 에이전트가 사용자 입력을 읽고, 인터페이스를 갱신하고, Web API를 호출하고, 로컬 상태를 저장하거나 가져오고, 기반 플랫폼과 상호작용하고, 원격 서비스와 통신하도록 하는 명령을 포함할 수 있다. 그래서 웹 브라우저는 이 맥락에서 중요한 행위자이다. 웹 브라우저는 신뢰할 수 없고 네트워크를 통해 접근한 웹사이트의 코드를 사용자의 기기에서 실행한다.

이러한 복잡성 때문에 이 문서는 웹에 대한 하나의 완전한 위협 모델을 정의하려고 시도하지 않는다. 웹은 계층화되고 진화하는 생태계이므로, 단일 모델은 개발과 검토 작업을 안내하기에는 너무 추상적이거나, 읽기 쉽고 유용한 상태를 유지하기에는 너무 상세할 것이다. 이는 Shostack의 위협 모델링 작업에서의 실용적 틀을 따른다. 모델은 무엇을 만들고 있는지와 무엇이 잘못될 수 있는지를 추론하기 위해 사용되는 추상화이며, 서로 다른 충실도 수준에서 다른 모델들이 유용할 수 있다 [shostack-threat-modeling]. 따라서 이 문서는 관련 위협 모델들의 모음으로 동작한다.

1.1. 고수준 웹 위협 모델

고수준 웹 위협 모델은 이 문서에서 가장 추상적인 모델이다. 이 모델은 사용자 에이전트를 단일 프로세스로 취급하고, 매우 높은 수준에서 추론하기 위한 주요 요소, 흐름, 경계만 설명한다.

웹 플랫폼을 위한 최소 데이터 흐름 다이어그램
고수준 웹 플랫폼 모델.

1.1.1. 요소 사전

ID 이름 유형 설명
E0 사용자 외부 엔터티 사용자 에이전트를 통해 웹과 상호작용하는 인간 사용자.
E1 원격 웹 출처 외부 엔터티 HTML, CSS, JavaScript, WebAssembly, 미디어, API, 신원 엔드포인트, 기타 웹 리소스를 제공하는 원격 출처.
E2 네트워크 인프라 외부 엔터티 원격 콘텐츠를 가져오는 데 사용되는 로컬 네트워크, 인터넷 라우팅, 이름 확인, 전송 프로토콜 및 기타 네트워크 서비스.
E3 운영 체제 / 기기 / 플랫폼 외부 엔터티 웹 플랫폼 경계 밖에 있는 파일시스템, 클립보드, 카메라, 마이크, GPU, 센서, 인증기, 하드웨어 기반 기능 및 기타 플랫폼 서비스.
P0 사용자 에이전트 / 웹 브라우저 프로세스 사용자를 대신해 웹 콘텐츠를 가져오고, 해석하고, 실행하고, 중개하고, 저장하고, 렌더링하고, 표시하는 브라우저 또는 기타 사용자 에이전트.
S0 브라우저 관리 상태 데이터 저장소 쿠키, 캐시, 저장소, 권한, 사이트 설정, 세션 상태, 프로필 데이터, 자격 증명 참조 및 사용자 에이전트가 제어하거나 중개하는 기타 상태.
F0 사용자 상호작용 데이터 흐름 브라우저 UI, 렌더링된 콘텐츠, 프롬프트 및 기타 사용자 에이전트 표면을 통한 사용자 입력과 출력.
F1 웹 요청 / 응답 데이터 흐름 일반적으로 HTTP(S) 같은 네트워크 프로토콜을 통해 사용자 에이전트와 원격 웹 출처 사이에서 교환되는 요청과 응답.
F2 하위 리소스 및 서드파티 로드 데이터 흐름 웹 콘텐츠가 사용자 에이전트로 하여금 동일하거나 다른 출처에서 스크립트, 프레임, 미디어, 글꼴, API 또는 기타 리소스를 가져오게 하는 흐름.
F3 브라우저 상태 접근 데이터 흐름 사용자 에이전트와 브라우저 관리 상태 사이의 읽기와 쓰기.
F4 중개된 플랫폼 접근 데이터 흐름 운영 체제, 기기, 센서, 인증기, 파일시스템, 클립보드, 그래픽, 미디어 또는 기타 플랫폼 기능에 대한 브라우저 중개 접근.

1.1.2. 신뢰 경계

ID 이름 설명
B0 사용자 에이전트 경계 브라우저가 제어하는 동작을 외부 웹 출처, 네트워크, 사용자, 기반 플랫폼과 분리한다.
B1 웹 출처 경계 상호 신뢰하지 않는 출처들을 서로 분리한다.
B2 네트워크 경계 사용자 에이전트와 로컬 환경을 원격 네트워크 인프라와 원격 서비스로부터 분리한다.
B3 브라우저 상태 경계 브라우저 관리 상태를 웹 콘텐츠와 외부 행위자로부터 분리한다.
B4 운영 체제 / 기기 경계 웹 플랫폼 중개를 더 낮은 수준의 플랫폼 서비스와 기능으로부터 분리한다.

1.1.3. 웹 브라우저 위협 모델과의 관계

고수준 위협 모델은 의도적으로 대부분의 브라우저 내부 구조를 시야 밖에 둔다. 이는 검토 대상이 웹 플랫폼 전체일 때 유용하다. 즉 출처의 역할, 주요 행위자, 그리고 사용자, 웹 콘텐츠, 네트워크, 브라우저 관리 상태 및 기반 플랫폼 사이의 신뢰 경계를 이해하는 데 유용하다.

설계나 검토가 결정이 어디에서 강제되는지, 어떤 브라우저 구성요소가 상태를 유지하는지, 권한이 어떻게 중개되는지, 신뢰할 수 없는 콘텐츠가 어떻게 격리되는지, 또는 Web API가 운영 체제가 노출한 기능에 어떻게 도달하는지에 의존할 때는 그 수준만으로 충분하지 않다. 그런 경우 브라우저를 열어 보아야 한다. 아래의 웹 브라우저 위협 모델은 그 목적을 위해 P0을 확장한다.

1.2. 웹 브라우저 위협 모델

웹 브라우저 위협 모델은 현대 웹 브라우저에서 반복적으로 나타나는 아키텍처 역할을 개략적으로 설명한다.

웹 브라우저 위협 모델을 위한 데이터 흐름 다이어그램
웹 브라우저 위협 모델.

최소주의 웹 위협 모델에서처럼 브라우저를 단일 구성요소로 취급하는 대신, 이 추상화는 현대 브라우저가 서로 다른 권한, 상태에 대한 서로 다른 접근 권한, 신뢰할 수 없는 입력에 대한 서로 다른 노출을 가진 여러 프로세스에 책임을 분산하는 방식을 포착한다. 또한 출처 및 사이트 기반 격리 전략을 포함해 브라우저가 웹 보안 모델을 강제하는 방식과, 외부 웹 서버의 입력을 처리할 때 자신을 보호하는 방식을 포착한다 [threat-modeling-guide].

이 두 관심사는 관련되어 있지만 동일하지는 않다. 콘텐츠 프로세스는 웹 콘텐츠가 신뢰할 수 없기 때문만이 아니라, 브라우저가 동일 출처 격리와 브라우저와 OS/플랫폼 사이의 분리를 보존해야 하기 때문에도 격리된다. 실제로 구현이 두 목적을 모두 지원하기 위해 같은 프로세스 아키텍처를 사용하더라도, 이들은 구별되는 신뢰 경계이다.

각 웹 브라우저마다 구현 세부사항은 다르다. 그럼에도 공통 구조가 나타난다.

1.2.1. 권한 있는 브라우저 프로세스

현대 브라우저에는 브라우저 UI, 탐색 제어, 프로세스 관리, 정책 강제, 권한 중개 및 민감한 로컬 리소스에 대한 접근 중개를 담당하는 높은 권한의 제어 구성요소가 포함된다. Chromium은 이를 Browser process라고 부른다. WebKit은 UI process라고 부른다. Firefox는 Parent process라고 부른다 [chromium-multiprocess-architecture] [webkit2-architecture-overview] [firefox-process-model].

이 구성요소는 로컬 브라우저 아키텍처에서 주요 신뢰 앵커로 취급해야 한다. 브라우저 관리 정책이 흔히 강제되고 사용자에게 보이는 중개가 일반적으로 발생하는 곳이다. 위협 모델링 목적에서 이는 중요하다. 결정의 보안 영향은 부분적으로 그 결정이 어디에서 이루어지는지에 달려 있기 때문이다. 권한 있는 브라우저 구성요소에서 수행되는 검사는 샌드박스화된 콘텐츠 프로세스에서 수행되는 검사와 동등하지 않다.

웹 브라우저 위협 모델 다이어그램에서 이 다이어그램은 이 프로세스를 "Browser / UI / Parent Process"라고 지칭한다.

1.2.2. 샌드박스화된 웹 콘텐츠 실행 및 렌더링

웹 콘텐츠는 Chromium의 Renderer processes, WebKit의 WebContent processes, Firefox의 Content processes 같은 프로세스 안에서 실행되며, 각각은 신뢰할 수 없는 입력을 관리하는 데 구별되는 역할을 가진다 [chromium-multiprocess-architecture] [webkit2-architecture-overview] [firefox-process-model].

이러한 유형의 프로세스는 신뢰할 수 없는 웹 콘텐츠에 노출된다. 그 이유로 이들은 신뢰할 수 없는 입력을 파싱하고, 해석하고, 계산할 것으로 예상되는 실행 환경으로 모델링된다. 이들의 가치는 침해가 불가능하다고 가정하는 데 있는 것이 아니라, 침해가 발생했을 때 뒤따르는 결과를 제한하는 데 있다. 따라서 권한 있는 웹 브라우저 중개와 웹 콘텐츠 실행 사이의 분리는 웹 브라우저 모델의 중심 신뢰 경계 중 하나이다. 구현은 서로 관련 없는 웹 콘텐츠가 정상 사용 중이나 침해 이후에 서로 간섭할 수 없도록 출처 또는 사이트 기반 격리 전략을 사용할 수도 있지만, 정확한 격리 단위는 브라우저별로 다르다 [chromium-process-model-site-isolation] [webkit-site-isolation-notes] [firefox-process-model].

웹 브라우저 위협 모델 다이어그램에서 이 다이어그램은 이 프로세스를 "Content / Renderer / WebContent Process"라고 지칭한다.

1.2.3. 네트워크와 저장소

현대 웹 브라우저는 네트워킹과 영구 상태 관리도 분리하거나 적어도 중개한다. Chromium에서 이 역할은 Network Service, 프로필별 NetworkContext 객체 및 StoragePartition과 관련된다. WebKit에서는 Networking process가 네트워크 접근, 디스크 캐시, 그리고 Web Storage와 IndexedDB 같은 브라우저 관리 구조화 사이트 데이터를 처리한다. Firefox에서는 네트워킹과 영구 상태가 다르게 분산되어 있지만, 여전히 둘 사이에는 구분이 있다 [chromium-process-model-site-isolation] [webkit-storage-documentation] [firefox-process-model].

이 계층은 쿠키, 캐시, 파티션된 상태, 사이트 데이터 경계가 강제되는 곳인 경우가 많기 때문에 중요하다. 명세가 가져오기, 자격 증명, 저장소 접근 또는 응답 처리에 영향을 미친다면 이 계층과 상호작용할 가능성이 높다.

웹 브라우저 위협 모델 다이어그램에서 이 다이어그램은 이들을 각각 "Network / Socket / Networking Process""Data Store"라고 지칭한다.

1.2.4. 그래픽, 미디어 및 헬퍼

현대 웹 브라우저는 GPU, 코덱 및 기타 헬퍼 기능도 별도 프로세스로 분리한다. 이는 미디어 라이브러리가 흔한 공격 표면이기 때문이기도 하다. Chromium은 GPU process와 추가 헬퍼 프로세스 계열을 분리한다. Firefox는 GPU Process, RDD Process, GMP Process, Utility Process, Network (Socket) Process를 분리한다. WebKit도 관련 기능을 위한 프로세스를 분리한다 [inside-browser-part-1] [firefox-gecko-processes] [webkit2-architecture-overview].

위협 모델링 관점에서 이러한 헬퍼 프로세스는 신뢰할 수 없는 콘텐츠와 복잡한 구현 표면 사이의 경계에 위치하기 때문에 중요하다. 이는 일반적인 구현 패턴이기도 하다. 신뢰할 수 없는 실행이나 충돌이 발생하기 쉬운 기능을 권한 있는 제어 경로로부터 분리하여 결함이 발생했을 때 영향을 줄이는 것이다.

웹 브라우저 위협 모델 다이어그램에서 이 다이어그램은 이 프로세스를 "GPU / Compositor / Media helper Process"라고 지칭한다.

1.2.5. 요소 사전

1.2.5.1. 외부 엔터티
ID 이름 유형 설명
E1 사용자 외부 엔터티 브라우저 UI, 프롬프트, 탭 및 렌더링된 콘텐츠와 상호작용하는 인간 조작자.
E2 원격 웹 출처 외부 엔터티 HTML, CSS, JS, 미디어, API, 신원 엔드포인트 및 기타 웹 리소스를 제공하는 원격 서버.
E3 기반 네트워크 인프라 외부 엔터티 물리적 인프라, 네트워킹 프로토콜, 네트워크 세분화, Localhost.
E4 운영 체제 외부 엔터티 브라우저 제품 경계 밖에 있는 파일시스템, 클립보드, 카메라, 마이크, GPU 드라이버, 미디어 코덱 및 관련 플랫폼 서비스.
1.2.5.2. 위협 경계
ID 이름 유형 설명
B1 웹 브라우저 경계 위협 경계 브라우저가 제어하는 요소를 외부 엔터티 및 서비스와 분리한다.
B1.1 권한 있는 브라우저 프로세스 경계 위협 경계 권한 있는 브라우저 중개를 샌드박스화된 콘텐츠 실행과 분리한다.
B1.2 샌드박스화된 콘텐츠 실행 및 렌더링 경계 위협 경계 낮은 권한과 격리 제약 아래에서 웹 콘텐츠를 실행하는 책임이 있는 요소들을 서로 분리한다.
B1.3 웹 콘텐츠 실행 프로세스 경계 위협 경계 웹 콘텐츠 실행을 담당하는 프로세스들을 분리한다.
B1.4 헬퍼 서비스 경계 위협 경계 네트워킹, GPU, 미디어 또는 관련 유틸리티 기능 같은 헬퍼 역할을 가진 요소들을 브라우저 아키텍처의 나머지 부분과 분리한다.
B1.5 프로필 및 정책 상태 경계 위협 경계 브라우저 관리 프로필, 세션, 설정, 권한 메타데이터를 브라우저 아키텍처의 나머지 부분과 분리한다.
B1.6 사이트 상태 경계 위협 경계 브라우저 관리 쿠키, HTTP 캐시, 웹 저장소, IndexedDB 및 관련 사이트 데이터를 브라우저 아키텍처의 나머지 부분과 분리한다.
B1.7 샌드박스화된 권한 콘텐츠 실행 경계 위협 경계 내부 페이지나 확장을 위한 샌드박스화된 권한 실행 컨텍스트를 브라우저 아키텍처의 나머지 부분과 분리한다.
B1.8 로컬 네트워크 경계 위협 경계 사용자의 기기를 공용 인터넷과 분리한다.
B1.9 웹 경계 위협 경계 사용자 에이전트를 신뢰할 수 없는 웹 리소스와 분리한다.
B1.10 웹 출처 경계 위협 경계 각 웹 출처를 서로 분리한다.
1.2.5.3. 프로세스
ID 이름 유형 설명
P1 Browser / UI / Parent 프로세스 Chromium Browser process, WebKit UI process, Firefox Parent process. 권한 있는 브라우저 UI, 탐색, 창 관리, 프로세스 선택, 정책 강제, 권한 중개, 네트워킹 접근, 프로필 데이터, 쿠키 및 비밀번호 데이터베이스, 운영 체제 기능 같은 민감한 로컬 리소스에 대한 중개를 조정한다.
P2 Content / Renderer / WebContent 프로세스 Chromium Renderer, WebKit WebContent, Firefox Content process 계열. HTML, CSS, 글꼴, 이미지, 미디어, XML, SVG, 일반 텍스트 같은 웹 형식을 파싱하고 렌더링하며, DOM, 스크립트, 워커 및 JavaScript 엔진을 실행하고, 샌드박싱과 출처 또는 사이트 격리 제약 아래에서 웹 콘텐츠에 제한된 Web API 진입점을 노출한다.
P3 Network / Socket / Networking 프로세스 네트워크 중개 역할. Chromium에서는 Network Service 패턴과, WebKit에서는 Networking process와, Firefox에서는 Socket process 및 관련 브라우저 제어 네트워킹 책임과 대응된다. 브라우저가 중개하는 HTTP(S), 소켓, 캐싱 관련 네트워크 접근, 임의의 인터넷 위치에서 리소스를 가져오기 위한 요청을 처리한다.
P4 GPU / compositor / media helper(s) 프로세스 분리된 경우의 GPU, 컴포지터, 코덱, 미디어 및 기타 헬퍼 기능. 렌더링된 콘텐츠를 표시 출력으로 변환하고, 신뢰할 수 없거나 공격자가 제어하는 입력을 처리하는 복잡한 그래픽 또는 미디어 구현 표면을 격리한다.
P5 권한 있는 확장 / 내부 콘텐츠 프로세스 내부 페이지나 확장을 위한 선택적 브라우저 관리 권한 실행 컨텍스트. 기능을 추가하고, 브라우저 또는 웹 콘텐츠와 상호작용할 수 있으며, 설치 및 사용자 또는 브라우저 구성에 따라 상승된 권한이나 출처 범위 권한을 받을 수 있는 브라우저 확장과 내부 콘텐츠를 포함한다.
1.2.5.4. 데이터 저장소
ID 이름 유형 설명
S1 프로필 / 세션 / 정책 저장소 데이터 저장소 환경설정, 프로필 데이터, 브라우징 기록, 세션 복원 상태, 저장된 자격 증명 또는 비밀번호 데이터베이스 참조, 그리고 브라우저가 제어하는 수명과 접근 규칙을 가진 브라우저 관리 구성.
S2 권한 / 브라우저 메타데이터 데이터 저장소 웹 콘텐츠나 브라우저 관리 권한 콘텐츠가 강력한 기능을 활성화하거나 민감한 기능에 접근할 수 있는지를 결정하는 데 사용되는 사이트 설정, 권한 부여, 확장 권한 및 브라우저 제어 권한 메타데이터.
S3 쿠키 + HTTP 캐시 데이터 저장소 브라우저 관리 쿠키 저장소와 캐시된 응답. 쿠키는 세션, 개인화, 상태 관리를 지원하기 위해 적용 가능한 HTTP 요청과 함께 전송되며, 출처, 사이트, 프로필 또는 파티셔닝 규칙에 따라 범위가 지정될 수 있다.
S4 웹 저장소 / IndexedDB / 서비스 워커 데이터 데이터 저장소 일반적으로 출처 또는 파티션 범위인 영구 및 세션 범위 사이트 데이터. localStorage, sessionStorage, IndexedDB, 서비스 워커 데이터, 그리고 서로 다른 수명 및 용량 속성을 가진 관련 브라우저 관리 저장소 메커니즘을 포함한다.
1.2.5.5. 흐름
ID 이름 유형 설명
F1 사용자 상호작용 흐름 사용자와 권한 있는 브라우저 UI 사이의 입력과 출력.
F2 탐색 / 프레임 제어 / IPC 흐름 권한 있는 브라우저 로직과 콘텐츠 실행 사이의 제어 흐름.
F3 하위 리소스 가져오기 / 네트워크 중개 흐름 콘텐츠가 트리거한 브라우저 제어 네트워킹 접근 경로.
F4 HTTPS / DNS / 원격 데이터 흐름 원격 출처와의 요청 및 응답 교환.
F5 표시 / 미디어 / 합성 흐름 그래픽 및 미디어 헬퍼로 이어지는 렌더링 및 표시 경로.
F6 프로필/세션 읽기와 쓰기 흐름 프로필 범위 브라우저 상태에 대한 권한 있는 접근 경로.
F7 권한 / 브라우저 정책 흐름 브라우저 관리 권한 및 정책을 평가하고 강제하는 경로.
F8 쿠키 / 캐시 중개 흐름 브라우저 관리 쿠키 및 캐싱 상태에 대한 접근 경로.
F9 웹 저장소 경로 흐름 브라우저 관리 영구 사이트 저장소에 대한 접근 경로.
F10 중개된 OS 접근 흐름 브라우저 제어 구성요소에서 운영 체제 또는 기기 서비스로 이어지는 중개된 접근.

이 표기법은 W3C Threat Modeling Guide를 따른다. E는 외부 엔터티, P는 프로세스, F는 흐름, S는 데이터 저장소, C는 위협 컨테이너, B는 위협 경계를 나타낸다 [threat-modeling-guide].

1.3. 가정과 외부 의존성

시스템 모델은 브라우저의 직접 제어 밖에 있지만 브라우저의 보안 태세에 영향을 미치는 여러 외부 시스템, 서비스 및 책임에 의존한다.

1.4. 진입점과 공격 표면

진입점은 시스템 모델의 흐름과 경계를 기준으로 읽힌다. 진입점은 공격자가 시스템과 상호작용하거나 시스템에 데이터를 제공할 수 있는 인터페이스 또는 메커니즘이다. 웹 브라우저의 경우 여기에는 다음이 포함된다.

1.5. 보안 속성, 자산 및 불변 조건

웹 브라우저 위협 모델을 고려할 때 보호해야 하는 보안 관련 상태, 리소스 및 속성은 다양하며 사용자 보안과 개인정보 보호에 매우 중요하다.

다음 속성과 불변 조건은 위협 분석을 위한 프롬프트로 사용된다.

2. 무엇이 잘못될 수 있는가?

편집자 주: 이 절은 불완전하다.

2.1. 위협 분석 방법

이 위협 모델은 시스템 모델의 계층, 요소, 흐름, 저장소, 경계를 반복적으로 살펴보면서 웹 플랫폼을 분석한다. 모델의 각 관련 부분에 대해, 분석은 어떤 속성이 유지될 것으로 기대되는지, 무엇이 그 속성을 위반할 수 있는지, 누가 영향을 받을 수 있는지, 어떤 피해가 발생할 수 있는지를 묻는다. 위협 원천과 고수준 위협 계열은 프롬프트로 사용되지만, 분석은 위의 모델에 기반한다.

2.2. 위협 원천

2.3. 고수준 위협 색인

이는 웹 플랫폼 위협 모델을 위한 주요 위협 계열의 색인이며, 완전한 목록은 아니다.

3. 우리는 이에 대해 무엇을 할 것인가?

3.1. 보안 기능 및 제어

편집자 주: 이 절은 불완전하다.

웹 브라우저는 앞서 식별한 속성과 불변 조건을 보존하는 데 도움이 되는 다양한 보안 기능과 보호 메커니즘을 사용한다.

4. 우리는 충분히 잘했는가?

이 절은 작성될 예정이다.

5. 감사의 말

여러 개인이 이 문서에 기여했다. 편집자들은 특히 Anna Weine에게 감사한다.

참고 문헌

비규범 참고 문헌

[CHROMIUM-MULTIPROCESS-ARCHITECTURE]
Chromium 멀티 프로세스 아키텍처. URL: https://www.chromium.org/developers/design-documents/multi-process-architecture/
[CHROMIUM-PROCESS-MODEL-SITE-ISOLATION]
Chromium 프로세스 모델 및 사이트 격리. URL: https://chromium.googlesource.com/chromium/src/+/main/docs/process_model_and_site_isolation.md
[FIREFOX-GECKO-PROCESSES]
Firefox Gecko 프로세스. URL: https://firefox-source-docs.mozilla.org/ipc/processes.html
[FIREFOX-PROCESS-MODEL]
Firefox 프로세스 모델. URL: https://firefox-source-docs.mozilla.org/dom/ipc/process_model.html
[INSIDE-BROWSER-PART-1]
Chrome "현대 웹 브라우저 들여다보기" - 1부. URL: https://developer.chrome.com/blog/inside-browser-part1
[SHOSTACK-THREAT-MODELING]
Adam Shostack. 위협 모델링: 보안을 위한 설계. 2014. URL: https://shostack.org/books/threat-modeling-book
[THREAT-MODELING-GUIDE]
위협 모델링 가이드. URL: https://www.w3.org/TR/threat-modeling-guide/
[WEBKIT-SITE-ISOLATION-NOTES]
WebKit 사이트 격리 노트. URL: https://docs.webkit.org/Deep%20Dive/SiteIsolation.html
[WEBKIT-STORAGE-DOCUMENTATION]
WebKit 저장소 문서. URL: https://docs.webkit.org/Deep%20Dive/Architecture/Storage.html
[WEBKIT2-ARCHITECTURE-OVERVIEW]
WebKit2 아키텍처 개요. URL: https://docs.webkit.org/Deep%20Dive/Architecture/WebKit2.html
[XSLEAKS-CSS-INJECTION]
CSS 삽입. URL: https://xsleaks.dev/docs/attacks/css-injection/