Cerrar

Nuestro enfoque sobre las pruebas de seguridad externas


Los clientes suelen solicitar a Atlassian informes de pruebas de penetración para garantizar el control de los procesos que implementamos para identificar (y solucionar) las vulnerabilidades de seguridad en los productos de Atlassian y Atlassian Cloud. El enfoque de nuestras pruebas de seguridad externas se desarrolla en torno al concepto de "control permanente", en lugar de tratarse de una prueba de penetración puntual, disponemos de un modelo siempre activo, de pruebas continuas, que usa un programa de recompensas por errores basado en la colaboración de forma abierta.

 

Nuestra filosofía y enfoque

A Atlassian se la conoce por sus valores, y esos valores realmente influyen en todo lo que hacemos, incluido nuestro enfoque de las pruebas de seguridad. En la práctica, nuestros valores nos han llevado a basarnos en los siguientes enfoques y filosofías:

  • Los errores son una parte inevitable del proceso de desarrollo. La cuestión no es si tenemos errores, la cuestión es la rapidez y eficacia con la que los encontramos y los abordamos. Esto no quiere decir que nos gusten  los errores o que no estemos innovando constantemente para reducir su frecuencia y gravedad, pero cuando se trata de errores de software, la negación no es un enfoque efectivo.
  • Nuestro objetivo es aumentar el coste de encontrar y explotar vulnerabilidades en nuestros productos y servicios. Mediante la rápida identificación y resolución de problemas, tratamos de aumentar el coste económico que supone encontrar errores de seguridad. Al aumentar el coste de explotar una vulnerabilidad, al hacer que lleve más tiempo, que sean necesarios más conocimientos y más recursos por parte de los usuarios malintencionados, reducimos su retorno de la inversión. Si podemos reducirlo lo suficiente, se volverá prohibitivo o no será atractivo para ellos.
  • Respaldamos y utilizamos los estándares de la industria: la estandarización en nuestra terminología y enfoque nos ayuda a garantizar que abarcamos todo lo necesario y ayuda a los clientes a entender lo que hacemos. Por ejemplo, las clasificaciones comunes de vulnerabilidades usando el sistema común de puntuación de vulnerabilidades (CVSS) garantizan la claridad de la gravedad de una vulnerabilidad concreta entre nosotros y nuestros clientes. Además, seguimos los procesos de gestión de vulnerabilidades descritos en la ISO 27001 y en Cloud Security Alliance (CSA)
  • Los investigadores de seguridad externos son una valiosa ampliación de nuestro equipo: si un producto de Atlassian tiene una vulnerabilidad, es de interés para todos, tanto para nosotros como para nuestros clientes, encontrarla y solucionarla tan rápido como sea posible. Los investigadores de seguridad externos que nos ayudan a realizar este trabajo son una ampliación valiosa de nuestro equipo de seguridad y deben ser recompensados adecuadamente. Con la ayuda de investigadores de seguridad externos, podemos escalar nuestro equipo más allá de los enfoques tradicionales.
  • Somos accesibles y transparentes en lo referente a nuestro programa de pruebas de seguridad. Nuestro programa de recompensas por errores proporciona estadísticas sobre los errores encontrados, somos transparentes en lo relativo a la rapidez con la que tratamos de solucionar los problemas de seguridad y ponemos a tu disposición informes resumidos de las pruebas, siempre que sea posible.

 

Control de calidad permanente

Pruebas de penetración

Usamos firmas especializadas en asesoramiento sobre seguridad para completar pruebas de penetración en productos e infraestructuras de alto riesgo . Esta puede ser una nueva infraestructura creada para nosotros (p.ej. nuestro entorno de Cloud), un nuevo producto (p.ej. Trello) o una nueva arquitectura fundamental (p.ej. el amplio uso de los microservicios). 

Nuestro enfoque a las pruebas de penetración en estos casos es altamente específico y tiene un enfoque claro. Las pruebas serán las siguientes:

  • Caja blanca: los evaluadores recibirán documentación de diseño e informes de nuestros ingenieros de productos que respalden sus pruebas.
  • Asistido con código: los evaluadores tendrán acceso completo a la base de código correspondiente para ayudar a diagnosticar cualquier comportamiento inesperado del sistema durante la prueba e identificar los posibles objetivos.
  • Basándose en las amenazas: las pruebas se centrarán en un escenario de amenaza concreto, como asumir que existe una instancia comprometida y probar el movimiento lateral desde ese punto de partida.

