Un día en la vida de un investigador de seguridad

La semana pasada, nos asomamos virtualmente por encima del hombro de Dray Agha, analista del SOC aquí en Huntress. Nos contó la cuidadosa coreografía que ocurre en nuestro equipo global del SOC para que los cambios de turno entre analistas sean impecables.

Esta semana, nos enfocamos en otra función de nuestro equipo del SOC: nuestros investigadores de seguridad.

Les hicimos algunas preguntas a tres de nuestros investigadores de seguridad (Dave Kleinatland, Caleb Stewart y John Hammond*) sobre sus responsabilidades, incluidas las herramientas que más usan y lo que más disfrutan de sus respectivos puestos.

Toma asiento y sigue leyendo para conocer cómo es un día en la vida de un investigador de seguridad.

*Ordenamos a estas personas de más a menos menciones de “necesitar cafeína” para sobrevivir el día.

Caleb Stewart

Menciones de cafeína: 2

SecurityResearcherProfile_Stewart

P: ¿Qué es lo primero que haces cuando estás listo para empezar tu día?

Normalmente tomo una bebida con cafeína (un Monster o un café) y reviso Slack. Tenemos varios canales del SOC, como threatops-alerts, threatops-center, threatops-research, etc. Pueden contener información sobre incidentes recientes o simplemente artículos e investigaciones interesantes de colegas, así que creo que es importante mantenerse al día ahí.

P: ¿Cómo te han servido tu formación/capacitación y tus experiencias anteriores en tu trabajo diario?

Mis certificaciones profesionales se centran principalmente en operaciones/herramientas ofensivas e ingeniería inversa. Mi licenciatura es en ingeniería eléctrica, y la ingeniería inversa obviamente es muy aplicable en los escenarios de respuesta a incidentes a medida que ocurren. Por otro lado, el equipo de I+D participa en muchos proyectos que buscan mejorar la detección y respuesta automatizadas ante actividad maliciosa (u ofensiva), así que conocer las tácticas y técnicas ofensivas es invaluable al desarrollar herramientas o funciones para combatirlas.

P: ¿Tienes tu propia metodología preferida para hacer tu trabajo?

Ser investigador de seguridad es, por naturaleza, un trabajo bastante amplio. No creo que se pueda definir una sola “metodología”. Nos asignan muchos tipos distintos de proyectos, desde mejorar o ampliar el Agent hasta crear herramientas internas para que nuestros analistas mejoren su detección y respuesta.

En un sentido amplio, supongo que la metodología consiste en estar atento a oportunidades para mejorar partes de la empresa, ya sea escribir código nuevo para el Agent o el portal, desarrollar detectores para nuevas tácticas y técnicas en ELK o mejorar algunos procesos internos. Se trata de tener una mente abierta y estar dispuesto a cambiar cómo siempre hemos hecho algo con el fin de encontrar una mejor forma.

P: ¿Qué es lo que más te gusta de ser investigador de seguridad?

Tenemos mucha libertad. Creo que, al leer las respuestas de los otros investigadores, verás que cada uno tiene una experiencia un poco distinta según sus propias fortalezas y debilidades. El hilo común es que todos somos expertos en alguna faceta de la seguridad y tenemos la libertad de aplicar ese conocimiento de la forma que nos parezca interesante, siempre que busquemos mejorar algo para Huntress, nuestros socios o la comunidad en general.

P: ¿Cuáles son algunos desafíos comunes que enfrentas en el trabajo?

Con tanta libertad en nuestro puesto, creo que lo más difícil es mantener un buen equilibrio entre el trabajo y la vida personal. Esto es común fuera de nuestro pequeño grupo, así que definitivamente no estamos solos, pero creo que aquí es un problema interesante porque muchas veces nos lo provocamos nosotros mismos.

Las personas que terminan en un puesto como el de nuestros investigadores de seguridad suelen ser muy automotivadas y aman genuinamente este campo. Personalmente, me encanta escribir código, y fácilmente puedo seguir trabajando de noche o incluso todo un fin de semana en un proyecto del trabajo solo porque lo disfruto de verdad, y ese tipo de trabajo también es mi mayor pasatiempo. Pero luego miro atrás y me doy cuenta de que trabajé todo el fin de semana. No me molesta. Lo disfruto de verdad, pero sin duda es algo a lo que hay que prestarle atención.

