lunes, 6 de septiembre de 2010

¿Hacking ético in-house?


Últimamente podemos apreciar que el misticismo y casi ocultismo que había antes sobre los conceptos de hacking se van desvaneciendo poco a poco (por lo menos los conceptos básicos e intermedios) ya sea por la cantidad de información que hay online o por los cursos de entrenamiento en tests de penetración y hacking ético.

Todo esto ha logrado también que ya varias industrias comiencen a darse cuenta de las ventajas que trae el hacer pruebas exhaustivas de hacking ético para complementar sus esfuerzos en seguridad de la información y lograr encontrar vulnerabilidades antes que los atacantes; agregando a esto el cumplimiento de estándares y requerimientos de la industria como PCI DSS o aquellos establecidos por la SBS u otros organismos reguladores.

Las empresas, entonces, con el principal interés de mantenerse seguras, mostrar una imagen de confianza a sus clientes e impulsadas por los requerimientos anuales de estándares como PCI DSS (Payment Card Industry Data Security Standards) empiezan a considerar hacer sus propias pruebas de seguridad informática (in-house).

Decidir entre hacer las pruebas de penetración por un equipo interno o tercerizarlo no es una decisión que puede ser tomada a la ligera ya que contiene varios factores a ser analizados.

Una auditoría de buen nivel puede costar desde USD 5,000 hasta los USD 50,000 o en algunos casos más, dependiendo del alcance, objetivos, profundidad, tiempo de auditoría y reputación de la empresa auditora. Un producto de análisis de vulnerabilidades puede costar desde unos cuantos cientos de dólares hasta llegar fácilmente a los USD 30,000 por una herramienta focalizada.

Lo sé, la diferencia salta a la vista. Mientras suena muy tentador salvar miles de dólares adquiriendo un producto de análisis de vulnerabilidades e internalizar el proceso, esto conlleva a otros costos que no estamos tomando en cuenta. Debemos sopesar los costos en recursos humanos, entrenamiento y software con los que tendríamos si tercerizáramos el proyecto de auditoría.

Haremos un análisis un poco más profundo acerca de estos factores de costo.

Recursos humanos

Empezaremos analizando este factor porque me parece el más importante si es que se quiere internalizar los procesos de auditoría. La pregunta será entonces: ¿Tenemos personal capacitado y que cuente con las habilidades requeridas para realizar este tipo de proyectos de auditoría?
Dependiendo de la respuesta podemos tener 2 escenarios:

1.
No tenemos personal por lo que tenemos que contratar personal adicional, que esté además especializado en el tema y ofrecerle un sueldo competitivo en el mercado laboral. Si este es nuestro caso debemos fijarnos en el perfil profesional que pediremos. Hay que recordar que el hecho que una persona tenga algún certificado no significa necesariamente que esta persona es buena en lo que ofrece. Recuerden que las certificaciones, al igual que los títulos académicos, son relativas y representan tan solo una parte del desarrollo y desenvolvimiento del profesional.
2.
Tenemos algunas personas que si tienen algunas de las habilidades necesarias. Ahora habría que pensar si sus tareas y responsabilidades actuales pueden coexistir con estas nuevas asignaciones que se le dará. Si tendrá el tiempo suficiente, si su rendimiento será aceptable y si estará de acuerdo con trabajar por la misma suma de dinero o quizás pida un aumento. Si lo recolocamos, tenemos que redistribuir o llenar la plaza que el empleado está dejando libre para que la productividad no descienda en el área donde se desempeñaba el empleado.

Entrenamiento

Siguiendo con nuestra lista de costos a ser analizados tenemos el entrenamiento de la persona o equipo encargado de hacer las pruebas y auditoría. En el mercado nacional hay entrenamientos bastante básicos desde USD 250 por persona, hasta algunos más profundos y avanzados que pueden llegar a costar alrededor de los USD 1,500. Para hacer una decisión en este tema se debe ver el currículo del curso y la experiencia de los capacitadores.

