23 febrero 2010

A la hora de lanzar un ataque, los atacantes más eficaces hacen sus deberes para descubrir tanto acerca de su objetivo como sea posible. Mientras que un script kiddie se lanzaría en la búsqueda de sistemas débiles sin tener en cuenta quién es su propietario, los atacantes con más experiencia se toman su tiempo en llevar a cabo misiones de reconocimiento antes de lanzar cualquier paquete contra la red destino.

Para entender por qué la fase de reconocimiento (aka recon) es tan importante para un atacante, echemos un vistazo a cómo se desarrollan los ataques en el mundo real. Al igual que un ladrón de bancos estudia los planos del edificio, las cámaras de seguridad, los horarios de los vigilantes y empleados; un atacante debería recoger la mayor cantidad información posible antes de pasar a la siguiente fase: el escaneo.

Existen varias técnicas de reconocimiento, entre las que podemos destacar:
  • La ingeniería social
  • Spoofing de números de teléfono
  • Saltarse los controles físicos
  • Rebuscar en la basura
  • Búsquedas en la web
  • Análisis de bases de datos whois
  • Consulta de los DNS
Para prevenir que los atacantes obtengan demasiada información que les haga más fácil el ataque, se proponen una serie de recomendaciones para las organizaciones:
  • El método de defensa más eficaz contra la ingeniería social y el spoofing de números de teléfono es la concienciación del usuario. Se debe informar a todo el personal (desde la alta dirección hasta el becario que acaba de incorporarse) sobre estos tipos de ataques y formarles para que no revelen información sensible. Deben conocer cuáles son los procedimientos para un reseteo de contraseña, ya que en muchas organizaciones no hay razón por la que un administrador de sistemas, secretaria o director solicite una contraseña. Además el equipo de help desk debe tener unos procedimientos específicos sobre cómo han de verificar la identidad de quienes solicitan un reseteo de contraseña, tampoco se debe confiar en personal desconocido que nos llame solicitando información sobre la configuración de los sistemas, datos sensibles, aunque nos aseguren que es de vital importancia. Se debe tener en cuenta que estos procedimientos dependen del nivel de seguridad requerido por cada organización.

  • Las tarjetas de identificación personal son una de las medidas más extendidas para evitar que personas ajenas a la entidad se salten los controles físicos. Un vigilante de seguridad o un lector de tarjetas deberá verificar la identidad de los empleados que accedan a las instalaciones. Muchas organizaciones gastan mucho dinero en estas medidas que luego no son utilizadas como deben. La tarjeta de identificación ha de llevarse en un lugar visible, y el personal de seguridad física debe revisar que todos los empleados están correctamente identificados. Si nos cruzamos en el dispositivo de entrada al edificio con una persona que dice haber olvidado su tarjeta y nos pide usar la nuestra para entrar a las instalaciones, debemos indicarle que puede dirigirse al mostrador central donde le proporcionaran una temporal. Cuando las instalaciones se vacíen de personal, las puertas de las salas de ordenadores han de estar debidamente cerradas con llave. Se debe establecer una política que indique a los usuarios el deber de bloquear su sesión cuando abandonen su puesto de trabajo. Los portátiles y los dispositivos de almacenamiento externos que entran y salen del edificio y que contienen información sensible deben estar cifrados (por ejemplo con TrueCrypt), al igual que los correos que contengan información confidencial (por ejemplo con PGP o GPG), se debe educar al personal de lo importante que es esta función.

  • Todo material en papel, CDs y DVDs deberán ser destruidos cuando vayan a ser desechados. Las cintas y discos duros deberán ser debidamente desmagnetizados ya que la sobrescritura con unos y ceros no elimina la información completamente. Cuando los empleados se trasladan entre distintas oficinas se debe tener controlado todo el material para que este no se extravíe, la mejor opción es depositarlo en un contenedor (caja o similar) debidamente identificado que será trasladado por el personal.

  • Se deben establecer unas políticas para determinar qué información va a estar disponible en los servidores web. No debe subirse información sensible de clientes ya que los bots de Google acabarán por encontrarla. Tampoco debe subirse información sobre los productos que utilizan, su configuración o su entorno. Es mejor que un atacante no conozca que medidas de seguridad tenemos para no ponerle las cosas más fáciles. Tampoco debe aparecer la lista de correo de empleados, planes de negocio, PDFs aunque no contengan información sensible, ya que pueden incluir metadatos de donde extraer información. Si no queremos que Google los indexe, además de modificar el fichero robots.txt (este archivo es un arma de doble filo, ya que indicando dónde no queremos que busque podemos dar pistas a los atacantes de dónde buscar), debemos solicitar a Google que nos elimine de su cache, aunque puede que esta información permanezca en otra cache como Wayback Machine.

  • Podríamos pensar que registrar información errónea en las bases de datos whois nos puede mantener a salvo, pero en determinadas ocasiones es necesario contactar con los administradores de la entidad para gestionar un incidente, y desde una perspectiva de seguridad es necesario mantener actualizadas estas bases de datos whois. Se debe mantener la mínima información y no información adicional que puedan ser útil a un atacante. Podríamos pensar en usar los servicios de registro anónimos, pero para gestionar un incidente es necesario contactar de forma rápida cuando ocurre un ataque a una máquina. Por ello es más recomendable mantener la mínima información pero válida y educar al personal de nuestra organización para evitar los timos por ingeniería social. Desde SbD ya os hablamos en otra ocasión sobre cómo defender un dominio securizando el whois.

  • Para que los atacantes no extraigan demasiada información de los servidores DNS, se deben emplear una serie de técnicas. Primero, debemos estar seguros que no se está filtrando información adicional. El DNS es necesario para mapear nombres hacia y desde direcciones IP, e indicar servidores de nombres y correo, no se requiere otra información adicional, como información de los sistemas internos. Los nombres de dominio no deben indicar el tipo del sistema operativo. Segundo, se deben restringir las zonas de transferencia, se deben adoptar directrices que especifiquen las direcciones IP y redes, que vamos a permitir para iniciar las transferencias de zona. Muchas organizaciones tienen sus DNS secundarios en ISPs, y muchos de estos no limitan las transferencias de zonas, en estos casos es aconsejable ponerse en contacto con el administrador e indicarle que política ha de seguir. Por último es recomendable aplicar la técnica de split DNS para limitar la cantidad de información DNS que está disponible al público. Se podría usar un servidor DNS externo y otro interno. El externo contendría la información que puede hacerse pública y el interno contendría información para nuestros sistemas internos. Con la técnica de split DNS los atacantes sólo tendrán acceso a los DNS externos, mientras que los usuarios de la red interna podrán resolver tanto nombres internos como externos. Desde SbD se recomendó pasar el protocolo DNS a TCP.
