[논문 리뷰] An Expressive Model for the Web Infrastructure: Definition and Application to the BrowserID SSO System
이 논문은 웹 인프라스트럭처의 포괄적인 형식 모델을 제시하며, 표준 및 사양을 정확하게 반영하는 데 중점을 둔다. 이 모델을 사용해 모질라의 BrowserID 단일 로그온 시스템을 철저히 분석함으로써 이전에 발견되지 않았던 심각한 보안 결함을 밝혀내었으며, 이는 모질라에서 수용된 수정 조치와 보안 버그 보상 프로그램을 통한 인정으로 이어졌다.
The web constitutes a complex infrastructure and as demonstrated by numerous attacks, rigorous analysis of standards and web applications is indispensable. Inspired by successful prior work, in particular the work by Akhawe et al. as well as Bansal et al., in this work we propose a formal model for the web infrastructure. While unlike prior works, which aim at automatic analysis, our model so far is not directly amenable to automation, it is much more comprehensive and accurate with respect to the standards and specifications. As such, it can serve as a solid basis for the analysis of a broad range of standards and applications. As a case study and another important contribution of our work, we use our model to carry out the first rigorous analysis of the BrowserID system (a.k.a. Mozilla Persona), a recently developed complex real-world single sign-on system that employs technologies such as AJAX, cross-document messaging, and HTML5 web storage. Our analysis revealed a number of very critical flaws that could not have been captured in prior models. We propose fixes for the flaws, formally state relevant security properties, and prove that the fixed system in a setting with a so-called secondary identity provider satisfies these security properties in our model. The fixes for the most critical flaws have already been adopted by Mozilla and our findings have been rewarded by the Mozilla Security Bug Bounty Program.
연구 동기 및 목표
- DNS, HTTP, 브라우저, 웹 애플리케이션 간의 복잡한 상호작용을 정확히 포괄하는 표준 기반의 형식 모델을 개발하는 것.
- 이전의 자동화된 모델이 달성할 수 없었던 실세계 웹 시스템에 대한 철저한 보안 분석 기반을 제공하는 것.
- AJAX, postMessage, HTML5 스토리지 기반의 복잡한 SSO 시스템인 BrowserID(Mozilla Persona)를 분석하기 위해 모델을 적용하는 것.
- 이전 모델에서 발견되지 않았던 BrowserID의 심각한 취약점들을 식별하고 형식적으로 검증된 수정 조치를 제공하는 것.
- 포괄적이고 사양에 정확히 부합하는 모델이 미묘하지만 심각한 보안 결함을 드러내는 데서 유의미한 가치를 지닌다는 것을 입증하는 것.
제안 방법
- 모델는 도레프-요아 스타일의 형식 체계를 기반으로 하며, 웹 엔티티를 주소와 메시지를 형식적 용어로 표현하는 원자적 프로세스로 모델링하고, 암호화 연산을 위한 등식 이론을 적용한다.
- 세부 구성 요소를 정의한다: 웹 시스템, DNS 서버, HTTP 메시지, 웹 브라우저(상태 $Z^p$와 관계 $R^p$ 포함), 웹 서버 등으로 각각의 행동과 프로토콜을 형식화한다.
- 브라우저 전용 행동, 예를 들어 오리진 정책, 쿠키 처리, 웹 스토리지, 크로스 오리진 메시징을 형식적 함수와 상태 전이로 포괄한다.
- 명시적인 역할을 포함하여 시스템을 모델링한다: 브라우저, 신뢰 당사자(RP), 신원 제공자(IdP), LPO(Login Provider Origin), 각각의 원자적 프로세스와 메시지 흐름이 정의되어 있다.
- 보안 성질은 논리적 추론을 통해 형식적으로 기술하고 증명하며, 공격자 지식 및 요청 원천 조건을 포함한다. 증명은 키 및 신원 지식에 관한 보조정리에 기반한다.
- 실행 추적과 형식적 인variant를 사용하여, 정의된 위협 모델 하에서 수정된 시스템 행동이 원하는 보안 성질을 만족하는지 검증한다.
실험 결과
연구 질문
- RQ1실제 웹 표준 및 사양에 충실하면서도 표현력이 뛰어난 웹 인프라스트럭처의 형식 모델을 구축할 수 있는가?
- RQ2이러한 모델은 이전 모델이 놓쳤던 복잡한 실세계 웹 애플리케이션, 예를 들어 BrowserID와 같은 SSO 시스템의 보안 결함을 어느 정도 탐지할 수 있는가?
- RQ3postMessage 및 웹 스토리지와 같은 현대 웹 기술과의 상호작용으로 인해 발생하는 BrowserID SSO 시스템의 구체적인 취약점은 무엇인가?
- RQ4실제 위협 모델 하에서 BrowserID의 결함 수정 조치가 원하는 보안 성질을 복원한다는 것을 형식적으로 증명할 수 있는가?
- RQ5보조 신원 제공자(sIdP)의 포함 여부가 BrowserID 시스템의 보안 보장을 어떻게 영향을 주는가?
주요 결과
- 모델은 BrowserID에서 네 가지 심각한 취약점을 드러냈다: 신원 위조, 로그인 삽입, 키 정리 실패, 쿠키 정리 실패(sIdP 모드일 경우).
- 신원 위조 공격은 공격자가 사용자의 개인 키를 알지 못해도 CAP(Credential Assertion Package)를 위조하여 사용자를 위장할 수 있게 했다.
- 로그인 삽입 공격은 원천 및 신원 진술의 잘못된 검증을 악용하여 공격자가 로그인 세션을 악성 사이트로 리디렉션할 수 있게 했다.
- 키 정리 실패 공격는 로그아웃 후에도 암호화 키를 제대로 무효화하지 않아 공격자가 사용자의 신원에 계속 접근할 수 있게 했다.
- 쿠키 정리 실패(sIdP 모드일 경우)는 쿠키 처리 방식의 오류로 인해 로그아웃 후에도 지속적인 세션 추적 가능성을 제공했다.
- 모든 심각한 결함는 형식적으로 수정되었으며, 수정된 시스템은 모델에서 핵심 보안 성질을 만족한다는 것이 증명되었고, 모질라는 이 수정 조치를 수용했으며 보안 버그 보상 프로그램을 통해 보상을 수여했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.