MarioNET 공격을 통해 공격 페이지를 떠난 후에도 해커가 브라우저를 제어 할 수 있습니다.

웹 기술의 등장으로 인터넷에 새로운 가능성이 열렸습니다. 새로운 API가 등장하고 특정 기능에 대한 지원이 도입되면서 브라우저는 더욱 강력 해졌습니다.

연구원들이 마리오네트 (MarioNET)라고 부르는 새로운 공격은 적절한 안전 장치가 없다면 API도 남용 될 수 있음을 강조하고있다 (현재의 경우).

이 공격은 모든 최신 웹 브라우저가 지원하는 기존 HTML5 API에 의존합니다. 소프트웨어 또는 사용자 상호 작용을 설치할 필요가 없으며 사용자가 웹 페이지를 떠난 후에도 공격이 시작됩니다.

공격자는 DDOS 공격, 암호화 마이닝 작업 또는 암호 해독을 포함한 모든 종류의 활동에 대해 컴퓨터 리소스를 남용 할 수 있습니다.

업데이트 : 여기 연구 논문에 설명 된 시나리오와 반대되는 비판적인 목소리가 있습니다. 비판의 주요 요점은 공격 방법이 PeriodicSync라는 기능에 의존하고 있으며이 시점에서 사양의 일부가 아니라는 것입니다. 종료

MarioNET은 공격시 방문한 웹 페이지와 백그라운드에서 별도로 실행되는 스크립트 인 Service Workers를 사용합니다. Service Workers의 기본 아이디어는 사용자가 상호 작용하는 앱 또는 웹 페이지를 차단하거나 속도를 늦추지 않도록 특정 계산을 별도의 스레드로 이동하는 것입니다.

서비스 워커의 수명주기는 생성 된 페이지와 완전히 독립적입니다. 서비스 워커는 웹 페이지의 DOM (Document Object Model) 및 상위 페이지 변수 및 함수에 액세스 할 수 없습니다.

Service Workers를 사용하면 시스템을 원래 웹 사이트와 격리하고 공격자를 지속적으로 제어 할 수 있으며 사용자가 현재 상황을 감지하기가 어렵습니다.

특히, 우리 시스템은 세 가지 중요한 목표를 달성합니다.

(i) 방문한 웹 사이트로부터 격리하여 활용 된 자원을 세밀하게 제어 할 수 있습니다. (ii) 부모 탭을 닫은 후에도 백그라운드에서 중단없이 작업을 계속함으로써 지속성; 및 (iii) 웹 페이지의 활동 또는 발신 통신을 모니터링하려고 시도하는 브라우저 확장에 의한 탐지를 피하는 회피.

MarioNET은 사용자가 웹 페이지를 방문 할 때 서비스 작업자를 등록하여 공격이 시작될 수 있습니다. 공격을 유포 할 가능성은 악성 웹 사이트 생성, 사이트 해킹 또는 광고 사용을 포함합니다.

브라우저는 사용자에게 서비스 워커에 대한 정보를 거의 제공하지 않습니다. 실제로 브라우저는 사이트에서 사용자에게 새로운 서비스 워커를 만드는 것을 강조하지 않습니다. 서비스 작업자가 생성 될 때 경고, 프롬프트 및 사용자 권한을 요청하는 프롬프트를 표시하는 옵션도 없습니다.

서비스 워커의 존재를 드러내는 유일한 요청은 서비스 워커가 처음 등록 될 때 사용자가 처음 웹 사이트를 방문 할 때의 초기 GET 요청입니다. GET 요청 중에 모니터링 확장 프로그램이 서비스 워커의 내용을 관찰 할 수는 있지만 의심스러운 코드는 관찰하지 않습니다. 악성 작업을 수행 할 코드는 Puppeteer와 처음 통신 한 후에 만 ​​서번트에게 전달됩니다. 이 커뮤니케이션은 브라우저 확장에서 숨겨져 있습니다

MarioNET이 특히 문제가되는 것은 사용자가 공격을 시작한 웹 사이트를 닫은 후에도 백그라운드에서 계속 실행된다는 것입니다. 웹 브라우저가 닫히면 컨트롤이 종료됩니다. 연구원들은이를 극복 할 수있는 방법을 찾았지만 Web Push API를 사용하기 위해서는 사용자 상호 작용이 필요합니다.

보호

대부분의 최신 브라우저에는 기존 서비스 워커를 표시하는 옵션이 포함되어 있습니다. Firefox 사용자는 about : serviceworkers 또는 about : debugging # workers를 로드 할 수 있으며 Chrome 사용자는 chrome : // serviceworker-internals / 를로드 할 수 있습니다.

이 페이지에 제공된 기능을 사용하여 서비스 워커의 등록을 취소 할 수 있습니다. Firefox 사용자는 더 이상 서비스 워커를 비활성화 할 수 있습니다.

이는 합법적 인 목적으로 사용하는 사이트의 기능에 영향을 줄 수 있습니다. about : config에서 dom.serviceWorkers.enabled 환경 설정을 false로 설정해야합니다.

Chrome 및 Firefox 용 Service Worker Detector와 같은 일부 브라우저 확장 프로그램은 웹 페이지가 서비스 워커를 등록 할 때 사용자에게 알립니다.

Now You : 브라우저 개발자가 추가 보호 조치를 구현해야합니까? (ZDNet을 통해)