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:
- 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.
- Determine un marco de tiempo adecuado para solucionar los problemas y liberar arreglos con el autor del programa.
- 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:
- ¿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?
- ¿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).
- ¿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?
- ¿Esto requeriría solicitar un número de CVE para los problemas encontrados?
- 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?