No, no hay absolutamente ninguna posibilidad de eso en el futuro previsible.
Cada disciplina de ingeniería, desde civil, mecánica y eléctrica hasta medicina, medio ambiente, espacio, etc. (cada una de las cuales tiene muchas subdisciplinas) tiene una curva evolutiva de maduración, ya que aprende colectivamente todos los detalles de su disciplina, cómo interactúa con otros disciplinas de ingeniería, cómo encaja en el mundo real e interactúa con las personas a las que sirve, cómo capacita a sus recién llegados y cómo asume la responsabilidad de sus fallas.
Esas disciplinas de ingeniería clásica (mecánica, civil, incluso eléctrica / electrónica) han madurado significativamente durante cientos de años, incluso miles de años. Sabemos lo que debemos hacer para construir un puente que dure 100 años o más. Sabemos cómo hacer relojes y autos y sillas que hacen exactamente lo que sus dueños esperan. Podemos enviar la sonda espacial a los lugares más alejados de nuestro sistema solar (que, curiosamente, involucra software, ¡volveré a eso!). Incluso la medicina, que se ha estado desarrollando durante cientos de años, está relativamente avanzada.
Como siempre el software … es nuevo. Es una disciplina de ingeniería como ninguna otra antes. Se puede realizar, con el mismo grado de profesionalismo, o particularmente falta de ella, por un niño de 7 años o de 77 años, sin educación terciaria. Al mismo tiempo, nuestro sistema de educación terciaria no puede mantenerse al día con el ritmo de desarrollo del software, por lo que se coloca una gran carga sobre sus profesionales para que aprendan a sí mismos una educación continua. Algunos lo hacen bien. Algunos no tan bien.
- En el futuro, ¿las personas enfermas y discapacitadas podrán conectar sus mentes a un cuerpo de robot externo?
- ¿Es el futuro del universo infinito, pero no el pasado?
- ¿Cuáles son las diversas formas de viajar en el tiempo? ¿Qué puede ser posible en el futuro?
- ¿Existe alguna amenaza real de superpoblación?
- ¿Habrá libros físicos en el futuro?
La “seguridad” es solo una de las muchas cosas que los profesionales de software deben mantener al día, pueden ser bastante complicadas y, por lo general, no forman parte del desarrollo de sus productos, en la medida en que los requisitos que se les da para implementar a menudo No especifique nada acerca de la seguridad, por lo que deben hacer su propio análisis de riesgos.
Creo que actualmente estamos pasando por el “abismo de la desilusión” en lo que respecta a la seguridad del software en la disciplina de la ingeniería de software, donde está mirando hacia atrás sobre sus errores y apenas comienza, en masa, a corregir el rumbo. Pero el cuerpo de trabajo (programas) ya es masivo y necesita ser revisado, reexaminado, arreglado y reevaluado. Las herramientas para hacer esto son todavía inmaduras, pero están mejorando.
Mientras tanto, los actores malintencionados se están aprovechando de un barril de software con capacidad para explotar a un ritmo cada vez mayor. Dudo que haya muchos investigadores de seguridad que consideren que la disciplina de la ingeniería de software está progresando positivamente, según lo determinado por la cantidad de vulnerabilidades en el mundo real, cuando en realidad ese número está creciendo todo el tiempo.
Me temo que la luz al final del túnel de seguridad del software es todavía muy tenue.
Por más tiempo, y ojalá más interesante, lea acerca de infosec, y por qué estamos en este lío, lea este artículo que escribí hace unos años:
Dia cero | Canny Outlaw