Bug Bounty vs Penetration Testing: ¿Cuál es el enfoque correcto para tu organización?


Los programas de bug bounty (recompensas por errores) y penetration testing (pruebas de penetración son dos enfoques distintos para las pruebas de seguridad, cada uno con sus propios beneficios y consideraciones. Si bien algunos pueden verlos como métodos opuestos, en realidad pueden funcionar en conjunto para mejorar la postura de seguridad de una organización. Es importante comprender las diferencias entre los dos y evaluar qué enfoque se alinea mejor con las metas, el objetivo y los recursos específicos de la organización.
En primer lugar, ¿qué es bug bounty (recompensa por errores) y qué es penetration testing (prueba de penetración)?
Bug Bounty: las empresas permiten que los hackers éticos, investigadores de ciberseguridad y pentesters de todo el mundo reporten los errores y brechas de seguridad que encuentren. Si se considera que un error puede comprometer la seguridad de su sistema, la empresa paga a la persona que envió la vulnerabilidad reportada, lo que generalmente se denomina bug bounty (recompensa por errores).
Penetration Testing: una organización contrata a una empresa como DEEP SECURITY para realizar una prueba de su entorno e informar sobre cualquier problema de seguridad.
Las pruebas de penetración se pueden realizar en cualquier sistema, aplicación, red o infraestructura. También se pueden realizar en tres tipos diferentes de pruebas, que incluyen:

Diferencias entre Pentest y Bug Bounty
Pentest vs Bug Bounty: distintas duraciones
Un pentest (prueba de penetración) se lleva a cabo dentro de un período de tiempo predeterminado, que generalmente abarca unas pocas semanas por semestre o por año. La duración de la prueba se basa en la complejidad del sistema de destino y el nivel deseado de minuciosidad en la evaluación de seguridad. Proporciona comentarios de seguridad específicos para una fecha determinada, lo que permite a las organizaciones programar pruebas de acuerdo con su ciclo de lanzamiento, evaluar su postura de seguridad y priorizar las medidas de seguridad con regularidad.
Por otro lado, un programa bug bounty (recompensas por errores) a menudo está en curso durante todo el año, sin una fecha de finalización fija. Las pruebas continuas aseguren el monitoreo continuo del perímetro del sistema. Los hacker éticos independientes, también conocidos como cazadores de errores, examinan las nuevas implementaciones a medida que se presentan.
En algunos casos, los investigadores de seguridad pueden invertir mucho tiempo en un programa de bug bounty (recompensas por errores) si tienen un gran interés en el proyecto debido a desafíos técnicos, recompensas atractivas o fascinación personal con el tema.
Pentest vs Bug Bounty: distintas necesidades
Las motivaciones detrás de un pentest (prueba de penetración) y de un programa de bug bounty (recompensa por errores) no son las mismas.
Los objetivos de un pentest (pruebas de penetración) son bastante diferentes, se utilizan para:
- Evaluar el nivel de seguridad digital de un activo en un momento dado.
- Detectar posibles vulnerabilidades que puedan estar ocultas en el activo.
- Conducir a certificaciones, que son esenciales para cumplir con ciertos estándares, como SOC2 e ISO 27001, o requisitos contractuales, por ejemplo, como parte de una fusión-adquisición.
Los objetivos de un programa de bug bounty (recompensa por errores) son:
- Proporcionan un seguimiento continuo de un activo, lo que garantiza que esté bajo un escrutinio constante en busca de posibles vulnerabilidades. Este enfoque permite que las organizaciones se mantengan vigilantes y proactivas al abordar los problemas de seguridad.
- Permiten realizar pruebas exhaustivas del activo, enfocándose específicamente en vulnerabilidades complejas que pueden haberse pasado por alto en evaluaciones anteriores.
Pentest vs Bug Bounty: distinto público objetivo
Un programa de
pentest
(prueba de penetración) es más adecuado para sistemas relativamente nuevos con respecto a la seguridad como aplicaciones que van a salir por primera vez a producción; mientras que un programa de
bug bounty
(recompensas por errores) se recomiendan para perímetros robustos, que ya han pasado por varias pruebas de
pentest.
1.
Pentest (prueba de penetración), el mejor acercamiento a los perímetros relativamente nuevos
Un programa de pentest (prueba de penetración) es la opción óptima para perímetros de reciente creación que requieren validación de sus medidas de seguridad, tales como:
- Una nueva aplicación o sitio web que nunca antes ha sido auditado.
- Una versión nueva posiblemente contenga nuevas vulnerabilidades.
En el caso de que el activo no se haya sometido a ninguna prueba previa, es muy probable que los investigadores de seguridad descubran numerosas vulnerabilidades. A través de un
pentest
(prueba de penetración), la organización puede abordar las vulnerabilidades más evidentes a un costo predeterminado. Por el contrario, con un programa de
bug bounty
(recompensa por errores), cada vulnerabilidad se informará individualmente, lo que daría como resultado que se pagarán incentivos por separado. Aunque el presupuesto requerido para un programa de
bug bounty
(recompensa por errores) sería significativamente mayor, la cantidad total de vulnerabilidades identificadas seguiría siendo la misma.
2. Bug Bounty (recompensa de errores), el enfoque ideal para activos maduros
Los programas de bug bounty (recompensas por errores) están diseñados específicamente para activos maduros que ya se han sometido a pruebas y han establecido medidas de seguridad. Cuando una aplicación o sistema ha sido probado a fondo o sus defensas han sido fortalecidas por el equipo de Blue Team, se espera que tenga vulnerabilidades mínimas.
Sin embargo, esto no implica que el activo sea completamente inmune a las vulnerabilidades. Todos los activos digitales poseen inherentemente debilidades explotables, aunque es posible que aún no se hayan descubierto. Aquí es donde la comunidad de hackers éticos juega un papel crucial.
En un bug bounty (programa de recompensas por errores), los investigadores pueden dedicar varios meses a buscar activamente vulnerabilidades dentro de un alcance determinado. Estos tienen la oportunidad de descubrir vulnerabilidades complejas que pueden haber pasado desapercibidas durante un pentest (prueba de penetración) tradicional que generalmente dura sólo unas pocas semanas.
Lanzar un programa de
bug bounty (recompensa por errores) en un alcance inmaduro puede resultar potencialmente con mayores costos para la empresa, especialmente si se descubren numerosas vulnerabilidades que podrían haberse abordado a través de una prueba de penetración a un costo fijo. Por otro lado, los programas de recompensas por errores son ideales para probar entornos maduros donde las vulnerabilidades ocultas son más complejas y requieren más tiempo para encontrarlas
Pentest vs Bug Bounty: conoce el número de investigadores involucrados
Una distinción clave entre un pentest (prueba de penetración) y un programa de bug bounty (recompensa por errores) radica en la cantidad de investigadores involucrados en cada programa, lo que afecta significativamente su efectividad.
Por lo general, un pentest (prueba de penetración) implica la participación de uno a tres pentesters, teniendo en cuenta el presupuesto asignado y la importancia del proyecto. Por otro lado, un programa de bug bounty (recompensa por errores) puede movilizar a toda la comunidad de hackers éticos, lo que podría involucrar a cientos de personas. Esto abre un amplio grupo de investigadores de seguridad con diversas habilidades y experiencia.
Pentest as a Service y Private Bug Bounty: soluciones adaptables y versátiles que permiten mejor adaptación y personalización en las metodologías de prueba de seguridad
Pentest (pruebas de penetración) y Bug Bounty (recompensa por errores) tienen sus propias fortalezas y debilidades, especialmente en sus formas convencionales. El primero, tiene la ventaja de ser más confidencial y la capacidad de evaluar ámbitos que no son accesibles externamente; mientras que el segundo ofrece un grupo más grande de recursos humanos y un modelo de pago basado en resultados que las organizaciones encuentran atractivos.
Sin embargo, estas distinciones no están rígidamente definidas. Existe una amplia gama de enfoques que se encuentran entre el pentest tradicional y los programas públicos de recompensas por errores. Estas variaciones permiten una mejor personalización en términos de presupuesto, confidencialidad, alcance y habilidades requeridas.
Consideramos específicamente los siguientes matices:
- Pentest as a service (pruebas de penetración como servicio): este servicio no lo realice una consultora o un proveedor de servicios estándar, sino que el pentest (prueba de penetración) es realizado por una plataforma que involucra a su comunidad de investigadores y hackers éticos.
- Private Bug Bounty (programas privados de recompensas por errores): es un enfoque controlado y solo participan organizaciones que fueron invitadas. En este servicio, la organización establece el alcance, las reglas y las recompensas para el programa de bug bounty (recompensas por errores) tal es el caso de los servicios que brinda DEEP SECURITY y su comunidad de cazadores seleccionados.
Algunos ejemplos de las vulnerabilidades reportadas por el equipo de DEEP SECURITY se presentan a continuación:
Netflix - Responsible Vulnerability Disclosure
https://help.netflix.com/en/node/6657

Cisco - Identity Services Engine Guest Portal Login Limit Bypass Vulnerability
https://www.cisco.com/c/en/us/support/docs/csa/cisco-sa-20171115-ise.html
Entre pentest o bug bounty, ¿qué enfoque es correcto para tu organización?
Los enfoques de
pentest
(pruebas de penetración) y
bug bounty
(recompensa por errores) tienen sus propias fortalezas y no son intrínsecamente superiores entre sí. De hecho, tratar de compararlos como opciones opuestas puede no ser significativo. En cambio, cada método tiene sus propias características específicas que lo hacen más adecuado en ciertas situaciones. Es importante considerar estas especificaciones y elegir el enfoque que mejor se alinee al contexto y los objetivos de la organización.
1.
Pentesting (prueba de penetración), es idóneo para:
- Evaluar la seguridad digital de un producto en un momento específico.
- Realización de pruebas en objetivos que no son accesibles desde el exterior.
- Cumplir con los requisitos de cumplimiento y obtener certificaciones de seguridad.
- Realización de evaluaciones iniciales en alcances más nuevos para identificar y abordar vulnerabilidades importantes dentro de un presupuesto predeterminado, antes de pasar a un enfoque de recompensa por errores.
2. Bug bounty (recompensa por errores) es ideal para:
- Probar un activo continuamente.
- Identificar vulnerabilidades críticas en profundidad, más difíciles y lentas de encontrar.
- Optimizar la investigación multiplicando habilidades y recursos humanos gracias a la comunidad de hackers éticos.
- Probar los perímetros maduros, por ejemplo, que han sido probados de antemano.



