Hola hackers,
Hoy vamos a hablar de algo que muchos tenemos claro, pero creo que muchas empresas no, el bug bounty no es un pentesting o una auditoría, sí, ya sabemos que una auditoría también tiene bastantes diferencias con un pentesting, de eso hablamos otro día.
El bug bounty nació hace unos cuantos años, allá por los años 80, como una forma de premiar las vulnerabilidades que alguien encontraba, pero no es hasta pasado el año 2000 cuando realmente empieza el boom y la gente de la calle ve negocio u oportunidades de sacar un dinero extra, tenías tu trabajo y dedicabas horas libres a encontrar vulnerabilidades o fallos en distintos softwares o sistemas operativos y tener algo más de efectivo al llegar a fin de mes, además de cierto reconocimiento o popularidad.
Lo que sucedió después es la creación de programas de bug bounty, donde había empresas que se daban de alta para que personas registradas en dichos programas buscase fallos, el volumen de gente que se registraba empezó a ser alto, por lo que las empresas pensaron, "si tenemos cientos de personas testeando nuestro producto, nos ahorramos tener que hacer auditorías de seguridad", y en parte puede ser cierto, la probabilidad de que alguna falla de seguridad se quede sin descubrir se minimiza cuanto mayor sea el número de personas que estén dadas de alta en estos programas; pero he aquí que esto no es cierto, todos estos hackers, ojo, muchos de ellos de un nivel muy alto, no testean todo el producto, sino una parte de él, y por supuesto no lo testean de forma global, sino de forma muy específica, desechando cualquier vulnerabilidad de bajo nivel, por lo tanto queda parte del producto sin que se sepa el estado de la seguridad.
Se puede suponer que, si el número de hackers de estos programas es muy alto (y la recompensa es sustancial), el número de vulnerabilidades críticas tiende a cero, pero quedan sin probarse muchas vulnerabilidades que aun catalogándose como medias o incluso bajas, pueden formar parte de un vector de ataque más complejo, es ahí donde una auditoría o pentesting marca la diferencia, pues se va a mostrar un amplio espectro de vulnerabilidades, críticas, altas, medias y bajas (y las informativas también aunque nadie les haga caso), pero no es oro todo lo que reluce, la pega o problema de una auditoría es que tiene delimitado un alcance en un determinado tiempo, por lo que siempre hay vulnerabilidades que se pueden escapar, de ahí que lo recomendable es que sean auditorías cíclicas, que formen parte del proceso de desarrollo software o del ciclo de vida de una empresa.
Como resumen, los programas de bug bounty son muy útiles, dado que se minimizan esas vulnerabilidades críticas además de ser habitualmente un proceso "rápido" y es un ejercicio que a priori no tiene un tiempo delimitado, aunque como hacker si quieres encontrar cosas jugosas debes ser rápido; pero las empresas tiene que ser conscientes de que sus productos deben pasar controles del estado de la seguridad más completos, sino corren riesgos que pueden acarrear pérdidas sustanciales; así que empresas, daros de alta en estos programas y además, pasar auditorías, esa es la forma correcta de minimizar riesgos; y hackers daros de alta en los programas de bug bounty para sacaros ese extra, nunca está de más.
Un último apunte, si ese adjetivo que se ha añadido a la palabra hacker, parece que de por vida, (ético) significa algo, todos debemos ser éticos, incluidas las empresas que premian el esfuerzo de los hackers; si un hacker hace un esfuerzo en reproducir y documentar una vulnerabilidad para que se subsane, que no reciba un simple "That vulnerability was previously reported" o "We already knew that vulnerability", que se le indiquen más datos porque la sensación que se te queda de que te están engañando es alta.
Always Learning.