Si se toma la decisión de capacitar al personal, se debe hacer un espacio en la agenda para que puedan asistir a los cursos (si se requiere que lleven el curso en forma más rápida) o hacerlos asistir en días no laborables.

Una vez hecho el entrenamiento no hay que dejar de lado que en la actualidad la demanda por profesionales con este tipo de conocimientos está en crecimiento por lo que habría que ajustar su remuneración conforme a sus nuevas habilidades en el mercado laboral. Incluso es común en ámbitos nacionales hacer firmar al empleado para que se responsabilice por el pago del 50% o incluso la totalidad del entrenamiento si decide irse a otra empresa dentro de un tiempo determinado.

Si el empleado tenía conocimientos de Inseguridad Informática previos al curso, es muy probable que haya aprovechado el curso y que se sienta un poco más cómodo para cumplir tareas de auditoría. Si por el contrario el empleado ha tocado por primera vez los temas de hacking ético en la capacitación, tendrá que seguir repasando el material y practicando por un periodo mientras hace suyos los conocimientos impartidos en el curso.

Como último comentario acerca de este factor de costo, deberá recordar que la industria del cibercrimen tiene nuevos vectores de ataque creándose diariamente, por lo que deberá capacitar a su personal por lo menos cada 6 meses para mantenerlos actualizados. De no seguir esta última recomendación se puede llegar a un severo caso de ceguera organizacional en cuanto a seguridad informática. Imagínese compartir cierta información de alguna forma que usted cree como segura pero que en realidad no lo es en absoluto.

Una alternativa recomendada para actualizar al personal es enviarlos a eventos y charlas de Seguridad Informática que se brindan con cierta frecuencia. Si bien el conocimiento que se brinda en estas conferencias no es completo, es mejor que no recibir ningún tipo de actualización.

Software

Este factor de costo presenta muchas variantes. Existe software libre y licenciado, con excelentes representantes en ambos casos, la diferencia está en la curva de aprendizaje que tienen.

En el caso de herramientas de software libre como Metasploit o w3af, muy buenas por cierto, tienen algunos aspectos automatizados, pero usted querrá que su personal de pruebas sepa manejar estas herramientas en forma manual y especializada, créame.

La desventaja en este punto es que dominar estas herramientas libres a un nivel avanzado tiene una curva de aprendizaje larga y empinada en comparación a las herramientas licenciadas que automatizan muchas de las tareas y que son más fáciles de usar pero que muchas veces dan como resultados varios falsos positivos.

La decisión bien podría tomarse comparando los miles de dólares y días para utilizar una herramienta licenciada, contra la cantidad de semanas que se necesitaría para empezar a trabajar a nivel intermedio y con cierta comodidad bajo una herramienta libre.

Obviamente la decisión de compra del software estará determinada por el presupuesto, tamaño de la organización, nivel de habilidades de los auditores de seguridad informática y las tecnologías usadas por la organización, que luego serán el objetivo a ser auditado.

Con el manejo de información sensible, y la utilización constante de servicios basados en sistemas informáticos alojados o no en la nube, cada vez se hace más palpable en las empresas de cualquier tamaño la necesidad de desenvolver la actividad profesional y laboral dentro de un ambiente seguro.

Por este motivo entrevistamos a Claudio Caracciolo, especialista de Seguridad de la información con certificaciones internacionales, apasionado por las técnicas y metodologías de Ethical Hacking, técnicas de defensa y análisis forense y autor del libro "Ethical Hacking, un enfoque metodológico para profesionales", entre muchas otras competencias.

A continuación sus reflexiones...

¿Qué es Ethical Hacking y qué rol está cumpliendo hoy para las empresas?

Es un tipo de análisis de seguridad en donde los profesionales contratados intentan encontrar la mayor cantidad de fallas posibles en un sistema; tanto de diseño como de desarrollo, de implementación o hasta incluso de uso. Y una vez halladas, tratan de aprovecharlas para ganar privilegios y escalar dentro de los sistemas intentando acceder a información sensible y/o nuevos equipos. Muchas empresas automatizan sus escaneos de vulnerabilidades pensando que están ejecutando un Ethical Hacking, pero esa es sólo una tarea dentro de un proyecto (Vulnerability Assessment)... Una de las principales características de este tipo de análisis es la creatividad del atacante para superar los controles habituales, y obviamente esto no se automatiza.