P: ¿Cómo es la colaboración con otros miembros del equipo del SOC (soporte, analistas, etc.)?

Tenemos un equipo de investigadores bastante pequeño, así que a menudo nos conectamos en llamadas de Zoom cuando no tenemos reuniones. Las llamamos nuestras “Zoom jams”. No hay agenda, horario ni nada. Simplemente trabajamos mientras estamos en la llamada, y quizá platicamos sobre posibles soluciones para los proyectos en los que estamos trabajando o colaboramos si dos o más estamos en el mismo proyecto. O a veces solo pasamos el rato y platicamos sobre la vida para mantener “el equipo”, por así decirlo. Ha sido una gran forma de combatir la incomodidad ocasional de no trabajar directamente junto a tus compañeros.

P: ¿Qué software y herramientas usas en tu trabajo?

En I+D hacemos mucha virtualización, ya sea para investigar una nueva amenaza/vulnerabilidad, analizar una muestra de malware o simplemente probar software. Para toda mi virtualización uso KVM, que es la solución de virtualización integrada en Linux.

También estoy constantemente en un editor de código. Mi editor preferido es Emacs.

P: ¿Tienes algún truco o estrategia única que te ayude como investigador de seguridad?

En mi caso, creo que no tener miedo de lanzarse al código es muy útil. Muchas cosas en el campo de la ciberseguridad tienen documentación deficiente. Tener la capacidad y la confianza para abrir el código de otra persona, leerlo y entender qué está pasando es muy útil cuando usas una herramienta de la comunidad o implementas una nueva función.

Esto se relaciona con otra estrategia muy útil: poner en marcha las ideas en cuanto las tienes. La mayoría de las veces, si surge una idea para mejorar o ampliar alguna parte de Huntress, he descubierto que lo mejor es desarrollar algún tipo de “prueba de concepto” y decir “mira, podría funcionar así”. Creo que esto normalmente evita gran parte del ir y venir típico tratando de explicar lo que quieres decir y las hipótesis de cómo podría afectar a X, Y o Z.

P: ¡Hora del cuento! De principio a fin, ¿cómo es un día típico para ti?

Después de tomar mi kit inicial de cafeína, normalmente me siento en mi escritorio a revisar las reuniones que tengo durante el día. Luego, suelo revisar los tickets de Shortcut para ver mis proyectos asignados y me lanzo a uno de ellos. En mi caso, muchos de mis proyectos tienen un toque de desarrollo/programación. Trabajo mucho en Python para herramientas, Golang para ajustes del Agent y, de vez en cuando, Ruby si me toca hacer cambios en el portal. A partir de ahí, mi día es bastante sencillo. Me concentro lo más posible y trabajo en mis proyectos asignados.

Los proyectos se asignan de varias formas. La más sencilla y común es durante nuestra llamada semanal de sincronización de I+D. Si se identificó un problema o una necesidad dentro de la empresa que nos gustaría que I+D resolviera, Jamie [el director de I+D] pide voluntarios para el proyecto. A veces hay un solo voluntario y trabajas solo en el proyecto, mientras que otras veces se apuntan varios miembros de I+D y trabajan en colaboración. Estos proyectos casi siempre implican mucha interacción y cooperación con otros equipos de Ingeniería o del SOC para asegurarnos de que lo que estamos creando o implementando sea lo correcto.

Ocasionalmente, los analistas etiquetan al equipo de I+D en Slack si necesitan más ayuda para examinar una muestra de malware (o posible malware) especialmente complicada, y dejamos lo que estamos haciendo para ayudar. Normalmente esto consiste en unirse a una investigación y ayudar a armar el rompecabezas, decidir si un binario es malicioso o rastrear las acciones de un actor malicioso a lo largo de una red.

***

Dave Kleinatland

Menciones de cafeína: también 2, pero ¿el té realmente cuenta?

SecurityResearcherProfile_Kleinatland

P: ¿Qué es lo primero que haces cuando estás listo para empezar tu día?

¿Además de asegurarme de tener suficiente cafeína para las tareas del día? 🤣

