Pentesting vs Bug Bounty: ¿cuál es la diferencia?

Y en esta esquinaaaa… ¡el Pentesting! En la otra…. ¡el Bug Bounty!

¿No sería genial una pelea en el Madison Square Garden entre estos dos supuestos oponentes? ¡Pues yo creo que sería sumamente cool!

Pero en la realidad no veo la razón por la cual pentesters y bounty hunters deban considerarse oponentes, de hecho, no hay nada que impida hacer ambas cosas. Por ejemplo, yo hago pentesting en mi empresa de manera formal y cuando quiero distraerme hago bounty hunting (lo sé, demasiado nerd… creo que mejor no te cuento sobre mis otros hobbies). De igual forma, tengo amigos que se dedican a tiempo completo a hacer bounty hunting, otros que sólo hacen pentesting y hay quienes realizan pentesting y bounty hunting a la par.

¿Pero entonces cuál es la diferencia? ¿Es uno mejor que otro? A eso vamos.

En esta esquina: el Bug Bounty

Dicho de forma simplificada, los programas de bug bounty son iniciativas de empresas públicas o privadas, que autorizan a los investigadores de seguridad a encontrar vulnerabilidades en sus aplicaciones y sistemas informáticos, a cambio de una recompensa monetaria.

Los pagos o «bounties» se dan a cambio de hallazgos comprobados y bien documentados, que deben estar dentro del alcance definido en el programa de recompensas. El pago mínimo depende de cada programa y usualmente está relacionado con el tipo de vulnerabilidad y el grado de criticidad de esta. Para que tengas una idea, Twitter paga un mínimo de US$140 y un máximo de US$15,000 por cada hallazgo válido dentro de su programa de bounty hunting al momento de escribir este artículo, mientras que Microsoft paga un mínimo de US$500 y un máximo de US$15,000 por hallazgo.

Existen empresas que abren convocatorias para participar en sus programas de bug bounty directamente al público, por supuesto primero el investigador (también denominado bounty hunter) debe pasar por un proceso de registro y escrutinio antes de ser aceptado.

Otras empresas prefieren que sea un tercero quien se encargue de reclutar a los investigadores y de explicarles «las reglas del juego». Empresas como HackerOne, BugCrowd, SafeHats, entre otras, sirven de nexo entre la comunidad de investigadores de seguridad y las empresas que ofrecen programas de bug bounty.

Ventajas y desventajas del bug bounty:

  • Para las empresas tener un programa de bounty hunting es beneficioso puesto que pagan por resultados comprobados. Adicionalmente, por el hecho de que son muchos los investigadores que están compitiendo a la par por encontrar vulnerabilidades, se benefician de tener muchos expertos con distintos acercamientos y puntos de vista diferentes auditando sus sistemas. Por otro lado, dado que los bounty hunters son incentivados además del reto, por un valor monetario, esto hace que los esfuerzos de aquellos con más experiencia se enfoque en hallar vulnerabilidades más críticas y complejas que por temas de tiempo podrían pasar desapercibidas durante un pentesting.
  • Para los investigadores de seguridad también es beneficioso, porque no sólo mejoran sus habilidades técnicas con cada desafío, haciendo algo que les gusta – aka «romper sistemas» – sino que, además, reciben incentivos monetarios que sumados pueden ser muy superiores a lo que ganarían si recibieran un salario fijo mensual en relación de dependencia. En 2019, la noticia de que Santiago López – un joven argentino que entonces contaba con sólo 19 años de edad – había superado la cifra de un millón de dólares en bug bounties, dio la vuelta al mundo.
  • Una desventaja para los bounty hunters es que la recompensa se paga al primer investigador que reporta adecuadamente una única vulnerabilidad, por ende, puede que alguien trabaje mucho en comprobar una vulnerabilidad sólo para enterarse luego que alguien la reportó primero.
  • Una desventaja para las empresas, es que no hay un plazo para la recepción de reportes, los programas de bounty hunting son de tipo continuo, debido a esto puede que se reciban muchos reportes en un mes y pocos o ninguno en otro. Por tanto, si existe alguna urgencia en auditar un nuevo sistema antes de un lanzamiento quizás el bug bounty no sea la mejor opción. Por otra parte, a veces los investigadores inexpertos que recién se unen a programas de bounty hunting suelen reportar hallazgos fuera del alcance o enviar informes de poca calidad que llenan los buzones del encargado de revisar y asignar recompensas del cliente.

