꿈을꾸는 파랑새

학술 연구원들은 모든 최신 Apple 장치에서 작동하고 Safari 웹 브라우저에서 민감한 정보를 추출할 수 있는 iLeakage라는 새로운 추측성 부채널 공격을 만들었습니다.
iLeakage는 Apple Silicon CPU 및 Safari 브라우저에 대한 추측 실행 공격의 첫 번째 시연입니다. Safari는 물론 iOS의 Firefox, Tor 및 Edge 에서도 "거의 완벽한 정확도"로 데이터를 검색하는 데 사용할 수 있습니다.
Safari 에서 공격 방식
iLeakage는 Safari의 사이드 채널 탄력성을 조사하고 경쟁 조건에 따라 타이머가 없고 아키텍처에 구애받지 않는 방법을 구현하여 기존 대책을 우회한 Georgia Tech, University of Michigan 및 Ruhr University Bochum의 학자 팀에 의해 개발
연구원들은 Safari에서 민감한 정보를 읽는 데 중점을 두고 애플 브라우저가 렌더링 프로세스에 사용하는 주소 공간에서 64비트 포인터를 추론적으로 읽고 유출할 수 있는 기본 요소를 생성하여 데이터 를 훔칠 수 있었습니다.
저해상도 타이머, 압축된 35비트 주소 지정 등 Apple이 브라우저에 구현한 부 채널 보호 기능을 무력화함으로써 이를 달성
연구원들은 또한 사파리의 사이트 격리 정책을 우회 해당 정책은 효과적인 최상위 도메인(eTLD)과 하나의 하위 도메인을 기반으로 웹사이트를 서로 다른 주소 공간으로 분리

Apple Safari(애플 사파리 브라우저)
Apple Safari(애플 사파리 브라우저)

JavaScript window.open API를 사용하여 공격자 페이지가 임의의 피해자 페이지와 같은 주소 공간을 공유할 수 있도록 하는 새로운 기술을 사용
추측성 유형 혼동을 사용하여 Apple의 압축된 35비트 주소 지정 및 가치 중독 대책을 우회함으로써 연구원들은 대상 페이지에서 비밀번호 및 이메일과 같은 민감한 데이터를 유출할 수 있었음

애플 아이폰
애플 아이폰

공격에 대한 개념 증명 코드는 동적 웹 콘텐츠를 제공하는 두 가지 프로그래밍 언어인 JavaScript와 WebAssembly에 있음
iLeakage 공격을 사용하여 iPad를 실행하는 Safari의 Gmail 메시지를 검색하는 방법을 보여주며 공격이 작동하기 위한 기본 요구 사항은 피해자 사용자가 공격자의 페이지와 상호 작용

 

연구원들은 동일한 방법을 사용하여 LastPass 비밀번호 관리 서비스를 사용하여 Safari 웹 브라우저에 자동으로 입력된 Instagram 테스트 계정의 비밀번호를 검색과 른 실험에서 연구원들은 iLeakage 공격이 iOS용 Chrome에서도 어떻게 작동하고 YouTube 시청 기록을 검색할 수가 있었습니다.
iLeakage는 CPU의 예측 실행이 필요할 가능성이 가장 크지만 필요한지를 알기 전에 작업을 수행하는 Apple Silicon 칩(M1, M2)의 추측 실행 활용에 의존
모든 최신 CPU에 존재하는 이 메커니즘은 성능을 극적으로 향상 그러나 거의 6년 전에 공개된 Meltdown 및 Spectre 공격에서 입증되었듯이 설계 결함으로 말미암아 데이터 유출이 발생할 수 있음

iLeakage는 Apple의 A 시리즈 및 M 시리즈 ARM 프로세서로 구동되는 2020년부터 출시된 모든 애플 장치에 영향을 줍니다.
브라우저 캐시에 있는 공격자의 웹페이지 항목을 제외하고는 피해자의 시스템에 로그 형태의 흔적을 남기지 않음
브라우저 기반 사이드 채널 공격과 Safari의 구현에 대한 고급 지식이 필요

iLeakage는 2022년 9월 12일에 Apple에 비공개로 보고되었으며 Apple은 macOS에 대해 다음과 같은 완화 조치를 개발
터미널을 열고 defaults write com(.)apple.Safari includeInternalDebugMenu 1을 실행하여 Safari의 숨겨진 디버그 메뉴를 활성화

Safari를 열고 새로 표시되는 디버그 메뉴로 이동
WebKit 내부 기능을 선택
스크롤하여 사이트 간 창 열기 시 스왑 프로세스(Swap Processes on Cross-Site Window Open) 를 활성화
완화에는 일부 불안정성이 발생할 수 있다는 경고가 함께 제공됩니다.
사용자가 이를 비활성화하려면 터미널에서 기본 명령인 com(.)apple.Safari includeInternalDebugMenu 0을 실행하여 디버그 메뉴에서 비활성화
iLeakage의 실제 의미 외에도 이 연구는 x86 아키텍처만큼 자세히 조사되지 않은 신흥 ARM 기반 플랫폼의 잠재적인 추측 실행 위험을 강조

사진 출처:Unsplash의John Schnobrich

 

공유하기

facebook twitter kakaoTalk kakaostory naver band