Mi primera tarea real la mayoría de los días es revisar mi lista de pendientes y priorizar lo que hay que hacer “ahora mismo” frente a “esta semana”.

P: ¿Qué es lo último que haces cuando estás listo para terminar tu día?

Antes de desconectarme, me aseguro de actualizar mis notas y los tickets de Shortcut. Como la mayoría de las tareas de investigación tienen una especie de arco narrativo y no se pueden completar en una sola jornada, es importante actualizar estas cosas para poder retomarlas sin problemas al día siguiente.

P: ¿Cómo te han servido tu formación/capacitación y tus experiencias anteriores en tu trabajo diario?

La combinación de mis experiencias anteriores me da una perspectiva de los tipos de problemas que intentamos resolver para nuestros socios. Pasé mucho tiempo tratando de resolver este tipo de problemas a la escala de “mi departamento de TI” o “nuestros clientes de MSP”, pero a la escala de un proveedor, puedo ver cómo mi experiencia y capacitación se aplican en un alcance mucho más amplio.

Lo más interesante para mí es que las experiencias que terminan siendo útiles no siempre son las que esperas. Nunca imaginé que mis años de experiencia con Microsoft Exchange me servirían aquí en Huntress, pero entonces ocurrieron las vulnerabilidades de Exchange. Esa experiencia me permitió levantar nuestros entornos de prueba muy rápido y empezar a evaluar cómo podíamos crear detectores y defensas.

P: ¿Tienes tu propia metodología preferida para hacer tu trabajo?

A veces me pregunto si hay un método en esta locura, pero en esencia, se trata de resolver problemas complejos.

Algo único es que aquí tenemos una especie de mantra: resuelve primero el primer 80 por ciento. Si intentas abarcar el 100 por ciento de algo desde el principio, podrías pasar cosas por alto. Pero puedes resolver ese primer 80 por ciento bastante rápido y luego encontrar las partes más importantes del 20 por ciento restante y enfocarte ahí.

P: ¿Qué es lo que más te gusta de ser investigador de seguridad?

Me encanta estar siempre resolviendo un problema “nuevo” con los distintos equipos. Una de mis funciones en investigación es ayudar al equipo de producto a dar forma a nuevas funciones y soluciones para nuestros socios. Disfruto mucho poder aportarles mi perspectiva como alguien que antes fue el tipo de socio al que nos dirigimos.

Otra de mis cosas favoritas es poder resolver el “problema complejo del día” (por ejemplo, una nueva vulnerabilidad, un error en una nueva función, etc.) con el resto del equipo de I+D. Tenemos un grupo único de personas que aportan perspectivas distintas, y parece que logramos desarrollar soluciones bastante rápido cuando trabajamos juntos.

P: ¿Cuáles son algunos desafíos comunes que enfrentas en el trabajo?

Diría que hay dos cosas principales en las que me sorprendo pensando seguido en cuanto a desafíos.

Una es la relación entre señal y ruido, tanto desde la perspectiva de nuestro SOC como desde la del socio. La otra se reduce a la escala. Cuando trabajaba en el ámbito de los MSP, era muy consciente del problema de la fatiga de alertas que nuestros socios enfrentan todos los días. Como lo viví en carne propia, dedico mucho tiempo a asegurarme de que nuestro producto no se sume a todo ese ruido.

En cuanto a la escala, antes de unirme a Huntress nunca había tenido que preocuparme por más de unos pocos miles de endpoints, pero ahora, con más de 1 millón de endpoints, tenemos que considerar los desafíos que eso implica para no inundarnos de ruido sin perder eficacia.

P: ¿Cómo es la colaboración con otros miembros del equipo del SOC (soporte, analistas, etc.)?

Para colaborar entre departamentos, diría que usamos principalmente Slack y Shortcut. En nuestro departamento, diría que Slack y Zoom son los más populares. Aunque trabajar de forma remota sin duda tiene sus ventajas, también tiene la desventaja de no poder juntar a un montón de mentes en una sala de conferencias para resolver distintos problemas en equipo. Las herramientas colaborativas son clave para mantener ese ambiente.

P: ¿Qué software y herramientas usas en tu trabajo?

