Hacking etico para la administración pública – Bug Bounty
Antecedentes
Mientras los programas bug bounty son habituales en entornos corporativos o privados, todavía no son una práctica habitual dentro de la Administración Pública. Así, en 2016 tuvo lugar el primer programa de recompensa del gobierno de EE.UU., "Hack the Pentagon", una práctica exitosa que aún se lleva a cabo a día de hoy. En la UE, los Países Bajos llevan la delantera desde 2013. En 2019, con el bug bounty EU-FOSSA 2 y, desde el 11 de enero de este año, con el bug bounty de ISA2, la Unión Europea ha emprendido programas destinados a detectar errores en el software abierto utilizado por las instituciones de la UE.En el mes de diciembre de 2020, la Agencia, a través de la de Dirección General de Atención Ciudadana, puso en marcha una prueba piloto pionera de programa bug bounty sobre un conjunto de activos de la Generalitat de Catalunya.
Retos
Hacer frente al número creciente de vulnerabilidades en los sistemas informáticos, sobre todo aquellos llamados "zero-days". Una detección a tiempo de estas vulnerabilidades puede evitar ataques por parte de los ciberatacantes.
En ciberseguridad, una vulnerabilidad es una debilidad de un sistema informático que pone en riesgo su seguridad y puede permitir que un atacante comprometa su información. Según la lista CVE (Common Vulnerabilities and Exposure), en 2021 se identificaron 20.169, un 10% más que en 2020.
El número de detecciones de vulnerabilidades en aplicaciones, dispositivos y sistemas de información sigue una tendencia creciente, y se incrementa al mismo tiempo que se desarrolla la sociedad digital y se incorporan nuevas tecnologías como el 5G, la inteligencia artificial o nuevas formas de trabajo y comunicación.
Por lo tanto, se deben mejorar las prácticas en ciberseguridad, dado los insuficientes resultados con las pruebas de seguridad en el código (Security-by-default).
Fases
Definición de la política del programa:
-Definición de los activos: web, IP, aplicación, app móvil, API, dirección IP,...
-Categorización de la relevancia de los activos: 1, 2 o 3.
-Análisis de vulnerabilidades: escaneo, análisis OWASP...
-Listado de vulnerabilidades a analizar.
-Definición de recompensas (vs. criticidad del activo y la puntuación CVSS).
-Establecimiento de identificador del investigador (user agente, VPN,... ).
-Redacción del programa en la plataforma web de gestión del bug bounty.
-Activación del Programa.
-Selección de los investigadores a participar en el programa.
-Aprobación y publicación de las características del programa.
-Activación de la monitorización de la actividad de los investigadores sobre los activos.
-Recogida de los informes de vulnerabilidades. Los investigadores envían los informes de vulnerabilidades o Dirección IP desde donde se ha identificado la vulnerabilidad SO y/o versión de aplicación utilizada.
Conclusiones
A pesar del alcance limitado en tiempos y activos a analizar en la prueba piloto, los resultados permitieron constatar que un programa bug bounty es un mecanismo idóneo para incentivar la participación de los expertos en ciberseguridad de la sociedad civil con el objetivo de reforzar la seguridad de los sistemas de información.
Los investigadores de ciberseguridad participantes en la investigación informaron de cinco vulnerabilidades en total. Dos se encontraban presentes en webs de la Generalidad y tres en aplicaciones corporativas, lo que permitió proceder a su verificación y resolución.Con las conclusiones positivas de esta experiencia, la Generalitat de Catalunya procedía a incorporar los programas de bug bounty como una nueva herramienta para conseguir unos sistemas de información públicos más seguros y también promover la participación, el talento en ciberseguridad y aproximar la Administración Pública a la ciudadanía.