viernes, 22 de noviembre de 2024

"Bend the knee" o "A Lannister always pays his debts"

La negociación como habilidad potenciadora de la ciberseguridad.

Cómo la gran mayoría de los que hemos seleccionado la ciberseguridad como profesión resulta que soy un Geek. Y cómo buen geek tengo una variedad de hobbies, entre ellos, de los que más felicidad me traen son las series de TV y la lectura.

A principios de la década pasada (sí, década), el universo de Canción de Hielo y Fuego escrito por el genio de George R. R. Martin capturó mi atención por años tanto en papel como en la serie Juego de Tronos. Independientemente del controversial final de la serie o de las dudas que tenemos los fanáticos sobre si algún día podremos leer el final en los libros... el contexto de la historia en el primero de los libros (o temporada para aquellos que solo vieron la serie) me resulta muy útil para explicar por qué es importante para los equipos y sobre todo para los líderes de ciberseguridad dominar la capacidad de negociación.

En la historia, luego de muchos años como reyes, la familia Targaryen quienes conquistaron el continente gracias al imponente poder de sus dragones... ha caído en desgracia. Ahora el reino tiene un nuevo rey pero quien manda realmente y la familia más poderosa son los Lannister, sin dragones, sin utilizar su poder militar, solo con astucia y por supuesto saber negociar.

A medida que se desarrolla la historia varios personajes utilizan la frase "Bend the knee" haciendo referencia a ejercer el poder de los títulos y amenazar con las consecuencias para obtener el control.

Por otra parte y mucho más fascinante me parece cómo los Lannister por generaciones trabajaron el concepto de "A Lannister always pays his debts". La frase hace referencia a la confianza depositada en ellos logrando que incluso personas con poca o ninguna educación esten dispuestas a colaborar con sus objetivos por la garantía de beneficios.

Cómo en el primer ejemplo, muchas veces los especialistas de ciberseguridad utilizamos el poder de los cargos, títulos y riesgos cómo justificación de nuestras decisiones. Esperamos que los demás sigan las instrucciones porque "Yo soy el de ciberseguridad, yo soy el experto", sin considerar realmente puntos de vista alternativos.

Aunque este enfoque puede funcionar en ocasiones, la realidad es que en un mundo donde las empresas competitivas se componen de equipos que colaboran entre sí, los resultados serán nulos o con un amplio margen de mejora.

Es justo en este nuevo entorno colaborativo donde la negociación sale a brillar. Ya sea porque necesitamos que se realice una determinada tarea o para lograr un comportamiento específico, la negociación nos permite influir sobre los demás bajo la certeza de un beneficio mutuo inmediato o a futuro.

La imagen de Ciberseguridad cómo la gente que bloquea, es algo que podemos ir cambiando poco a poco, una negociación a la vez.

Pero, ¿Qué es la negociación? Según la RAE es tratar y discutir un asunto para llegar a un acuerdo. Visto de esta manera nos podemos percatar que la negociación es un componente esencial de nuestra sociedad. Negociamos todo el tiempo, el factor diferenciador es ser concientes cuando lo estamos haciendo.

Existen diferentes tipos de negociación , el primero de los que quiero mencionar es la negociación distributiva o antagónica. Es el tipo de negociación más tradicional, en donde ambas partes se identifican con la idea de que lo que uno gane el otro lo debe perder.

Negociaremos desde el punto de vista antagónico cuando estén en juego condiciones sobre las cuales no podemos ceder, por ejemplo el cumplimiento regulatorio.

Otro tipo de negociación, y el que nos puede traer muy buenos resultados es la negociación colaborativa. Consiste en que ambas partes, conociendo sus objetivos busquen una solución que genere beneficios para ambos y nuevas oportunidades.

Actualmente, entre las tendencias de ciberseguridad están la concientización y la gestión de riesgos de terceros. 

En paralelo a las tendencias, los equipos de ciberseguridad se enfrentan a algunos retos interesantes como asegurar los entornos sin detener la operación, afectar la productividad o ser considerados enemigos de la innovación.

Para ambos temas, la negociación nos permitirá obtener los mejores resultados posibles. Recordando que más allá de las tecnologías, riesgos y amenazas son las personas quienes determinan el éxito de cualquier iniciativa.

Revisar acuerdos de servicio con nuestros proveedores o ajustar ciertos controles para poder implementar nuevos casos de negocio por parte de TI, son ejemplos de escenarios donde una negociación efectiva hace una gran diferencia.

Es sumamente importante que podamos identificar y separar los objetivos de la negociación de las expectativas de la negociación. No es lo mismo lo que necesitamos que aquello que queremos.

Utilizar el tipo adecuado de negociación, aparte de lograr los objetivos propuestos, nos permitirá generar confianza entre ambas partes lo cual será beneficioso a futuro y servirá de fundación para futuras negociaciones.

