LAS DEBILIDADES MAS COMUNES Y PELIGROSAS EN EL DESARROLLO DE SOFTWARE




En pleno auge de la trasformación digital, la implementación de nuevos modelos de negocio basados en la tecnología y la necesidad de incorporar nuevas soluciones innovadoras e interconectadas bajo presiones del entorno y del sector, han derivado en la introducción de nuevas brechas de seguridad del software (ya sea desarrollado o adquirido); las cuales están costando a las empresas una serie de pérdidas relacionados al cese de sus operaciones, demandas por incumplimiento o multas por requerimientos regulatorios.

Por otra parte, el ciclo de vida de desarrollo del software (Software Development Life Cycle SDLC) ha evolucionado cada vez más para generar productos y servicios de una manera más práctica y ágil donde generalmente; con menores recursos de desarrollo se requiere que los sistemas de información sean operacionalmente más resistentes, confiables en su funcionalidad y que permitan recuperarse cuando se espere que las operaciones del negocio se ven interrumpidas.

Desarrollo seguro de software


Aportar garantías de confidencialidad, la integridad y la disponibilidad se están convirtiendo en parte integral del desarrollo de software. En este sentido los líderes empresariales deben adoptar un enfoque holístico para asegurar que se consideren todos los controles necesarios relacionados a las diversas personas, procesos y elementos tecnológicos del desarrollo durante todo el ciclo de vida del software (Secure Software Development Life Cycle SSDLC).

Incorporar los aspectos de seguridad directamente en todo el ciclo de desarrollo del software, ofrece ciertas garantías y reduce costos a corto, mediano y largo plazo; comparados al concepto de “seguridad posterior”. No obstante, existe una serie de debilidades comunes que pueden evitarse al ser considerados los correctivos necesarios durante las etapas de diseño, desarrollo y particularmente en la codificación del software. Es importante resaltar que, estas debilidades se consideran peligrosas ya que, a menudo son fáciles de encontrar, explotar y pueden permitir que actores ajenos a la organización se apoderen completamente de un sistema, roben datos o incluso impidan que una aplicación funcione correctamente.

En este sentido, a continuación identificamos una lista con las principales vulnerabilidades según el Common Weakness Enumeration CWE®, como un valioso recurso que puede ayudar a los desarrolladores, evaluadores y usuarios, así como a gerentes de proyectos, analistas de seguridad y educadores, a proporcionar información sobre las debilidades de seguridad más graves y comunes de la actualidad. Esta lista ha sido elaborada mediante el uso de los datos que se encuentran en la base de datos nacional de vulnerabilidades (NVD) del Instituto Nacional de Estándares y Tecnología (NIST) de los Estados Unidos, así como las puntuaciones asociadas a cada vulnerabilidad (Common Vulnerability Scoring System - CVSS); para clarificarlas según su prevalencia y gravedad.

Mediante el identificador de la vulnerabilidad (ID CWE) podrá dirigirse directamente al sitio de MITRE CWE donde podrá encontrar lo siguiente:
- Clasificación de cada entrada y enlaces a los datos completos de dicha entrada.
- Información relacionada a la prevalencia y sus posibles consecuencias.
- Costo de remediación, Facilidad de detección, Métodos de detección y Ejemplos de código.
- Frecuencia de ataque y conciencia del atacante; así como los patrones de ataque relacionados con esta debilidad.

Cada entrada también incluye pasos de prevención y corrección bastante extensos que los desarrolladores pueden tomar para mitigar o eliminar la debilidad.

Posición ID CWE   Nombre Conteo NVD Avg CVSS Puntaje
[1] CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') 3788 5.80 46.82
[2] CWE-787 Out-of-bounds Write 2225 8.31 46.17
[3] CWE-20 Improper Input Validation 1910 7.35 33.47
[4] CWE-125 Out-of-bounds Read 1578 7.13 26.50
[5] CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer 1189 8.08 23.73
[6] CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') 901 8.98 20.69
[7] CWE-200 Exposure of Sensitive Information to an Unauthorized Actor 1467 6.01 19.16
[8] CWE-416 Use After Free 918 8.26 18.87
[9] CWE-352 Cross-Site Request Forgery (CSRF) 866 8.08 17.29
[10] CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') 767 8.52 16.44
[11] CWE-190 Integer Overflow or Wraparound 846 7.70 15.81
[12] CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') 792 7.27 13.67
[13] CWE-476 NULL Pointer Dereference 529 6.83 8.35
[14] CWE-287 Improper Authentication 412 8.05 8.17
[15] CWE-434 Unrestricted Upload of File with Dangerous Type 346 3.50 7.38
[16] CWE-732 Incorrect Permission Assignment for Critical Resource 426 6.99 6.95
[17] CWE-94 Improper Control of Generation of Code ('Code Injection') 295 8.74 6.53
[18] CWE-522 Insufficiently Protected Credentials 283 7.92 5.49
[19] CWE-611 Improper Restriction of XML External Entity Reference 277 7.88 5.33
[20] CWE-798 Use of Hard-coded Credentials 234 8.76 5.19
[21] CWE-502 Deserialization of Untrusted Data 217 8.93 4.93
[22] CWE-269 Improper Privilege Management 278 7.36 4.87
[23] CWE-400 Uncontrolled Resource Consumption 249 7.09 4.14
[24] CWE-306 Missing Authentication for Critical Function 193 8.10 3.85
[25] CWE-862 Missing Authorization 236 6.90 3.77
[26] CWE-426 Untrusted Search Path 175 7.68 3.25
[27] CWE-918 Server-Side Request Forgery (SSRF) 161 7.85 3.08
[28] CWE-295 Improper Certificate Validation 180 7.19 3.04
[29] CWE-863 Incorrect Authorization 189 6.82 2.97
[30] CWE-284 Improper Access Control 173 7.22 2.94
[31] CWE-77 Improper Neutralization of Special Elements used in a Command ('Command Injection') 131 8.46 2.77
[32] CWE-401 Missing Release of Memory after Effective Lifetime 189 6.43 2.72
[33] CWE-532 Insertion of Sensitive Information into Log File 154 6.82 2.42
[34] CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') 157 6.68 2.39
[35] CWE-601 URL Redirection to Untrusted Site ('Open Redirect') 176 6.12 2.35
[36] CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop') 150 6.72 2.30
[37] CWE-704 Incorrect Type Conversion or Cast 109 8.48 2.30
[38] CWE-415 Double Free 117 8.04 2.30
[39] CWE-770 Allocation of Resources Without Limits or Throttling 139 7.06 2.29
[40] CWE-59 Improper Link Resolution Before File Access ('Link Following') 122 7.07 2.01
Posición ID CWE   Nombre Conteo NVD Avg CVSS Puntaje

Fuente: MITRE





Fundada en 2012, ORBIS es una empresa de consultoría líder con experiencia en Centro América y El Caribe, reconocida por ayudar a sus clientes a mejorar la gobernanza y acelerar la transformación empresarial aprovechando la tecnología. ORBIS ayuda a las organizaciones a optimizar sus operaciones y la toma de decisiones impulsando la creación de valor. Nuestros profesionales, de amplia trayectoria en el mundo corporativo y consultivo, ponen a su disposición su extraordinario talento y capacidades, brindando soluciones alineadas a sus objetivos estratégicos, considerando el cumplimiento y las mejores prácticas nacionales e internacionales, marcando la diferencia a la hora de desarrollar e implantar las soluciones para su gestión y transformación empresarial.