edición general

eBay escanea los puertos del ordenador de sus usuarios [Ing]

Que Ebay pueda escanear puertos locales es un problema de seguridad del navegador y/o del sistema operativo.
#1 Al principio pensé que escaneaba los puertos de tu router no los de tu máquina. Es mucho mas grave de lo que da a entender el título y la entradilla.
#2 Si quisieran escanear los puertos del router posiblemente podrían hacerlo con la misma facilidad. No entiendo que te tranquilice el hecho que no lo intenten cuando lo que debería ser preocupante es que puedan hacerlo si quieren.

Y de nuevo el problema no es Ebay, que intenten lo que quieran, el problema es que lo consigan.
#3 Escanear los puertos de tu router lo puede hacer cualquiera incluso sin saber tu ip. De hecho tienes webs que se encargan de recolectar los puertos accesibles de toda la red. Que aprovechen para escanear los de tu pc aprovechando que les visitas me parece bastante mas grave.
#4 Escanear los puertos de tu router lo puede hacer cualquiera incluso sin saber tu ip.

Sí, vale, no te entendí. Desde fuera hacia dentro sí. Me refería desde el propio navegador local, utilizarlo para escanear puertos en la pata de la LAN del router.
#4 #5 Ciertamente, una página remota no debería poder acceder a localhost, que es lo que hace eBay, intentar cargar de diferentes puertos desde localhost, como aquí se ve. Esto me parece un problema de seguridad del navegador.  media
#37 ¿A mi no me sale ninguna petición al localhost? ¿Has hecho algo especial? Tengo mil bloqueadores de todo tipo... así que lo mismo alguno lo está capando.

Edito: Vale, he entrado con un navegador limpio en modo oculto y ahora si que me salen las peticiones, flipado me hallo :o
Edito2: No me salían en el primer navegador porque tengo capados los websockets
#1 #2 Esto viene de largo y el problema no es en sí el navegador u ordenador, sino el concepto de seguridad. Esto es una tecnología del 2015 desarrollada por una empresa que fue comprada por esta otra: risk.lexisnexis.com/products/threatmetrix

Ojo, porque según Wikipedia "ThreatMetrix, one of the largest repositories of online digital identities in the world".
en.wikipedia.org/wiki/RELX

Se supone que para más seguridad en la banca online, pues así la web del banco podía verificar que no hubiera troyanos o cosas raras captando la conexión. Evidentemente una muy mala idea y peor implementado. Todo ocurre sin conocimiento del usuario y las empresas que no son bancos han empezado a usarlo, a saber desde cuándo. Y es cuestión de tiempo que delincuentes saquen provecho de esto.

Falta por saber si es una tecnología propia de eBay o si se la compran a la empresa mencionada. Y saber quién es el responsable de que alguien pueda ejecutar javascript en tu navegador sin tu consentimiento, porque alguien tiene que darte tu navegador configurado de tal manera para que eso sea posible. No hace falta decir que cada uno puede bloquear manualmente ese escaneo.

Por ahí le leí a uno en un foro que son los usuarios de Windows y Mac los afectados. No lo puedo asegurar, pero parece que Linux no permite ese escaneo. Sería cuestión de hacer pruebas.
#6 "Y saber quién es el responsable de que alguien pueda ejecutar javascript en tu navegador sin tu consentimiento"

Esta frase denota desconocimiento de lo que es la web y más concretamente Javascript. Cada vez que accedes a prácticamente cualquier página web moderna se ejecutan no uno sino un buen puñado de script JS, llegando a ser varias decenas en webs de tamaño considerable. La web moderna sin Javascript simplemente no existiría, y volveríamos a los tiempos donde los contenidos eran estáticos y solo se actualizaban mediante recargas de las páginas.

Por poner un ejemplo que aquí conocemos todos, el envío y modificación de los comentarios de Menéame sin necesidad de actualizar la página, o la actualización del número de dentro de la campanita que tenemos en la esquina superior derecha, no funcionarían sin Javascript

Dicho esto, obviamente no es que nadie en concreto permita la ejecución de Javascript en tu navegador, es que un navegador y una web moderna sin Javascript no tienen sentido. Ese no es el tema, no hay discusión alguna sobre la necesidad de que los navegadores permitan la ejecución de JS por defecto, por la simple razón de que la inmensa mayoría de la gente desconoce lo que es JS y lo importante que es para la web moderna, y por lo tanto no tiene sentido bombardear al usuario con ventanas para permitir la ejecución de cada script. Si es molesto el texto de aceptar las cookies, imagínate 10 diálogos de permiso de ejecución de JS cada vez que entras en una página, no es factible y no tiene sentido.

