Chrome 76에는 웹 애플리케이션에서 시크릿 모드 사용을 결정할 수 있게 해주는 FileSystem API 구현의 허점입니다. Chrome 76부터 시크릿 모드 활동의 표시로 사용되었던 FileSystem API에 대한 액세스를 차단하는 대신 브라우저는 더 이상 FileSystem API를 제한하지 않지만 세션 후 변경된 내용을 정리합니다. 결과적으로 새로운 구현은 이전과 같이 시크릿 모드의 활동을 확인할 수 있는 단점이 있습니다.
문제의 본질은 시크릿 모드에서 FileSystem API를 사용한 세션이 일시적이며 데이터가 디스크에 저장되지 않고 RAM에 보관된다는 것입니다. 각기, FileSystem API를 통해 데이터를 저장하는 시간과 발생하는 편차(RAM에 저장할 때 일정한 특성이 기록되고 디스크에 쓸 때 지연이 변경됨)를 통해 페이지가 시크릿 모드에서 표시되는지 여부를 자신있게 판단할 수 있습니다. . 이 방법의 단점은 편차를 측정하는 과정이 다소 길어서 약 XNUMX분 정도 지속될 수 있다는 것입니다().
동시에 Chrome 76에는 한 가지가 더 해결되지 않은 상태로 남아 있습니다. , API를 통해 설정된 제한 사항에 대한 평가를 기반으로 시크릿 모드의 활동을 판단할 수 있습니다. . 시크릿 모드에서 사용되는 임시 저장소의 경우 디스크의 전체 저장소와는 다른 제한이 설정됩니다.
유료 구독(페이월)을 통해 전체 액세스를 제공하는 모델로 운영되는 사이트는 시크릿 모드 정의에 관심이 있다는 점을 상기시켜 드리겠습니다. 새로운 잠재 고객을 유치하기 위해 이러한 사이트는 신규 사용자에게 페이월을 우회하는 데 적극적으로 사용되는 데모 전체 액세스 권한을 제공합니다. 이러한 시스템에서 유료 콘텐츠에 액세스하는 가장 쉬운 방법은 시크릿 모드를 사용하는 것입니다. 이 모드에서는 사이트에서 사용자가 처음으로 페이지를 열었다고 믿습니다. 게시자는 이 동작에 만족하지 않았기 때문에 FileSystem API와 관련된 허점을 적극적으로 사용하여 탐색을 계속하려면 시크릿 모드를 비활성화해야 한다는 요구 사항을 부과했습니다.
출처 : opennet.ru
