Seguridad en redes TCP/IP
Durante los años de la guerra fría (años 60) DARPA, la agencia de proyectos de investigación avanzada del departamento de defensa de los Estados Unidos, se planteo la posibilidad de un ataque a su red de comunicaciones e investigo desarrollar una red con administración distribuida. El resultado en los estudios de redes de conmutación de paquetes derivo en ARPANET, una red de carácter experimental y tolerable a fallos. A partir de los 70 se empezó a investigar la interconexión de distintas redes y se establecieron las bases de la familia de protocolos TCP/IP.
Esta familia de protocolos se divide en cuatro capas:
Capa de red.
formada por una red LAN o WAN homogénea. Todos los equipos conectados a internet implementan esta capa. Todo lo que se encuentra por debajo de la IP es la capa de red física o simplemente, capa de red.
Capa de internet
Es la capa que conforma la unidad de todos los miembros de la red y por tanto la que permite que se puedan conectar entre si, independientemente de su tipo de conexión. la misión principal de esta capa es la de direccionamiento y encaminamiento. Todos los equipos conectados a internet implementan esta capa.
Capa de transporte
Es la encargada del control de flujo y errores, solo es implementado por equipos usuarios de internet o por terminales de internet. los encaminadores o routers no la necesitan.
Capa de aplicación
Es la capa en la que se encuentran los programas y aplicaciones que utilizan internet como clientes y servidores Web, de FTP, Correo, etc. La implementan los equipos usuarios de internet o los terminales de internet, los encaminadores o routers no la utilizan.
En cada una de las capas pueden existir distintas vulnerabilidades y se pueden explotar por parte de un atacante utilizando los protocolos asociados a cada una de ellas. A continuación
Vulnerabilidades de la capa de red
Las vulnerabilidades de esta capa están asociadas a los medios sobre los cuales se realiza la conexión. Esta capa presenta problemas de control de acceso y de confidencialidad. Ejemplos de estas vulnerabilidades son desvió de los cables de conexión hacia otros sistemas, pinchazos de la línea, escuchas en medios de transmisión inalámbricos, etc.
Vulnerabilidades de la capa Internet
En esta capa se puede realizar cualquier tipo de ataque que afecte a un datagrama IP. Tipos de ataques que se pueden realizar en esta capa son por ejemplo: técnicas de sniffing o escuchas de red, suplantación de mensajes, modificación de datos, retrasos de mensajes y denegación de mensajes. Cualquier atacante puede suplantar un paquete si indica que proviene de otro sistema. La suplantación de un mensaje se puede realizar, por ejemplo dando una respuesta a otro mensaje antes de que lo haga el suplantado. La autentificación de los paquetes se realiza a nivel de máquina por dirección IP y no a nivel de usuario. Si un sistema da una dirección de maquina errónea, el receptor no detectara la suplantación. Este tipo de ataques suele utilizar técnicas como la predicción de números de secuencia TCP, el envenenamiento de tablas cache, etc.
Vulnerabilidades de la capa de transporte
Esta capa trasmite información TCP o UDP sobre datagramas IP. En esta capa se pueden encontrar problemas de autentificación, integridad y de confidencialidad. Los ataques mas conocidos en esta capa son las denegación de servicio de protocolos de transporte. En el mecanismo de seguridad del diseño del protocolo TCP, existe una serie de ataques que aprovechas las deficiencias en el diseño, entre las mas graves se encuentra la posibilidad de la intercepción de sesiones TCP establecidas, con el objetivo de secuestrarlas y dirigirlas a otros equipos.
Vulnerabilidades de la capa de aplicación
Esta capa presenta varias deficiencias de seguridad asociadas a sus protocolos. Ya que esta capa utiliza un gran número de protocolos, la cantidad de vulnerabilidades presentes también es superior al resto de capas. Varios ejemplos son los siguientes:
Servicio de nombres de dominio: Cuando un sistema solicita conexión a un servicio, pide la dirección IP de un nombre de dominio y envía un paquete UDP a un servidor DNS. Este responde con la dirección IP del dominio solicitado o una referencia que apunta a otro DNS que pueda suministrar la dirección IP solicitada. Un servidor DNS debe entregar la dirección IP correcta pero también puede entregar un nombre de dominio dada una dirección IP u otro tipo de información. Un servidor DNS actúa como una base de datos accesible desde Internet. Si un atacante puede modificar la información que suministra esta base de datos o acceder a información sensible almacenada en la base de datos por error, pudiendo obtener información relativa a la topología de la red de una organización, teniendo así acceso a una lista de los sistemas de la red. A los ataques de suplantación de DNS se les conoce con el nombre de Spoofing DNS.
Telnet: Normalmente el servicio de telnet autentifica al usuario mediante la solicitud del usuario y contraseña, que son transmitidas sin ningún tipo de protección por la red. Por lo cual el servicio queda desprotegido ante un ataque haciendo posible la captura de los datos del usuario con técnicas de escucha o sniffing.
File Transfer Protocol (FTP): al igual que el servicio anterior este servicio también envía la información sin protección, con lo cual también queda expuesto de la misma forma que el anterior. Este servicio también permite el acceso anónimo, aunque por lo general esta forma de conexión solo permite el acceso a una zona restringida en la cual solo se permite la descarga de archivos no comprometiendo así el sistema y permitiendo el uso del servicio de forma optima.
Hypertext Transfer Protocol (HTTP): Este servicio es el responsable del World Wide Web.Una de las vulnerabilidades mas conocidas es la de la posibilidad de entrega de información por parte de los usuarios del servicio. Esta entrega de información por parte de los usuarios del servicio es posible mediante la ejecución de código en la parte del servidor.