24 mar 2017

Bug Bounty, ¿qué tan efectivos pueden ser para las organizaciones?

Hace 21 años, el desaparecido Netscape lanzó al público el primer bug bounty, sin imaginar que años más tarde revolucionaría la industria de la seguridad. La idea era sencilla, se hacía la invitación a que investigadores independientes buscasen fallos de seguridad en la última versión del navegador y los reportasen al equipo interno de seguridad; a cambio, Netscape ofrecía pagar por cada fallo reportado y confirmado.

En los últimos años varias empresas han basado su modelo de negocios en esta genial idea, lanzando programas públicos y privados para diferentes clientes, entre los cuales destacan gigantes de la innovación como Tesla y General Electric, y recientemente estos programas han sido impulsados por integrar a entidades gubernamentales y militares, como el mismísimo Pentágono en EE.UU.

Para ello, empresas como Bugcrowd, Zerodium, Synack, HackerONE, entre otras, han creado programas de reclutamiento y registro para asegurar que bug bounty hunters altamente éticos y profesionales ejecuten los servicios de revisión de aplicaciones, pruebas de penetración, revisión de código, ingeniería inversa, entre otros. Esto ha ocasionado que día a día mentes brillantes noveles en la seguridad informática se integren a estas empresas para detectar vulnerabilidades, obteniendo ingresos por su trabajo, algunos dedicando su tiempo completo a ello, tomándolo como hobby y generando investigaciones mediáticas en la industria.

Pero, lejos de esta idea tan novedosa y el halo de mercenario que le da a los investigadores, ¿es realmente este tipo de programas una opción sólida para el ciclo de desarrollo de las organizaciones? ¿Agrega valor agregado a la seguridad? ¿O vulgariza los servicios de consultoría y genera un falso sentido de seguridad?

Tradicionalmente las empresas han mantenido equipos de seguridad internos o han contratado consultoría especializada para entrenar, revisar la seguridad de las aplicaciones, verificar que las vulnerabilidades detectadas sean corregidas, y mantenerse al pendiente de vulnerabilidades que pudiesen ser detectada durante la vida productiva de un software.

Hoy en día tienen la opción de abrir programas propios de bug bounty o utilizar una empresa intermediaria que se encargue de gestionar un programa y, como menciona la publicidad de la mayoría de las empresas de bug bounty, revisar la seguridad con la visión de los hackers reales.

Pros y contras del bug bounty en las empresas

Si bien es cierto que la seguridad de dichas aplicaciones será evaluada a través de diferentes enfoques y metodologías por investigadores de varios rincones del mundo; no todo es miel sobre hojuelas. Y a continuación trataré de explicar algunas de ventajas y desventajas de estos programas.

El primero de ellos es la superficie de evaluación. Mientras una empresa de consultoría mantiene constante comunicación con los desarrolladores, Project Managers y demás personas involucradas en el ciclo de desarrollo de una aplicación, un bug bounty hunter usualmente trabaja con información muy limitada, algunas veces solo con la que es pública de cierta aplicación, y en otras ocasiones puede contar con usuarios de prueba y escueta documentación sobre el funcionamiento y flujo de la aplicación. Aunque es cierto que se estaría enfocado una revisión a como lo haría un usuario malintencionado real, también es cierto que la revisión no tendría la misma profundidad que la consultoría tradicional.

Por otra parte, un consultor en seguridad informática usualmente empieza reportando hallazgos poco significativos, como vulnerabilidades relacionadas a manejo de errores, manejo de sesiones, autorización y autenticación. Pues estos, a pesar de no ser críticos para la seguridad de la organización, sí le aseguran tener contenido en su reporte para el cliente, mientras el bug bounty hunter está en busca de alguna vulnerabilidad crítica que le haga ganar lo suficiente para que la inversión de su tiempo haya valido la pena.

Ello no quiere decir que ambos no se esfuercen en encontrar las vulnerabilidades que afectan a una aplicación, pero sí destacan una diferencia de tiempos. El consultor tiene un tiempo definido de varias semanas en las cuales podrá realizar la evaluación de los diferentes controles implementados en la aplicación; por su parte el bug bounty hunter tiene solo unas horas para poder encontrar una vulnerabilidad antes que sus competidores, y llevarse la recompensa.

Ello nos lleva también a una diferencia en enfoques, el bug bounty hunter está acostumbrado a desestimar vulnerabilidades, que si bien no son críticas, sí deben de ser mitigadas. Un consultor debe de enfocarse en toda la superficie de la aplicación, sea una vulnerabilidad muy crítica o no.

Al mismo tiempo, un consultor –en opinión propia y habiendo sido consultor en seguridad informática por más de siete años y ahora bug bounty hunter– tiene la oportunidad de experimentar con varias de las tecnologías propietarias más novedosas, aprender bastante de equipos de desarrollo, y de la industria en general. El bug bounty hunter la mayor parte del tiempo pasa aplicando las mismas técnicas que aprendió en un inicio, salvo algunas aplicaciones muy avanzadas en donde es necesario que se documente mucho más o se llegue a encontrar alguna vulnerabilidad realmente crítica y mediática.
Entonces con tantos pros y contras, ¿cuál es la mejor opción? La respuesta es sencilla: ambas.
Pero ambas soluciones entran en una etapa diferente del ciclo de desarrollo de software. La revisión de una aplicación de forma tradicional se debe de realizar durante y al final de la etapa de desarrollo, de la mano de todos los involucrados en su desarrollo; mientras que el bug bounty debe de ser lanzado en la etapa de mantenimiento, una vez que la aplicación teóricamente no mantiene vulnerabilidades y las que se encuentren realmente serán difíciles de explotar y requerirán la inversión de un usuario mal intencionado que dedique mucho tiempo invertido en ello.

El enfoque entre un bug bounty hunter y un consultor en seguridad es muy diferente, a pesar de que algunos de ellos lleven el mismo rol en su vida diaria, y ese enfoque da resultados muy distintos que hay que saber aprovechar en las diferentes etapas de vida de la aplicación.

La próxima vez que desee asegurarse de que su aplicación en desarrollo no contiene vulnerabilidades, le recomiendo contratar un servicio de consultoría en seguridad; pero cuando desee encontrar posibles vulnerabilidades en sus aplicaciones productivas, a fin de poder cerrar todas las posibles brechas ante un público potencialmente hostil, sin duda una invitación a la comunidad de seguridad de la información (InfoSec) mediante un bug bounty es la solución.

Fuente: SearchDatacenter

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!