Dentro de un entorno corporativo, la realización de pruebas de penetración es una práctica que se utiliza desde hace mucho tiempo para auditar la seguridad de las aplicaciones y de la red. Si bien este tipo de actividades generalmente se realizan desde el marco de un empleo en relación de dependencia o de consultoría y mediante la firma de un contrato, desde hace algunos años, y cada vez con más frecuencia, es común que las compañías publiquen programas de recompensa, más conocidos como Bug Bounty, a través de plataformas como HackerOne o BugCrowd, entre otras.
A través de estas plataformas las empresas interesadas en auditar sus servicios logran conectar con hackers éticos de cualquier lugar del planeta dispuestos a poner a prueba la seguridad de sus servicios. Cualquiera puede inscribirse y participar de estos programas de Bug Bounty, ya sea como un hobby o como una actividad lucrativa. Las empresas cuando abren sus programas detallan el alcance del mismo y fijan distintos premios para quienes encuentren fallos, generalmente de según la gravedad de los mismos.
El pago promedio para vulnerabilidades críticas en 2018 fue de USD 3,384 con un incremento interanual del 48%. En este escenario, HackerOne desembolsó en el año 2018 un total de USD 19 millones a sus miembros por el pago de recompensas. Si bien además del factor económico hay una motivación por aprender y por los desafíos en sí, según datos de una encuesta realizada por HackerOne en 2018, los hackers éticos que se dedican mayormente a participar de programas de bug bounty logran obtener hasta 2.7 veces más dinero que el salario que percibe un ingeniero de software que se dedica a tiempo completo. De hecho, a principio de 2019 un joven argentino de 19 años se convirtió en la primera persona en ganar más de un millón de dólares a través de HackerOne.
Respecto a la cantidad de usuarios en esta plataforma, en 2019 habían registrados más de 300,000 hackers, cifra que representa un aumento del 100% con respecto al año anterior.
Como referencia de las sumas de dinero que llegan a pagarse en algunos, Google anunció un programa de Bug Bounty para sus teléfonos Pixel que ofrece hasta 1.5 millones de dólares para quienes encuentren vulnerabilidades críticas. De todas formas, si estás recién comenzando con esta actividad, no esperes que tus ganancias se acerquen a esas cifras en un corto plazo.
Ventajas de los programas de Bug Bounty
Los programas de bug bounty permiten a cualquier persona, con o sin conocimientos técnicos previos, aumentar su nivel de experiencia en hacking ético. A su vez, permite a profesionales de otros campos obtener una perspectiva diferente sobre los problemas que pueden afectar a las aplicaciones, desde un marco práctico.
Se trata de una muy buena herramienta de aprendizaje y, en líneas generales, ha sido de gran ayuda en cuanto a la generación de una mayor conciencia sobre la importancia del desarrollo de aplicaciones seguras. También inspiró el ingreso de mucha gente al campo de la seguridad informática y ayuda a incrementar la seguridad en general, ya que miles de fallos de seguridad se han solucionado a través de estas actividades.
Consejos para quienes están comenzando con los programas de bug bounty
- Empezar de a poco: Si no tienes experiencia previa, quizás sea una muy buena idea comenzar con un solo tipo de vulnerabilidad, por ejemplo, XSS, y luego comenzar a incorporar nuevas habilidades. Encontrar primero una vulnerabilidad que realmente te divierta e interese es importante.
- No pensar solo en el dinero: Lo más probable es que en un principio no sea posible ganar dinero. Si solo tienes esto en mente, puede que pases por alto ciertos detalles importantes y que no te tomes el tiempo necesario para hacer las cosas de la mejor forma. Lo ideal es poder dedicar tiempo suficiente para aprender y que disfrutes la actividad.
- Hacer reportes claros: Si has descubierto una vulnerabilidad, es importante que sepas reportarla de forma eficiente. Algo en lo que las personas de ambos lados coinciden (bug hunters y empresas) es acerca de la importancia de la elaboración de informes claros que indiquen paso por paso cómo se puede reproducir la vulnerabilidad y que expliquen el uso que un atacante podría darle a la misma, ya que esta información influye en que los hallazgos sean tenidos en cuenta.
- Tomarse el tiempo de ir a fondo: Si has descubierto una vulnerabilidad, es recomendable que dediques el tiempo necesario para intentar ver todos los caminos que la misma abre para un atacante. Por ejemplo, si la vulnerabilidad fue introducida por un equipo de desarrollo de una determinada empresa, es posible que se repita en otros sitios. Investigar todas las posibilidades aumenta las chances de que seamos exitosos a la hora de convencer a la empresa de que lo que encontramos es serio.
- Tomar la ruta menos usada: Si recién estás comenzando en el mundo del bug bounty es poco probable que encontremos vulnerabilidades en aplicaciones de empresas muy grandes, que seguramente ya han pasado por varias etapas de pentesting y que ya han sido sometidas a la auditoría de muchos otros cazadores de bugs. Es recomendable evitar frustraciones y empezar por donde otros quizás no hayan mirado todavía.
- Estudia y practica: La única forma de progresar en el mundo del Bug Bounty es dedicando tiempo. Es necesario practicar, leer reportes que hayan elaborado otras personas y estudiar las distintas metodologías. Por suerte, hay mucha gente en la comunidad que está dispuesta a compartir lo que sabe y eso es algo que definitivamente deberías aprovechar. Según unos de los reportes de HackerOne, el 81% de los cazadores que participan de estos programas dijo haber aprendido por cuenta propia a través de Internet, mientras que apenas el 6% dijo haber realizado un curso formal.
Realizar bug bounties puede ser una experiencia de aprendizaje muy importante. Ver vulnerabilidades en aplicaciones reales nos dará una idea de cuáles son los errores comunes que los desarrolladores de software cometen. De a poco te obligará a aprender de nuevas tecnologías con las que quizás nunca habías tenido que lidiar antes, expandiendo tu base de conocimiento. Si eres un Pentester, te dará una nueva perspectiva que será útil a tu trabajo.
Sitios y recursos recomendados para aprender sobre hacking ético
Sitios para aprender hacking ético
- Hacker 101: plataforma de HackerOne que ofrece recursos educativos 100% gratuitos.
- Hacksplaining: un proyecto que ofrece entrenamientos de seguridad dirigido a desarrolladores.
- Hack This Site!: una iniciativa que ofrece un campo de entrenamiento para que usuarios puedan probar y explorar sus habilidades.
Libros recomendados
- OWASP Testing Guide - OWASP Foundation
- The Web Application Hackers Handbook - Dafydd Stuttard & Marcus Pinto
- Mastering Modern Web Penetration Testing - Prakhar Prasad
Además, compartimos algunos enlaces a otros artículos publicados en WeLiveSecurity en los que encontrarás recursos útiles y de interés.
- 10 recursos para convertirte en un gran hacker ético
- Recursos en español para aprender sobre seguridad informática
- ¿Por dónde empezar a aprender de seguridad informática?
- Bugcrowd University: plataforma educativa gratuita para investigadores en seguridad
- Cursos online gratuitos de seguridad informática