La cosa # 1 que un ingeniero de software debe saber sobre la seguridad del software, en mi opinión, es esto …
“Ese uso va en contra de las reglas” no es una defensa.
El uso descrito puede ser un conjunto particular de datos, o puede ser una forma particular de invocar una función, o invocar algo de dos hilos simultáneamente, etc.
- ¿Qué matemática se requiere en ingeniería de software?
- ¿Cómo es trabajar en Bloomberg como ingeniero de software?
- ¿Cuáles son algunos pasatiempos útiles para un ingeniero de software, aparte de la codificación?
- ¿Merece la pena mudarse a Holanda desde Ucrania si soy ingeniero de software?
- Como ingeniero de software contratado, ¿puedo patentar mis inventos personales?
En el pasado, informé problemas de seguridad con el software y pedí al desarrollador que volviera con el argumento de que no obedecía las reglas.
Adivinen qué, muchachos … Si alguien intenta piratear su servidor / dispositivo / biblioteca, etc., eso es lo que van a hacer. Van a romper las reglas. Si su documentación dice que una API no es segura para subprocesos, la llamarán desde dos subprocesos al mismo tiempo. Si un parámetro necesita ser un número entero positivo, pasará un número entero negativo y verá qué sucede. Si dos banderas son exclusivas, y solo se debe usar una a la vez, las establecerán ambas.
Si tiene la suerte de trabajar en un área donde todo el código y los datos con los que trata son totalmente confiables, disfrute de su libertad mientras pueda, pero tenga en cuenta que en algún momento en el futuro, algunos códigos o datos no confiables es probable que aparezca y desafíe sus suposiciones. Puede ser mañana o dentro de años, pero esté listo cuando suceda.