Sei sulla pagina 1di 13

Seguridad computacional

INTRODUCCIÓN
En la presente semana, el tema a tratar es el análisis de vulnerabilidades (AV). Se hablará entonces de las
tareas a desarrollar, cómo detectarlas y los métodos para obtener información sobre aquellas
vulnerabilidades existentes en una organización.
Un somero análisis permitirá entender cuáles son los ámbitos comprendidos por la Seguridad
Computacional en una red de datos y se enunciarán aquellos criterios más relevantes de esta área de
estudios, relacionados con la existencia de vulnerabilidades sobre la información y la seguridad de los
datos.
Los objetivos perseguidos por las actividades de AV y los métodos para el análisis de vulnerabilidades
también son parte de este apunte, lo mismo que los tipos de vulnerabilidades más habitualmente
detectables en una red.
Adicionalmente, se ahondará en las herramientas existentes para el AV, así como la metodología
establecida para llevar a cabo un adecuado proceso de análisis de este tipo en una organización.

APRENDIZAJES ESPERADOS
Se espera que al final de este capítulo, el alumno sea capaz de identificar y reconocer en forma clara y
precisa las herramientas necesarias para el análisis de vulnerabilidades en entornos corporativos o redes
de este tipo, así como otros conceptos relacionados con este tema, tales como sus objetivos y métodos de
análisis.
Asimismo, deberá ser capaz de señalar y describir, pero principalmente aplicar correctamente,
metodología básica para el análisis de vulnerabilidades en una red de datos al interior de una
organización.
LAS VULNERABILIDADES Y SU ANÁLISIS
Desde el punto de vista de la información, tal como fue tratado en la primera semana de este curso, se
podría decir que una vulnerabilidad es cualquier fallo que atente contra alguno de los principios básicos
que persigue proteger la Seguridad Computacional, es decir, Confidencialidad, Integridad y Disponibilidad,
según el gráfico mostrado a continuación:

Con la incorporación de la temática de redes de datos durante la semana pasada, el concepto de


vulnerabilidad adquiere un nuevo, más amplio y profundo sentido que se podría definir, a grandes rasgos,
de la siguiente manera:
“Una vulnerabilidad es una debilidad existente en programas, sistemas, redes y otros medios
contenedores o manipuladores de información, que permiten a un atacante informático violar la
Confidencialidad, Integridad, Disponibilidad, Control de Acceso a los datos o Consistencia lógica o
física de la información o de las aplicaciones”.
La única verdad respecto de las vulnerabilidades, es que no existe un sistema computacional 100% seguro
y eventualmente cualquier sistema de información puede ser vulnerado. Cuando se habla de sistema
computacional, se habla en sentido amplio, incluyendo sistemas operativos y aplicaciones, redes y
topologías, páginas web y bancos de datos, puertos de comunicaciones y protocolos, etcétera.
Las vulnerabilidades son, entonces, el resultado de fallos tanto a nivel de software como de hardware, que
permiten o posibilitan la intromisión en áreas de información que se supone reservadas, a personas o
sistemas que no están autorizadas para hacerlo.
Es válido apuntar que las vulnerabilidades a la seguridad en el área de la informática han existido siempre
y probablemente así siga siendo, dado que no es posible cubrir todos los focos de riesgo que se producen
a partir del vertiginoso avance de esta ciencia. En conjunto con los medios de comunicación que se han
agregado con el tiempo para el traspaso y con el objetivo de compartir datos y recursos, dichos riesgos
aumentan exponencialmente.
Inicialmente, las técnicas de intrusión utilizadas por los atacantes eran relativamente simples y hasta
burdas, tales como los de la fuerza bruta. Dichas técnicas se han ido refinando con la creación de software
especializado para estos fines y se podría decir que de los años 90 en adelante su nivel de especialización
compite directamente con las características propias del software desarrollado bajo las técnicas y normas
de la ingeniería de software. A partir de esa década también se aprecia un preocupante aumento de los
exploits que atacaban servidores web y otros sistemas de información clasificada y privada.
Con la cada vez más frecuente aparición de sitios técnicos, también se ha hecho más frecuente la
publicación de las vulnerabilidades de los sistemas informáticos de todo tipo, incluso antes de que el
fabricante libere las herramientas de seguridad, updates y parches que mejoran o eliminan dichas
vulnerabilidades.
Dado todo lo anterior, se hace imprescindible tomar cartas en el asunto de la seguridad computacional en
todos sus frentes. Dichos frentes se pueden apreciar en el siguiente esquema, que muestra las cuatro
fuentes de vulnerabilidad que más habitualmente se encuentran en una organización:
a) Los sistemas de información
b) Las computadoras y equipos
c) Las redes de datos
d) Internet
El enfoque inicialmente en este trabajo se realiza sobre una red de datos, por ser estas en general
contenedoras de información más sensible tanto para las personas como para las organizaciones, y lo
primero es entonces hacerse al menos tres preguntas básicas que permiten iniciar las tareas de Análisis
de Vulnerabilidades (AV). Las preguntas son:

