Podcast – 03 – Proxy de navegación

Logo Podcast

Logo de Podcast.
Fuente imagen:MundoPentecostal.org

Lo primero agradecer el éxito de escuchas del podcast que está sobrepasando cualquier expectativa racional.

Este capítulo surge petición de un oyente a través de Telegram, así que … ¡únete al grupo y hablamos! y en él hablaré de los diferentes tipos de proxy web que se utilizan en las empresas para el control del acceso a Internet.

Los tradicionales proxy web-caché han evolucionado incluyendo nuevas características (análisis de malware; gestión de accesos por tiempo, por categorización, etc; detección de phishing; etc.) que hacen que el nombre se quede corto.

Factores de autenticación

Control de acceso.

Control de acceso. Fuente imagen: Click2Bank

En seguridad, tanto informática como tradicional, se denomina autenticación al proceso por el cuál se intenta verificar la autenticidad de una identificación. Esta definición formal viene a decir que ya se intenta verificar que quien accede a un sistema o servicio sea quien dice ser. Para conseguir esta autenticación se pueden utilizar cuatro aproximaciones diferentes, si bien últimamente se está extendiendo el uso de un doble factor de autenticación para mejorar el nivel de seguridad y cubrir las vulnerabilidades de una opción con la otra.

Veamos las cuatro aproximaciones clásicas:

Autenticación por lo que se sabe

Se trataría de la autenticación más simple y tradicional: las contraseñas. Cuando un usuario (una identidad dentro del sistema) conoce la clave de acceso al mismo, el sistema considera que el usuario es quien dice ser y lo deja acceder. Creo que no hace falta dar ejemplos sobre servicios que usan las contraseñas para acceder 😉

Se trata del sistema más sencillo tecnológicamente pero también uno de los más vulnerables, ya que la contraseña puede ser obtenida por un usuario malicioso (phishing, ingeniería social, etc.) y hacer un uso fraudulento del servicio.

Autenticación por lo que se tiene

El usuario demuestra ser quien dice ser al tener un objeto que sólo él debería tener. En el mundo físico podríamos hacer un símil con las tarjetas magnéticas que permiten el acceso a diferentes edificios. Este factor de autenticación es ampliamente utilizado por la banca electrónica cuando al ordenar una transacción, el sistema envía un código al teléfono móvil registrado del usuario. Así la empresa supone que ese código (aleatorio y de uso único) sólo lo recibe un teléfono móvil y que si, de verdad, eres el usuario que dices ser tendrás el teléfono encima.

Autenticación por lo que se es

Este factor de autenticación busca verificar la identidad mediante la detección de una característica física exclusiva del usuario. El método más extendido dentro de este grupo sería la identificación por huella dactilar (acceso a edificios, teléfonos móviles, etc.).

Existen diferentes propuestas para obtener este factor de autenticación (huellas dactilares, comparación del iris de los ojos, escaneo 2D/3D de la cara, etc.) aunque todas ellas dependen de una toma de datos previa del usuario de forma presencial, lo cuál dificulta su uso en controles de acceso no físicos.

Autenticación por lo que se es capaz

Este factor de autenticación es el que ha aparecido más tarde y el más difícil de implementar: busca verificar la identidad de un usuario por ser capaz de realizar una acción de forma única. Quizás hayáis visto en películas una sala donde unos sensores en el suelo detectaba la forma de caminar del propietario y si alguien accedía pero caminar de igual manera se activaba la alarma. Un ejemplo de esta aproximación en el mundo digital sería el implementado por la página de MOOC Coursera.org: para que la universidad que realiza el curso emitiese un certificado oficial con el nombre del alumno debía asegurarse de que era quien decía ser (de otra forma sería fácil copiar y obtener dicho certificado). Así, además de pagar la cuota correspondiente (puedes hacer los cursos de forma gratuita pero sin certificado oficial), el alumno debía realizar las prácticas y trabajos directamente sobre una plataforma web específica. Dicha plataforma detectaba y analizaba los patrones de escritura (veces que borraba; si redactaba párrafos largos del tirón  y luego corregía o al contrario siempre hacía frases cortas; si hacía los trabajos en tandas largas o en muchas veces con poco tiempo; etc.) y así podía concluir que la persona que había realizado todas las prácticas era la misma y por lo tanto era merecedora del título oficial.