Para cerrar, me parece importante resaltar que nuestras acciones post negociación son tan importantes como la negociación misma. Llegar un acuerdo solo es el primer paso, cumplirlo es incluso más importante.

viernes, 14 de junio de 2024

Agile en equipos de Ciberseguridad

Estamos en el año 2024 y lo que hace algunos años parecía ser una moda ahora parece estar para quedarse, "Agile es parte de la cultura de muchas organizaciones". Sin embargo, aunque muchas son las áreas y modelos de negocio que han abrazado la agilidad, en más de un caso los equipos de ciberseguridad se resisten o son los últimos en la cola del cambio.

Trataré de contar desde mi experiencia y perspectiva; las bondades de las metodologías agiles para los equipos de ciberseguridad, los retos y alguno que otro dato sobre como podemos aplicarlas de forma efectiva.

¿Qué es 'Agile'?

Antes de seguir, repasemos un poco lo que entendemos por 'Agile'. Si nos basamos en su traducción al español 'ágil', lo primero que haremos será relacionar el concepto con rapidez o prontitud pero el Enfoque Agile abarca un poco más que eso.

Agile o las metodologías ágiles son un conjunto de prácticas que nos permitiran lograr la entrega oportuna de valor de forma iterativa e incremental.

El núcleo de las metodologías ágiles está definido en el 'Agile Manifesto' mediante 4 valores y 12 principios a seguir. Sin embargo, por practicidad prefiero utilizar los principios definidos por 'Modern Agile':
  • Haz que las personas sean geniales
  • Entrega valor continuamente
  • Haz de la seguridad un prerrequisito 
  • Experimenta y aprende rápido 
Si adaptamos estos principios como parte del ADN de nuestros equipos solo será cuestión de tiempo para obtener mejores resultados.

La agilidad solo funciona para los programadores...

Justo como el título que precede a esta sección empezaba la explicación de un estimado colega sobre los motivos por los cuáles consideraba que su equipo, ni otros equipos de ciberseguridad o áreas de control pueden sacar provecho de las metodologías ágiles y he allí el primer reto de ser Agile en ciberseguridad, el preconcepto de Agile como un marco de trabajo para el desarrollo de software.

Aunque por muchos años los equipos de desarrollo de software han aprovechado las ventajas de Agile mediante herramientas como Scrum o Kanban, si  vemos la agilidad como el conjunto de principios y no como las herramientas sugeridas para su implementación comprenderemos fácilmente que es independiente de la industria o equipo.

No tenemos el tiempo, recursos o la disposición para equivocarnos

El segundo reto más común que he experimentado está intrínsecamente relacionado con dos tendencias muy comunes entre los profesionales de ciber (ojo que son compartidas con profesionales de otras muchas áreas) las cuales son:
  1. Querer resolver todo el problema desde el inicio, tengo más problemas que resolver 
  2. Tomar siempre la opción que aparenta menor riesgo, no vaya a ser que algo falle y sea mi culpa
Podríamos pensar que estas dos tendencias son totalmente necesarias, al final el objetivo de los equipos de ciberseguridad es lograr la mayor protección de la información y servicios de las organizaciones mitigando en la mayor medida posible los riesgos relacionados. Y es justamente el enfocarnos demasiado en este objetivo lo que nos hace difícil pensar que podemos tomar los problemas, dividirlos en partes y aprovechar estás partes más pequeñas para probar soluciones innovadoras que por desconocimiento de los riesgos no podríamos aplicar sobre el problema completo. Una vez probadas las soluciones solo es cuestión de escalar al resto del problema pero al mantener una visión de las partes que componen ese problema más grande, también podemos ser flexibles e identificar cambios necesarios en nuestra estrategia de solución a medida que avanzamos.


De acuerdo, muy bonito todo pero... ¿funciona? ¿cómo lo hago?

Con el concepto de Agile en mente y considerando los retos comunes, ahora podemos aterrizarlo todo a la realidad de un equipo de ciberseguridad. Para ello tendremos que:

Visualizar la función de ciberseguridad de la organización como una pequeña empresa y definir cuales son las capacidades o servicios que proporciona cada uno de los equipos que la conforman. Por ejemplo, un equipo de Gestión de Identidades y Accesos puede ser proveedor de servicios como: Gobierno de roles, Aprovisionamiento de cuentas y Autenticación de usuarios.

Identificar que tareas y procesos corresponden a la entrega de valor para cada servicio.

Seleccionar de las tareas y procesos los componentes escenciales, evitando el reproceso o la documentación excesiva.