El tema es que desde un script JS se puedan escanear los puertos haciendo peticiones a localhost. Y ojo, porque puede haber casos en los que esto esté justificado, por ejemplo en software empresarial, para comunicaciones entre una aplicación web distribuida desde un servidor local y software local instalado en los PCs, por ejemplo. Yo nunca he visto algo parecido, pero podría darse el caso.

En cualquier caso está claro que esto que está haciendo eBay es un abuso, y habría que buscar alguna forma de limitarlo sin limitar a los posibles usos legítimos.
#38 como se hizo con los cryptominers en js, esto acabarán bloqueandolo o los navegadores o los antivirus si se abusa de ello
#38 Un caso que conozco: disparar una llamada desde el softphone instalado en el pc local desde un click en una página web.

Haces click y tu pc hace una llamada.
#46 no, no es que te hayas expresado mal, es que no entiendes bien el concepto, como me temía. Y no te culpo, entender lo que está ocurriendo no es tan fácil incluso para alguien con una buena base de informática, aunque tampoco es tan complicado si te lo explican de una forma sencilla. Lo voy a intentar..

Lo que le permite escanear los puertos a eBay no es ninguna tecnología nueva ni mucho menos, lo que hace el script es simplemente hacer peticiones a localhost a determinados puertos. Es exactamente lo mismo que si tú intentas entrar a localhost manualmente, por ejemplo con estos enlace:

localhost/ o 127.0.0.1/

Esto hace una petición al puerto web por defecto, que es el 80. Pero se puede cambiar el puerto añadiéndolo al final de la URL, por ejemplo para hacer la petición al puerto 3389 se haría así:

localhost:3389/ o 127.0.0.1:3389/

Y por último para saber si hay algún servicio activo en ese puerto es tan sencillo como leer la respuesta de la petición, si la respuesta es cualquier cosa distinta a una conexión rechazada, significa que el puerto está abierto, y si además recibes una respuesta Ok (200) significa que hay un servicio activo en ella y seguramente sea posible identificarlo, aunque en muchos casos basta con saber que está activo y solo por el número de puerto ya puede deducir el servicio. Por ejemplo el 3389 es el puerto del servicio de Escritorio Remoto en máquinas con Windows.

La utilización de JS para hacer peticiones a urls externas es totalmente común y no se puede bloquear así como así, ni quiera se pueden bloquear las peticiones a localhost porque como ya te he dicho puede que tengan un uso legítimo, #44 nos acaba de poner un ejemplo. El problema es que eBay lo hace de forma discriminada abusando claramente de ello, pero no es tan sencillo como bloquear todas las peticiones a localhost, porque te puedes cargar muchas cosas.

Y por último uBlock no bloquea Javascript ni mucho menos, uBlock bloquea la publicidad, que no tiene absolutamente nada que ver. El plugin de navegador que sirve para bloquear JS es noScript, y no lo bloquea todo, sino script determinados que están en una lista negra, como los de compartir en Facebook o Google Analytics, si lo bloquease todo dejarían de funcionar el 100% de las webs.
#51 Mmmm.

Entiendo que que esta práctica empezó con la idea de la empresa que comenté en #6. Pero no voy a ir de experto porque no lo soy. Me voy a re-mirar lo que creía saber sobre el tema.

no es tan sencillo como bloquear todas las peticiones a localhost, porque te puedes cargar muchas cosas.
En eso estoy de acuerdo. Ahora mismo estoy experimentando. www.privacy-handbuch.de/handbuch_21g.htm
#51 El problema es que eBay lo hace de forma discriminada abusando claramente de ello

Bueno, es un poco relativo. Ebay está consultando una información sobre tu equipo. Criticar que usen esto es como criticar que usen cookies o que miren la versión de tu navegador. Una más de las muchas cosas que pueden ver y lo más probable es que lo hagan como medida de seguridad para detectar malware que pueda robar información. Hay que recordar que en ebay se mueve dinero y los fraudes están a la orden del día y es lógico que, dentro de lo que se puede hacer sin explotar errores o cosas así, hagan lo que puedan.

