웹 위협 모델

W3C 그룹 노트 초안,

이 문서에 대한 자세한 정보
이 버전:
https://www.w3.org/TR/2026/DNOTE-threat-model-web-20260922/
최신 게시 버전:
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)
(ETH Zurich)

초록

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

이 문서의 상태

이 절은 게시 시점의 이 문서의 상태를 설명한다. 현재 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. 상위 수준 Web 위협 모델 (L0)

상위 수준 Web 위협 모델은 L0에서의 일반적인 Web API 모델입니다. 이는 브라우저가 제어하는 Web API 중재와 Document / Origin Execution Context를 구분하면서, 사용자 및 원격 Web 사이트 또는 서비스와의 교환을 보여줍니다. 이 모델은 논리적이며 구현에 독립적입니다. Chromium, Gecko 또는 WebKit의 프로세스 경계를 주장하지 않습니다.

사용자, Web Browser, Document 및 Origin Execution Context, 그리고 일반적인 Web API와 관련된 원격 Web 사이트 또는 서비스를 보여주는 수직 데이터 흐름 다이어그램
상위 수준 Web 위협 모델: 일반적인 Web API L0.

1.1.1. L0 요소 사전

ID 이름 유형 설명
EE-01 사용자 외부 엔터티 브라우저 입력 또는 탐색 의도를 제공하고 렌더링된 출력 또는 브라우저 중재 결과를 받는 사람.
EE-02 원격 Web 사이트 / 서비스 외부 엔터티 페이지 리소스와 런타임 응답을 제공하고 애플리케이션 요청을 받는 원격 Web 주체.
PO-01 Web Browser 프로세스 사용자 상호 작용을 중재하고 Web API 요청 및 그 결과, 이벤트 또는 오류를 처리하는 브라우저 제어 논리 프로세스.
PO-02 Document / Origin Execution Context 프로세스 원격 리소스를 소비하고, 런타임 Web 통신을 수행하며, Web API를 호출하는 로드된 페이지 및 오리진에 바인딩된 실행 컨텍스트.
DF-01 사용자 입력 / 탐색 데이터 흐름 브라우저 제어 처리로 들어가는 사용자가 제공한 탐색 의도, 상호 작용 또는 브라우저 제어 입력.
DF-02 렌더링된 출력 / 브라우저 중재 데이터 흐름 브라우저 제어 처리에서 사용자에게 제공되는 렌더링된 출력, 브라우저 UI, 상태 또는 중재.
DF-03 Web 콘텐츠 / 응답 데이터 데이터 흐름 원격 Web 사이트 또는 서비스가 문서 컨텍스트에 제공하는 페이지 리소스, 응답 페이로드 및 연결 데이터.
DF-04 요청 / 제출된 데이터 데이터 흐름 문서 컨텍스트에서 원격 Web 사이트 또는 서비스로 전송되는 요청, 제출된 페이로드 및 연결 데이터.
DF-05 Web API 요청 데이터 흐름 문서 컨텍스트에서 브라우저 제어 API 처리로 전송되는 일반적인 Web API 호출, 옵션, 인수 또는 제어 요청.
DF-06 Web API 결과 / 이벤트 / 오류 데이터 흐름 브라우저 제어 API 처리에서 문서 컨텍스트로 전달되는 일반적인 반환값, Promise 정착, 콜백, 이벤트, 상태 또는 오류.
TB-01 Web User Agent Boundary 신뢰 경계 브라우저 제어 API 중재 및 문서 실행 컨텍스트를 둘러싸는 외부 논리적 Web 사용자 에이전트 경계.
TB-02 Web Context Isolation Boundaries 신뢰 경계 Web 오리진 및 컨텍스트 권한을 분리하는 추상적 경계 집합. 하위 수준 모델에서는 오리진, 브라우징 모드, 생명 주기, 샌드박스 또는 구현 격리를 구분할 수 있습니다.

1.1.2. Web 브라우저 위협 모델과의 관계

상위 수준 Web 위협 모델은 브라우저 내부 구성 요소를 표시 범위에서 제외합니다. 아래의 Web 브라우저 위협 모델은 결정이 어디에서 시행되는지, 어떤 구성 요소가 상태를 유지하는지, 권한이 어떻게 중재되는지, 신뢰할 수 없는 콘텐츠가 어떻게 격리되는지 또는 Web API가 네트워크, 저장소, 그래픽, 미디어 및 운영 체제 기능에 어떻게 도달하는지에 대한 검토가 필요한 경우 브라우저 및 Web 콘텐츠 역할을 확장합니다.