Hay muchísimas herramientas, probablemente cientos. Diría que entre las más populares están Amazon Web Services (AWS) y VMware Workstation para virtualización. Un buen editor de código es imprescindible; en mi caso, sobre todo Vim y VSCode. Herramientas como Docker y Ansible ayudan a automatizar el despliegue de máquinas y entornos de prueba.

En cuanto a herramientas específicas para investigadores de seguridad, diría que destaca la suite Sysinternals, con herramientas como Autoruns, Procmon, Process Explorer y más. También mantengo una buena instantánea limpia de una máquina de análisis basada en Windows y otra en Linux con mis herramientas favoritas instaladas, para tener siempre un buen punto de partida al abordar un problema.

P: ¡Hora del cuento! De principio a fin, ¿cómo es un día típico para ti?

¿Un día “típico”? 🤣 Bromas aparte, la mayoría de los días empiezan igual y probablemente no muy distinto de como la mayoría de la gente empieza su jornada: cafeína (té en mi caso) y una revisión de Slack para ver los mensajes no leídos. Somos una organización muy orientada a Slack, lo que permite un entorno mucho más colaborativo que el correo electrónico. Algunas de nuestras funciones en etapa temprana o en prototipo envían alertas y puntos de interés a Slack, y los reviso a lo largo del día según los proyectos en los que esté trabajando.

La mayoría de los días combinan trabajo en proyectos y reuniones. Mis reuniones típicas son con nuestros equipos de producto e ingeniería, ya que principalmente trabajamos en investigar, dar forma y probar nuevas funciones tanto para nuestros socios como para el personal interno del SOC. Esto puede ser algo tan sencillo como compartir la perspectiva de mis experiencias pasadas, aportar experiencia con el propio producto o crear entornos completos para hacer pruebas. También soy un punto de escalamiento para nuestro centro de operaciones de seguridad, al igual que algunos de mis colegas de I+D.

Cuando la mayoría de la gente piensa en el departamento de I+D, esto es lo primero que suele venirle a la mente. Aunque parte del escalamiento muchas veces consiste en desarmar una muestra compleja de malware, también es una excelente oportunidad para ser mentor del equipo. Disfruto cuando tengo la oportunidad de enseñar, orientar y conversar sobre estos análisis de malware con el equipo, porque suele ser muy enriquecedor. Además, estos escalamientos son la forma en que seguimos mejorando nuestro producto: identificando cómo el equipo puede detectarlos y procesarlos con mayor facilidad.

Otra tarea típica en la que participo (por suerte, no todos los días) son nuestras iniciativas de respuesta rápida, en las que distintos miembros de todo el equipo de Huntress responden a incidentes a mayor escala. Estos incidentes pueden limitarse a uno o más activos de un socio o ser incidentes más grandes a escala global, como SolarWinds, Kaseya, Microsoft Exchange o log4j.

Otras tareas típicas incluyen trabajar en la infraestructura de AWS de nuestro SOC, hacer pruebas de funciones del producto para ingeniería, desarrollar conceptos para nuevas funciones como el análisis de detección de brechas en Microsoft 365 y ajustar funciones existentes como Managed Microsoft Defender. Algo mucho menos emocionante, pero bastante más común en el día a día, es estudiar y leer mucha documentación de las cosas con las que nos integramos, como Microsoft Defender, las API de Microsoft 365, AWS y más. A medida que ampliamos Huntress como plataforma y nos integramos con más cosas (o con las mismas en un alcance más amplio), me encuentro absorbiendo conocimiento constantemente de donde pueda.

***

John Hammond

Menciones de cafeína: 0, pero sabemos que no le dice que no a un Monster de vez en cuando

SecurityResearcherProfile_Hammond

P: ¿Qué es lo primero que haces cuando estás listo para empezar tu día?

Lo primero que hago al empezar a trabajar es revisar nuestro espacio de trabajo interno de Slack para ver si hay incidentes urgentes, tareas asignadas o si alguien necesita ayuda extra con algún análisis o reporte. Hago una revisión ligera de noticias de seguridad y acontecimientos actuales, y reviso los correos antes de empezar con el trabajo de verdad.

P: ¿Qué es lo último que haces cuando estás listo para terminar tu día?

Antes de terminar, trato de poner recordatorios para las tareas pendientes que retomaré al día siguiente y, si aplica, poner al día a los miembros del equipo sobre cualquier avance del día.

