상세 컨텐츠

본문 제목

새로운 SpookJS 공격, 구글의 사이트 격리 보호 우회해

국내외 보안동향

by 알약4 2021. 9. 14. 09:00

본문

 

 

New SpookJS Attack Bypasses Google Chrome's Site Isolation Protection

 

새롭게 발견된 사이드 채널 공격이 무기화되어 구글 크롬 및 크로미움 브라우저에 적용된 사이트 격리 보호를 성공적으로 우회하고 Spectre 유형의 추측 실행 공격을 통해 민감 데이터를 유출할 수 있는 것으로 나타났습니다.

 

University of Michigan, University of Adelaide, Georgia Institute of Technology, Tel Aviv University의 연구원들이 'Spook.js'라고 명명한 이 기술은 SpectreMeltdown 취약점이 발견된 이후로 구글이 설치한 장벽을 우회하기 위해 특별히 고안된 JavaScript 기반 공격 라인입니다. 이 기술은 다른 도메인의 콘텐츠가 동일한 주소 공간에서 공유되지 않아 잠재적 데이터 누출을 방지합니다.

 

연구원들은 아래와 같이 설명했습니다.

 

공격자가 제어하는 웹 페이지는 사용자가 현재 탐색 중인 동일한 웹사이트 내 다른 페이지를 알아내 해당 페이지에서 민감 정보를 받아오고, 로그인 자격 증명(계정명, 비밀번호 등)을 복구해 내는 것도 가능합니다. 사용자가 악성 확장 프로그램을 설치할 경우, 공격자는 크롬 확장 프로그램(크리덴셜 매니저 등)에서 데이터를 받아오는 것도 가능합니다."

 

결과적으로 웹사이트에 표시되는 개인 식별 정보, 자동으로 입력된 계정명, 비밀번호, 신용카드 정보 등 렌더링 중인 웹사이트 또는 크롬 확장 프로그램의 메모리에 저장된 모든 데이터가 추출될 수 있습니다.

 

CVE-2017-5753, CVE-2017-5715로 등록된 Spectre 취약점은 서로 다른 응용 프로그램 간의 격리를 깨트리는 CPU 내 하드웨어 취약점으로, 공격자가 악용할 경우 프로그램을 속여 해당 메모리 공간과 관련된 임의 위치에 액세스해 내용을 읽어 잠재적으로 민감 데이터를 유출할 수 있습니다.

 

구글은 이에 대해 아래와 같이 언급했습니다.

 

"이러한 공격은 대부분의 CPU에 존재하는 추측 실행 기능을 사용하여 코드 조각에 접근이 불가능한 메모리 영역에 액세스한 다음 타이밍 공격을 통해 해당 메모리에 저장된 값을 검색합니다. 이는 신뢰할 수 없는 코드가 프로세스의 주소 공간에 있는 모든 메모리를 읽을 수 있음을 의미합니다."

 

20187월 공개된 사이트 격리 기능은 타이머 단위를 줄이는 등 공격자의 악용이 어렵도록 설계된 구글의 소프트웨어 대응책입니다.

 

하지만 연구원들이 발표한 최신 연구에서는 사이트 격리 보호 기능이 두 웹사이트를 분리하지 않아 Spectre에 대한 보호를 효과적으로 약화시킬 수 있는 것이 발견되었습니다. Spook.js는 이 설계적 결함을 이용해 Intel, AMD, Apple M1 프로세서에서 실행되는 크롬 또는 크롬 기반 브라우저에서 정보가 누출시키는 결과를 낳을 수 있습니다.

 

연구원들은 아래와 같이 설명했습니다.

 

크롬은 최상위 도메인이 다르기 때문에 'example.com''example.net, 'example.com''attacker.com’을 분리할 것입니다. 하지만 'attacker.example.com''corporate.example.com'은 동일한 프로세스를 공유 가능하기 때문에 'attacker.example.com'에서 호스팅되는 페이지가 잠재적으로 'corporate.example.com'의 페이지의 정보를 추출해낼 수 있게 됩니다.”

 

하지만 다른 Spectre 변종과 마찬가지로 Spook.js를 악용하기 위해서는 공격자의 상당한 사이드 채널 관련 지식이 필요하기 때문에 악용이 쉽지는 않습니다.

 

이에 크롬 보안팀은 20217월 사이트 격리를 확장해 확장 프로그램이 더 이상 서로 프로세스를 공유하지 않을 것이라 밝혔으며, “사용자가 타사 공급자를 통해 로그인하는 사이트에 적용된다고 밝혔습니다. ‘엄격한 확장 프로그램 격리(Strict Site Isolation)’라 명명된 이 새로운 설정은 크롬 버전 92이상에서 활성화됩니다.

 

"웹 개발자는 신뢰할 수 없는 사용자가 제공한 JavaScript 코드를 웹 사이트 내 다른 모든 콘텐츠와 즉시 분리하여 다른 eTLD+1이 있는 도메인에서 사용자 제공 JavaScript 코드를 모두 호스팅할 수 있습니다. 이런 식으로 엄격한 확장 프로그램 격리는 잠재적으로 민감한 데이터가 있는 공격자 제공 코드를 동일한 프로세스로 통합하지 않으며, 프로세스 경계를 넘을 수 없기 때문에 Spook.js를 통해서도 데이터에 도달할 수 없게 됩니다."

 

 

 

 

출처:

https://thehackernews.com/2021/09/new-spookjs-attack-bypasses-google.html

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

관련글 더보기

댓글 영역