Me temblaron las piernas al comprobar que al
visitar la página: https://www.whatismyip.com/es/ , entre las IPs mostradas
estaba la IP interna que maneja mi ordenador.
Mostrando direccionamiento IP
externa e interna
¿Cómo es posible?
Analizando el código de la página en cuestión se descubrío
la siguiente función:
Código implicado en la
presentación del direccionamiento interno.
Esta función crea la variable "pc" de
tipo "RTCPeerConnection".
Creación de una variable de tipo RTCPeerConnection.
Pero, ¿qué es el objeto RTCPeerConnection?
Pues dicho objeto es un interface que representa
una conexión WebRTC entre el ordenador local y un host remoto. Esta interfaz
permite conectar con un host remoto, así como mantener y monitorizar dicha conexión.
Esta conexiones fueron ideadas para la
retransmisión de audio/video.
Más
información: https://developer.mozilla.org/ES/docs/Web/API/RTCPeerConnection
Si lo pensamos ... al conectarnos al servidor web para
visitar una página, nos hemos descargado un código javascript que tras
ejecutarlo en local nos monta un canal de tipo UDP con un servidor remoto, sin
conocimiento del usuario.
Estas conexiones son originalmente para streams,
pero ... ¿a quién se le ocurren otras posibilidades?
POSIBILIDADES
Aunque si analizamos más el código, en concreto
miramos la línea:
Definición del objeto
RTCPeerConection
descubriremos que "{iceServers:[]}"
significa que la conexión se está produciendo con la máquina local, es decir,
la página que me indujo un temblor de piernas sólo es un PoC de conexiones
WebRTC.
Aunque si cambiamos dicha configuración y ponemos,
por ejemplo:
Código extraído de la
documentación en línea sobre las conexiones WebRTC
o cualquier otro servidor, no sé qué podríamos
hacer.
De hecho, buscando en Internet se puede ver que
desde 2013 (según las fuentes que he encontrado) ya se solicita bloquear el
funcionamiento de la API comentada.
Búsqueda en Internet sobre
como bloquear la API investigada
QUIÉN SE VE AFECTADO
Se verían afectados todos los navegadores, aunque
en la mayoría de ellos, la posibilidad de ejecución de conexiones WebRTC NO están
permitidas por defecto. Las excepciones son:
Chrome y Firefox.
CONTRAMEDIDAS
En cualquier caso, hay que actuar sobre los hosts
finales, ya que el problema radica como se ha comentado antes en la configuración
por defecto del Chrome y del Firefox. Por lo tanto hay que ir máquina a máquina
y archivo de configuración de usuario por archivo de configuración de
usuario.
Se han encontrado varias maneras de controlar los
expuesto aquí:
0.- Utilizar cualquier otro navegador que por
defecto no permita el uso de la API investigada (IExplorer, por ejemplo)
NOTA:
Como se advierte en el enlace, las apps-on pueden no funcionar en el modo
incógnito.
3.- Deshabilitar el uso de JavaScript
Modificación de la
configuración de navegador Chrome.
Tras la nueva configuración,
obtenemos ...
IMAGINEMOS
Hasta dónde podríamos llegar con esto ... pruébalo
Lo que hagas con la información es cosa tuya,
no mía ... pero ten conciencia
Felicidades por el articulo!!!
ResponderEliminar