P: ¿Cómo te han servido tu formación/capacitación y tus experiencias anteriores en tu trabajo diario?

Gran parte de la capacitación profesional que he recibido, ya sea a través de certificaciones de la industria o de clases y talleres generales de ciberseguridad, suele aplicarse directamente al trabajo, sobre todo al descubrir las técnicas y tácticas de los actores de amenazas para lograr persistencia y para la post-explotación. Las técnicas que usan los hackers reales son mucho más fáciles de reconocer e identificar cuando entiendes bien cómo trabajan los adversarios. ¡Justo por eso decimos que “nuestra ofensiva es tu defensa”!

P: ¿Tienes tu propia metodología preferida para hacer tu trabajo?

Disfruto sincronizarme con los miembros de mi equipo y muchas veces propongo lo que cariñosamente llamamos una “Zoom jam session”, donde podemos reunirnos de manera informal, sin agenda, pero avanzando poco a poco en el trabajo que tenemos que hacer juntos. Esto genera una gran sensación de inclusión en una empresa remota, y podemos intercambiar ideas constantemente o pedir ayuda cuando encontramos algo que no entendemos o que no conocemos tan bien. ¡Cuando podemos compartir pantalla y “mirar por encima del hombro” virtualmente para entender mejor en qué están trabajando nuestros compañeros, podemos ayudar mejor o aprender cosas nuevas nosotros mismos!

P: ¿Qué es lo que más te gusta de ser investigador de seguridad?

Lo que más me gusta de ser investigador es la flexibilidad y el impulso para trabajar en cosas geniales que me interesan personalmente, con el propósito mayor de mejorar nuestro producto, nuestro servicio, nuestras capacidades de detección o la seguridad de nuestros socios en general.

Cuando ocurre un nuevo incidente, podemos aplicar ingeniería inversa a toda la cadena de ataque para entenderla mejor. Luego podemos preparar nuevas capacidades de detección, capacitar a nuestros propios compañeros e incluso recrear la cadena de ataque si nos interesa. Otras veces, podemos desarrollar nuevas funciones prototipo para nuestro producto o profundizar en las últimas noticias y amenazas de seguridad.

Lo mejor de ser investigador es que muchas veces se reduce a aprender, experimentar, trastear e intentar crear nuevas soluciones creativas como ocupación profesional. En lo personal, me encanta poder contar las historias de todo el gran trabajo que hacemos para fomentar el aprendizaje en la comunidad y una mayor educación en seguridad. Ayudar a destacar a nuestro equipo por la fantástica investigación y análisis que aporta es algo de lo que me siento muy orgulloso.

P: ¿Cuáles son algunos desafíos comunes que enfrentas en el trabajo?

Sin duda me cuesta realmente “desconectarme” al final del día. En nuestra industria hay una especie de broma extraña sobre la idea de que “si haces lo que amas, nunca trabajarás un día en tu vida”. Aunque tiene algo de verdad, puede ser un arma de doble filo cuando se borra la línea entre lo que haces por diversión y lo que haces por trabajo. Cuando disfrutas de verdad lo que haces, la proverbial jornada laboral puede extenderse hasta muy tarde o incluso hasta el fin de semana. ¡Si estoy de vacaciones y surge un incidente de respuesta rápida, siento cierto miedo a perderme algo (FOMO)!

P: ¿Cómo es la colaboración con otros miembros del equipo del SOC (soporte, analistas, etc.)?

Aunque a menudo trabajo con otros miembros del equipo del SOC en una sesión colaborativa de Zoom, también nos enviamos mensajes por Slack para intercambiar archivos, ya sea la siguiente etapa de una muestra de malware que alguno de nosotros desofuscó, algunos scripts y código de Python para automatizar alguna tarea o claves de acceso para entrar a una instancia temporal en la nube y hacer mejores pruebas: siempre estamos compartiendo. Cuando colaboramos, es genial ver la sinergia de las distintas habilidades de todos: podemos repartir tareas o actividades entre quienes sean más fuertes en un tipo de análisis, desarrollo o investigación.

P: ¿Qué software y herramientas usas en tu trabajo?