No ponemos estos informes o extractos a disposición de los consumidores externos debido a la amplia información disponible para los evaluadores al realizar estas evaluaciones.

La mayoría de estos sistemas y productos se incluirán posteriormente en nuestro programa público de recompensas por errores, proporcionando el control externo que buscan nuestros clientes.

Programa de recompensas por errores

Nuestro programa de recompensas por errores se aloja en Bugcrowd. El objetivo de este programa es garantizar que nuestros productos se prueben constantemente para detectar vulnerabilidades de seguridad. Este es el núcleo de nuestro programa de pruebas de seguridad externas y es el resultado de grandes esfuerzos de investigación, análisis y comparación entre los modelos de prueba.

Creemos que los numerosos investigadores de seguridad independientes que participan en nuestro programa de recompensas por errores proporcionan el proceso de pruebas de seguridad externas más efectivo por los siguientes motivos:

  1. El programa de recompensas por errores está siempre activo. Las pruebas de penetración suelen estar limitadas en el tiempo a unas semanas. En un entorno de desarrollo realmente ágil con publicaciones frecuentes, las pruebas continuas son una necesidad. 
  2. El programa de recompensas por errores cuenta con más de 60 000 posibles evaluadores. Las pruebas de penetración suelen contar con 1 o 2 participantes. Independientemente de lo buenos que sean esos 1 o 2 participantes, nunca superarán la capacidad añadida del equipo de participantes de recompensas por errores.
  3. Los investigadores del programa de recompensas por errores desarrollan herramientas y procesos especializados en vertical (tipos de errores específicos) y en horizontal (recompensas específicas). Esta especialización ofrece la mayor oportunidad de identificar vulnerabilidades que son significativas, pero difíciles de detectar.

Seguimos utilizando asesores de seguridad y especialistas en pruebas de penetración para soporte interno, pero para nuestro programa externo de amplia cobertura, la recompensa por errores es una opción más adecuada. Creemos que la combinación de enfoques maximiza las oportunidades de encontrar vulnerabilidades. 

Más de 25 de nuestros productos o entornos, que se extienden a través de nuestros productos de servidor, aplicaciones móviles y productos de Cloud, están dentro del alcance de nuestro programa de recompensas por errores. Los detalles de la cantidad de vulnerabilidades notificadas, nuestro tiempo medio de respuesta y el pago medio por recompensa se incluyen en el sitio de Bugcrowd, con más de 800 evaluadores registrados específicamente para nuestro programa.

Las vulnerabilidades que buscamos para identificarlas a través de nuestro programa de recompensas por errores incluyen los tipos comunes detectados en las listas de amenazas Open Web Application Security Project (OWASP) y Web Application Security Consortium (WASC) . Entre ellas, se incluyen:

  • Fuga de datos entre instancias/acceso
  • Ejecución de código remota (RCE, Remote Code Execution)
  • Falsificación de petición en el servidor (SSRF, Server-Side Request Forgery)
  • Filtro de scripts de sitios (XSS,Cross-site Scripting)
  • Falsificación de petición en sitios cruzados (CSRF, Cross-site Request Forgery)
  • Inyección SQL (SQLi, SQL Injection)
  • Ataques de entidades externas XML (XXE, XML External Entity Attacks)
  • Vulnerabilidades del control de acceso (problemas de referencia de objeto directo no seguro, etc.)
  • Problemas de paso de ruta/directorio

Como parte de nuestro esfuerzo por ser accesibles y transparentes, invitamos a cualquier persona a que visite nuestra página del programa de recompensas por errores, se registre en el programa y nos ponga a prueba.

Informes de vulnerabilidades

Cuando uno de nuestros usuarios identifica una vulnerabilidad durante el uso estándar del producto (a diferencia de ser identificado a través de un intento específico de probar el sistema, que es necesario que se produzca a través de nuestro programa de recompensas por errores), podemos recibir la notificación a través de nuestro equipo de asistencia de Atlassian. Respondemos puntualmente a todas las vulnerabilidades notificadas y mantendremos informadas a las partes interesadas mientras investigamos y solucionamos el problema.

Antes de hacer público un problema, pedimos a los investigadores que, primero, nos soliciten permiso. Atlassian procesará las solicitudes de divulgación pública informe a informe. Dichas solicitudes solo se considerarán una vez que se haya corregido la vulnerabilidad notificada.

 

Exclusiones de nuestro programa de pruebas de seguridad

Del mismo modo que mostramos accesibilidad y claridad sobre las pruebas que realizamos, también aplicamos estos mismos principios sobre las pruebas que no realizamos nosotros mismos o que no incluimos en la actualidad. Las siguientes pruebas quedan excluidas de nuestro programa de pruebas de seguridad:

Aplicaciones de marketplace: las aplicaciones de marketplace quedan excluidas expresamente del programa de recompensas por errores y no completamos la revisión del código ni las pruebas de seguridad en estas aplicaciones. Transmitiremos las vulnerabilidades de las aplicaciones que se nos notifiquen, pero no podrán optar a las recompensas.

Pruebas iniciadas por el cliente: según nuestro acuerdo de cliente, actualmente no permitimos pruebas de nuestros entornos de producción iniciadas por el cliente. Nos comprometemos a ser accesibles y publicar estadísticas de nuestro programa de recompensas por errores para ofrecer a los clientes la comodidad de contar con un programa de pruebas de seguridad activo. Por supuesto, nuestros clientes y sus asesores de seguridad pueden registrarse en nuestro programa de recompensas por errores y completar las pruebas a través de ese proceso.

Determinados tipos de vulnerabilidades de bajo riesgo: nuestros productos se han desarrollados para liberar el potencial de cada equipo, y esto requiere colaboración. Las vulnerabilidades relacionadas con la enumeración y la recopilación de información no se suelen considerar riesgos significativos.

 

Medición de los elementos adecuados

Disponemos de una política de solución de errores que funciona como acuerdo de nivel de servicio interno (SLA) entre nuestros equipos de productos y nuestro equipo de seguridad. Al categorizar los errores, usamos el sistema común de puntuación de vulnerabilidades (CVSS versión 3), que permite comunicar la gravedad de las vulnerabilidades a nuestros clientes. Tratamos de cumplir los siguientes plazos para solucionar los problemas de seguridad:

  • Los errores de gravedad crítica (puntuación de CVSS v2 >= 8, puntuación de CVSS v3 >= 9) se deben solucionar en el producto en un plazo de cuatro semanas tras su notificación.
  • Los errores de alta gravedad (puntuación de CVSS v2 >= 6, puntuación de CVSS v3 >= 7) se deben solucionar en el producto en un plazo de seis semanas tras su notificación.
  • Los errores de gravedad media (puntuación de CVSS v2 >= 3, puntuación de CVSS v3 >= 4) se deben solucionar en el producto en un plazo de ocho semanas tras su notificación.

Estos plazos se vuelven a evaluar anualmente y se ajustan según sea necesario en función del variable entorno de amenazas.

Además, dado que nuestro objetivo es aumentar los costes de búsqueda y explotación de vulnerabilidades en nuestros productos, es necesario cuantificar dicho coste. Utilizamos la "recompensa" ofrecida a los investigadores de seguridad para encontrar una vulnerabilidad como proxy. En pocas palabras, con el tiempo, la cantidad de errores identificados a través de nuestro programa de recompensas por errores debería disminuir y, a medida que suceda, deberemos aumentar la cantidad que estamos dispuestos a pagar por dichos errores si queremos seguir recibiendo informes. Si la cantidad de esfuerzo necesario para encontrar una vulnerabilidad con una recompensa de 3000 $ hace que no valga la pena (ya que el esfuerzo que requiere supera los 3000 $), habremos aumentado el coste de encontrar dicha vulnerabilidad.  

Dicho de otro modo, deberíamos ver cómo nuestros pagos por recompensas aumentan con el tiempo.

 

El resumen

Atlassian cuenta con un programa de pruebas de seguridad externo, consolidado, accesible y transparente organizado en torno a nuestro programa de recompensas por errores

 

¿Quieres profundizar?

Hemos consultado muchos otros documentos y recursos en este breve artículo, y te animamos a profundizar en ellos para comprender mejor nuestro enfoque de las pruebas de seguridad. 

 

Descarga de los informes de pruebas actuales

Cualquier vulnerabilidad de seguridad identificada en estos informes se supervisa mediante nuestro Jira interno, ya que llegan mediante el proceso de entrada del programa de recompensas por errores y se cierran en función de los cronogramas de SLA descritos en nuestra Política de solución de errores de seguridad.