자바 스크립트없이 웹 브라우저에서 일련의 CPU 캐시 복구 공격을 개발했습니다.

다양한 대학의 연구원 팀 미국인, 이스라엘인 및 호주인 프로세서 캐시의 내용에 대한 정보를 추출 할 수있는 웹 브라우저를 대상으로하는 세 가지 공격을 개발했습니다.. 방법 JavaScrip이없는 브라우저에서 작동t 및 다른 두 가지는 Tor 브라우저 및 DeterFox에서 사용되는 채널을 포함하여 타사 채널을 통한 공격에 대한 기존 보호 방법을 우회합니다.

캐시의 내용을 분석하려면 모든 공격은 "Prime + Probe"방법을 사용합니다.그 일련의 참조 값으로 캐시를 채우고 액세스 시간을 측정하여 변경 사항을 결정하는 작업이 포함됩니다. 재충전 될 때 그들에게. 정확한 시간 측정을 방해하는 브라우저에있는 보안 메커니즘을 우회하기 위해 두 가지 버전에서 제어 된 공격 DNS 또는 WebSocket 서버가 호출되어 요청 수신 시간을 기록합니다. 일 실시 예에서, 고정 DNS 응답 시간은 시간 기준으로 사용된다.

기계 학습을 기반으로 한 분류 시스템의 사용 덕분에 외부 DNS 서버 또는 WebSocket을 사용하여 수행 한 측정은 가장 최적의 시나리오 (평균 98-80 %)에서 90 %의 정확도로 값을 예측하는 데 충분했습니다. 공격 방법은 다양한 하드웨어 플랫폼 (Intel, AMD Ryzen, Apple M1, Samsung Exynos)에서 테스트되었으며 다재다능한 것으로 입증되었습니다.

DNS Racing 공격의 첫 번째 변종 Prime + Probe 방법의 고전적인 구현을 사용합니다. JavaScript 배열 사용. 차이점은 존재하지 않는 도메인에서 이미지를로드하려고 할 때 실행되는 외부 DNS 기반 타이머와 오류 처리기를 사용하는 것입니다. 외부 타이머는 JavaScript 타이머 액세스를 제한하거나 완전히 비활성화하는 브라우저에서 Prime + Probe 공격을 허용합니다.

동일한 이더넷 네트워크에서 호스팅되는 DNS 서버의 경우 타이머의 정밀도는 약 2ms로 추정되며, 이는 부 채널 공격을 수행하기에 충분합니다 (비교를 위해 Tor 브라우저의 표준 JavaScript 타이머의 정밀도는 100ms로 줄였습니다). 공격의 경우 DNS 서버에 대한 제어가 필요하지 않습니다., DNS 응답 시간이 검증의 조기 완료 신호 역할을하도록 작업 실행 시간이 선택되기 때문입니다 (오류 처리기가 트리거되었는지 여부에 따라 다름). , 캐시를 통한 검증 작업이 완료된 것으로 판단) ...

두 번째 "String and Sock"공격은 보안 기술을 우회하도록 설계되었습니다. 저수준 JavaScript 배열의 사용을 제한합니다. 배열 대신 String 및 Sock은 변수가 전체 LLC 캐시 (최상위 캐시)를 포함하도록 크기가 선택되는 매우 큰 문자열에 대한 작업을 사용합니다.

다음으로 indexOf () 함수를 사용하여 문자열에서 작은 부분 문자열을 검색합니다.이 문자열은 처음에는 원래 문자열에 없었습니다. 즉, 검색 작업으로 인해 전체 문자열에 대한 반복이 발생합니다. 라인의 크기는 LLC 캐시의 크기와 일치하므로 스캔을 통해 어레이를 조작하지 않고도 캐시 검사 작업을 수행 할 수 있습니다. 지연을 측정하려면 DNS 대신 공격자가 제어하는 ​​공격 WebSocket 서버에 대한 호소입니다. 검색 작업 시작 전과 종료 후에 요청이 체인으로 전송됩니다.

HTML 및 CSS를 통한 공격 "CSS PP0"의 세 번째 버전이며 JavaScript가 비활성화 된 브라우저에서 작동 할 수 있습니다.. 이 메서드는 "String and Sock"처럼 보이지만 JavaScript에 바인딩되지 않습니다. 공격은 마스크로 검색하는 CSS 선택기 세트를 생성합니다.. 캐시를 채우는 훌륭한 오리지널 라인 div 태그를 생성하여 설정 매우 큰 클래스 이름으로n 내부에는 자체 식별자가있는 다른 div 집합이 있습니다.

각각의 이러한 중첩 된 div는 하위 문자열을 찾는 선택기로 스타일이 지정됩니다. 페이지를 렌더링 할 때 브라우저는 먼저 내부 div 처리를 시도하여 큰 문자열을 검색합니다. 분명하게 누락 된 마스크를 사용하여 검색이 수행되고 전체 문자열이 반복 된 후 "no"조건이 트리거되고 배경 이미지를로드하려고 시도합니다.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.