1.- ¿QUÉ TAREAS DESARROLLAR PARA ANALIZAR VULNERABILIDADES EN UNA RED?


Hay cuatro actividades básicas a realizar:
a) Reunir la información necesaria.
b) Realizar un test interior.
c) Realizar un test exterior.
d) Realizar una adecuada documentación de lo encontrado e informar de esto a las
autoridades pertinentes.

2.- ¿CÓMO DETECTAR LAS VULNERABILIDADES EN UNA RED?


Como el primer riesgo y más importante sobre una red es la intromisión, la primera fuente de
vulnerabilidades sobre ella son los puertos lógicos a través de los cuales fluye la información desde y
hacia la red. Así las cosas, mediante la utilización de herramientas de escaneo de puertos es posible
establecer una primera y muy buena aproximación a los riesgos a los que se está expuesto, ya que dichas
herramientas al realizar este escaneo, pueden obtener la información necesaria sobre cuales servicios se
encuentran corriendo sobre ellos. Esta información permite buscar aquellas vulnerabilidades conocidas y
asociadas a dichos puertos y servicios y tomar las medidas necesarias para evitarlas o minimizarlas.
3.- ¿QUÉ MÉTODOS EXISTEN PARA OBTENER LA INFORMACIÓN NECESARIA?
Son variados los métodos existentes para obtener información relevante acerca de las vulnerabilidades
que se pueden presentar en implementaciones de red. Sin embargo, dado que se está apuntando
principalmente al escaneo de puertos y flujo de datos desde y hacia la red, aún no se ha explorado la
posibilidad de vulnerabilidades internas. Los métodos más comunes incluyen, por ejemplo:
• Obtener información acerca del dominio a través de consultas del tipo WHOIS.
• Realizar consultas del tipo NSLOOKUP, para identificar e individualizar los servidores de la
organización.
• Identificar plataformas operativas a través de OS fingerprinting.
• Utilizar port-scanners para identificación de servicios y puertos lógicos.
Ya que se han mencionado los puertos, es conveniente introducir este concepto ahora para futuros temas
relacionados con seguridad computacional. Los sockets o puertos conceptualmente se derivan de los
protocolos TCP y UDP. Básicamente constituyen referencias lógicas al flujo de entrada y salida de
información de determinados servicios o aplicaciones. Están basadas en TCP/IP y sirven para que las
aplicaciones que se basan en este protocolo logren comunicarse con su entorno. Requieren tres
parámetros para funcionar correctamente:
1. Dirección IP del host.
2. Tipo de servicio (TCP con conexión, UDP sin conexión).
3. Número de puerto.
Un solo puerto permite establecer más de una conexión concurrente a través del mismo puerto como
sucede por ejemplo cuando se abren varias sesiones desde el mismo navegador hacia URL´s distintas. La
asignación de los puertos lógicos entre 0 y 63.536 es administrada por la IANA o International Assigned
Numbers Authority. Así, existe una clasificación de ellos en:
• Puertos bien conocidos (desde el 0 al 1024).
• Puertos definidos por el usuario (1025 al 65.536).
En realidad, los puertos definidos por el usuario son asignados y utilizados por las aplicaciones y
programas de los usuarios. Por otra parte, los puertos bien conocidos están asignados a aplicaciones del
tipo de las que utilizan el protocolo http, tal como los navegadores. Otros ejemplos al respecto se aprecian
en la siguiente tabla:

Puerto Servicio

21-22 FTP

23 TELNET

25 SMTP

53 DNS

80 HTTP

139 NetBIOS

Dada esta estructura de puertos, algunas técnicas de hacking consisten en explorar en forma ordenada y
metódica los puertos lógicos de comunicaciones para conocer cuáles de ellos están abiertos y escuchando
y, sobre todo, detectar los servicios que puedan ser vulnerables y que se ejecutan sobre ellos.
Esto es casi un ataque por fuerza bruta, dado que los ataques y hackers más experimentados y
sofisticados, se llevan a cabo sobre puertos específicos, pues se sabe qué servicios es posible escuchar
en ellos. El reto aquí es no ser detectado, pues así como existe el escaneo de puertos por parte de un
externo a la red, también existen los llamados “escaneadores de puertos de troyanos” a modo de defensa
para este tipo de ataques.

