1 개요
미국의 3Com TippingPoint에서 주최하는 해킹 대회. 대회의 이름은 leet에서 '취약점을 이용해 권한을 얻어낸다'는 의미로 사용되던 OWN과 OWN에서 파생된 (오타로 인해?) '해킹하다/취약점을 뚫다'는 의미인 PWN을 이용하여 만든 것이다. PWN 2(TO) OWN. 즉, '(관리자)권한을 얻기 위해 해킹하다/취약점을 뚫다' 정도로 해석 할 수 있다.
해킹 대회라고는 해도 딱히 해로운 의도는 없고 그냥 보안 컨퍼런스 행사 중 하나. 본 목적은 자주 사용되는 IT 기기들의 약점과 문제점을 찾아내어 더욱 더 강한 보안수준을 요구하게 한다는 것으로, 업계에서 자기네들이 만든 시스템의 후장이 PWN2OWN에서 서늘하게 털리는 것을 지켜보며 경각심을 일깨우거나 보안에 더욱 심혈을 기울이게끔 만드는 것이다. 미국에서도 내로라 하는 전국구 해커들이 등장해서 어떤 시스템이라도 빠르면 몇분안에 탈탈 털어버린다.
해킹 대상에 따라서 OS 부문, 웹 브라우저 부문, 스마트폰 부문으로 나뉜다. 특히 OS쪽에서 애플의 OS X이 순식간에 털리는 것으로도 유명하다. 대회인 만큼 상금과 상품도 주어지는데, 상품으로는 상금과 함께 해킹에 성공한 스마트폰 기기를 증정한다고 한다.
2 역사
2.1 2010년 2011년 대회
2010, 11년 PWN2OWN은 2번 다 캐나다 밴쿠버에서 3월에 열렸다.
구글에서는 PWN2OWN의 첫째날 구글 크롬을 첫번째로 해킹한 해커에게 2만달러와 부상으로 크롬 운영체제 노트북을 제시했다. 결국 2011년 PWN2OWN 대회에서 웹 브라우저중 크롬만이 해킹되지 않으며 3년연속으로 해킹되지 않은 기록을 세웠다...만 2012년 대회에선 결국 뚫렸다(...) 괜찮아 같은 웹키트 쓰는 사파리는 3초만에 뚫렸는데 뭐
2.2 2013년 대회
2013년에는 Internet Explorer 10, Chrome, Java, Adobe Reader, Adobe Flash 까지 아주 다양하게 성공적으로 해킹되었다. 이 대회에서는 2012년 Pwn2Own 에서 Chrome 을 최초로 해킹한 것으로 유명한 프랑스의 보안 업체 VUPEN 에서 IE10, Flash, Java 를 해킹하였으며, MWR Labs 에서 Chrome 을 해킹하였다.
MWR Labs 에서는 블로그에 Chrome 해킹 과정에 대한 자세한 Writeup 을 올려놨으므로 관심있는 위키러는 참고하자.
Chrome 임의코드 실행 취약점
Windows 커널 권한 상승 취약점
2.3 2014년 대회
2014년 대회에서는 Internet Explorer 11, Chrome, Firefox, Safari 를 포함해서 Adobe Reader 와 Adobe Flash 까지 전부 해킹되는 불상사(?) 가 일어났다. 이 불상사의 주요 주인공은 프랑스의 보안 업체 VUPEN 이다. VUPEN 은 Safari 를 제외하고 위에 언급한 모든 어플리케이션을 해킹하는 데에 성공하였다. 이 회사는 2011년 Safari 해킹을 시작으로, 2012년 최초로 크롬을 해킹하고 IE 도 해킹하였으며 2013년에는 IE10, Flash, Java 를 해킹하는 등 Pwn2Own 의 단골 손님이다.
또한 처음으로 한국인 해커 이정훈(lokihardt) 이 출전하여 Internet Explorer 11 을 공략하였으나 아쉽게도 해킹에 실패하였다.
2014년에는 Mobile Pwn2Own 도 따로 개최되었다. 이름 그대로 이는 Mobile 기기 상에서 브라우저를 공격하는 것이 특징이다.
iPhone 5s, Galaxy S5, Nexus 5 등 다양한 모바일 기기 상에서의 브라우저가 성공적으로 해킹되었다.
이정훈(lokihardt) 은 이 대회에서는 iPhone 5s 상의 Safari 를 성공적으로 해킹함으로써 한국인으로는 Pwn2Own 에서 처음으로 수상을 하게 되었다.
Mobile Pwn2Own 에서 lokihardt 가 iOS 상의 Safari 를 해킹하는 데에 사용한 취약점은 아래와 같다.
Safari 임의코드 실행 취약점
iOS 샌드박스 우회 취약점
2.4 2015년 대회
2015년 3월에 열린 Pwn2Own 에서, 한국의 유명한 해커 이정훈(lokihardt)[1] 이 Chrome, IE11, Safari 최신 버전을 전부 해킹하는데에 성공하여 총 상금 225000$ 를 얻었다. 이는 이 대회 역사상으로도 한 개인이 3가지 메이저 브라우저를 전부 해킹하는 데에 성공한 것은 최초이다.[2] 이정훈 해커는 위 항목에 나와있듯이 2014년 Mobile Pwn2Own 에서도 iPhone 5S 상의 Safari 브라우저 해킹으로 상금을 받은 적이 있으며[3], 그보다 더 이전에도 Chrome 브라우저의 취약점(Sandbox 까지 우회하는 완전한 익스플로잇)을 구글에 보고하고 3만 달러를 받은 경력이 있다. 물론 Pwn2Own 과 같은 대회에서 수상한 적만 없을 뿐이지 옛날부터 Internet Explorer 나 Adobe Flash, Adobe Reader, Java 취약점 등 다수의 메이저 소프트웨어 취약점을 발견했었고 국내 소프트웨어들[4] 은 말할 것도 없다. 현재 버그 헌팅으로는 독보적인 국내 최고이다.[5]
특이사항이라면 과거에 이정훈 해커가 발견하여 구글에 보고한 Chrome 취약점의 경우 크롬 자체의 취약점을 이용해 Sandbox 를 우회한 반면[6] 이번 대회에서는 Windows 커널 모드상의 취약점을 이용해 우회하였다. 구글에 직접 보고하는 경우는 브라우저 자체의 취약점이 아닌 운영체제의 커널 취약점으로 샌드박스를 우회한 것은 당연히 인정하지 않는다. 그러나 Pwn2Own 대회에서는 운영체제 커널 모드상의 취약점으로 샌드박스를 우회해도 인정한다.[7] 일반적으로는 더 많은 플랫폼에서 해킹이 가능하도록 하는 것이 더 어려운 편이다.
브라우저를 해킹한다는 의미에 대해 부연 설명하자면, 어떤 브라우저를 해킹했다는 것은 해커가 미리 만들어놓은 html 과 같은 브라우저가 파싱하는 파일[8] 을 웹 서버에 올려놓고 해당 브라우저를 사용하는 유저가 그 웹 페이지에 접속하여 페이지를 보려고 하는 순간 해커가 원하는 코드가 실행된다는 얘기이다. 이는 가령 시스템의 중요 파일을 지우는 코드가 될 수도 있고 원격 쉘을 열어서 해커가 시스템을 조작할 수 있도록 하는 코드일 수도 있고 또는 계산기를 실행하는(...) 코드일 수도 있다. 원래 브라우저에서 의도하지 않은 임의의 코드가 실행된다는 것이며 이러한 취약점 형태를 Arbitrary Code Execution(임의 코드 실행) 이라고 한다.[9]
예전에는 이러한 코드 실행 취약점을 이용해서 프로세스 상에서 원하는 코드를 실행만 하면 되었지만, 현재는 거의 대부분의 브라우저가 적용하고 있는 Sandbox 기술로 인해 예전처럼 단순히 렌더러 프로세스 내에서 임의 코드 실행이 된다고 해서 시스템에 피해를 주는 악의적인 공격을 할 수는 없게 되었다. 이는 쉽게 말하자면 Sandbox 라는 가상의 환경 내에서 브라우저 렌더링 처리를 하는 것으로, 기본적으로는 제일 먼저 브라우저를 실행하면 Broker 라 불리는 중앙 제어 프로세스가 생성되고, 이 Broker 에서 자식 프로세스를 필요한 만큼 생성을 하게 된다. 이 Broker 프로세스의 자식 프로세스 중 렌더링 관련 프로세스들은 모두 샌드박싱된(Sandboxed) 프로세스가 된다.
브라우저는 이러한 렌더링에 쓰일 자식 프로세스들은 Broker 와 달리 기본적으로 권한 자체를 낮게 설정하여 생성한다. Windows 의 경우 이러한 낮은 권한의 프로세스들은 파일 I/O 나 소켓 생성 등 다양한 부분에서 제한을 받는다. 이러한 낮은 권한의 자식 프로세스가 실제로 HTML 파싱, 자바스크립트 실행, 렌더링 등의 모든 일을 처리하는 Renderer Process 이다. 따라서 가령 자바스크립트 취약점으로 임의 코드 실행에 성공해도 그것은 결국 낮은 권한의 Sandboxed 프로세스 내에서만 가능하기 때문에 공격자가 원하는 악의적인 행위를 하기에는 부족하다.[10]1~100 의 합 구하기 같은 연산은 할 수 있다(....) 물론 일반 권한을 갖고 있는 Broker Process 에서는 브라우저 렌더링과 관련한 직접적인 처리는 일절 하지 않는다.
물론 Renderer Process 도 특정 파일의 내용을 읽고 쓰거나 소켓 통신 등을 하지 못하면 컨텐츠 자체를 얻을 수도 없고 할 수 있는 게 없기 때문에, 자신이 직접 하지는 않고 Broker Process 에 처리해달라고 요청만 하고 그 결과만 전달 받아서 처리하는 식으로 구현된다. 이 과정은 Broker 도 어쨌든 다른 프로세스이므로 Broker <-> Renderer 간의 IPC 를 이용한다. 가령 네트웍 통신 같은 경우도 실제로는 모두 Broker 에서 연결하여 통신하게 되고 렌더링 프로세스들은 Broker 를 거쳐서 결과만 얻을 수 있다.[11]
Chrome 의 경우 이러한 샌드박스를 진작부터 강하게 적용하고 있으며, IE 의 경우 IE 버전 + Windows 버전에 따라서 지원 여부가 다르다. Vista 이상에서의 IE7 부터 최초로 Protected Mode 라는 이름으로 Integrity Level 등을 이용한 샌드박스 기능이 포함되었다.(지금은 IE10 이상부터 EPM 이라는 이름으로 다른 여러 보호 기능과 통합되었다.) Safari 의 경우 Mac OS X 와 iOS 에서 보통 실행되는데 이 두 운영체제는 모두 커널에서 자체적으로 어플리케이션 샌드박스를 지원하기 때문에 이를 이용하고 있다. 따라서 현재 Pwn2Own 과 같은 대회에서는 기본적으로 Sandbox 까지 우회하여 임의 코드 실행이 가능해야 최종적으로 해킹에 성공한 것으로 인정한다. 이는 비교적 단순했던 기존의 브라우저 해킹을 더욱 어렵게 만들었다. 따라서 이를 모두 우회하여 3개의 브라우저를 모두 해킹했다는 것은 누가 봐도 대단한 일이라 할 수 있다.
참고로 이번에 사용한 취약점들은 대부분 ZDI 에 페이지가 추가되어있다.
IE11 임의코드 실행 취약점
IE11 샌드박스 우회 취약점
Chrome 임의코드 실행 취약점
Windows 커널 정보 누출 취약점
Windows 커널 권한 상승 취약점[12]
Safari 임의코드 실행 취약점
OS X 샌드박스 우회 취약점
위에 나눠진 대로 IE11 해킹에 2개의 취약점, Chrome 해킹에 3개(또는 그 이상) 의 취약점, Safari 해킹에 2개의 취약점이 사용되었다. IE11 과 Chrome 의 경우 위에서 설명했듯이 IE11 은 IE 자체의 취약점을 이용해 샌드박스를 우회하였고 Chrome 은 Windows 커널 취약점을 통해 샌드박스를 우회하였다. 따라서 Chrome 은 가장 높은 SYSTEM 권한을 얻어낼 수 있었으며 이로 인해 추가 보너스 상금을 얻었다.
2.5 2016년 대회
올해는 당연하게도 나온지 1년이 조금 넘은 최신 브라우저인 엣지 에 대한 공격을 새 타겟으로 지정하였다. 자연히 인터넷 익스플로러 11 은 타겟에서 제외되었다. 또한 올해부터는 Windows 기반 브라우저인 경우 기본적으로 VMware Workstation 내의 Windows 10 이 설치된 GuestOS 내에서 실행한다. 이 때 그냥 GuestOS 내에서만 익스플로잇을 성공하면 원래 그랬듯이 일반적인 브라우저에 대한 시상을 하고, 만약 여기다가 VMware Escape 취약점으로 Host 에 접근까지 성공한다면 추가 포인트 및 금액을 지불한다. 전체 리스트는 아래와 같다.
Target | Points |
VMware Workstation Escape | 13 |
Google Chrome | 10 |
Microsoft Edge | 10 |
Adobe Flash | 8 |
Apple Safari | 6 |
SYSTEM Escalation | 5 |
Root Escalation | 4 |
Target Sandbox Escape | 3 |
이번에는 총 5팀이 참여하였다. 최종 결과 리스트는 아래와 같다.
작년에 참여한 lokihardt 는 올해도 여지없이 참여하였으며, Safari/Edge/Chrome 의 3가지 브라우저에 대해 시도하였다.
VMware Workstation Escape 는 하지 않은 것으로 보인다.
첫번째로 Safari 브라우저에 대해 임의 코드 실행 및 root 권한 획득을 성공하여 10Point 와 60000달러를 얻었다.
두번째로 엣지 브라우저에 대해 임의 코드 실행 및 SYSTEM 권한 획득을 성공하여 15Point 와 85000달러를 얻었다.
세번째로 구글 크롬 브라우저에 대해 시도하였으나 아쉽게도 실패하였다.
이번에도 역시 개인으로 참여한 것은 JungHoon Lee 가 유일하다.
총 38Point 를 얻은 Tencent Security Team Sniper 가 1위를 차지하였다. 총 상금은 2위가 더 많은게 함정
3 여담
위에서는 몇 분 안에 해킹한다고 언급하였으나, 시간은 단순히 대회 시작 후 익스플로잇이 정상적으로 트리거되기까지의 시간을 의미하는 것이지 아무것도 없다가 그 자리에서 갑자기 몇 분 안에 취약점을 발견해서 해킹을 하는 것은 아니다(...) 당연히 대회를 하기 전에 이미 길면 몇 달 이전부터 준비를 해서 오는 것이다.
Windows 는 Vista 이상부터 Integrity Level 이라는 추가적인 보안 모델을 도입했는데, 이는 각 프로세스의 액세스 권한을 제어한다. 이 권한 레벨의 종류는 System, High, Medium, Low, Untrusted 로 구분되며 System 권한이 가장 높은 권한이고, Untrusted 가 가장 낮은 권한이다. 보통의 일반 사용자가 프로세스를 실행하면 Medium Level 이 되고, 관리자 권한인 경우 기본적으로 High Level 이 된다. 이 보안 모델에서는 다양한 리소스에 대한 접근을 제한하는데, 가령 C:\Users\유저명\AppData 디렉토리에 가면 Local 이라는 디렉토리와 LocalLow 라는 디렉토리가 있는 것을 볼 수 있다. 이는 Integrity Level 이 Low 인 경우는 Local 디렉토리에 쓰기가 불가능하고 LocalLow 디렉토리에만 가능하다. 이 외에도 레지스트리에도 똑같은 개념으로 Software\AppData 대신 Software\AppDataLow 가 존재한다. 반면에 Chrome 에서 사용하는 Untrusted Integrity Level 인 경우는 아예 전부 쓰기 불가능이다.
이 외에도 샌드박스를 구현하는 데에는 많은 방법들이 사용되는데, 자세한 것은 크롬 샌드박스의 구조 를 참조하자. 참고로 이 내용은 Windows 에서의 Sandbox 구조이고, 리눅스는 이곳 에서 setuid sandbox, selinux, seccomp 등의 다양한 방법들을 이용하는 것을 볼 수 있으며[14] OS X 는 운영체제에서 직접적으로 지원하므로 자세한 구조 설명은 따로 없으나 일단 이곳 에 간단한 설명이 있다.
기본적으로 Windows 에서 샌드박스 우회는, Low 또는 Untrusted Integrity Level 권한을 가지는 Renderer 프로세스 내에서 Broker 프로세스가 보통 가지는 권한인 High 또는 Medium Integrity Level 권한으로 임의 코드 실행을 가능하도록 하는 것을 말한다. 참고로 위의 2015년 Pwn2Own 본문에서 언급한 SYSTEM 권한이란 Windows 에 기본적으로 존재하는 nt authority\system 이라는 유닉스 계열의 root 와 같은 유저의 권한을 의미한다. Linux 의 Kernel 권한 상승 취약점이 root 권한을 얻는 데에 사용되듯이, Windows 의 권한 상승 취약점은 모두 이 유저 권한을 얻는 데에 사용된다. 이는 당연히 시스템에서 가능한 모든 일을 할 수 있게 된다. 이 권한은 원래 Broker 가 갖는 권한보다도 높은 권한을 얻어야 하기 때문에 필연적으로 Windows 의 취약점이 동반되어야 할 수 밖에 없는 것이다.
위에서 얘기한 Integrity Level 을 크롬에서 직접 확인해 보면 아래와 같다.
파일:GJjL0si.png
위는 디폴트 상태로 크롬을 실행했을 경우. Untrusted Integrity Level 인 렌더러 프로세스들이 보인다.
파일:PYACRYP.png
위는 --no-sandbox 옵션을 주고 실행한 경우. Broker 와 Renderer 를 비롯한 모든 프로세스가 Medium Integrity Level 임을 볼 수 있다.
단, 위는 Windows 7 기준으로 설명한 것이다. Windows 8 부터는 AppContainer Integrity Level 이라는 새로운 권한이 하나 더 추가되었으며, Windows 8 이상에서 Internet Explorer 10/11 을 사용하는 경우 이 AppContainer 권한의 프로세스도 사용하게 된다. 자세한 내용은 MS 블로그 에 잘 설명되어 있으니 참조하자.
아래는 Windows 8.1 64bit 에서 Internet Explorer 11 을 실행시켰을 때의 모습이다.
파일:GNpx4Pb.png
만약 샌드박스를 우회하지 않고 렌더러 프로세스 내에서 임의 코드 실행이 가능한 경우, 그리고 프로세스 생성이 가능하다고 가정하는 경우 아래와 같이 된다.
파일:UeSMMtP.png
렌더러 프로세스 내에서 계산기를 실행하면, 해당 렌더러 프로세스의 Integrity Level 을 자식 프로세스는 그대로 따라간다는 것을 알 수 있다.
만약 계산기가 아니라 해커가 원하는 임의의 프로세스(물론 파일 I/O 가 안되면 파일 생성이 불가능하지만)를 실행해도 Integrity Level 은 Low 이다.
만약 크롬으로 예를 들어, 정상적으로 샌드박스를 Windows 취약점 없이 크롬 자체 취약점으로 우회했을 경우 아래와 같은 형태가 될 수 있다.
파일:0HvET9b.png
Broker Process 의 자식으로 프로세스가 실행되었고 Broker 와 동일한 Medium Integrity Level 을 가지는 것을 볼 수 있다.
위는 언제까지나 많은 예 중 한 가지를 든 것이고, 항상 저런 것이 절대로 아니니 참고만 하자.[15]
Pwn2Own 룰에는 SYSTEM 권한까지 얻는 경우 추가 상금을 주는 것이 있는데, 이는 위에서 얘기했듯이 커널 취약점이 동반되어야 가능하다. 물론 커널 취약점이 전부 임의코드 실행이 가능한 종류의 취약점은 아닌데, 임의코드 실행이 가능하다면 웬만한 경우는 반드시 SYSTEM 권한까지 얻는 권한 상승이 가능하다. 또한 만약 임의코드 실행 취약점이 아니라서 SYSTEM 권한은 얻을 수 없으나 브라우저의 샌드박스를 우회하여 Broker Process 의 권한 정도까지 얻는 데에는 충분한 정도의 취약점도 있을 수 있다.[16] 위처럼 SYSTEM 권한을 얻는 것이 가능한 커널 취약점은 브라우저와는 별개로 그 커널 취약점 하나로도 이미 Windows 에서 바로 SYSTEM 권한을 얻을 수 있는 심각한 Local Privilege Escalation 취약점이다. 물론 이전 대회에서도 샌드박스를 우회할 때 Windows 커널 취약점을 이용해서 우회를 한 경우가 거의 대부분이다.[17][18]
또한 최신 Windows 8.1 등은 기본적으로 커널의 Base Address 가 매번 변하는 KASLR(Kernel ASLR) 이 적용되어 있으며[19] 이 경우 커널에서의 임의 코드 실행을 위해서는 먼저 이를 우회해야 하는 경우가 많다. 이는 부팅 할 때마다 항상 고정되는 특정한 주소를 찾아 우회하는 경우도 있고, 또는 가장 흔한 방법으로 커널 메모리 상의 값을 누출시키는 별개의 커널 취약점을 연계하여 Base Address 를 계산하는 방법이 있다. 위의 2015년 Pwn2Own 에서 lokihardt 는 CNG.sys 에서의 Information Leak 취약점(CVE-2015-1674)을 이용하여 Base Address 를 계산할 수 있는 값을 누출시켜 KASLR 을 우회하였으며 이는 Pwn2Own 이 끝나고 얼마 뒤 MS15-052 업데이트로 패치되었다.
국내에서는 SECUINSIDE라는 정보보안 컨퍼런스에서 2015년 7월에 국내 최초로 Pwn2Own과 같은 방식의 보안 취약점 찾기 대회를 개최하였다. 'Capture The Bug' 라는 이름으로, 공유기/라우터, CCTV 등 임베디드 및 IoT (사물인터넷) 기기들을 대상으로 진행되었다.- ↑ 위 사진에서 가운데이다.
- ↑ 사파리를 빼고 파이어폭스를 포함하는 것으로 치면 2014년 항목에 있듯이 VUPEN 에서 IE11, Chrome, Firefox 에 Adobe Reader/Flash 까지 해킹에 성공한 적이 있다. 물론 이는 개인이 아니다.
- ↑ 마찬가지로 위 항목에 나와있듯이 2014년 Pwn2Own 에서는 Internet Explorer 11 을 공략하였으나 아쉽게 실패한 적이 있다.
- ↑ 곰플레이어, 한글, V3 Lite, 기타 등등
- ↑ 사실 이정훈 해커는 Capture The Flag(CTF) 형태의 대회에 있어서도 국내 최고의 실력을 가지고 있다. 2015년 Defcon CTF 에서는 한국 연합 팀의 원톱 에이스로 활약하며 한국팀 최초로 Defcon CTF 1위를 차지했다.
- ↑ 이는 즉 운영체제가 Windows 든 Linux 든 관계없이 크롬의 샌드박스를 우회할 수 있다는 뜻이다.
- ↑ 물론 IE/Chrome 의 경우 기본적으로 최신 Windows 위에서 돌아간다고 가정한다.
- ↑ 이미지 파일(jpg, png, gif, ...) 이나 동영상 파일 등의 리소스 파일 파싱 과정에서도 취약점이 발생할 수 있다. Chrome 의 경우 PDFium , FFmpeg 등의 플러그인 내에서 발생하는 취약점에 대해서도 포상한다.
- ↑ 브라우저의 경우 공격할 대상 컴퓨터에 접속할 필요 없이 원격에서 URL 접속을 유도하는 것만으로 공격이 가능하므로 원격 코드 실행(Remote Code Execution) 취약점이라고도 할 수 있다.
- ↑ 위에서도 언급했듯이 파일 I/O(CreateFile), 소켓 생성(WSASocket) 등의 API 를 호출하면 대부분 실패한다. 물론 이 제한은 Sandbox 의 레벨에 따라서 차이가 있다. 가령 예로 일부 버전 기준으로 IE 는 CreateProcess 가 되는 반면 Chrome 은 CreateProcess 도 실패한다.
- ↑ 브라우저를 켠 상태로 여러 사이트를 켜 놓은 후 cmd 에서 netstat 명령으로 각 연결의 pid 를 확인해 보면 모든 연결이 Broker Process 에서만 이루어지고 있는 것을 볼 수 있다.
- ↑ 다른 취약점에 비해 정보가 늦게 등록되었다. secdrv.sys 에서 발생하는 취약점이고, 위의 cng.sys 에서 발생하는 정보 누출 취약점과 같이 연계하면 KASLR 을 우회하여 권한 상승이 가능하다.
- ↑ 아래의 3가지는 위의 소프트웨어들에 대한 익스플로잇과 결합되었을 때 추가 포인트를 의미한다. 구글 크롬에서 임의 코드 실행을 성공시켰을 때 권한이 SYSTEM 권한이냐, 그냥 Medium Integrity 그대로냐에 따라서 5포인트 또는 3포인트가 추가로 주어진다고 보면 된다. 물론 SYSTEM 권한은 추가적인 커널 익스플로잇이 필요하다.
- ↑ 물론 지금은 deprecated 된 것들이 많다.
- ↑ 샌드박스는 우회 방법이 굉장히 다양해서, Broker Process 에서의 임의 코드 실행 취약점이 아닌 다른 형태로의 우회 취약점이 더 많다. 가령 Internet Explorer 의 경우 CVE-2015-0016 취약점을 예로 들 수 있다.
- ↑ 물론 이론적으로 그런 취약점이 존재할 수 있다는 가정일 뿐 실제로 이런 경우는 흔하진 않다.
- ↑ 예로 2013년 MWR Labs 의 Win32k.sys 에서의 Kernel Pool Overflow 취약점을 통한 SYSTEM 권한 획득, 2014년 다른 팀에서 Internet Explorer 11 의 샌드박스를 Windows 의 AFD.sys 의 취약점으로 우회하고 SYSTEM 권한을 얻은 예가 있다.
- ↑ 퍼징이 비교적 까다롭고 공격 벡터를 특정하기 까다로운 브라우저 자체의 샌드박스 모델보다는 그나마 커널 드라이버 대상으로 퍼저를 만드는 것이 비교적 수월하기 때문이다. 또한 단순하게 생각해서 브라우저보다는 Windows 커널 및 드라이버가 전체적인 규모가 더 큰 만큼 취약점도 더 많을 것이라 예상할 수 있다.
- ↑ 물론 일반적인 유저 어플리케이션에도 ASLR 이 적용되어 있으며 이 역시 렌더러 프로세스 내의 임의 코드 실행을 위해서는 보통 우회해야 한다.