Divulgar correctamente las deficiencias de seguridad de la API privada

4

Espero poder orientarme sobre la manera correcta de solucionar adecuadamente las deficiencias con una API de servicio web privado (código cerrado).

Inicialmente asumí que la API estaría relativamente bien implementada, así que me puse a buscar el tráfico con Wireshark, con la intención de realizar ingeniería inversa en primer lugar para el desafío y, en segundo lugar, para implementarlo en otro producto en el que esté trabajando (abrir fuente).

Lo que descubrí claramente me horrorizó, hay problemas de implementación de major que dejan los detalles del nombre de usuario / contraseña en texto sin cifrar (como ejemplo de un solo problema).

El programa no se usa ampliamente, sin embargo, el grupo demográfico del usuario al que apela probablemente sea uno en el que se usaría con frecuencia una contraseña "valiosa" y, como tal, creo que el autor debería abordar esta cuestión de alguna manera.

Naturalmente, y aunque esto obstaculizará mis propios esfuerzos para integrarme con la API si el autor resuelve los problemas, deseo comunicárselo al autor inicialmente y luego al público, con el interés de resolver los problemas. Para lograr estos fines, asumo que debo seguir los procedimientos de Divulgación responsable .

Este producto tiene algunos clientes de pago, sin embargo, no soy uno de ellos y solo uso la versión gratuita.

A mi entender, debo proceder de la siguiente manera:

  1. Comuníquese con el (los) autor (es) en privado, describiendo los problemas descubiertos con los riesgos y las opciones de mitigación para cada uno.
  2. Determine un marco de tiempo adecuado para solucionar los problemas y liberar arreglos con el autor del programa.
  3. Una vez que el período de tiempo expira, publico los detalles de los problemas y el código de prueba de concepto.

Sin embargo, algunas de las preocupaciones que tengo son:

  1. ¿Cuál es la mejor manera de transmitir el mensaje de que no estoy buscando ningún tipo de ganancia financiera, y que esto no es personal y no pretende dañar el producto o la compañía?
  2. ¿Qué sucede si, a pesar de los mejores esfuerzos, el autor del producto decide obtener "legalidad" para tratar de ocultar los problemas? (Por supuesto que probablemente no sean abogados, los consejos solo serán una guía general).
  3. ¿Qué es un mecanismo de liberación válido para la publicación de los detalles? A menudo veo anuncios de esta naturaleza en la lista de correo de Divulgación completa; ¿Es esto generalmente considerado un lugar adecuado para estos?
  4. ¿Esto requeriría solicitar un número de CVE para los problemas encontrados?
  5. Como potencialmente me gustaría ingresar al campo de seguridad de la información a tiempo completo en el futuro, ¿debo usar un nombre personal en la divulgación? ¿O esto me expone a posibles problemas legales?
pregunta j-sec 11.01.2016 - 05:35
fuente

3 respuestas

2

1) Solo reporta el problema. Ni siquiera menciones "No estoy tratando de extorsionarte".

2) Una forma de evitar por completo los problemas legales es informar de forma anónima. Cree una cuenta de correo web usando ToR, y haga toda la comunicación a través de eso. Es triste que tengamos que considerar esto, pero los problemas legales pueden causarle grandes problemas, incluso si no ha infringido la ley.

3) La ruta de divulgación más oficial es [email protected]. Organizaciones como CERTs y Secunia lo recogerán de allí. El vendedor usualmente lanzará su propio aviso; tu recomendación es como una publicación de blog que promocionarías: Twitter, Reddit, etc.

4) Solicite un número de CVE en algún momento antes de publicar el aviso. Es fácil obtener uno y solo necesitas revelar detalles de la vulnerabilidad.

5) Si el problema se soluciona y el proveedor es constructivo, podría levantar su anonimato. Apuntar a los avisos que ha publicado es muy útil para el empleo de información técnica.

Otra cosa: le sugiero que no muestre líneas de tiempo inicialmente. Solo haga esto si parecen ser excesivamente lentos.

    
respondido por el paj28 11.01.2016 - 14:27
fuente
1

