Si bien sigue habiendo escasez de profesionales de seguridad, cada vez somos más los que trabajamos en este ámbito con diferentes motivaciones y seguramente con diferentes gustos en cuanto a la especialidad elegida. Al entrar en este mundo hay todo un universo de temas para elegir y aprender. Hoy quisiera hablarte sobre cinco de estos campos y sobre algunas de las herramientas y técnicas que utilizamos en el Laboratorio de Investigación de ESET.
En el Día Internacional de la Seguridad Informática, que se celebra cada 30 de noviembre, quiero contarte todo lo que necesitas saber para elegir tu especialidad y empezar a convertirte en un experto.
Vale la pena mencionar la importancia saber lógica de programación. Si bien conocer muchos lenguajes de programación puede ser de gran ayuda, como base deberías conocer algún lenguaje de scripting, siendo Python uno de los más utilizados. Además, es necesario estar familiarizado con bash y sus comandos, ya que si bien cada vez más nos encontramos con herramientas que tienen una interfaz gráfica, muchas de ellas se ejecutan a través de la consola.
Análisis de malware
En este campo hay un espectro muy amplio de plataformas que deberíamos cubrir, pero hoy solo vamos a hablar de algunas herramientas que podemos llegar a utilizar para analizar malware que afecta a sistemas operativos Windows y Android.
Para hacer análisis dinámico, conviene tener un entorno virtual para ejecutar la muestra y hacer un seguimiento de las acciones que realiza sobre el sistema. Si bien hay una amplia variedad de herramientas que se pueden utilizar de acuerdo a los gustos de cada uno, hay algunas que por sus funcionaidades son claves. Por ejemplo, Process Monitor permite conocer acciones en el registro, sistema de archivos y conexiones de red. Y para monitorear el tráfico de red con el objetivo de detectar las direcciones de IP a las que se conecta el malware o las comunicaciones que establece, herramientas como Wireshark o Tshark son recomendables.
Después de recopilar información con el análisis dinámico tal vez convenga ir un paso más adelante y desensamblar la muestra para analizar más en detalle las acciones que realiza. Sin salir del entorno virtual, podemos utilizar herramientas como IDA para reconocer patrones en el código, si la amenaza tiene algún tipo de protección.
No podría dejar por fuera YARA, una herramienta bastante poderosa para detectar patrones cuando se están analizando diferentes archivos: sea para detectar la fecha de compilación de un ejecutable, encontrar información de geolocalización en imágenes o para la clasificación de malware, YARA es un aliado importante en las tareas que llevamos en el día a día.
Si bien hablar del análisis de malware en Android merecería un post aparte vale la pena mencionar herramientas como apktool para decodificar el archivo, poder leer su contenido y de esta manera analizar los permisos que solicita la aplicación para su instalación y ejecución. También hay otras opciones como AppMon, que permite realizar el análisis de APK, o Frida, una herramienta de instrumentación dinámica que puede inyectarse en procesos en ejecución.
Además podríamos considerar Appie, una herramienta con una interfaz de usuario atractiva e intuitiva que suministra los materiales básicos para comenzar el estudio de un archivo APK. Se trata de una suite liviana de herramientas, cuya portabilidad nos permite montar rápidamente un laboratorio de análisis en cualquier entorno operativo Windows.
Ethical hacking
Este es un tema muy extenso, así que voy a hacer bastante pragmático y solo voy a mencionar un póker de herramientas: las más básicas y las que es necesario manejar si lo tuyo es el ethical hacking y el penetration testing. Para empezar, tenemos NMAP, una herramienta de escaneo de redes que permite identificar qué servicios se están ejecutando en un dispositivo remoto, así como la identificación de equipos activos, sistemas operativos en el equipo remoto, existencia de filtros o firewalls, entre otros.
Por otra parte está NESSUS, que se puede utilizar para identificar vulnerabilidades en los servicios identificados durante el proceso de análisis. Esta herramienta posee una extensa base de datos de vulnerabilidades conocidas en distintos servicios y, por cada una de éstas, posee plugins que se ejecutan para identificar si la vulnerabilidad existe (o no) en determinado equipo objetivo.
No podemos dejar de lado a Mestaploit, un framework que nos va a permitir realizar la explotación de vulnerabilidades aprovechando su amplio archivo de exploits. Y para cerrar el póker, tenemos BeEF otro framework de explotación, pero enfocado en navegadores web.
Lo interesante es que todas estas herramientas se pueden encontrar en distribuciones de sistemas operativos pensados con este objetivo. Una de las más famosas es sin lugar a dudas Kali Linux, el sucesor de Backtrack, aunque se pueden encontrar otras alternativas gratuitas que tienen características similares; al final es una cuestión de gustos.
Análisis Forense
Algunas veces el objetivo de las tareas del especialista en seguridad están enfocadas en analizar un ataque informático después de que ocurre. Con el objetivo de responder preguntas para determinar cómo y cuándo ocurrió el incidente, el origen del ataque, si fue exitoso y el alcance del mismo, hay algunas herramientas que pueden ayudar y en la mayoría de los casos recolectar información que luego pueda ser evidencia incontrovertible en procesos internos o incluso legales.
Siguiendo las fases que debería seguir todo análisis forense digital, podemos utilizar dc3dd, una herramienta de copia bit a bit que incluye ciertas características que facilitan la adquisición de imágenes forenses.
Si la tarea se trata del análisis de imágenes de discos, The Sleuth Kit es una alternativa. Inicialmente desarrollada para plataformas UNIX, esta suite actualmente se encuentra disponible también para OS X y Windows. Además cuenta con una interfaz gráfica conocida como Autopsy que agrupa todas sus herramientas y plugins.
Y si se trata de análisis forense en entornos de red, buscando capturar tráfico, registros y eventos de red para descubrir el origen de un incidente o ataque, herramientas como NetworkMiner nos pueden dar una mano.
Desarrollo seguro
Si algo debemos tener claro es que en seguridad informática no existen coincidencias, por lo que muchas veces los incidentes están relacionados con vulnerabilidades y fallas dentro del software utilizado. Es por esta razón que cada vez hay más profesionales que se interesan por el desarrollo seguro de aplicaciones.
Si bien existen marcos de trabajo y metodologías muy completas para lograr un desarrollo seguro, hay un modelo muy general que puede servirnos para no olvidar los aspectos más generales que debería tener. Su denominación, SD3, viene de sus siglas en inglés secure by design, by default, and in deployment. La idea de tener en cuenta estos tres aspectos presentes durante el proceso de desarrollo es obtener sistemas realmente seguros.
Gestión de seguridad
Para aquellos que deciden enforcarse en la seguridad de la información de una manera más holística existe la necesidad de conocer estándares y normas que ese puedan utilizar dependiendo de la realidad de cada empresa. En este aspecto como mínimo es necesario conocer ISO 27001, uno de los estándares de gestión más populares. Y para complementar la gestión, en los aspectos de tienen que ver con la seguridad de la infraestructura no se puede pasar por alto ITIL, un marco de trabajo que contiene las mejores prácticas para esta área de la compañía.
La realidad es que condensar toda la información acerca de herramientas y técnicas para trabajar en seguridad es una tarea de no terminar. De hecho, no es la primera vez que recomendamos por dónde empezar a aprender y también elaboramos una guía para los que se inician. Estoy seguro de que dejé muchas opciones afuera, y ni siquiera fui exhaustivo con todo lo que llegamos a utilizar en el Laboratorio de ESET; sin embargo, este es un vistazo a todo lo que se puede encontrar y la amplia variedad de opciones que tienes para llevar a cabo tu trabajo.
¿Crees que hay alguna cuestión que dejé por fuera en estos campos? ¿Y si hablamos de otros temas, cuál valdría la pena agregar y qué recomendaciones darías?