¿Cuántas de estas buenas prácticas veis que vuestra organización no está cumpliendo? Yo estoy harta de ver puestos de trabajo sin bloquear, personal físico que no comprueba las tarjetas de identificación, personal pasando por los controles sin tarjeta física, usuarios que siguen poniendo sus claves en un post-it, entrada y salida de portátiles con información sensible sin cifrar, información sensible de organizaciones en Google y en las bases de datos whois. Luego no nos extrañemos cuando los atacantes se paseen por nuestra organización como si fuera su propia casa.

3 comments :

xneo72 dijo...

Hola Laura, los 7 puntos que has expuesto están muy bien pero como bien sabes en una empresa media/grande trabajan muchas personas y es muy complicado tenerlas a todas vigiladas por no decir concienciadas con la seguridad. Por otro lado esta el tema económico, la mayoría no invierten lo suficiente en seguridad -Puedes tener unas reglas y configuraciones de seguridad cojonudas pero si el personal que las maneja es algo incompetente y descuidado, se acabo, y a la inversa ocurre lo mismo. No todas las empresas están dispuestas a formar a sus trabajadores en materia de seguridad (regularmente) y es que estoy harto de escuchar.. -Para eso esta el Admin- y yo digo que el Admin no es dios aunque pueda parecer que tenga el control. Saludos.

Laura García dijo...

@xneo72: Cierto, es una tarea difícil. Y con la crisis, pedir que se aumenten las inversiones en seguridad es complicado. Pero bueno, soy de las que piensa que en un futuro no muy lejano las personas estarán más concienciadas :)

Saludos

xneo72 dijo...

@Laura García: Allá por el año 98 en mis comienzos con la informática recibí un adjunto desde un cliente de mensajería y resulto ser un virus el cual me hizo la pascua (hoy en día es muy posible que lo hubiera eliminado sin problemas) pero por aquel entonces mi opción mas cercana (y la única dados mis conocimientos) fue ejecutar el archiconocido Format c:. Lo que quiero decir es que de palos se aprende y a mi solo me hizo falta uno para interesarme por este mundillo. Sin embargo y por norma general este tipo de comportamiento no es común dentro de la mayoría de usuarios de Internet y la concienciacion (como bien comentabas antes) pienso yo que esta mas lejos de lo todos nos creemos. Saludos