Curso MIT "Seguridad de sistemas informáticos". Lección 5: "De dónde vienen los errores del sistema de seguridad", Parte 2

Instituto de Tecnología de Massachusetts. Conferencia Curso # 6.858. "Seguridad de los sistemas informáticos". Nikolai Zeldovich, James Mickens. Año 2014


Computer Systems Security es un curso sobre el desarrollo e implementación de sistemas informáticos seguros. Las conferencias cubren modelos de amenazas, ataques que comprometen la seguridad y técnicas de seguridad basadas en trabajos científicos recientes. Los temas incluyen seguridad del sistema operativo (SO), características, gestión del flujo de información, seguridad del idioma, protocolos de red, seguridad de hardware y seguridad de aplicaciones web.

Lección 1: "Introducción: modelos de amenaza" Parte 1 / Parte 2 / Parte 3
Lección 2: "Control de ataques de hackers" Parte 1 / Parte 2 / Parte 3
Lección 3: “Desbordamientos del búfer: exploits y protección” Parte 1 / Parte 2 / Parte 3
Lección 4: “Separación de privilegios” Parte 1 / Parte 2 / Parte 3
Lección 5: “¿De dónde vienen los sistemas de seguridad?” Parte 1 / Parte 2

Completar credenciales en iframes aumenta significativamente la escala del ataque, y visitar una página maliciosa puede comprometer rápidamente grandes conjuntos de credenciales.



Los investigadores de seguridad descubrieron la vulnerabilidad de los administradores de contraseñas no verificados, como las extensiones de Chrome para Windows , y una investigación posterior de investigadores, incluidos los del MIT , reveló la extensión LastPass para Safari .

Considere las consultas entre dominios. ¿Cree que es posible que el formulario de autorización completado por el administrador de contraseñas en https: // example.com se envíe para ingresar https: // www.isecpartners.com , puede el administrador de contraseñas transferir datos a un tercero? Sí, puede, y esto hace posible encontrar una vulnerabilidad o función que permita a un atacante crear un formulario de inicio de sesión de dominio, después de lo cual se envía un formulario de inicio de sesión malicioso al sitio auténtico https: // www.isecpartners.com .

Tenga en cuenta que todos los administradores de contraseñas confiables envían contraseñas de manera segura a diferentes dominios.

Lo que es cierto para los dominios también es cierto para los subdominios. Una característica de los subdominios es que su "sensibilidad" a la seguridad puede ser muy diferente de las comprobaciones de seguridad realizadas por los dominios. Subdominios como blog. * , Forum. *, O correo. * Puede tener requisitos de seguridad completamente diferentes. El procesamiento de subdominios como el equivalente de un dominio aumenta la superficie de ataque. Tenga en cuenta que todos los administradores de contraseñas de confianza consideran los subdominios como equivalentes al dominio de la página.

Se debe tener cuidado al identificar las páginas de inicio de sesión. Las aplicaciones de Internet están cambiando y esto hace que las páginas de inicio de sesión se muevan. Por lo tanto, su autenticidad debe verificarse aún más cuidadosamente que la autenticidad de los subdominios.

Tenga en cuenta que la mayoría de las aplicaciones web tienen un pequeño conjunto de páginas de inicio de sesión. Se pueden vincular entre sí para que la apariencia de la página de inicio de sesión inicie el autocompletado o el envío automático del formulario a un dominio principal. En este caso, el administrador de contraseñas completará cualquier forma de autorización para cualquier subdominio encontrado.

El vector de ataque en este caso puede ser un correo electrónico HTML . Por ejemplo, Google , Yahoo y Outlook usan cosas como completar formularios en línea. La diapositiva muestra un ejemplo con el siguiente texto: "si tiene dificultades para completar o enviar este formulario, puede completarlo en línea usando este enlace" y se proporciona un enlace al formulario que dirige al usuario al dominio docs.google.com . Y más adelante en la página dice: "¡Nunca reenvíes contraseñas con Google Forms!"



