Esto puede estar simplificando demasiado el proceso, pero la respuesta corta es “hornear la seguridad en todas las etapas del desarrollo”.
Microsoft, como cualquier otra tienda de desarrollo de software, (anteriormente) priorizó las funciones y consideró que la seguridad es solo otro error. Cuando se llegó a un punto crítico y un simple “error” podría afectar a millones de máquinas en todo el mundo en cuestión de horas, se hizo importante que la seguridad se integrara desde las etapas de diseño hasta el lanzamiento y el mantenimiento. Esto toma muchas formas: revisiones de seguridad de los documentos de diseño, pruebas de penetración periódicas a través del proceso de desarrollo, una evaluación de penetración final y un proceso para reconocer y responder rápidamente a los errores de seguridad entrantes después de que se haya lanzado el software. Sin embargo, todo esto requiere mucho dinero (MS detuvo el desarrollo durante 3 meses completos para someterse a una revisión de seguridad), así como los campeones y procesos internos adecuados para asegurarse de que esto suceda.
La diáspora, aunque se lanzó en la etapa alfa (?), Sufrió el enfoque de características / funcionalidad primero, seguridad después. Para un sistema de privacidad, esta es una mala elección. La diáspora debería haber planeado un sistema de autorización / acceso; no lo hizo, se basó en el valor predeterminado de Rails (Sugerencia: Rails no proporciona autorización por defecto). Este es solo un ejemplo, aunque hay muchos otros documentados en la prensa.
- ¿CloudFlare protege los sitios de blackhat de los ataques DDOS?
- ¿Cómo se puede estar seguro de que el software antivirus de las principales empresas con sede en Rusia y Europa del Este es seguro?
- ¿Qué especialidad elegirías en la universidad si supieras que quieres ser un especialista en seguridad cibernética?
- ¿Qué debo hacer si pierdo mi contraseña de Windows 8?
- Seguridad informática: tengo una profunda obsesión con el desarrollo de malware; ¿Cómo puedo canalizar esta energía en algo productivo?
Dicho esto, el desarrollo de software ocurre en fases. La primera iteración de un producto suele ser una prueba de concepto. Si la diáspora continúa, necesita una revisión de seguridad completa, si no una reescritura desde cero para que se construya con la seguridad / privacidad / autorización inherente al sistema.