¿Son los desarrolladores los únicos responsables del estado actual de la ciberseguridad en el que las amenazas evolucionan más rápido que las defensas?

Los desarrolladores por sí solos NO tienen la culpa del estado actual de ciberseguridad, pero son responsables del panorama de amenazas en constante evolución. Cuando alguien compromete un producto, aplicación web o sistema, encuentra una vulnerabilidad que probablemente haya existido en ese producto desde que fue escrito. Digo que los desarrolladores no tienen la culpa, porque la mayoría de ellos no tienen la comprensión básica adecuada de por qué deben preocuparse por la seguridad. No ven la conexión entre el código que escriben y las vulnerabilidades del mañana. Necesitan ser educados y ser conscientes. La rendición de cuentas solo puede comenzar después de alcanzar la conciencia.

Nuevas aplicaciones se implementan diariamente con antiguas vulnerabilidades porque :

  1. Los desarrolladores no entienden el “por qué” de la seguridad: ¿por qué deberían preocuparse?
  2. Si la organización tiene un ciclo de vida de desarrollo seguro, es probable que no se adhieran al 100% del tiempo (acéptelo, es difícil decir que sí)
  3. Los probadores de seguridad no pueden probar exhaustivamente cada versión de software; existen herramientas pero no son perfectas
  4. Las prácticas ágiles de software aceleran las cosas, lo cual es bueno para la implementación y las reparaciones, pero puede introducir el vuln más rápido

Si tenemos que culpar a alguien, la culpa recae en los Ejecutivos de cada organización por no invertir en la educación necesaria. Cierta culpa recae en la academia por no enseñar prácticas de codificación segura desde el principio.

PERO, no nos culpemos, trabajemos en educar a los desarrolladores del mundo en las vulnerabilidades más prolíficas. Si pudiéramos erradicar el OWASP Top 1 (Inyección) y 3 (XSS), la web sería un lugar mucho más seguro para hacer negocios.

Los desarrolladores no son los únicos responsables del problema, pero diría que soportan una gran parte del problema. Hay algunas razones para esto:

  1. Muchos desarrolladores no tienen una educación formal en ingeniería de software. Muchos de los que lo hacen, no obtuvieron una muy buena educación. Esto se aplica también a sus gerentes.
  2. Debido al n. ° 1, los requisitos no están adecuadamente definidos y verificados. Miro esto como su pregunta, que francamente no está bien delimitada.
  3. Las compañías que desarrollan software a menudo tienen estándares documentados inadecuados para el desarrollo seguro de s / w. Por lo tanto, los desarrolladores tienen objetivos mal definidos para la calidad del código. (Por ejemplo, qué tan sólida debe ser la desinfección de entrada de datos para una aplicación web)
  4. El desarrollo de productos de software generalmente tiene un calendario agresivo que no permite suficiente tiempo para realizar pruebas de seguridad.
  5. Los procesos de control de calidad no prestan suficiente atención a la seguridad.
  6. La administración no está debidamente incentivada para exigir software seguro.
  7. La cultura general de una empresa no requiere que la seguridad sea una prioridad desde el inicio de un proyecto.

Hay otras razones que entran en juego, pero estas son las principales.

No, no creo que lo sean.

He visto muchos proyectos de software donde las consideraciones de seguridad nunca fueron parte del alcance y, por lo tanto, no se contabilizaron en el presupuesto. Sin el tiempo o el dinero asignado a las pruebas de seguridad, no sorprende que los problemas simples (por ejemplo, la inyección de SQL) sean problemas comunes.

El problema aquí es la conciencia; la seguridad debe ser un problema a nivel de placa (y para muchos esto se está convirtiendo en el caso). Cuando la seguridad se considera importante a nivel de la junta, el presupuesto y el tiempo (dos restricciones clave) para abordar de manera proactiva los problemas de seguridad lo convertirán en presupuestos / planes de proyecto.

More Interesting

¿Cuáles son algunas técnicas inteligentes que los desarrolladores de software han utilizado para aumentar su seguridad laboral en una empresa?

¿Por qué los desarrolladores de software coreanos suelen trabajar horas extras todos los días?

¿Por qué a los diseñadores de productos generalmente se les da la responsabilidad de la gestión del producto y no a los desarrolladores de software?

Soy un desarrollador de software, con 3 años de experiencia en una base de productos de inicio en la India. ¿Cómo puedo obtener un trabajo de software permanente en Australia o Singapur?

¿Cuál es su consejo para nivelar trabajo / estudio / proyectos / amor y lograr sus objetivos?

¿Cuál es la edad máxima para un desarrollador de software / ingeniero de software?

¿Qué habilidades como desarrollador deberías conocer para conseguir un trabajo en el mercado?

¿Cómo se puede obtener un trabajo de desarrollador de software después de cumplir, digamos, 20 años de prisión?

¿Debería considerar un cambio de carrera? Llevo más de una década trabajando en el campo del desarrollo de software. La salud se está deteriorando, la vida social está hecha jirones (la abandoné para "cumplir el plazo") y estoy cansada. ¿Cómo debo hacerlo?

Como desarrollador de software (principiante), ¿importa dónde trabajo?

A los 25 años, ¿soy demasiado viejo para solicitar un programa de pasantías de desarrollador de software?

Cómo desarrollar software para un cajero automático

¿Los desarrolladores de software a menudo tienen que trabajar de viernes a domingo?

¿La decisión de Sony de retirarse de DRM está alejando a los desarrolladores y editores externos?

¿Debería tener miedo del índice de rendimiento como desarrollador de software?