1.2. 웹 브라우저 위협 모델

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

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

High-Level Web Threat Model (L0)에서는 브라우저가 제어하는 Web API 중재를 하나의 논리적 프로세스로 취급하는 것과 달리, 이 추상화는 최신 브라우저가 서로 다른 권한, 상태에 대한 서로 다른 접근 권한 및 신뢰할 수 없는 입력에 대한 서로 다른 노출 수준을 가진 여러 프로세스에 책임을 어떻게 분산하는지를 보여줍니다. 또한 브라우저가 오리진 및 사이트 기반 격리 전략을 포함한 Web 보안 모델을 어떻게 시행하는지, 그리고 외부 Web 서버의 입력을 처리할 때 자신을 어떻게 보호하는지를 보여줍니다 [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 원격 Web 오리진 외부 엔터티 HTML, CSS, JS, 미디어, API, ID 엔드포인트 및 기타 Web 리소스를 제공하는 원격 서버.
E3 기반 네트워크 인프라 외부 엔터티 물리적 인프라, 네트워킹 프로토콜, 네트워크 세그먼테이션, 로컬호스트.
E4 운영 체제 외부 엔터티 브라우저 제품 경계 외부에 있는 파일 시스템, 클립보드, 카메라, 마이크, GPU 드라이버, 미디어 코덱 및 관련 플랫폼 서비스.
1.2.5.2. 위협 경계
ID 이름 유형 설명
B1 Web Browser Boundary 위협 경계 브라우저가 제어하는 요소를 외부 엔터티 및 서비스와 분리합니다.
B1.1 Privileged Browser Process Boundary 위협 경계 권한이 있는 브라우저 중재와 샌드박스화된 콘텐츠 실행을 분리합니다.
B1.2 샌드박스 콘텐츠의 실행 및 렌더링 경계 위협 경계 감소된 권한 및 격리 제약 조건에서 Web 콘텐츠를 실행하는 역할을 담당하는 요소들을 서로 분리합니다.
B1.3 Web-Content Execution Process Boundary 위협 경계 Web 콘텐츠 실행을 담당하는 프로세스를 분리합니다.
B1.4 Helper Services Boundary 위협 경계 네트워킹, GPU, 미디어 또는 관련 유틸리티 기능과 같은 도우미 역할을 가진 요소를 브라우저 아키텍처의 나머지 부분과 분리합니다.
B1.5 프로필 및 정책 상태 경계 위협 경계 브라우저가 관리하는 프로필, 세션, 설정 및 권한 메타데이터를 브라우저 아키텍처의 나머지 부분과 분리합니다.
B1.6 Site State Boundary 위협 경계 브라우저가 관리하는 쿠키, HTTP 캐시, Web Storage, IndexedDB 및 관련 사이트 데이터를 브라우저 아키텍처의 나머지 부분과 분리합니다.
B1.7 Sandboxed Privileged Content Execution Boundary 위협 경계 내부 페이지 또는 확장 기능을 위한 샌드박스화된 권한 있는 실행 컨텍스트를 브라우저 아키텍처의 나머지 부분과 분리합니다.
B1.8 Local Network Boundary 위협 경계 사용자의 장치를 공개 인터넷과 분리합니다.
B1.9 Web Boundary 위협 경계 사용자 에이전트를 신뢰할 수 없는 Web 리소스와 분리합니다.
B1.10 Web Origin Boundary 위협 경계 각 Web 오리진을 서로 분리합니다.
1.2.5.3. 프로세스
ID 이름 유형 설명
P1 Browser / UI / Parent 프로세스 Chromium Browser 프로세스, WebKit UI 프로세스, Firefox Parent 프로세스. 권한 있는 브라우저 UI, 탐색, 창 관리, 프로세스 선택, 정책 시행, 권한 중재, 네트워크 접근 및 프로필 데이터, 쿠키 및 비밀번호 데이터베이스, 운영 체제 기능과 같은 민감한 로컬 리소스에 대한 브로커링을 조정합니다.
P2 Content / Renderer / WebContent 프로세스 Chromium Renderer, WebKit WebContent, Firefox Content 프로세스 제품군. HTML, CSS, 글꼴, 이미지, 미디어, XML, SVG 및 일반 텍스트와 같은 Web 형식을 구문 분석하고 렌더링하며, DOM, 스크립트, 워커 및 JavaScript 엔진을 실행하고, 샌드박싱 및 오리진 또는 사이트 격리 제약 조건 아래에서 Web 콘텐츠에 제한된 Web API 진입점을 노출합니다.
P3 Network / Socket / Networking 프로세스 네트워크 중재 역할. Chromium에서는 Network Service 패턴에, WebKit에서는 Networking 프로세스에, Firefox에서는 Socket 프로세스 및 관련 브라우저 제어 네트워킹 책임에 해당합니다. 브라우저가 중재하는 HTTP(S), 소켓, 캐시 관련 네트워크 접근 및 임의의 인터넷 위치에서 리소스를 요청하는 작업을 처리합니다.
P4 GPU / compositor / media helper(s) 프로세스 분리된 경우의 GPU, 컴포지터, 코덱, 미디어 및 기타 도우미 기능입니다. 렌더링된 콘텐츠를 표시 출력으로 변환하고, 신뢰할 수 없거나 공격자가 제어하는 입력을 처리하는 복잡한 그래픽 또는 미디어 구현 표면을 격리합니다.
P5 Privileged extension / internal content 프로세스 내부 페이지 또는 확장 기능을 위한 선택적 브라우저 관리 권한 실행 컨텍스트입니다. 브라우저 확장 기능 및 기능을 추가하고 브라우저 또는 Web 콘텐츠와 상호 작용할 수 있는 내부 콘텐츠를 포함하며, 설치 및 사용자 또는 브라우저 구성에 따라 높은 권한 또는 오리진 범위 권한을 받을 수 있습니다.
1.2.5.4. 데이터 저장소
ID 이름 유형 설명
S1 Profile / session / policy store 데이터 저장소 브라우저가 제어하는 수명 및 접근 규칙을 가진 환경 설정, 프로필 데이터, 브라우징 기록, 세션 복원 상태, 저장된 자격 증명 또는 비밀번호 데이터베이스 참조 및 브라우저 관리 구성.
S2 Permissions / browser metadata 데이터 저장소 Web 콘텐츠 또는 브라우저 관리 권한 콘텐츠가 강력한 기능을 활성화하거나 민감한 기능에 접근할 수 있는 시점을 결정하는 데 사용되는 사이트 설정, 허용 정보, 확장 기능 권한 및 브라우저 제어 권한 메타데이터.
S3 Cookies + HTTP cache 데이터 저장소 브라우저가 관리하는 쿠키 저장소 및 캐시된 응답. 쿠키는 세션, 개인화 및 상태 관리를 지원하기 위해 해당 HTTP 요청과 함께 전송되며, 오리진, 사이트, 프로필 또는 파티셔닝 규칙에 따라 범위가 지정될 수 있습니다.
S4 Web storage / IndexedDB / service-worker data 데이터 저장소 일반적으로 오리진 또는 파티션 범위로 지정되는 지속적 및 세션 범위 사이트 데이터로, localStorage, sessionStorage, IndexedDB, service-worker data 및 서로 다른 수명 및 용량 특성을 가진 관련 브라우저 관리 저장 메커니즘을 포함합니다.
1.2.5.5. 흐름
ID 이름 유형 설명
F1 사용자 상호 작용 흐름 사용자와 권한 있는 브라우저 UI 사이의 입력 및 출력.
F3 하위 리소스 가져오기 / 네트워크 중재 흐름 콘텐츠가 시작한 브라우저 제어 네트워킹 접근 경로.
F4 HTTPS / DNS / 원격 데이터 흐름 원격 오리진과의 요청 및 응답 교환.
F5 디스플레이 / 미디어 / 컴포지팅 흐름 그래픽 및 미디어 도우미로 향하는 렌더링 및 표시 경로.
F6 프로필/세션 읽기 및 쓰기 흐름 프로필 범위 브라우저 상태에 대한 권한 있는 접근 경로.
F7 권한 / 브라우저 정책 흐름 브라우저가 관리하는 권한 및 정책에 대한 평가 및 시행 경로.
F9 Web Storage 경로 흐름 브라우저가 관리하는 지속적 사이트 저장소에 대한 접근 경로.
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. 부록: MITRE ATT&CK 기법

MITRE ATT&CK 엔터프라이즈 기법은 웹 브라우저와 관련된 공격을 분석할 때 참고 항목으로 사용할 수 있습니다. 다음 목록은 모든 항목을 포함하지 않으며, 이 문서에서는 수준별로 그룹화되어 있습니다. 목록에 포함되었다고 해서 해당 기법이 모든 브라우저 아키텍처나 시나리오에 적용된다는 의미는 아닙니다.

5.1. 웹 수준

5.2. 네트워크 수준

5.3. 웹 브라우저 수준

5.4. 출처 수준

6. 감사의 말

여러 사람이 이 문서에 기여했습니다. 편집자들은 특히 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/