Debido a que las personas a menudo usan el correo para enviar formularios, los atacantes se centraron en los usuarios de estos tres servicios. Complete un formulario, por ejemplo, respondiendo preguntas de varias encuestas, y use su buzón para enviarlo. ¿Cómo soportan estos servicios los ataques?

Mejor opuesto por los hackers de Outlook ( live.com ). Evita la posibilidad de un ataque al prohibir que un tercero proporcione materiales originales, incluidos formularios de usuario e información personal.

En segundo lugar está Google , que simplemente advierte a los usuarios que no realicen tales acciones, lo que no excluye la posibilidad de robo de contraseñas.

Yahoo te permite robar contraseñas sin previo aviso.

El peligro del mecanismo de autocompletar incorporado y la creación de formularios de autenticación radica en el hecho de que los servicios no siempre advierten sobre el peligro de enviarlos a un tercero o el peligro de usar estas funciones en las páginas de otros recursos de Internet. Por ejemplo, al pasar la encuesta anterior, hay una función de envío sospechosa. Respondiendo a la pregunta de quién es mejor, perros o gatos, y haciendo clic en el botón Enviar , no solo confirma la respuesta que ha elegido, sino que también confirma que su nombre de usuario y contraseña se envían al atacante.

Yahoo es el peor servicio de seguridad, especialmente si usa el administrador de contraseñas LastPass .

Las versiones de navegador móvil están aún peor protegidas. No hay extensiones, pero los investigadores de seguridad han descubierto un complemento para la versión móvil del navegador Chrome llamado Javascript Bookmarklets . Ejecuta un código de seguridad falso en los sitios hostiles que visita. De hecho, disfraza su peligro, creando una sensación de falsa seguridad, que puede causarle un gran daño.

Puede ver otras extensiones del navegador y conocer los resultados de la investigación de protección contra ataques y contraseñas utilizando los enlaces de las organizaciones de investigación de seguridad de Berkeley y Joint Stanford .

Quiero que entienda: habiéndose familiarizado con los conceptos básicos de los administradores de contraseñas, usted mismo puede encontrar casi todos los errores de seguridad de estas aplicaciones.

Debe comprender qué funcionalidad ha puesto el desarrollador en la aplicación y cómo funciona en la práctica. Si hace esto, será mucho más fácil para usted encontrar vulnerabilidades.

Considere un ataque TLS llamado CRIME , que es la abreviatura de Compression Ratio Info-leak Made Easy . Esta es una vulnerabilidad de seguridad que le permite decodificar sesiones HTTPS , incluidas las cookies de usuario, interceptando el tráfico encriptado entre el servidor y el navegador. Las vulnerabilidades se ven afectadas por todas las versiones de TLS , incluido TLS 1.2 .

Durante este ataque, el hacker intercepta el tráfico de los usuarios, le agrega sus datos y envía solicitudes al servidor. El algoritmo de compresión al repetir parte del texto lo comprime. Después de enviar datos al servidor, el pirata informático observa la longitud del mensaje y, si ha disminuido, se ha seleccionado la secuencia correcta. Por lo tanto, puede seleccionar líneas y parámetros individuales en la solicitud, por ejemplo, valores de cookies.



Este ataque se basa en el hecho de que su navegador interactúa con el sitio utilizando la interfaz interna: el protocolo HTTP. Al mismo tiempo, si voy a example.com , el navegador le envía mis cookies con toda la información disponible en el formulario de autorización completado previamente, incluido el nombre de usuario y la contraseña. En un formulario HTTP , se ve así:



Incluso si los datos están protegidos por una conexión SSL / TLS , aún puedo obtener parte de la información si soy el propietario de la red. Así es como se ve la información SSL :



Aquí veo la siguiente información: tiempo de transmisión, desde quién se envía el mensaje, es decir, la IP del usuario, a quién se envía el mensaje, es decir, la IP del destinatario y la longitud del mensaje.



Este es el diseño de la capa de protocolo criptográfico de sockets seguros SSL . Si tiene la capacidad de analizar el tráfico, estos datos proporcionan un campo enorme para la actividad maliciosa.

Considere el mensaje que envía el navegador.



Si el navegador le permite realizar solicitudes entre dominios, enviará una solicitud con una cookie que contiene los datos del formulario a cualquier sitio que será redirigido por un atacante, por ejemplo, el sitio example.com. Si un atacante toma estas cookies, podrá controlar los siguientes parámetros:



Para adivinar la contraseña del usuario, comienzo a seleccionar el parámetro para la cadena username = tom & password y en lugar de hunter2 ingreso la letra a .



Luego miro el descifrado HTTP y veo que este parámetro toma 195 bytes.



Para facilitar su trabajo, el hacker usa la compresión TLS . El algoritmo de compresión, cuando repite parte del texto, lo comprime y la compresión crea marcadores para estas partes y las coloca en forma de mensaje HTTP .



En este caso, la ID de sesión es equivalente a las partes del código marcadas con el token correspondiente, y el tamaño del mensaje comprimido es de 187 bytes.

¿Qué sucede si equiparo la sesión ID = d ?



El tamaño del mensaje se reduce porque necesita comprimir más bytes. Esto se puede ver al comparar el número de argumentos encerrados en un círculo rojo en la segunda línea desde la parte superior.



Esto es lo que ve el atacante. Él ve que el mensaje se está comprimiendo y, gracias a esto, se entera de que adivinó la primera letra en la ID de la sesión . Luego reemplaza la sesión ID = da y recibe el tamaño del mensaje de 188 bytes.



Entonces, sustituyendo sucesivamente letras y números y analizando los cambios en el tamaño del mensaje, adivina la ID de la sesión completa. Es decir, no selecciona la clave de cifrado, sino el contenido del mensaje cifrado.



Para tratar con CRIME , debe evitar que el navegador realice la compresión TLS . También debe cambiar el protocolo SPDY para que cuando solicite datos secretos, se comprima en un contexto separado.

Considere casos de violación de HTTP . Las respuestas HTTP que llegan al usuario después de acceder al servidor pueden contener información confidencial, como tokens CSRF u otra información confidencial. Los ataques similares a CRIME requieren el conocimiento de al menos un prefijo de sesión secreta y la capacidad de ingresar sus datos en un mensaje de respuesta.

Puede evitar un ataque prohibiendo la compresión de respuestas o suprimiendo un ataque CRIME , ya que este ataque utiliza el principio de MiTM (la persona en el medio) y puede reducir las solicitudes reales. Este es un ataque "ruidoso" satisfecho, que se puede detectar, ya que el atacante generalmente no se comunica directamente con el servidor, sino que utiliza el acceso al enrutador, y el servidor puede ni siquiera "saber" sobre el ataque.

También puede protegerse colocando información confidencial en varios archivos, como javascript , pero esto es difícil de implementar en la práctica y también es difícil modificar las aplicaciones existentes para esto.

Puede intentar aleatorizar información secreta en solicitudes, principalmente tokens CSRF , sin embargo, este método conducirá a una fuerte caída del rendimiento.
Conociendo los principios de las aplicaciones y vulnerabilidades, puede "derribar" todo Internet: SSL / TLS , DNS , DNSSEC / DNSEC , IPv6 , esto es bastante factible.



Y ahora quiero hablar sobre un jugador de seguridad muy grande: la NSA , la Agencia de Seguridad Nacional o la NSA. Estas son personas que a menudo crean problemas de seguridad y los resuelven ellos mismos.

Por algunas cosas, estoy listo para odiarlas. Sin embargo, el personal de la NSA no está en condiciones de cambiar las políticas existentes. Contribuyen al desarrollo intelectual de todo lo relacionado con la seguridad, y espero que crean que el resultado de su trabajo se utilizará con buenos propósitos.

En su trabajo hay dos caras de la moneda, sin embargo, esta es solo mi opinión y puede no coincidir con la opinión de mis empleadores. Y creo que no todos los datos de investigación que les contaré están oficialmente desclasificados.