Casi siempre estoy dentro de una máquina virtual mientras trabajo. Voy y vengo entre una instalación de REMnux y una de FLARE VM para el análisis de malware, distintas versiones de estaciones de trabajo Windows o sistemas operativos de servidor para pruebas, o entornos de desarrollo que preparo con distintos compiladores o intérpretes de lenguajes de programación: Golang y los IDE adecuados, intérpretes de Python, etc. Cuando el equipo trabaja en algo que requiere una instancia colaborativa temporal en la nube, levantamos una máquina con AWS o Digital Ocean.

P: ¿Tienes algún truco o estrategia única que te ayude como investigador de seguridad?

Soy un gran fan de usar la automatización para hacer las cosas más rápidas y fáciles, así que algunos de mis trucos consisten en crear scripts para distintas tareas o usar algún aspecto de un lenguaje de programación para desenredar el problema que tengo enfrente. Además, una estrategia superútil es conocer no solo tus fortalezas, sino también tus debilidades, y en consecuencia saber quiénes, dentro y fuera de tu equipo, pueden ayudarte. ¡Tener una red de contactos cada vez más grande en la industria de la ciberseguridad es algo absolutamente invaluable y de verdad ayuda a obtener otras opiniones y aportes sobre los esfuerzos de investigación y desarrollo!

P: ¡Hora del cuento! De principio a fin, ¿cómo es un día típico para ti?

Un día típico para mí como investigador empieza con la revisión habitual de lo que está pasando en nuestro espacio de trabajo interno de Slack, para ver en qué anda el equipo y si alguien necesita una mano con algún análisis o proyecto en el que esté trabajando. Si no hay nada que requiera atención inmediata, trato de dedicar unos minutos a revisar noticias o titulares de seguridad para ver qué amenazas podría estar siguiendo el resto de la industria. Por más tonto que suene decir que gran parte de esas “noticias de ciberseguridad” vienen de Twitter, ya acepté que literalmente hacer scroll en Twitter en busca de inteligencia de amenazas es parte de mi trabajo. 😅

De vez en cuando ha habido incidentes locos del tipo “se está cayendo el cielo” de los que quiero enterarme cuanto antes (PrintNightmare y Log4Shell, por mencionar algunos 😜), y trato de ayudar a movilizar al equipo para una respuesta rápida. Si no hay nada que parezca una emergencia descomunal, me pongo en modo de “trabajo normal” para el día.

En mi caso, esto varía mucho: desde pendientes ocasionales de marketing o relaciones públicas (preparar presentaciones técnicas para una próxima conferencia o evento, hablar en un webinar, escribir una publicación de blog o platicar con periodistas) hasta trabajo más tradicional del SOC.

En cuanto al trabajo estrictamente del SOC, las tareas dependen mucho de en qué se esté enfocando la empresa en general. Si hay un impulso fuerte para desarrollar una nueva función o servicio, puede que forme parte del equipo que hace pruebas o que ayuda a preparar alguna funcionalidad de prueba de concepto. Si tenemos un poco de respiro entre fechas límite o grandes iniciativas de producto, podemos enfocarnos en proyectos puntuales que complementen y mejoren lo que ya ofrecemos. Esto puede abarcar de todo: he dedicado tiempo a crear detectores para hallazgos más automatizados de malware y amenazas, he ayudado a crear scripts para interactuar con nuestro portal frontend y recopilar inteligencia más rápido, y más. Recientemente, he estado trabajando en un proyecto para hacer un mejor inventario del “goodware conocido”, es decir, el software y las aplicaciones que vienen por defecto en Windows. Proyectos como estos son las tareas más divertidas, porque puedo meterme a fondo en el código y la programación e intentar pensar cómo resolver un problema grande.

A decir verdad, paso la mayor parte del día avanzando poco a poco en estos proyectos, trabajando junto a otros investigadores y quizá echándoles una mano con lo que estén haciendo. Somos un equipo de principio a fin. Si surgen solicitudes puntuales o nuevas tareas a lo largo del día, o reuniones para ayudar a dar forma a nuestro roadmap y nuestros procesos, cambio a eso.

***

Gracias a Dave, Caleb y John por tomarse el tiempo de escribir respuestas tan reflexivas y darnos una idea de lo que hacen todos los días. Les debemos una ronda de cafeína.

También te podría interesar