Seguridad por múltiples factores de autenticación

Autenticación por doble factor. Fuente imagen: Clik2Bank

Autenticación por doble factor. Fuente imagen: Clik2Bank

Cada uno de las aproximaciones e implementaciones técnicas de cada factor de autenticación tiene sus propias debilidades (olvidos de contraseñas, pérdidas de pases, una cicatriz que modifica la huella dactilar, etc.) por lo que para las operaciones que precisan de un mayor nivel de seguridad se suelen combinar diferentes factores de autenticación. Estamos acostumbrados que para acceder a la banca electrónica tengamos unas claves de acceso (autenticación por conocimiento) que nos permite visualizar la información pero que para realizar una operación nos soliciten un segundo código bien sea en una tarjeta de coordenadas o bien enviándonos dicho código al móvil (autenticación por posesión).

Podcast – 02 – Ransomware

Logo Podcast

Logo de Podcast.
Fuente imagen:MundoPentecostal.org

Presentamos el segundo capítulo de nuestro podcast donde explicaremos de forma simplificada el auge y funcionamiento básico del software malicioso ransomware. Si quieres profundizar más sobre el funcionamiento y los métodos de protección puedes echarle un vistazo a nuestro artículo.

Os esperamos en el grupo de Telegram para hablar sobre el contenido del capítulo o cualquier cosa que queráis.

Podcast – 01 – Introducción y Botnet

Logo Podcast

Logo de Podcast.
Fuente imagen:MundoPentecostal.org

Os presento el capítulo presentación de una nueva idea loca: crear un podcast sobre seguridad informática.

La idea es presentar diferentes aspectos de la seguridad informática de una forma más amena y ágil que la simple lectura de un post. Quizás te pueda interesar añadir este podcast a tu listado y lo escuchas cuando sales a hacer ejercicio, quizás simplemente lo vas escuchando mientras trabajas, o quizás esto sea una locura que nadie usará y acabará arrinconada… pero por mi parte lo intentaré, ¿te apuntas?

En este primer capítulo hago una pequeña presentación del proyecto y paso a explicar el funcionamiento y creación de una botnet.

He creado un grupo en Telegram por si te animas a comentar los podcast o a realizar peticiones: Aquí tienes la invitación.

Sin más preámbulos:

Que conste que lo he grabado cinco veces antes de darlo por medio-bueno… y sigo sin saberme oír.

Denegación de servicio contra servidores DNS

DNS logo

Fuente imagen: bleepingtech.com

El sistema DNS (Domain Name Service) es el que nos facilita a los humanos el uso de los servicios de Internet ya que sería casi imposible que recordásemos las direcciones IP de nuestras páginas web, sistemas de almacenamiento en la nube, portales de vídeos, etc. Así pues cualquier servicio de Internet que utilicen usuarios humanos depende, aún sin ser consciente, de este sistema de conversión de texto humano a direcciones IP.

Este sistema de nombre se creó en un momento en el que las comunicaciones eran caras y poco fiables, por lo que una de las características de este sistema es la gran permanencia de la información publicada. Esto hace que un ataque que busque una denegación de servicio contra DNS de un servicio concreto a base de eliminar su información registrada en el sistema deba ser continúo y durar más de 24 o 48 horas. La dificultad de mantener durante tanto tiempo estos ataques ha hecho que no sean prácticos para conseguir evitar que un servicio esté disponible para todos sus clientes. Por este motivo este tipo de ataques se suelen utilizar cuando queremos que un objetivo concreto no tenga conexión al exterior: anulando los servidores DNS a los que consulta una persona podemos hacer que, en la práctica, pierda su conexión a Internet (al menos para los humanos, ya que la conexión sigue estando habilitada).