Snowden dijo que algunas declaraciones pueden demostrarse como verdaderas y otras como falsas. Un ejemplo de una declaración falsa es la declaración de la NSA de que "hay acceso directo a las redes de Google " , porque el verdadero estado de las cosas con acceso a estas redes se muestra en la siguiente figura, que hizo la propia NSA.

Actualmente, Google cifra todo su tráfico porque le preocupa que alguien pueda piratear su red. Además, todas las noticias se filtran a través de los medios y solo vemos extractos de los documentos.



Verá un emoticón junto a la frase "Los SSL se agregan y eliminan aquí en el servidor principal de Google " , porque es desde aquí que la NSA puede recuperar datos. Google , que tiene centros de datos en todo el mundo, hace un uso extensivo de líneas de fibra dedicadas para sus redes. Gracias a esto, el tráfico se transmite a alta velocidad y es muy difícil llegar a él.

El gobierno no solo tiene grandes capacidades técnicas, sino también apalancamiento. Es muy difícil para algunas compañías resistirse a la coerción para cooperar con el gobierno. Un ejemplo de confrontación con el estado es el servicio gratuito de correo electrónico Lavabit , creado como una alternativa a Gmail , porque este último violó la privacidad de la correspondencia del usuario a pedido de los servicios gubernamentales.

El estado también puede obligar a las empresas a no reconocer públicamente que cooperan con los servicios gubernamentales.

Consideremos qué herramientas tiene el estado para implementar políticas de seguridad.

En primer lugar, es SIGINT : la plataforma criptológica protectora mundial. Se basa en redes de fibra óptica. El siguiente sitio muestra un diagrama de un documento de alto secreto publicado por Snowden. Ves muchos puntos amarillos, designados como CNE. Snowden sugiere que estos sitios están equipados con equipos de piratería de redes. Su número supera los 50,000 en todo el mundo.

Las redes pueden ser pirateadas de varias maneras. El gobierno utiliza para este ataque a la cadena de suministro : ciberataques que están dirigidos a los elementos menos seguros en las redes de varias organizaciones. Para protegerse de tales ataques, el gobierno evita la cooperación de cualquier tipo, proporcionando solo acceso directo a sus propias redes, sin intermediarios y terceros.



Según la organización no gubernamental EFF (Electronic Frontier Foundation) y las demandas que inició, a la NSA le gusta usar los llamados "interruptores ópticos", que le permiten interceptar conversaciones telefónicas, incluso desde MPLS, y evitar la fuga de información objetivo a intermediarios. La mayoría de los intermediarios involucrados en la transferencia de información entre usuarios, no solo en los Estados Unidos, sino en todo el mundo están involucrados en esto.



Espero que TLS pueda soportar este tipo de interferencia.

El gobierno puede comprometer incluso la infraestructura de red interna utilizando claves de cifrado privadas de Pokemon de los servidores finales. Esto le permite organizar ataques como Heartbleed y ataques de red estándar. El gobierno a menudo usa el modelo de red DOD desarrollado por el Departamento de Defensa de los Estados Unidos. Tal sistema se usa en las redes google.com .

Es posible usar ataques criptográficos contra TLS . Se supone que el gusano informático Stuxnet , que infecta las computadoras con Windows , fue desarrollado por iniciativa del gobierno de los Estados Unidos. Utiliza un conflicto dentro del algoritmo de cifrado MD5 , que tiene un certificado válido. Este gusano intercepta datos entre controladores y estaciones lógicas y puede interferir con el proceso de control automatizado de varios complejos industriales. Este es el único virus que puede destruir la infraestructura física de las redes.

Existe una organización NIST que desarrolla estándares de cifrado para casi todo en el mundo. Recomienda usar el generador de números pseudoaleatorios criptográficamente robusto DUAL_EC_PRNG para crear claves de cifrado. Sin embargo, todavía tiene una vulnerabilidad. Si usa los puntos de la curva elíptica especificada en su estándar de encriptación, entonces debido a la gran cantidad de bits de salida en una ronda de generación, es posible penetrar el código del generador y descifrarlo utilizando la fuerza bruta (búsqueda exhaustiva). Los creadores del algoritmo sabían sobre esta vulnerabilidad desde el principio. Esto no significa que originalmente se proporcionó una puerta trasera en este generador, pero sí significa que se puede crear una puerta trasera en cualquier momento.