Entedender los distintos marcos de trabajo, escoger el que mejor se adapte a las tareas o procesos de cada servicio y ajustarlo a nuestras necesidades. Por ejemplo, para el aprovisionamiento de cuentas, el cual ocurre bajo demanda y suele ser bastante repetitivo podríamos utilizar Kanban que nos permitirá enfocarnos en lograr el mayor Throughtput posible. Por otra parte, en un servicio como la definición de políticas de DLP, el cuál requiere de un enfoque más creativo y tareas menos estructuradas podemos adaptar conceptos de Scrum como trabajar por Sprints, utilizar puntos de historia para medir la complejidad y definir un producto mínimo viable con un roadmap de mejoras a corto y mediano plazo.

Empoderar a nuestro equipo, el éxito o no dependerá de que tan involucrado esté nuestro equipo. Aprovechar el conocimiento, opinión y experiencia de cada uno de los miembros del equipo será sumamente importante para la mejora de tareas y procesos. Definir objetivos y resultados esperados, dando libertad al equipo de elegir cómo lograrlos será clave para impulsar la innovación y obtener soluciones efectivas.

Escuchar a los Stakeholders. Y no me refiero solo a la Junta Directiva o VPs, debemos ser capaces de aprender y obtener retroalimentación de los usuarios, de los equipos de TI, de los clientes y de nuestro entorno en general para poder visualizar oportunidades.

Es solo el principio...

Lograr la adopción de Agile en un equipo de ciberseguridad sin duda será muy útil, pero es solo el principio de la transformación; la automatización, la analítica de datos, el uso de inteligencia artificial y otros factores seguiran cambiando la forma en que nuestros equipos trabajan y son liderados.

miércoles, 12 de junio de 2024

Convierte tu router inalámbrico en una herramienta de WiFi Hacking

¿Cuantos de nosotros no tenemos un router que ya no utilizamos? En los últimos años, ha pasado a ser algo normal que los proveedores de Internet proporcionen un conjunto de router y repetidores inalámbricos al contratar el servicio. Sin embargo, para aquellos que tenemos un poco más de tiempo en estos menesteres de la tecnología o que simplemente deseamos un poco más de personalización, la posibilidad de instalar un equipo de terceros que podamos administrar y actualizar por nuestra cuenta siempre ha sido muy llamativa. 

Pero... ¿qué hacemos con un router cuando decidimos actualizar a uno mejor o simplemente dejarnos llevar por la comodidad de los equipo uns gestionados por el proveedor? Bueno, si te interesa aprender sobre hacking de redes inalámbricas o simplemente darle nueva vida a tu router con un algo de Software Libre esta guía puede ser para tí.


¿Qué necesitas para empezar?

Para seguir necesitarás:
  • Un router inalámbrico con un minimo de 8MB de almacenamiento y 32MB de memoria RAM
  • Una computadora con cable Ethernet desde la cual realizar la configuración
  • La imagen de OpenWRT compatible con tu router inalámbrico. Puedes validar la compatibilidad en este enlace: Tabla de Hardware


¿Qué es OpenWRT?

OpenWRT es una alternativa de firmware libre para routers inalámbricos basada en Linux. Al estar basado en Linux el software disponible en OpenWRT permite que sea sumamente personalizable y flexible. Además, es muy probable que tenga más actualizaciones de seguridad que el firmware predeterminado de muchos fabricantes.


Instala OpenWRT en tu router

El primer paso será instalar OpenWRT en nuestro router, para ello en el sitio de OpenWRT encontraremos distintas guías dependiendo de la marca y modelo de nuestro equipo. En mi caso utilizaré un router ASUS RT-AC1200.

Este modelo de ASUS cuenta con 16MB de almacenamiento y 64MB de memoria RAM. En cuanto a conectividad tiene dos interfaces Ethernet (puerto WAN y un switch de 4 puertos), inalámbrica de 2.4GHz, inalámbrica de 5GHz y un puerto USB 2.0.

Siguiendo la guía para este modelo disponible en la documentación de OpenWRT (Instalación desde Firmware OEM), tuve que descargar la herramienta de restauración de firware de ASUS y despues de jugar un rato con las combinaciones de reinicios y las luces del router logré instalar y luego de unos segundos acceder a la pantalla de LuCI, la interfaz gráfica de OpenWRT.

Para terminar la instalación deberás configurar las credenciales para administrar OpenWRT, estas credenciales funcionaran tanto en LuCI como al administrar el router mediante SSH.


Instala algunas herramientas útiles

Continuando con nuestro objetivo de crear una navaja suiza para el hacking de redes inalámbricas necesitaremos instalar algunas herramientas sobre el OpenWRT que nos permitan monitorear redes, capturar paquetes, entre otras cosas más.

Para instalar paquetes adicionales el router deberá tener acceso a Internet. Con la configuración predeterminada lo más fácil es conectar el puerto ethernet WAN a un puerto LAN de nuestra red en casa y mantener nuestra computadora en uno de los puertos LAN del router con OpenWRT.

Listas las conexiones accederemos al router mediante SSH con las credenciales que configuramos al instalar y ejecutaremos el comando opkg para instalar las herramientas que queremos: