Chrome, 비밀번호 및 데이터 도난을 방지하는 새로운 보호 기능 출시
데스크톱 버전이 새로운 영역으로 확장되는 동안 사이트 격리는 Android Chrome에서 데뷔합니다.
Google은 지난 달 데스크톱 버전의 Chrome에서 데뷔 한 강화 된 보안 보호 기능의 허점을 악용 한 해킹에 대한 보상을 일시적으로 늘리고 있습니다. 한편, Android 용 Chrome은 동일한 보호 기능을 축소 버전으로 받고 있습니다.
제한된 시간 동안 Google은 브라우저가 상호 작용하는 한 사이트가 액세스 한 다른 사이트의 비밀번호 또는 기타 민감한 데이터를 도용 할 수있는 악용에 대해 정상적인 현상금 양을 늘릴 것입니다. 또한 Google은 HTML 및 기타 리소스를 렌더링하기 위해 Chrome에서 사용하는 핵심 소프트웨어 인 Blink에 버그를 포함하도록 취약점 보상 프로그램 을 확대하여 유사한 유형의 사이트 간 데이터 도난을 허용합니다.
고독의 요새
Chrome 77이 출시 된 지 한 달 뒤 변경 사항이 발생하여 사이트 격리라는 기존 보호 기능이 조용히 강화되었습니다. Google 개발자는 2018 년 7 월 처음 으로 브라우저가 작동하는 방식에 대한 주요 아키텍처 변경이 필요한 야심 찬 엔지니어링 업적으로 사이트 격리를 추가 했습니다.
다른 브라우저와 마찬가지로 Chrome은 이전에 두 개 이상의 열린 사이트의 JavaScript 및 기타 콘텐츠를 단일 프로세스로 혼합했습니다. 이 디자인은 공격자 웹 사이트 가 Spectre 및 Meltdown이라는 취약점을 통해 다른 웹 사이트와 관련된 중요한 데이터에 액세스 할 수있는 가능성을 열어 놓았습니다 . 이러한 취약점은 거의 모든 최신 프로세서에 상주하며 추론 적 실행으로 알려진 성능 향상을 악용합니다.
이름에서 알 수 있듯이 사이트 격리는 각 Blink 렌더러 프로세스를 단일 사이트의 컨텐츠로 제한합니다. 악의적 인 사이트가 Specter 및 Meltdown 완화를 우회 할 수있는 경우에도 프로세서 제조업체가 지난 20 개월 동안 칩에 추가 한 경우에도 웹 사이트를 공격하면 도용 할 가치가있는 데이터에 액세스 할 수 없습니다.
데스크톱 버전의 Chrome 77부터 사이트 격리는 추론 적 실행을 목표로하는 공격으로부터 보호 할뿐만 아니라 메모리 손상 결함이나 다른 종류의 보안 버그로 인해 Blink가 완전히 손상 될 때 발생하는 훨씬 더 심각한 공격으로부터 보호합니다 .
A의 변화를 자세히 후 , 구글 엔지니어 알렉스 Moshchuk와 루카스 Anforowicz 썼다 :
예를 들어 공격자가 Chrome의 렌더링 엔진 인 Blink에서 메모리 손상 버그를 발견하고 악용했다고 가정합니다. 버그로 인해 샌드 박스 렌더러 프로세스 내에서 임의의 네이티브 코드를 실행할 수 있으며 더 이상 Blink의 보안 검사에 의해 제한되지 않습니다. 그러나 Chrome의 브라우저 프로세스는 렌더러 프로세스의 전용 사이트를 알고 있으므로 전체 프로세스가 수신 할 수있는 쿠키, 비밀번호 및 사이트 데이터를 제한 할 수 있습니다. 이로 인해 공격자가 교차 사이트 데이터를 훔치기가 훨씬 어려워집니다.
Chrome 77에서 사이트 격리는 손상된 렌더러 프로세스로부터 여러 유형의 민감한 데이터를 보호합니다.
인증 : 쿠키 및 저장된 비밀번호는 해당 사이트에 고정 된 프로세스를 통해서만 액세스 할 수 있습니다.
네트워크 데이터 : 사이트 격리는 Cross-Origin Read Blocking 을 사용 하여 프로세스가 민감한 리소스 유형 (예 : HTML, XML, JSON, PDF)을 프로세스에서 필터링합니다. 프로세스는 해당 프로세스가 출처에 대해 Chrome의 네트워크 스택에 거짓말을 시도하더라도 마찬가지입니다. Cross-Origin-Resource-Policy 헤더 로 레이블이 지정된 리소스 도 보호됩니다.
저장된 데이터 및 권한 : 렌더러 프로세스는 프로세스의 사이트 잠금을 기반으로 저장된 데이터 (예 : localStorage) 또는 권한 (예 : 마이크)에만 액세스 할 수 있습니다.
교차 출처 메시징 : Chrome의 브라우저 프로세스는 postMessage 및 BroadcastChannel 메시지의 출처를 확인할 수있어 렌더러 프로세스가 메시지를 보낸 사람에 대해 거짓말을하지 않도록합니다.
이제 롤아웃이 완료되었으므로 Google은 버그 현상금 프로그램을 조정하여 연구원이 새로운 보호에서 버그를 찾아서 비공개 적으로보고하도록 인센티브를 제공하고 있습니다.
모바일은 어떻습니까?
지금까지 iOS 및 Android 버전의 Chrome에서는 사이트 격리를 사용할 수 없습니다. 이제는 천천히 변하기 시작합니다.
Android 용 Chrome 77은 제한된 형태의 사이트 격리를 도입했습니다. 사용자가 비밀번호를 입력하는 웹 사이트에만 적용됩니다. 이러한 소수의 사이트로 보호를 제한하는 이유는 성능 저하입니다. 데스크톱 버전과 마찬가지로 사이트 격리로 인해 크롬은 5 % 더 많은 메모리를 소비 할 수있는 더 많은 프로세스를 생성합니다. 메모리 용량이 제한된 장치를 사용할 때 이러한 위약금은 훨씬 더 심할 수 있습니다. 목요일에 Google 엔지니어는 다음과 같이 설명했습니다.
우리는 사이트 격리가 Android와 같이 리소스가 제한된 환경에서 사용자 경험에 부정적인 영향을 미치지 않도록하고자했습니다. 모든 사이트를 격리하는 데스크톱 플랫폼과 달리 Android의 Chrome은 더 얇은 사이트 격리 형식을 사용하여 더 적은 사이트를 보호하여 오버 헤드를 줄입니다. 보다 구체적으로, 사이트 격리는 사용자가 비밀번호로 로그인하는 중요한 사이트에 대해서만 설정됩니다. 이를 통해 은행이나 쇼핑 사이트와 같이 사용자가 관심을 가질만한 민감한 데이터로 사이트를 보호하는 동시에 중요도가 낮은 사이트간에 프로세스를 공유 할 수 있습니다.
Chrome이 웹 사이트에서 비밀번호 상호 작용을 관찰하면 이후 해당 사이트 방문은 사이트 격리로 보호됩니다. 즉, 사이트는 다른 사이트에서 분리 된 자체 전용 렌더러 프로세스로 렌더링됩니다. 다른 사이트로 이동하면 탭에서 프로세스가 전환되고 사이트 간 iframe이 다른 프로세스에 들어가 " out-of-process iframes "가됩니다. Chrome은 기기에 로컬로 저장된 격리 된 사이트 목록을 유지하고 사용자가 인터넷 사용 기록 또는 기타 사이트 데이터를 지울 때마다 목록을 지 웁니다. 또한 부트 스트랩을 위해 모바일 사용자가 비밀번호를 가장 많이 입력 한 크라우드 소싱 사이트 목록을 분리합니다.
Chrome 77을 실행하고 RAM이 2GB 이상인 Android 기기의 99 %에서 비밀번호로 트리거되는 사이트 격리가 사용 설정되었습니다. Google은 1 %의 설치를 보류하여 성능을 모니터링하고 개선합니다. Android 사용자는 이 URL 에 액세스하여 모든 웹 사이트에 대해 사이트 격리를 활성화 할 수 있지만 목요일 포스트는 많은 사람들이 수용 할 수없는 성능 비용이 발생할 것이라고 경고합니다.
한편, iOS 버전의 Chrome에 대한 사이트 격리는 계속 사용할 수 없습니다. 당 애플의 오랜 요구 사항 , iOS 용 크롬은 독립 프로세스 iframe을 또는 사이트 차단의 다른 요소를 지원하지 않습니다 웹킷 엔진을 사용합니다.