En esta otra esquina: el Pentesting

Sobre pentesting he hablado bastante en el blog, así que asumo que a estas alturas debes de tener claro en qué consiste un pentesting…. ¿o no?

Está bien, a riesgo de repetirme: un pentesting, pruebas de intrusión o hacking ético, es un tipo de auditoría de seguridad informática que consiste en realizar ataques controlados hacia la infraestructura informática de una empresa en busca de vulnerabilidades o huecos de seguridad que puedan ser explotados, para luego detallar estos hallazgos dentro de un informe que incluya, además, recomendaciones para solucionar dichos hallazgos.

Visto de esa forma suena bastante parecido al bounty hunting y en sus raíces es así. Tanto el pentesting como el bounty hunting persiguen hallar vulnerabilidades informáticas, catalogarlas de acuerdo con el nivel de riesgo, explicarlas al cliente para que este pueda replicar las pruebas y poner todo esto en un informe en el que se debe incluir cómo remediar estas vulnerabilidades. Hasta ahí el parecido.

Ventajas y desventajas de un pentesting

Un pentesting tradicionalmente se puede ejecutar de forma puntual o periódica, pero como todo proyecto tiene una duración acordada previamente con el cliente desde su inicio (fase de reconocimiento) hasta su fin (escritura del informe). Esto tiene ventajas y desventajas tanto para el cliente como para los pentesters:

  • Para las empresas es beneficioso ejecutar pentestings porque pueden tener una retroalimentación sobre la mayoría de vulnerabilidades de su infraestructura, incluyendo vulnerabilidades críticas, en un periodo corto de tiempo y conocido de antemano, lo que puede facilitar una rápida remediación antes del lanzamiento de un nuevo producto o servicio.
  • Los pentesters asignados son hackers éticos profesionales, seleccionados con base en su experiencia en tecnologías específicas (al menos así lo hacemos en mi empresa, Consulting Systems), para así brindar un mejor servicio y proveer una mejor comunicación con el blue team del cliente y apoyarlos en la fase de remediación.
  • La empresa consultora recibe el pago acordado por el servicio de auditoría, independientemente de la cantidad de hallazgos o su nivel de criticidad.
  • Los pentesters que trabajan en relación de dependencia reciben un salario fijo, muy por encima del salario promedio de los profesionales de la industria de TI, independientemente de cuántos pentestings ejecuten al año o de cuántas vulnerabilidades encuentren.
  • Una desventaja, es que debido al plazo fijo en la ejecución de un pentesting, es posible que vulnerabilidades menos evidentes o complejas pasen desapercibidas o no logren explotarse dentro del tiempo acordado.

¿Entonces qué opinas? ¿Prefieres el bug bounty o el pentesting?

Pues yo amo a los dos por igual (mi corazón es vasto, ja ja). Creo que ambos cumplen su propósito y que lo más adecuado para una empresa es aplicar una combinación de ambos servicios, dependiendo de cuáles sean sus objetivos de seguridad.

Cuéntame qué opinas tú. Y si te gustó el artículo, por favor compártelo en tus redes sociales. ¡Hasta la próxima!

Antes de irme… te dejo un replay de una conferencia que di sobre este tópico justamente:

Karina Astudillo
Sígueme en:
Karina Astudillo

Hacker, Author, IT Trainer, Entrepreneur.

CEH, Computer Forensics US Master, CCNA Security, CCNA R&SW, CCNA Wireless, HCSP, HCSA, SCSA, VTSP.

Deja un comentario