Llegamos a ustedes gracias a:



Reportajes y análisis

Pruebas de intrusión: Diez consejos para un programa exitoso

Las pruebas de intrusión no solo buscar agujeros al azar, sino que deben cumplir con los objetivos empresariales. He aquí cómo obtener el máximo valor por sus esfuerzos.

[25/11/2010] ¿Por qué realizar pruebas de intrusión? Ya sea que esté usando un equipo interno, expertos externos, o una combinación de los dos, ¿está simplemente satisfaciendo los requisitos legales o de auditoría, o espera mejorar la seguridad de la empresa?

Les preguntamos a expertos en pruebas de intrusión, sobre orientación acerca de cómo mejorar su programa para obtener los mayores beneficios para su tiempo, dinero y esfuerzo. Si consulta a expertos externos, sus consejos le mostrarán lo que puede esperar y demandarle a los consultores. Los siguientes diez consejos le ayudarán a entender el objetivo y el enfoque de sus exámenes, desarrollar estrategias eficaces de pruebas; hacer un uso eficaz de su personal, y hacer un uso más eficaz de los resultados de las pruebas de intrusión para remediar los problemas, mejorar los procesos y mejorar continuamente la seguridad de la empresa.
Consejo 1: Defina sus metas
Las pruebas de intrusión -en realidad, toda la actividad de seguridad de la información- trata de proteger el negocio. Usted está asumiendo el papel de atacante para encontrar las vulnerabilidades y explotarlas con el fin de determinar los riesgos para el negocio, y hacer recomendaciones para mejorar la seguridad sobre la base de sus resultados. Los atacantes están tratando de robar sus datos -sus técnicas son un medio para un fin. Así también, las pruebas de intrusión: No se trata de las interesantes técnicas que puede hacer para explotar una vulnerabilidad, sino que se trata de descubrir dónde es que está el mayor riesgo para el negocio.
"Si no puedo expresar las cosas en términos de mi negocio, no me está proporcionando un valor", señaló Ed Skoudis, fundador y asesor senior de seguridad en InGuardians. "No me diga que se aprovechó de una vulnerabilidad y consiguió descascararla en esa caja, sin decirme lo que eso significa para el negocio."
Con ese entendimiento, desde una perspectiva más táctica, las pruebas de intrusión son una buena manera de determinar en qué medida sus políticas de seguridad, controles y tecnologías están trabajando. Su empresa está invirtiendo mucho dinero en productos, parchando sistemas, asegurando endpoints, etc. Como alguien que realiza una prueba de intrusión, está imitando a un atacante, tratando de eludir o neutralizar los controles de seguridad.
"Usted está tratando de darle a la empresa una buena evaluación para saber si su dinero está siendo bien empleado", indicó Alberto Soliz, fundador y director de los servicios de consultoría de seguridad de Core Security.
El objetivo no debe ser simplemente conseguir un check en la casilla de prueba de intrusión para cumplir con los requisitos de cumplimiento, tales como PCI DSS. Las pruebas de intrusión deben tener por objetivo mucho más que descubrir vulnerabilidades (el escaneo de vulnerabilidades debe ser parte de un programa de pruebas de intrusión, pero no un sustituto). A menos que la prueba sea parte de un programa sostenido para descubrir, explotar y subsanar las deficiencias de seguridad, su dinero y esfuerzo habrán ganado más que un check de verificación, y en el peor de los casos, una auditoría fallida por un evaluador fuerte.
Consejo 2: Siga los datos
Las organizaciones tienen presupuesto y recursos limitados para las pruebas de intrusión, independientemente de si se están llevando a cabo pruebas internas, la contratación de consultores externos o una combinación de ambos. No puede llevar a cabo pruebas de intrusión en toda su infraestructura de TI, que abarcan cientos o miles de dispositivos, sin embargo, a menudo se le pedirá a quienes realizan pruebas de intrusión, que comprometan dispositivos a través de una amplia gama de direcciones IP. Es probable que el resultado sea el más superficial de las pruebas de regímenes, dejando poco o ningún valor. Ni siquiera puede esperar poder realizar escaneos de vulnerabilidades y remediar fallas a través de un gran número de dispositivos en un tiempo razonable y a un costo razonable.
"En muchos casos, los clientes tienen miles de direcciones IP que nos quieren poner bajo una prueba de intrusión", señaló Omar Khawaja, Gerente de Productos Globales, Soluciones de seguridad de Verizon. "Podríamos correr pruebas de vulnerabilidad y ver qué es lo más vulnerable, pero puede que no sea lo más importante para su organización".
De un paso atrás y pregúntese: "¿Qué estoy tratando de proteger?" ¿Qué datos críticos están en riesgo: los datos de tarjetas de crédito, la información del paciente, información personal de identificación de los clientes, planes del negocio, la propiedad intelectual? ¿Dónde reside esa información? ¿Conoce cada base de datos, cada repositorio de archivos y todas las tiendas de registro que contienen los datos sensibles? Puede que no lo sepa, pero lo más probable es que un atacante las encuentre.
Así, el primer paso fundamental para limitar el alcance de las pruebas de intrusión es el descubrimiento de datos: determinando qué datos sensibles están en riesgo y dónde se encuentran. Entonces, la tarea es hacer el papel de un atacante y encontrar la manera de llegar al premio.
"La idea es imitar lo que un atacante real hará durante un período de tiempo acordado con el cliente", indicó Solino de Core Security, "no para buscar todos los posibles problemas."
Consejo 3: Hable con los propietarios de los negocios
Trabaje con la gente de negocios. Ellos saben lo que está en riesgo -qué datos son críticos, qué aplicaciones crean una interfase con esos datos. Ellos por lo menos sabrán los lugares más obvios en los que residen los datos. Ellos le dirán qué aplicaciones deben mantenerse en funcionamiento.
Aprenderá mucho de lo que necesita saber sobre el nivel de riesgo asociado a determinadas aplicaciones, el valor de los datos y los activos que son importantes en la ecuación de riesgo.
Una parte importante de este proceso es trabajar con gente que entiende la lógica de negocio de la aplicación. Saber lo que la aplicación se supone que debe hacer y cómo se supone que el trabajo le ayudará a encontrar sus puntos débiles y explotarlos.
"Defina el alcance que incluye los activos críticos de información y procesamiento de transacciones de negocios", indicó Skoudis de InGuardians. "Tenga lluvia de ideas junto con el equipo de prueba de intrusión y de dirección."
Skoudis también sugiere preguntarle a la administración para que expongan sus peores escenarios, "¿qué es lo peor que podría pasar si alguien le hackea?" El ejercicio ayuda al alcance del proyecto, determinando dónde están "las joyas de la corona".
Consejo 4: Prueba contra el riesgo
El valor de los datos / aplicaciones debe determinar el tipo de pruebas a realizar. Para los activos de bajo riesgo, el escaneo periódico de vulnerabilidad representa un uso rentable de los recursos. El riesgo medio pudiera hacer necesaria la combinación de escaneos de vulnerabilidad y la investigación manual de vulnerabilidad. Para los activos de alto riesgo, realice pruebas de intrusión de explotación.
Por ejemplo, el director de seguridad de una gran universidad, señaló que empezaron a realizar pruebas de intrusión para cumplir los requerimientos PCI DSS. Una vez que el programa estaba en su lugar, se convirtió en el modelo para probar la capacidad de un atacante potencial al penetrar en sus sistemas. La universidad clasifica los datos como públicos, internos, sensibles y altamente sensibles.
Para la información que es muy sensible, llevamos a cabo pruebas de intrusión bajo muchas de las pautas de PCI", indicó. "La respaldamos fuera de allí, sobre la base de algunos criterios específicos y algunos juicios subjetivos que entran en el nivel de las pruebas de intrusión.
Así, por ejemplo, en el extremo inferior del espectro de riesgo, la universidad pondrá a prueba una muestra aleatoria de sistemas y / o aplicaciones, en función de los criterios para una categoría particular y limitaciones de tiempo y presupuesto. Con decenas de miles de dispositivos en la red del campus, incluso un bajo nivel de exploración de todos ellos sería inviable.
"Usted puede probar en un sistema de negocio que tiene un dueño claro y un administrador de sistemas", indicó. "Pero cuando tiene tres mil dispositivos Wi-Fi conectados a la red, no deseará explorarlos y descubrir a quiénes pertenecen".
Consejo 5: Elabore perfiles del atacante
Los que harán la prueba de intrusión necesitan pensar y actuar como atacantes reales. Pero los atacantes no encajan en una sola categoría. Genere perfiles de potenciales atacantes.
Los atacantes externos pueden tener poco o ningún conocimiento de su empresa, tal vez algunas direcciones IP. Pueden ser ex-empleados o trabajar para los socios o proveedores de servicios, y tener un conocimiento considerable del interior de su red. Un empleado de la casa puede ser un administrador de sistemas o DBA con acceso privilegiado y autorización, y sabe dónde residen los datos críticos.
El motivo es un factor en el desarrollo de los perfiles. ¿El atacante está detrás de los números de tarjetas de crédito y PII que puedan ser convertidos en efectivo? ¿De la propiedad intelectual para venderla a un competidor o ganar una ventaja comercial? ¿El atacante puede estar políticamente / o ideológicamente motivado para traerse abajo su aplicación web? ¿Puede ser un ex-empleado enojado que quiera "vengarse de la empresa?
Trabaje con los dueños de los negocios para que le ayuden a afilar estos perfiles y aprender qué tipos de posibles atacantes son los que más les preocupan.
El perfil estrecha el foco de la prueba de intrusión, y las pruebas variarán en función de cada uno de estos múltiples perfiles.
"Recibimos una instantánea de lo que un atacante determinado puede hacer frente a un objetivo, y no se mezclan los resultados", indicó Solino de Core Security. "Se obtiene el resultado de la prueba de intrusión por cada perfil, y luego se continua con el siguiente perfil".
Consejo 6: A más inteligencia, mejor
La recopilación de información es parte importante del proceso como lo es la explotación -identificar los dispositivos, sistemas operativos, aplicaciones, bases de datos, etc. Cuanto más sabe acerca de un objetivo y sus sistemas conectados, más posibilidades tiene de romperlas.
Cada paso puede proporcionar información valiosa que le permitirá atacar a otro activo que eventualmente lo deje entrar en la base de datos señalada o archivos compartidos, etc. La información le permitirá reducir la búsqueda de vulnerabilidades explotables. Este reconocimiento se realiza típicamente mediante el escaneo automático y la asignación de herramientas, pero también se pueden utilizar métodos de ingeniería social, tales como hacerse pasar por una persona de soporte técnico o un contratista en el teléfono, para obtener información valiosa.
"Estamos haciendo cada vez más ingeniería social", indicó Khawaja de Verizon."Básicamente se trata de reconocimiento -realizado con la autorización del cliente- que nos permite encontrar en el entorno todo lo que nos pueda ayudar a entrar.
Las pruebas de intrusión en varias etapas son un típico ciclo de reconocimiento, evaluación de la vulnerabilidad y la explotación, cada paso le da la información para penetrar más profundo en la red.
Consejo 7: Considere todos los vectores de ataque
Los atacantes pueden y podrán explotar diferentes aspectos de su infraestructura de TI, de forma individual o, frecuentemente, en combinación para obtener los datos que están buscando.
Exhaustivas pruebas de intrusión aprovecharán todos y cada uno de estos tipos de ataques potenciales, basados en el objetivo final del atacante, en lugar de la vulnerabilidad de cada uno.
"Hace unos años hubiéramos hecho pruebas de intrusión de la red, y pruebas de intrusión de aplicaciones y de red inalámbrica. Luego dimos un paso atrás y dijimos que no tenía ningún sentido", señaló Solino "El malo de la película no dice: Solo puedo entrar en el sistema utilizando la red.
Las pruebas de intrusión exitosas, como ataques reales, pueden aprovechar cualquier número de rutas que incluyen una serie de pasos hasta que golpea un negocio. Un servidor de impresión no parece particularmente interesante, pero puede utilizar las mismas credenciales de inicio de sesión como administrador de una base de datos que contiene información de tarjetas de crédito.
"Las pruebas de intrusión encuentran defectos y los explotan, a continuación, pasan a otra máquina y luego a otra", indicó Skoudis de InGuardians.
Un ataque a una aplicación web puede fallar en términos de explotación, pero cosecha información que ayuda a explotar otros activos en la red. O un atacante podría obtener información acerca de los empleados sin altos privilegios, pero con acceso a la red interna que actúa como un trampolín.
Por lo tanto, un recurso crítico no puede ser atacado directamente, pero puede ser comprometido mediante otros sistemas.
Por ejemplo, añadió Khawaja, los que hicieron la prueba de intrusión en Verizon, no pudieron comprometer directamente a un servidor web que tiene acceso a una base de datos sensibles. Si se hubieran centrado casi exclusivamente en poner a prueba esa aplicación web en el servidor, la conclusión sería que los datos estaban seguros. Pero al adoptar un enfoque centrado en los datos, descubrieron que el servidor web estaba conectado a un segundo servidor web, con una vulnerabilidad crítica que un atacante podría aprovechar para obtener acceso al primer servidor web y, por lo tanto, a la base de datos.
"Nos preocupamos por algo que no está desconectado del segmento de la red que estamos analizando", indicó. "¿Existen controles en la red para prevenir que un atacante salte de un sistema vulnerable de bajo valor a un sistema más crítico?".
Dicho esto, hay casos válidos para las pruebas de vectores específicos. Por ejemplo, una empresa puede estar preocupada específicamente por la seguridad inalámbrica, ya que sabe que ha sido un poco laxa en este ámbito o porque recientemente ha instalado o mejorado su infraestructura WLAN. Pero incluso si está seguro de que un vector es seguro -por ejemplo, si la red inalámbrica está aislada de la base de datos de tarjetas de crédito- no lo esté. Las rutas de ataque pueden ser complejas y bizantinas.
Consejo 8: Defina las normas de intervención
Las pruebas de intrusión simulan el comportamiento de un ataque, pero no es un ataque. Ya sea que esté realizando pruebas en casa o haya contratado a un consultor, es necesario establecer los parámetros que definan lo que puede y no puede hacer, y cuándo, y qué necesita saber.
Esto último depende de si se están llevando a cabo pruebas de caja blanca o de caja negra. En el primer caso, es probable que haya un reconocimiento de que el programa de seguridad de la empresa (o un departamento o unidad de negocio) necesita mucho trabajo, y la prueba de intrusión es un proceso abierto conocido por todos los involucrados.
Por otra parte, las pruebas de caja negra son más clandestinas, llevadas como un ataque real -estrictamente en una necesidad de conocimiento. Usted está determinando qué tan bueno es el personal de la empresa en sus puestos de trabajo y la eficacia de los procesos y sistemas de apoyo.
"Ya sea el centro de operaciones, el equipo de respuesta de investigaciones o guardias de seguridad físicos, todo el mundo tiene que fingir que es solo otro día en la oficina", señaló Khawaja de Verizon.
Generalmente, las compañías realizarán pruebas de caja blanca primero para conocer los problemas de seguridad que tienen que abordarse. Posteriormente, las pruebas de caja negra ayudarán a determinar si los resultados iniciales han sido remediados eficazmente. A veces, por ejemplo, un CSO va a querer saber no solo las vulnerabilidades de los sistemas críticos, sino también que tan bueno es su personal detectando y respondiendo a un ataque.
En cualquier caso, algunas personas clave deben participar para evitar problemas que podrían afectar el negocio o socavar la prueba. Al menos se debe contar con una persona del entorno que esté involucrada en el proceso de cambio de control, indicó Skoudis de InGuardians. Bajo las reglas de combate, por ejemplo, la empresa podrá autorizar la pruebas de intrusión para instalar software en los dispositivos de destino, pero al menos que una persona esté involucrada para que se asegure de que los técnicos no se detengan dejando caer su dirección IP de un router ACL o invoquen una regla de firewall.
En ambos escenarios de caja blanca y caja negra, Skoudis recomienda informes diarios de las partes interesadas en la prueba, para que sepan lo que están haciendo los ejecutores de la prueba. Por ejemplo, las reglas de compromiso pueden permitir que las pruebas de intrusión exploten las vulnerabilidades, pero la información puede utilizarse para darle a la gente una alerta de que están a punto de hacerlo.
"Tiende puentes", señaló. "Esto demuestra que los ejecutores de las pruebas de intrusión no son un grupo distante o malévolo que está ahí para atraparme. Más bien, tiene que ver con apertura y transparencia".
Las normas de compromiso también pueden poner límites a lo que se puede y no se puede explotar, como las máquinas de los clientes; o las técnicas que pueden o no pueden ser utilizadas, como la ingeniería social.
Consejo 9: Informe los resultados y mida el progreso
El objetivo de las pruebas de intrusión es mejorar su postura de seguridad, por lo que si está conduciendo pruebas internas, el reporte debería proporcionar información útil, práctica y específica.
"El objetivo es ayudar a mejorar la seguridad, para que la administración tome decisiones que mejoren el negocio y ayuden al equipo de operaciones a mejorar la seguridad", indicó Skoudis de InGuardians.
Debe proporcionar un resumen ejecutivo, pero el corazón de su informe debe incluir una descripción detallada de las vulnerabilidades encontradas, cómo los explotó y qué activos estarían en riesgo si un ataque real se lleva a cabo. Detalle de cada paso usado para hacer la intrusión, cada vulnerabilidad que tuvo que ser explotada, y quizá lo más importante, todas las rutas de ataque.
"La belleza de la identificación de la ruta de ataque es que le permite resolver problemas específicos, rompiendo el camino", indicó Soliz de Core Security.
Sea muy específico con las recomendaciones. Si se requieren cambios en la arquitectura, incluya diagramas. Explique cómo comprobar que una solución está en el lugar (use este comando, o esta herramienta para medirla). En los casos en que están involucrados múltiples sistemas, explique cómo implementar una solución de masas, utilizando GPO si es posible.
Asegúrese de que cada reparación recomendada incluya una advertencia de que la solución sea probada a fondo antes de su aplicación en un entorno de producción. La infraestructura de TI de las empresas puede ser muy compleja.
"Este es un enorme problema", añadió Skoudis. "Si no conoce todos los matices. No querrá romper la producción".
Las pruebas de intrusión no deben ser un ejercicio de una sola vez, y los resultados sucesivos deben ser comparados. Si está realizando pruebas internas, agrupe deltas para medir cómo las personas se están ocupando de esas cuestiones. Si los problemas de la última prueba -o las dos últimas- siguen sin resolverse, puede tener un problema. Tal vez el programa de parches de software no funciona como debería, o los desarrolladores no están debidamente capacitados para escribir código seguro.
"Lo que estamos buscando son las tendencias", señaló el director de seguridad de la universidad. "Es como lo haría con un informe de auditoría. Si tiene resultados repetidos, indican que podría haber un problema más serio".
Consejo 10: Decida quienes ejecutarán sus pruebas de intrusión
La decisión de usar personal interno para la prueba de intrusión depende del tamaño de la organización, el valor de la información que está tratando de proteger y dónde quiere poner sus recursos internos. Una empresa puede tener un equipo de pruebas de intrusión dedicado, o un grupo dentro del equipo de seguridad. Un equipo interno está en una mejor posición para llevar a cabo las inspecciones periódicas. Si su organización es grande y distribuida, cree mecanismos y promueva un entorno en el cual la información pueda ser compartida.
"Si tiene una comunidad interna que puede compartir la información, asegúrese de que tiene una base sólida de conocimientos respaldados por sistemas maduros de gestión del conocimiento", indicó Khawaja de Verizon. "Usted querrá asegurarse de que lo ocurrido en la unidad de Bélgica no suceda en Brasil".
Incluso, si hace algunas pruebas en casa, existen buenas razones contratar consultores que realicen, al menos, una parte del trabajo. Algunos reglamentos requieren que las compañías externas realicen las pruebas de intrusión. Considere que los insiders pueden tener demasiada información sobre los sistemas de destino, así como un interés personal en el resultado. Así que, más allá de los requisitos de cumplimiento, es una buena idea traer una nueva visión desde el exterior de forma periódica.
Por las mismas razones, si decide contratar consultores externos de pruebas, rote entre los vendedores, al igual que haría con los auditores cada cierto tiempo.
"Traer gente de fuera le da un mayor grado de confianza en los resultados", indicó el director de seguridad de la universidad. "No hay percepción de conflicto de intereses".
Para su equipo interno, busque la combinación adecuada entre conocimientos y curiosidad.
Un buen candidato en entrenamiento, indicó Solino de Core, tiene un gran conocimiento de networking y protocolos de aplicaciones como base. Sobre todo, busca con curiosidad y tiene la mentalidad de los piratas cibernéticos.
"Es su conocimiento de TI y su actitud. La mentalidad específica que niega que algo sea seguro y dice: ¡Adelante!", agregó.
"Este es un arte", finalizó Skoudis. "Aunque existen herramientas y metodologías, hay que ser creativos en la búsqueda de problemas en los sistemas y aplicaciones específicas.
Neil Roiter, CSO (US)