Basándose únicamente en cómo ha escrito la pregunta aquí, parece obvio que tiene las mejores intenciones al hacer esto y que es bastante capaz de dejar estas intenciones claras en forma escrita. Simplemente indique su motivo de manera clara y respetuosa, como lo ha hecho aquí, y cualquier editor comprometido seriamente con su producto también debería tomar en serio su mensaje.

Algunos puntos generales a tener en cuenta para este tipo de cosas:

Pida hablar con la persona adecuada antes de mencionar cualquier detalle.
Desea transmitir su información a un arquitecto o desarrollador relevante, o tal vez a un gerente que tenga suficiente conocimiento técnico para entienda el problema correctamente y quién también comprenderá la necesidad de mantener un límite en el problema hasta que se resuelva. Puede tomar algún tiempo (?) Para acceder a la persona con la que necesita hablar, pero estoy seguro de que esa persona apreciará el esfuerzo.

Sé respetuoso
No todos responden igual de bien a lo que puede interpretarse como crítica y posiblemente como una amenaza (de divulgación pública). Recuerde que es probable que haya una cierta cantidad de orgullo involucrado. También es completamente posible que los desarrolladores estén plenamente conscientes del problema, pero que las prioridades no sean lo suficientemente altas, o que simplemente consideren el abuso poco probable, y lo hayan ignorado hasta ahora. En cualquier caso, es más probable que tenga éxito si se presenta como una persona agradable y realmente útil (lo cual, como ya mencioné anteriormente, lo hace). Con suerte, esto le ayudará a evitar la pregunta 2 por completo (no puedo imaginarme a un desarrollador que quiera involucrar a un abogado en un tema como este, a menos que sienta que es absolutamente necesario).

Dicho esto, asegúrate de que entiendan que eres serio y que quieres ver el problema resuelto.

Solicitando un identificador de CVE
No estoy familiarizado con los requisitos para obtener una ID de CVE o con la relevancia que esto tendría para su caso específico. Quizás pueda encontrar información útil en las Preguntas frecuentes de mitre.org ? Puede encontrar información sobre el proceso de la aplicación en el mismo sitio . Sin embargo, debería tener cuidado al mencionar esto, para no parecer demasiado agresivo o amenazador para el editor.

    
respondido por el Kjartan 11.01.2016 - 13:09
fuente
1

Al intentar implementar alguna funcionalidad relacionada con su producto {nombre del producto}, noté algo que podría tener una vulnerabilidad de seguridad. ¿Sería posible hablar con alguien sobre este tema, que se relaciona con {divulgación de información confidencial / posible denegación de servicio / invasiones extraterrestres accidentales}? Debido a la naturaleza de este problema, preferiría revelar todos los detalles a un miembro del personal técnico.

Gracias,

{buscador}

  • Se debe acordar con ellos un tiempo de divulgación razonable, no imponerlos, ya que algunas empresas han publicado tiempos de divulgación (por ejemplo, 90 días), pero otras pueden tener ciclos de liberación fijos o dependencias de terceros (por ejemplo, Apple tarda un poco en obtener). todo a través del proceso de envío de la tienda de aplicaciones, para que puedan solucionarlo mañana, pero no se publicará hasta el mes que viene)
  • Proporcione el PoC cuando lo solicite, o una vez que hable con la persona correcta. Esto debería evitar aparecer como después de una recompensa.
  • Si se vuelven "legales", asegúrese de que puede demostrar que no ha hecho nada ilegal. Por ejemplo, tiene todo el derecho de ver el tráfico en su propia red, incluso si fue generado por una aplicación que no escribió. El intento de ocultar problemas tiende a sugerir que a los desarrolladores no les importa la seguridad de sus usuarios; tarde o temprano, alguien menos escrupuloso explotará el problema. No hay mucho que pueda hacer si no están dispuestos a clasificarlo, excepto advertir (de hecho) a otros usuarios potenciales a través de medios tales como listas de divulgación.
respondido por el Matthew 11.01.2016 - 13:25
fuente

Lea otras preguntas en las etiquetas