En este artículo veremos algunos ataques DoS contra los propios servidores DNS y en una próxima entrada definiremos las protecciones y defensas básicas para anular, si es posible, estos ataques. Ademas hay una familia de ataques espejo en el que utilizando peticiones malformadas podemos conseguir que los propios servidores DNS dejen fuera de servicio una tercera víctima, pero estos ya merecen otro artículo.

Peticiones múltiples de dominios inexistentes

Se trata del tipo de ataque más básico que consiste simplemente en enviar solicitudes de información sobre dominios no existentes. Al recibir la petición el servidor consultará con sus servidores de referencia gastando recursos en el proceso (memoria, ciclos de CPU, ancho de banda…). El hecho de utilizar nombre de dominio inexistentes es porque, a diferencia de un dominio existente, al no obtener una respuesta afirmativa en la primera petición a su servidor de referencia realizará otra a un segundo servidor, y luego otra tercera, hasta agotar todos los servidores de referencia que ha aprendido previamente. Esto hace que una única consulta de un dominio no existente implique un mayor consumo de recursos que varias legítimas.

Si se hace de forma rápida es posible llenar la caché del servidor DNS víctima con dominios no existentes (NXDOMAIN) haciendo que cualquier petición legítima tenga un procesamiento más lento aún y acelerando la denegación de servicio a los clientes válidos de este servidor.

Ataque de dominios fantasma

Para este esquema el atacante crea un dominio real con un servidor DNS real especialmente configurado para responder de forma incorrecta: ya sea muy lentamente o con información parcial. Así cuando el atacante realiza consultas DNS a la víctima se asegura que las peticiones de información llegan a un equipo que él controla.

¿Qué pasa cuando un equipo responde, por TCP, de forma lenta? Pues que el receptor debe esperar, reservando recursos para ello, hasta que la transmisión finalice. ¿Qué pasa cuando un servidor envía la información de forma desordenada? Pues que el receptor debe esperar a recibir los diferentes paquetes para reordenarlos y obtener la información, lo cual implica reserva de recursos. ¿Y si el servidor pide retransmisiones de paquetes? Pues lo mismo: más reserva de recursos para almacenar información.

Realizando múltiples peticiones al servidor DNS víctima para que resuelva información contra el servidor DNS que nosotros controlamos podemos hacer que se quede sin recursos y provocar una denegación de servicio a todos los clientes que consultan a ese servidor.

Ataque basado en subdominios aleatorios

Gráfico de un ataque por subdominios

Ejemplo de ataque por subdominio
Fuente imagen: Incapsula

Este tipo de ataque es una evolución de los dos anteriores. La idea es solicitar una gran cantidad de subdominios inexistentes de un dominio concreto. Aunque es posible realizarlo contra un dominio inexistente (cosa que puede ser interesante para intentar burlar defensas contra el ataque anteriormente explicado) generalmente se realiza contra nombres de dominio existentes, ya sean controlados por el atacante (con lo que sería una evolución del ataque al dominio fantasma) o bien contra páginas conocidas que tengan gran capacidad de respuesta (de forma que se sature antes nuestro servidor víctima) como pudiera ser Google, Microsoft, Amazon, etc.

Aunque no es imprescindible, en la práctica, debido a las defensas de los propios servidores es necesario realizar este tipo de ataque desde una botnet. Cada miembro de una botnet, de forma coordinada, solicita la resolución de un subdominio aleatorio (asjdhaskd.yahho.com, jhsgdhafasd.microsoft.com, 8ajsdalNDBY.apache.org ,etc.) que no existirá forzando al servidor a reservar recursos para su infructuosa resolución.