Evitar descargas de spam en Safari

8

Antecedentes

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 ajusta a la categoría de escaneos falsos, MacKeeper, "USTED TIENE UN VIRUS", etc.

Problema

El problema con esta nueva página es que, en lugar de solo tener una ventana emergente, la página en realidad inicia una descarga de archivos aleatorios de 2kb (no 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 quedas 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 evitó que las descargas ... bueno ... lo descarguen, aparece un cuadro de diálogo (ver imagen). Por lo general, podría cerrar 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 cerrar, evitando que cierre la ventana.

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

  • Cambiando 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 se bloquea Safari.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Pregunta

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

ACTUALIZAR:

Aquí está el código que causa la descarga (lo obtuvo deshabilitando JavaScript y mirando 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 JS en una página personalizada. Se congeló en lugar de descargarse. 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/

JBis
fuente
Los comentarios no son para discusión extendida; Esta conversación se ha movido al chat .
bmike
@JBis Se acerca el momento de otorgar la recompensa
Matt
@ Matt tengo otras 24 horas. Y no estoy otorgando ninguna respuesta en su forma actual.
JBis

Respuestas:

5

¿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 Mac para ver si puede usar reglas preconstruidas para anular la secuencia de comandos en sitios cruzados / inyección de código publicitario en páginas web. Por supuesto, si la página está sirviendo ese contenido directamente, deberá deshabilitar javascript por completo en esa página o tomar nota y simplemente bloquear aquellos sitios que obstaculizan su experiencia intencionalmente o debido a la venta de inyección de anuncios a cualquier persona con los medios para permitirse este susto y estafa.

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

Editado por @JBis

El siguiente script de usuario bloqueó la página con éxito.

     // ==UserScript==
     // @name         The Bomb Squad
     // @version      0.1
     // @description  Blocks the pages containing any function with the bomb_ch function detailed in /apple/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 ammers Sp (c) pueden evitar esto fácilmente aleatorizando 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 probablemente se adaptarán a cualquier tecnología que intente facilitar el bloqueo. A menos que esté dispuesto a gastar más dinero para apoyar a 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 preparar 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 forman parte de la estafa, ya que deben saber que esto le está sucediendo a usted, uno de los visitantes que alojan.

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

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 .

EDIT: No se debe confundir con el uBlock origen muy similar llamado uBlock, . Los dos productos son sustancialmente diferentes en capacidad y reputación.

¿Pueden hacer lo que quieras y evitar que la descarga bombardee a tus amigos? Sí, con la distinción de que Ghostery necesitaría algunas reglas de personalización donde uBlockOrigin está configurado para hacerlo como predeterminado.

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 recomendaría que los pruebes a ambos.

Doc G.
fuente
Por favor no elimine la respuesta. Todavía puede ayudar a otros. Continuaré haciendo pruebas para ver si la herramienta puede bloquearse con una regla personalizada.
JBis
@JBis si quieres poner una url en el chat que podamos eliminar más tarde, envíame un ping allí. ¿Está diciendo que el único clic en "deshabilitar todo" de ghostery no lo protege de esta función.
bmike