De todas formas más que el escaneo de puertos me preocupa que un navegador pueda acceder a cosas de la red local. ¿Puede acceder al router por ejemplo? Porque muchos tienen problemas de seguridad de fábrica que no son explotables desde internet pero sí desde la red interna.
#54 desde Javascript se pueden hacer peticiones a cualquiera de las IPs locales, por ejemplo 192.168.0.50, y obtener una respuesta. De nuevo si hay un servicio que acepte peticiones responderá, y sino no. El router no es distinto, y si haces una petición a su IP, supongamos 192.168.0.1, este puede rechazarlas o responderlas en función del puerto a la que la hagas. Esto es totalmente normal, y de hecho es el método por el cual se accede a la interfaz web de configuración de todos los routers para, por ejemplo, cambiar la contraseña del Wifi:

192.168.0.1/

Otro tema muy distinto es que desde Javascript puedas averiguar la IP del router o incluso del mismo PC en el que se está ejecutando, esto no es posible según tengo entendido. Y haciendo una búsqueda rápida en Google parece que se confirma:

stackoverflow.com/a/32841043/710274

Si quieres evitar que un script intente acceder a tu router, es tan sencillo como cambiar la puerta de enlace a una IP distinta. Claro que siempre cabe la posibilidad de que el script comprueba las 256 IPs distintas (192.168.0.x), pero ya es mucho menos probable.

Pero vamos, que aunque el script consiga saber la IP del router, no es tan sencillo entrar en él. Para empezar porque hay miles de modelos distintos, cada uno con su interfaz web programada de forma diferente, y después porque la interfaz web tiene que permitir acceso remoto y para ello tendrán que averiguar la contraseña o usar un fallo de seguridad. Como puedes suponer, el esfuerzo es tal que tendría que ser un ataque prácticamente dirigido a ti, y conociendo perfectamente la infraestructura de red, por lo que no hay de que preocuparse.
#51 Hace años que no uso Noscript y la última vez que lo utilicé si bloqueaba todo el JS, muchas webs no funcionan y si que tienes que ir dandoles permiso. Ya hace años que me pasé a uMatrix y está a años luz de lo que yo recuerdo de Noscript.
#56 la verdad que apenas lo he usado una o dos veces y acabé desinstalándolo, pero me suena que solo bloqueaba determinados scripts, imagino que los cargados desde URLs externas, aunque lo desconozco.
#45 Enviar una noticia implica leérsela, pero no estar completamente de acuerdo con ella. He leído de otras partes y he comentado. Que la intención es por seguridad ya lo he dicho yo.

#38 Probablemente me expresé bastante mal. Evidentemente sé que casi cada web ejecuta Javascript. Yo lo tengo bloqueado con uBlock y solo se lo permito a algunas páginas en una lista blanca.

Me refería a la ejecución de JS en el contexto de la noticia, que es una tecnología muy concreta para escanear los puertos. Lo que a mí no me queda claro es quién permite esta tecnología de escanear tus puertos sin consentimiento.
#6 Por ahí le leí a uno en un foro que son los usuarios de Windows y Mac los afectados. No lo puedo asegurar, pero parece que Linux no permite ese escaneo. Sería cuestión de hacer pruebas.

No te has leído tu propio envío? xD xD

Alguien se ha leído la noticia para entender de dónde viene esto y que lo que se quiere evitar es el fraude? Mejor o peor implementado, OK, pero no hay oscuros motivos detrás.
#1 y que simplemente escanear un puerto se considere un problema de seguridad, es un problema de seguridad del proceso que los abre
#8 el concepto seguridad es muy amplio, no abarca únicamente exploits y cifrado, que imagino que es la vision en la que estabas pensando.

Te pongo un ejemplo, tu estas corriendo bittorrent (software legitimo) pero una pagina web es capaz de escanear tu maquina local, ya que desde fuera con el router haciendo NAT en situaciones normales no se podría. Hay algún problema? sí, se esta produciendo un filtrado de información del usuario. Por poner un ejemplo claro, pueden saber "este tio usa bittorrent, tiene un servidor de FTP,..". Es culpa de bittorrent por estar abierto? No, si se filtra esa información porque tu navegador se lo ha permitido al acceder a una página (ahí esta el agujero de verdad).
#1 Que "pueda" hacerlo, sí. Que lo "haga" es un problema de ebay cagándose en el usuario, la privacidad, la moral, etc...

menéame