La seguridad del navegador es la aplicación de la seguridad de Internet a los navegadores web con el fin de proteger los datos en red y los sistemas informáticos de violaciones de la privacidad o malware . Las vulnerabilidades de seguridad de los navegadores a menudo utilizan JavaScript , a veces con secuencias de comandos entre sitios (XSS) [1] con una carga útil secundaria que utiliza Adobe Flash . [2] Las vulnerabilidades de seguridad también pueden aprovechar las vulnerabilidades (agujeros de seguridad) que se explotan comúnmente en todos los navegadores (incluidos Google Chrome , [3] Microsoft Internet Explorer , [4] Mozilla Firefox , [5] Opera , [6] y Safari [7] ).
Los navegadores web pueden ser vulnerados de una o más de las siguientes maneras:
Es posible que el navegador no tenga conocimiento de ninguna de las infracciones anteriores y pueda mostrar al usuario que se ha establecido una conexión segura.
Cada vez que un navegador se comunica con un sitio web, el sitio web, como parte de esa comunicación, recopila cierta información sobre el navegador (para procesar el formato de la página que se entregará, si no hay nada más). [10] Si se ha insertado un código malicioso en el contenido del sitio web, o en el peor de los casos, si ese sitio web ha sido diseñado específicamente para alojar código malicioso, las vulnerabilidades específicas de un navegador en particular pueden permitir que este código malicioso ejecute procesos dentro de la aplicación del navegador de formas no deseadas (y recuerde, uno de los bits de información que un sitio web recopila de una comunicación del navegador es la identidad del navegador, lo que permite que se exploten vulnerabilidades específicas). [11] Una vez que un atacante puede ejecutar procesos en la máquina del visitante, entonces explotar vulnerabilidades de seguridad conocidas puede permitir al atacante obtener acceso privilegiado (si el navegador ya no se está ejecutando con acceso privilegiado) al sistema "infectado" para realizar una variedad aún mayor de procesos y actividades maliciosas en la máquina o incluso en toda la red de la víctima. [12]
Las violaciones de seguridad del navegador web generalmente tienen como objetivo eludir las protecciones para mostrar publicidad emergente [13] recopilar información de identificación personal (PII) para marketing en Internet o robo de identidad , seguimiento de sitios web o análisis web sobre un usuario contra su voluntad utilizando herramientas como web bugs , Clickjacking , Likejacking (donde se apunta al botón Me gusta de Facebook ), [14] [ 15] [16] [17] cookies HTTP , cookies zombie o cookies Flash (objetos locales compartidos o LSO); [2] instalar adware , virus , spyware como caballos de Troya (para obtener acceso a las computadoras personales de los usuarios a través de cracking ) u otro malware , incluido el robo de banca en línea mediante ataques de hombre en el navegador .
Un estudio en profundidad de las vulnerabilidades en el navegador web Chromium indica que la validación de entrada incorrecta (CWE-20) y el control de acceso incorrecto (CWE-284) son las causas principales de las vulnerabilidades de seguridad. [18] Además, entre las vulnerabilidades examinadas en el momento de este estudio, 106 vulnerabilidades ocurrieron en Chromium debido a la reutilización o importación de versiones vulnerables de bibliotecas de terceros.
Las vulnerabilidades en el propio software del navegador web se pueden minimizar manteniendo actualizado el software del navegador, [19] pero no serán suficientes si el sistema operativo subyacente se ve comprometido, por ejemplo, por un rootkit. [20] Algunos subcomponentes de los navegadores, como scripts, complementos y cookies [21] [22] [23] son particularmente vulnerables ("el problema del diputado confuso ") y también necesitan ser abordados.
Siguiendo el principio de defensa en profundidad , un navegador con todos los parches y configurado correctamente puede no ser suficiente para garantizar que no se produzcan problemas de seguridad relacionados con el navegador. Por ejemplo, un rootkit puede capturar las pulsaciones de teclas mientras alguien inicia sesión en un sitio web bancario o llevar a cabo un ataque de intermediario modificando el tráfico de red hacia y desde un navegador web. El secuestro de DNS o la suplantación de DNS se pueden utilizar para devolver falsos positivos en el caso de nombres de sitios web mal escritos o para subvertir los resultados de búsqueda de los motores de búsqueda más populares. El malware como RSPlug simplemente modifica la configuración de un sistema para que apunte a servidores DNS no autorizados.
Los navegadores pueden utilizar métodos de comunicación de red más seguros para ayudar a prevenir algunos de estos ataques:
Las defensas perimetrales, generalmente a través de firewalls y el uso de servidores proxy de filtrado que bloquean sitios web maliciosos y realizan análisis antivirus de cualquier descarga de archivos, se implementan comúnmente como una práctica recomendada en grandes organizaciones para bloquear el tráfico de red malicioso antes de que llegue a un navegador.
El tema de la seguridad del navegador ha crecido hasta el punto de generar la creación de organizaciones enteras, como The Browser Exploitation Framework Project, [24] que crea plataformas para recopilar herramientas para violar la seguridad del navegador, aparentemente con el fin de probar los navegadores y los sistemas de red en busca de vulnerabilidades.
Aunque no forman parte del navegador en sí, los complementos y extensiones del navegador amplían la superficie de ataque , exponiendo vulnerabilidades en Adobe Flash Player , Adobe (Acrobat) Reader , el complemento de Java y ActiveX que se explotan comúnmente. Los investigadores [25] han estudiado exhaustivamente la arquitectura de seguridad de varios navegadores web, en particular los que se basan en diseños plug-and-play. Este estudio ha identificado 16 tipos de vulnerabilidades comunes y 19 mitigaciones potenciales. El malware también puede implementarse como una extensión del navegador, como un objeto auxiliar del navegador en el caso de Internet Explorer. [26] En varios otros exploits, los sitios web que fueron diseñados para parecer auténticos e incluyeron ventanas emergentes falsas de "actualización de Adobe Flash" diseñadas como señales visuales para descargar cargas útiles de malware en su lugar. [27] Algunos navegadores como Google Chrome y Mozilla Firefox pueden bloquear (o advertir a los usuarios) de complementos inseguros.
Un estudio de agosto de 2009 de la Red de Investigación de Ciencias Sociales descubrió que el 50% de los sitios web que utilizan Flash también empleaban cookies Flash, pero las políticas de privacidad rara vez las revelaban y faltaban controles de usuario para las preferencias de privacidad. [28] La mayoría de las funciones de eliminación de caché e historial de los navegadores no afectan la escritura de objetos locales compartidos de Flash Player en su propia caché, y la comunidad de usuarios es mucho menos consciente de la existencia y función de las cookies Flash que de las cookies HTTP. [29] Por lo tanto, los usuarios que hayan eliminado las cookies HTTP y purgado los archivos de historial y caché del navegador pueden creer que han purgado todos los datos de seguimiento de sus computadoras mientras que, de hecho, el historial de navegación de Flash permanece. Además de la eliminación manual, el complemento BetterPrivacy para Firefox puede eliminar las cookies Flash. [2] Adblock Plus se puede utilizar para filtrar amenazas específicas [13] y Flashblock se puede utilizar para dar una opción antes de permitir contenido en sitios que de otro modo serían confiables. [30]
Charlie Miller recomendó "no instalar Flash" [31] en la conferencia de seguridad informática CanSecWest. Varios otros expertos en seguridad también recomiendan no instalar Adobe Flash Player o bloquearlo. [32]
El contenido de una página web es arbitrario y está controlado por la entidad propietaria del nombre de dominio que se muestra en la barra de direcciones. Si se utiliza HTTPS , se utiliza el cifrado para proteger contra los atacantes con acceso a la red que puedan cambiar el contenido de la página durante el proceso. Cuando se presenta un campo de contraseña en una página web, se supone que el usuario debe mirar la barra de direcciones para determinar si el nombre de dominio en la barra de direcciones es el lugar correcto para enviar la contraseña. [33] Por ejemplo, para el sistema de inicio de sesión único de Google (utilizado, por ejemplo, en YouTube.com), el usuario siempre debe comprobar que la barra de direcciones dice "https://accounts.google.com" antes de ingresar su contraseña.
Un navegador no comprometido garantiza que la barra de direcciones sea correcta. Esta garantía es una de las razones por las que los navegadores generalmente muestran una advertencia al ingresar al modo de pantalla completa, encima del lugar donde normalmente estaría la barra de direcciones, de modo que un sitio web de pantalla completa no pueda crear una interfaz de usuario de navegador falsa con una barra de direcciones falsa. [34]
Navegar por Internet con una cuenta de usuario con privilegios mínimos (es decir, sin privilegios de administrador) limita la capacidad de una vulnerabilidad de seguridad en un navegador web de comprometer todo el sistema operativo. [35]
Internet Explorer 4 y versiones posteriores permiten la inclusión en listas de bloqueo [36] [37] [38] y listas de autorización [39] [40] de controles ActiveX , complementos y extensiones del navegador de varias maneras.
Internet Explorer 7 agregó el "modo protegido", una tecnología que endurece el navegador mediante la aplicación de una característica de sandbox de seguridad de Windows Vista llamada Control de integridad obligatorio . [41] Google Chrome proporciona un sandbox para limitar el acceso a las páginas web del sistema operativo. [42]
Los sitios sospechosos de contener malware informados a Google, [43] y confirmados por Google, están marcados como sitios que albergan malware en ciertos navegadores. [44]
Existen extensiones y complementos de terceros disponibles para reforzar incluso los navegadores más recientes, [45] y algunos para navegadores y sistemas operativos más antiguos. El software basado en listas blancas como NoScript puede bloquear JavaScript y Adobe Flash, que se utiliza para la mayoría de los ataques a la privacidad, lo que permite a los usuarios elegir solo los sitios que saben que son seguros; AdBlock Plus también utiliza suscripciones a reglas de filtrado de anuncios de listas blancas , aunque tanto el software en sí como los encargados de mantener las listas de filtrado han sido objeto de controversia por permitir de forma predeterminada que algunos sitios pasen los filtros preestablecidos. [46] El US-CERT recomienda bloquear Flash utilizando NoScript . [47]
Los navegadores web modernos se someten a pruebas exhaustivas para descubrir vulnerabilidades. El código Chromium de Google Chrome es sometido a pruebas continuas por parte del equipo de seguridad de Chrome con 15 000 núcleos. [48] Para Microsoft Edge e Internet Explorer , Microsoft realizó pruebas de fuzzing con 670 años-máquina durante el desarrollo del producto, generando más de 400 mil millones de manipulaciones DOM a partir de mil millones de archivos HTML. [49] [48]