¿Cómo puede ser "ético" si estamos hablando de hacking?

Esta confusión habitual se debe a la deformación de la palabra, donde para algunos es sinónimo de ladrón informático...Un hacker es una persona con el conocimiento suficiente y la curiosidad en su máximo exponente, capaz de utilizar aquello sobre lo que conoce de forma diferente para lo cual fue creado... Un Ethical Hacking parte de la base fundamental de la autorización otorgada al profesional por parte del dueño o representante del sistema, donde se le permite realizar las pruebas necesarias a fin de encontrar fallas que permitan armar un plan de mejoras a la empresa.

¿Cuáles son los problemas de seguridad que más habitualmente encuentras en los últimos tiempos?

Lamentablemente, no cambian mucho de los tiempos anteriores... Siguen siendo falta de parches, claves default o triviales, servicios que se ejecutan sobre protocolos inseguros (http, ftp, telnet, etc.), falta de concientización de los usuarios, etc. Increíblemente existen soluciones y mucho trabajo de empresas como Microsoft para mitigar muchas de ellas, pero es evidente que por parte de los implementadores no existe la conciencia de la importancia real de estos temas. De hecho, el tema Seguridad en las universidades sigue siendo visto muy por encima, en algunos casos como materias opcionales y en algunos lugares, ni siquiera es estudiado.

Ante la evolución constante de fraudes, virus, malware, spyware, etc. ¿Cómo se hace para estar protegido de forma actualizada? ¿Y qué previsiones recomiendas a futuro?

Primero que nada, mantener los sistemas actualizados a la última versión disponible, aunque algunos piensen que los Updates son molestos, son necesarios y hasta podríamos decir mandatorios. Segundo, aprovechar las características de seguridad de los sistemas, como el Firewall o los bloqueadores de código en los navegadores, y hasta el UAC en Windows. Tercero, mantener actualizadas las aplicaciones de antivirus y anti-spyware en los equipos. En seguridad de la información, no hay nada que nos garantice el 100% pero por lo menos minimizamos las probabilidades de tener malas experiencias.

¿Qué destacarías del aporte de Microsoft a que las empresas tengan niveles superiores de seguridad informática?

Realmente el cambio de filosofía de Microsoft desde 2000 en adelante es notorio, y se va notando la evolución año a año, en cada nuevo producto. Sin duda para mí, han contribuido con muchas herramientas y características que permiten mitigar riesgos (wsus, bitlocker, el firewall personal con reglas entrantes y salientes de Windows 7, y varias herramientas más: la granularidad de administración del AD, el UAC, y varias características extras), pero creo no equivocarme si menciono como uno de los más importantes logros/avances al desarrollo del SDLC . Muchos profesionales están tomando el modelo incluso en el desarrollo sobre otras plataformas, y eso ayuda a la comunidad entera.

¿Que recomiendas se haga en una empresa en referencia a su seguridad, en forma periódica?

Esto es muy difícil de generalizar pero básicamente:

*
Verificar si el proceso de actualización automático esta funcionando correctamente (tanto de los sistemas operativos como de las aplicaciones instaladas). Tanto en servidores, como estaciones de trabajo.
*
Trabajar en campañas serias de concientización de usuarios. Definir objetivos y armar una estrategia, no solo dar una charla o pegar un afiche.
*
Ejecutar periódicamente análisis de vulnerabilidades aunque sea automatizados y una vez al año, un Ethical Hacking por un tercero ajeno a la empresa.
*
Conocer sus riesgos, aceptar los que considere aceptables y mitigar los que considere que expongan a su empresa o a sus empleados.


Autor: Gabriel Lazo

No hay comentarios: