최신 프로세서에서 새로 발견된 부채널 공격을 무기화하여 구글 크롬 및 크로미움 브라우저에 적용된 사이트 격리 보호(Site Isolation)를 성공적으로 우회해 스펙터(Spectre) 스타일의 추측 실행 공격으로 민감한 데이터를 유출할 수 있다는 연구가 발표되었다.
더해커뉴스에 따르면, 미시간 대학, 애들레이드 대학, 조지아 공대, 텔아비브 대학의 학자들에 의해 "Spook.js"라고 명명된 이 기술은 자바스크립트에 기반을 둔 공격 행위로, 2018년 1월 스펙터, 멜트다운 취약점이 밝혀진 이후 구글이 만든 서로 다른 도메인의 콘텐츠가 동일한 주소 공간에서 공유되지 않도록 하여 누설을 방지하는 기법을 우회하는 것을 목표로 한다고 전했다.
연구진은 "공격자가 제어하는 웹페이지는 사용자가 현재 검색 중인 동일한 웹 사이트의 다른 페이지를 알 수 있고, 이러한 페이지에서 중요한 정보를 검색하며, 심지어 로그인 자격 증명(예: 사용자 이름 및 암호)이 자동 완성될 때 이를 복구할 수 있다"며 "공격자는 사용자가 악의적인 확장을 설치한 경우 크롬 확장(예: credential managers)에서 데이터를 검색할 수 있다"고 덧붙였다.
따라서 웹 사이트에 표시되는 개인 식별 정보, 자동으로 채워진 사용자 이름, 암호 및 신용 카드 번호를 포함하여 웹 사이트의 렌더링 또는 크롬 확장 메모리에 저장된 모든 데이터를 추출할 수 있다.
CVE-2017-5753 및 CVE-2017-5715로 지정된 스펙터 공격은 서로 다른 응용 프로그램 간의 격리를 깨고 공격자가 프로그램을 속여 메모리 공간과 관련된 임의의 위치에 액세스하도록 허용하여 액세스된 메모리의 내용을 읽고 잠재적으로 민감한 데이터를 얻는 CPU의 하드웨어 취약성 클래스를 나타낸다.
구글은 "이러한 공격은 대부분의 CPU의 추측 실행 기능을 사용하여 코드 조각에 접근할 수 없는 메모리 부분에 액세스한 다음 타이밍 공격을 사용하여 해당 메모리에 저장된 값을 검색한다. 이것은 신뢰할 수 없는 코드가 해당 프로세스의 주소 공간에 있는 메모리를 읽을 수 있음을 의미한다."라고 설명했다.
2018년 7월에 출시된 사이트 격리(Site Isolation)는 타이머 세분성을 줄이는 것과 관련된 공격을 악용하기 어렵게 만들기 위해 설계된 Google의 소프트웨어 대응책이다. 이 기능을 사용하도록 설정하면 크롬 브라우저 버전 67 이상은 자체 프로세스에서 각 웹사이트를 로드하므로 결과적으로 프로세스 간, 즉 사이트 간 공격을 차단한다.
그러나 최신 연구에서 연구원들은 사이트 격리 보호 장치가 두 웹 사이트를 분리하지 않아 스펙터 보호를 효과적으로 약화시키는 시나리오를 발견했다. Spook.js는 인텔, AMD 및 애플 M1 프로세서에서 실행되는 크롬 및 크로미움 기반 브라우저에서 정보가 누출되도록 설계상의 단점을 악용한다.
연구원들은 "크롬은 'example.com'과 'example.net', 그리고 'example.com'과 'attacker.com'을 [최상위 도메인]이 다르기 때문에 분리할 것이다. 그러나 'attacker.example.com'과 'corporate.example.com'은 동일한 프로세스를 공유할 수 있으며 'attacker.example.com'에서 호스팅되는 페이지는 잠재적으로 'corporate.example.com' 아래의 페이지에서 정보를 추출할 수 있다"면서, "Spook.js는 브라우저 기반 추측 실행 공격으로부터 사용자를 보호하기 위한 이러한 대응책이 불충분하다는 것을 보여준다"라고 덧붙였다. 하지만 다른 Spectre 변종과 마찬가지로 Spook.js를 악용하는 것은 어렵기 때문에 공격자의 상당한 부채널 공격 관련 전문 지식이 필요하다.
크롬 보안팀은 2021년 7월 사이트 격리를 확대하여 "크롬 확장(extension)은 더 이상 서로 프로세스를 공유할 수 없다"는 보장과 더불어 "제3자 공급자를 통해 사용자가 로그인하는 사이트"에도 프로세스를 적용할 수 있도록 했다. 엄격한 확장 격리라는 새로운 설정은 Chrome 버전 92 이상에서 사용하도록 설정된다.
보안팀은 "웹 개발자들은 신뢰할 수 없고, 사용자가 제공한 자바스크립트 코드를 즉시 웹 사이트의 다른 모든 콘텐츠로부터 분리하여 다른 eTLD+1을 가진 도메인에서 모든 사용자 제공 자바스크립트 코드를 호스팅할 수 있다"고 연구원들은 말했다. "이러한 방식으로 엄격한 사이트 분리는 잠재적으로 중요한 데이터가 포함된 공격자가 제공한 코드를 동일한 프로세스에 통합하지 않으며 프로세스 경계를 넘을 수 없기 때문에 Spook.js의 경우에도 데이터가 도달할 수 없게 된다"고 설명했다.
[AIS 2021] 국내 최대 인공지능·머신러닝 정보보호 컨퍼런스에 여러분을 초대합니다!(보안교육 7시간 이수)
-인공지능·머신러닝 적용 정보보호 기술과 위협 정보 공유의 장
-2021년 9월 16일 온라인 개최
-공공·금융·기업 정보보호 관계자라면 누구나 무료참석
-보안교육7시간 이수증 발급
-사전등록: 클릭
★정보보안 대표 미디어 데일리시큐!★