¿QUÉ AMBITOS COMPRENDE LA SEGURIDAD COMPUTACIONAL EN REDES?


En primer lugar, la protección física de todos los dispositivos que componen la red de cualquier daño, robo
o manipulación no autorizada. En segundo lugar, la integridad, confidencialidad y disponibilidad de los
datos que son transmitidos o que circulen por ella. Este tridente de características de la información que se
debe proteger es el más importante; ello se logra preservando condiciones de la misma que no son a
menudo mencionadas, tales como el control sobre ella, la autenticidad de la misma, la protección a la
réplica y el no repudio.

CRITERIOS PARA LA SEGURIDAD COMPUTACIONAL


A continuación, algunos criterios útiles que guían la seguridad computacional en una red de datos:
a. Se deberá proteger la información de su posible destrucción y /o modificación, sea esta
intencional o accidental (Principio de Integridad).
b. No se deberá permitir que la información esté disponible para ser accedida de forma no
autorizada (Principio de Privacidad).
c. Se deberá asegurar que las transacciones efectuadas no sean modificadas en su trayecto
entre dos hosts y de que quien generó dichas transacciones es quien dice ser (Principios de
Integridad, Autenticidad y No Repudio).
d. Se deberá asegurar la integridad física para aquellos dispositivos de red que participan de
un sistema computacional, tales como servidores, routers, firewalls, etcétera.
e. Se deberá asegurar el uso no malicioso de la red o su no uso con fines fuera de aquellos
dictados por las políticas de utilización definidas por la organización.
f. Se deberá asegurar que la red esté siempre disponible y que se desempeñe con la
eficiencia necesaria, de acuerdo a los requerimientos para los que esta fue diseñada.
g. Se deberá proteger la red incluso ante fallas inesperadas (Principio de Disponibilidad).
OBJETIVOS DEL ANÁLISIS DE VULNERABILIDADES (AV)
Un AV es utilizado por los analistas especializados para explorar en forma exhaustiva cuán robusto y
seguro ante ataques es cada uno de los dispositivos y sistemas de una organización. Se puede obtener de
esta manera datos críticos respecto de qué contramedidas adoptar y de aquellas óptimas a aplicar para
minimizar un ataque y su respectivo impacto.
¿CUÁNDO REALIZAR EL AV?
• Al realizarse cambios de diseño en la red o en los sistemas. Cada cambio de este tipo supone un
nuevo escenario de seguridad. Por lo tanto, con cada cambio, también es conveniente replantearse
las nuevas condiciones y el cumplimiento de todos los criterios y requerimientos de seguridad que en
algún momento fueron definidos para la red.
• Al momento de realizar actualizaciones de dispositivos o de sus sistemas, por ejemplo, de un
Router inalámbrico. Una actualización o cambio de dispositivo significa probablemente una
reconfiguración de las políticas de seguridad de dicho dispositivo, las que deben concordar con las
existentes en el equipo retirado. En el caso de la actualización de un dispositivo de red que supone
una mejora o cambio en la versión de su software o firmware, este cambio a su vez puede significar
nuevos tipos de problemas de seguridad antes no presentados.
• En forma periódica, dado que se debe chequear de manera constante que no se han descubierto
vulnerabilidades en equipos existentes en la red. Esto dado que hay muchas entidades, por ejemplo
certificadoras, que hacen permanentes estudios a la seguridad de dispositivos e implementaciones. A
veces, el resultado de dichos estudios es el descubrimiento de problemas de seguridad que son
cubiertos por parches y upgrades o que definitivamente marcan el fin de la vida útil de una
implementación. Sólo el análisis en forma periódica de vulnerabilidades indica si los dispositivos
siguen siendo seguros.
Finalmente, el objetivo primario de un AV es la anticipación al ataque y al agresor.

MÉTODOS PARA EL ANÁLISIS DE VULNERABILIDADES


