0xNews - 구글 크롬의 사이트 격리 보호를 우회하는 새로운 공격 발견

0xNews - 구글 크롬의 사이트 격리 보호를 우회하는 새로운 공격 발견


미국 미시간 대학, 애들레이드 대학, 조지아 공과 대학, 텔아비브 대학 등 연합팀 발표

https://www.spookjs.com/


이번 공격을 SpookJS 로 명명

최신 CPU 프로세서에서의 보호 정책을 우회하여 공격하도록 개발된 사이드 채널 공격을 무기화

구글 크롬 Google Chrome, Chromium 등의 브라우저에 적용된 사이트 격리 보호 우회 성공

Spectre 스타일의 추측 실행 공격에서 민감 정보 유출 가능



이번 공격은 구글이 만든 격리 우회 보호 장벽을 우회가 가능함이 확인된 JavaScript 기반 공격

Spectre 와 Meltdown 취약점 등은 2018년 1월 발견

이에 각기 다른 도메인의 콘텐츠가 동일한 주소 공간에서 공유되지 않도록 하여 잠재적으로 누출을 방지할 수 있음


공격자가 제어하는 웹 페이지는 사용자가 현재 탐색 중인 동일한 웹 사이트의 다른 페이지를 알고 이러한 페이지에서 민감 정보를 검색하여 자동 완성 시 로그인 자격 증명을 복구할 수 있음

사용자가 악성 확장 프로그램을 설치하면 공격자가 이를 이용하여 크롬 확장 프로그램에서 데이터를 검색 가능

결과적으로 웹사이트에 표시되는 개인식별 정보, 자동으로 채워지는 사용자 이름, 비밀번호, 신용카드 번호 등을 포함하여 렌더링 중인 웹사이트나 크롬 확장 프로그램의 메모리에 저장된 모든 데이터 추출 가능


Spectre 는 CVE-2017-5753, CVE-2017-5715 등으로 지정

서로 다른 애플리케이션간의 격리를 깨고 공격자가 프로그램을 속여 메모리 공간과 관련된 임의 위치에 접속하도록 허용하는 CPU 하드웨어 취약점

접속된 메모리의 내용을 읽어내어 민감 정보 취득




이러한 공격은 대부분 CPU 의 추측 실행 기능을 사용

코드 조작에 접근할 수 없는 메모리 부분에 접속하여 다음 타이밍 공격을 사용하여 해당 메모리에 저장된 값을 검색



Spectre 공격에 대한 구글 크롬 보안 설명 사이트 링크

https://security.googleblog.com/2018/07/mitigating-spectre-with-site-isolation.html


2018년 7월 구글 크롬 업데이트 실시

사이트 격리는 타이머 세분성을 줄이는 것과 관련된 공격을 악용하기 어렵게 만들기 위해 설계된 구글의 소프트웨어 대응책

이 기능을 사용하도록 설정하면 크롬 브라우저 v.67 이상은 자체 프로세스에서 각 웹사이트를 로드

결과적으로 프로세스간, 사이트간 공격을 효과적으로 차단


이번 연구 결과는 사이트 격리 보호 방법이 두 웹 사이트를 분리하지 않아 Spectre 보호를 약화 시키는 시나리오가 성립되는 것을 확인

Spook.js 는 Intel, AMD, Appel M1 등의 프로세서에서 실행되는 크롬, 크로니움 기반 브라우저에서 정보 누출이 되는 것을 확인


example.com / example.net 이상 두개 사이트는 다름

example.com / attacker.com 이상 두개 사이트 역시 다르기 때문에 분리

하지만 attack.example.com / blog.example.com 은 동일 프로세스를 공유하는 것을 허용

attack.example.com 에서 호스팅되는 페이지가 blog.example.com 에서 잠재적으로 정보를 추출 가능


이번 취약점 발견 후 구글 크롬 보안팀은 2021년 7월 사이트 격리를 확장

확장 프로그램이 더 이상 서로 프로세스를 공유할 수 없음을 확인

사용자가 타사 공급자를 통해 로그인하는 사이트에 적용

Strict Extension Isolation 이 새로운 설정은 크롬 v.92 이상에서 활성화


2021년 7월 구글 크롬 보안 업데이트 관련 정보 사이트 링크

https://security.googleblog.com/2021/07/protecting-more-with-site-isolation.html


웹 개발자는 신뢰할 수 없는 사용자 제공 JavaScript 코드를 웹 사이트의 다른 모든 콘텐츠와 즉시 분리

다른 eTLD+1 이 있는 도메인에서 모든 사용자 제공 JavaScript 코드를 호스팅 가능


eTLD+1 에 대한 개념 설명

https://web.dev/same-site-same-origin/


이런식으로 Strict Extension Isolation 은 공격자가 제공하는 코드를 동일한 프로세스에 통합하여 잠재적으로 민감 정보가 있는 곳에서 수행하지 못하게 함

프로세스 경계를 넘을 수 없기에 Spook.JS 를 통해서도 데이터 접근 불가


댓글

이 블로그의 인기 게시물

0xNews - 안드로이드 폰 890만대 이상 사전 감염 확인

0xNews - 미군을 주제로 하여 한국인을 노리는 피싱 공격 캠페인 경고

0xNews - 리눅스 커널에서 StackRot 라는 이름의 취약점으로 권한 상승 취약점 발견