Observo que la NSA utiliza con mayor frecuencia ataques basados ​​en inconsistencias dentro de los últimos algoritmos de cifrado MD5 .



El estado tiene un impacto global en Internet en todo el mundo. La mayoría de las comunicaciones globales son a través de los Estados Unidos. Las llamadas telefónicas, los correos electrónicos y los chats se llevan a cabo de la manera más barata, físicamente no siempre directa, y siempre se puede seguir de esta manera. La mayor parte del tráfico global de Internet pasa a través de los Estados Unidos. En cualquier caso, la forma en que se realiza la conexión con el objetivo final de su contacto se puede redirigir fácilmente a los Estados Unidos, es decir, el estado puede controlar cualquier flujo de telecomunicaciones en todo el mundo.

Daré un ejemplo del "retorno" de tal actividad. El estado interviene no solo en la conexión de particulares, sino también en el trabajo de las empresas. En noviembre de 2013, el Washington Post publicó información de que la NSA intercepta el tráfico entre los centros de datos de Google a través de un cable de fibra óptica antes de que se encripte entre los servidores finales y las computadoras de los usuarios. Se publicaron detalles adicionales sobre el programa gubernamental MUSCULAR y fragmentos de paquetes robados de la red interna de Google .



Los empleados de Google confirmaron el hecho de que la NSA pirateó su red, no con expresiones tímidas: el especialista en seguridad de Google Brandon Downey escribió directamente: "¡Al diablo con estos muchachos!", Refiriéndose a la arrogancia sin precedentes de la NSA .

Por lo tanto, es difícil para las personas confiar en el equipo de red de EE. UU. Y los servicios prestados por los proveedores de red de EE. UU. Citaré las palabras del cardenal Richelieu: "Dame seis líneas escritas por la mano del hombre más honesto, y encontraré en ellas algo por lo que se puede colgar".

No quiero que te vuelvas paranoico en el sentido de desconfianza del gobierno y veas el espionaje total y la violación de la confidencialidad de la información y la privacidad. Pero como futuros desarrolladores de software, deben saber cómo puede actuar un atacante. Si trabaja en una gran empresa, un pirata informático puede utilizar herramientas y técnicas gubernamentales para organizar un ataque. Por lo tanto, debe hacer cosas útiles como lo hace Google , encriptar todo su tráfico interno y usar certificados de prueba de penetración.

Quiero presentarle varios otros tipos de malware. Uno de ellos se llama Llama , o "Llama".



, Stuxnet . , :

  • GPS ;
  • , Bluetooth;
  • , .

Flame MD5 , , . - 2008 , CA -, RapidSSL . Internet Public Key Infrastructure (PKI) , .

4 RapidSSL . 3- , 215 Sony PlayStation 3 . , , MD5 .

, Microsoft Microsoft Terminal Server , MD5 . MD5 , , 1 . Microsoft , , Windows . , MS , Flame , . , , .

– , ? -, , .

, « »? « ?», .



, , . , .

, , , . , .

:

  • « » , ;
  • jailbreakme.com , iOS root- . , , , ;
  • – , , , ;
  • , ;
  • , , .

.

, . , . , . , . , , .

. , , . , , . , , .

, , , . , , , .

, .

— .

, iSEC Partners:

  • 2 -3 20-30 . , , MIT;
  • , ;
  • , ;
  • , ;
  • , !

paul@isecpartners.com . , .



. , , «». , , . , . «» IBM .

, , , . . , , , Facebook , Google Yahoo . , , , .

!


.

Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendándolo a sus amigos, un descuento del 30% para los usuarios de Habr en un análogo único de servidores de nivel de entrada que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de $ 20 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).

Dell R730xd 2 veces más barato? ¡Solo tenemos 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV desde $ 249 en los Países Bajos y los Estados Unidos! Lea sobre Cómo construir un edificio de infraestructura. clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?

Source: https://habr.com/ru/post/es418215/


All Articles