Una de las
fuentes más importantes de fallos de seguridad son las vulnerabilidades del
software. Son errores que cometen los desarrolladores de software, en general,
sin intención alguna. Estas fallas, por medio de un "abuso
inteligente", podrían implicar un riesgo de seguridad que comprometa el
sistema donde se esté ejecutando el mismo
Para
explicar este concepto se podría exponer un ejemplo concreto. Suponga que el
programador de MsPaint olvidó comprobar el valor de la variable que aloja el
parámetro del tamaño de una imagen. Cuando un usuario abre cualquier imagen, el
programa primero debe conocer su tamaño, para lo cual usa el módulo con la
función correspondiente "hallar tamaño". Así, pues, como no se hace
la comprobación (cruce de información) del valor de la variable, un atacante
podría producir un desbordamiento de memoria intermedia, de tal forma que el
programa MsPaint llegara a lugares de memoria donde se aloje código intencionalmente
modificado por el atacante, y así comprometer el sistema víctima.
Hoy en día,
debido al crecimiento exponencial en la cantidad de software que se viene
desarrollando, la cantidad de vulnerabilidades ha aumentado exorbitantemente.
En el segundo trimestre del 2011, Kaspersky Labs (una empresa dedicada a la
seguridad informática) detectó más de 27 millones de vulnerabilidades y un
promedio de 12 vulnerabilidades por computador. Estas vulnerabilidades se
concentran precisamente en dos grandes desarrolladores. El primero sería Adobe
(el creador de flash y Adobe PDF Reader) con las 10 vulnerabilidades más
comúnes, seguido por Oracle, como lo confirma el siguiente gráfico tomado de
MITRE.
Vulnerabilidades de Plataformas de
Software. Fuente:
La
vulnerabilidad más crítica se presentó en Adobe Flash Player. Afectaba al 40%
de los usuarios y permitía la ejecución de código malicioso con permisos de
administrador por parte de un hacker. Seguía una vulnerabilidad en Sun-Java-GDK,
con una presencia del 31%, que permitía a los atacantes ejecutar malware para
el robo y la manipulación de los datos y también la denegación de servicio en
la máquina.
Cada día se
encuentran docenas de vulnerabilidades. El gobierno estadounidense encargó a la
organización MITRE crear estándares que faciliten la clasificación,
comunicación y corrección de las vulnerabilidades. Se han creado tres
estándares diferentes. El CVE (Common Vulnerabilities and Exposures), el CVSS
(Common vulnerabilities Scoring System) y el CVRF (Common Vulnerability
Reporting Framework). Tienen como objetivo que al encontrar vulnerabilidades se
entregue información precisa a los fabricantes que permita incrementar la
eficacia en la confirmación, entendimiento y más importante inmunización de la
misma.
Dado este
ambiente, en el cual las fallas son detectadas y corregidas una vez han sido
aprovechadas para generar problemas, es recomendable mantener instalados solo
los programas de uso frecuente. Aquellos que dejen de ser utilizados deben ser
desinstalados del PC. Las actualizaciones de los programas son una estrategia
de defensa que permite solucionar fallas y corregir vulnerabilidades. Por ello
se debe asegurar que se permite al software instalado actualizarse regularmente.
Por último, es muy importante validar la fuente del software instalado. Las
aplicaciones gratuitas generalmente no cuentan con un equipo de desarrollo que
respalde su mejoramiento continuo, y se convierten en la puerta de entrada a
aplicaciones tipo Malware.
.jpg)

.jpg)

.jpg)




.jpg)

.jpg)