Existen varios métodos útiles para el análisis de vulnerabilidades que se muestran en la siguiente tabla.
Como resultado del último test incluido en la tabla, se obtendrá una visión general de en qué estado se
encuentra realmente la seguridad de sistemas e implementaciones de la red frente a ataques o intentos de
explotación de sus vulnerabilidades. En caso de ser encontradas, obviamente no se realiza la explotación
de ellas. Una vez realizada toda la batería de pruebas pertinentes y agotado el plan de pruebas respectivo,
el analista debe evacuar un informe que al menos contenga la siguiente información:
• Listado de pruebas de seguridad realizadas.
• Listado de debilidades y vulnerabilidades halladas.
• Las referencias técnicas de las vulnerabilidades encontradas.
• Listado de contramedidas apropiadas.
• Recomendaciones generales y específicas para cada caso.
A no engañarse si los resultados del test de penetración no arrojan vulnerabilidades evidentes. Esto no
significa que el sistema es seguro. Sólo indica que por ahora, el sistema goza de inmunidad ante los
ataques realizados.

VULNERABILIDADES EN LAS REDES


Las vulnerabilidades en una red tienen diversos orígenes y se pueden clasificar en:
• Vulnerabilidades de Implementación.
• Vulnerabilidades de Configuración.
• Vulnerabilidades de Dispositivo. Vulnerabilidades de Protocolo.
A continuación se explica cada una de ellas.

VULNERABILIDADES DE IMPLEMENTACIÓN
VULNERABILIDADES DE CONFIGURACIÓN

VULNERABILIDADES DE DISPOSITIVO
VULNERABILIDADES DE PROTOCOLO

HERRAMIENTAS PARA EL ANÁLISIS DE VULNERABILIDADES


Las herramientas para el AV también son diversas. Por lo mismo, se listan y definen luego las más
utilizadas.
• Escaneo de Puertos.
• Analizador de Protocolos.
• Passwords Crackers.
• Ingeniería Social. Trashing.
Es importante saber definir cuándo es necesario o conveniente aplicar cada una de ellas, así como los
resultados esperables de su aplicación.
ESCANEO DE PUERTOS
ANALIZADOR DE PROTOCOLOS

PASSWORDS CRACKERS
INGENIERÍA SOCIAL

TRASHING

METODOLOGÍA
La metodología es en rigor la aplicación de una serie o conjunto de métodos en una investigación
científica. La realización de un análisis de vulnerabilidades es también, en esencia, la aplicación de una
serie de pasos que se desarrollan en forma ordenada con el objetivo de que este proceso entregue
finalmente resultados confiables y verificables respecto de las vulnerabilidades existentes en la red, que
constituyen riesgos reales de pérdida de las características de integridad, confidencialidad y disponibilidad
de la información.
Estos pasos incluyen al menos los siguientes:
1. Establecer un Acuerdo de Confidencialidad entre las partes.
2. Establecer las Reglas del Juego.
3. Reunir información.
4. Realizar un Test Interior.
5. Realizar un Test Exterior.
6. Documentar e Informar.
ESTABLECER UN ACUERDO DE CONFIDENCIALIDAD

ESTABLECER LAS REGLAS DEL JUEGO

REUNIR INFORMACIÓN
REALIZAR UN TEST INTERIOR

REALIZAR UN TEST EXTERIOR

DOCUMENTAR E INFORMAR
CONCLUSIÓN
El análisis de vulnerabilidades (AV) es, sin duda, una de las actividades centrales en la amplia tarea que
persigue la Seguridad Computacional. Esto se explica desde la perspectiva de que no es posible proteger
la información sin saber algunas cosas tales como: qué debemos proteger y de quién. Una vez
determinadas estas variables, el siguiente paso es establecer en qué forma puede verse comprometida la
información, especialmente dentro de una red corporativa; a esto se le llama Análisis de Vulnerabilidades.
Este ha sido precisamente el tema de la semana. Para saber cómo puede verse expuesta la información,
se debe obligatoriamente someter la red y sus dispositivos a exhaustivos exámenes para comprobar las
áreas y los canales a través de los cuales una organización se hace vulnerable a los ataques que atentan
contra la integridad y confidencialidad de su información.
Lo anterior obviamente supone el desarrollo de diversas tareas necesarias para analizar vulnerabilidades,
detectarlas e implementar los métodos necesarios para obtener información sobre aquellas existentes en
una organización.
La adopción de criterios para garantizar la seguridad computacional, el tener claros los objetivos que
persigue el análisis de vulnerabilidades así como la implementación de sus métodos, son el primer paso
en dirección a proteger el principal activo de una empresa, sus datos. Sabiendo además cuáles son los
tipos de vulnerabilidades existentes para focalizar su búsqueda, es posible, utilizando las herramientas
adecuadas para su análisis, aplicar una metodología de trabajo en forma rigurosa y correcta, que permita
si no eliminar, al menos minimizar los riesgos y el impacto que puede tener un ataque externo sobre los
datos confidenciales que fluyen a través de una red de datos corporativa.

Potrebbero piacerti anche