A9: Uso de componentes con vulnerabilidades conocidas 2017 OWASP

¿Qué son los componentes con vulnerabilidades conocidas?

Las porciones de un sistema de software que poseen fallas de protección documentadas se denomina componentes con susceptibilidades verificadas. Estos abarcan bibliotecas, armazones de trabajo, modificadores y plugins que son esenciales tanto en el diseño como en la funcionalidad de las aplicaciones.

Amenazas de los componentes vulnerables documentados

El grave peligro radica en estos elementos es su susceptibilidad a ser utilizados por un pirata informático si tiene conocimiento de las fallas de seguridad. Las consecuencias pueden variar desde el robo de información hasta el control total del sistema por el intruso.

Por ejemplo, consideremos una aplicación que se apoya en una biblioteca con una falla documentada que permite la ejecución remota del código. Esto podría facilitar a un pirata informático la instalación de un código malicioso en el sistema que está ejecutando la aplicación, lo que le permitiría robar información, instalar programas perjudiciales e incluso tomar el control total del sistema.

Identificación de los componentes vulnerables documentados

Existen recursos en línea como el Registro Nacional de Vulnerabilidades (NVD) y el registro del proyecto de seguridad de aplicaciones web abiertas (OWASP) que contienen listados de estas susceptibilidades en varios componentes de software. Estos recursos pueden ser aprovechados por los creadores y los equipos de protección para rastrear las fallas en los componentes que son utilizados en sus aplicaciones. Adicionalmente, los programas de análisis de código estático y dinámico pueden asistir en la identificación de componentes vulnerables documentados en el código de una aplicación.

Soluciones futuras para las susceptibilidades de los componentes

Diversas estrategias implementadas por los equipos de desarrollo y protección pueden mitigar de manera efectiva los peligros asociados con el uso de componentes con susceptibilidades documentadas. Algunas de estas estrategias incluyen:

  • Actualización periódica de los componentes: Las susceptibilidades suelen ser corregidas por los creadores de los componentes una vez que son identificadas. La actualización frecuente puede proporcionar protección contra estas fallas.

  • Selección de componentes de fuentes fiables: Algunos componentes son más propensos a tener fallas de seguridad que otros o no se actualizan regularmente. Utilizando componentes de fuentes confiables se puede reducir el riesgo de incorporar susceptibilidades en una aplicación.

  • Análisis de código para la seguridad: Los programas de análisis de código para la seguridad pueden ser útiles en la identificación de la utilización de componentes con susceptibilidades conocidas en una aplicación.

  • Incorporación de medidas de seguridad: Incluso con la presencia de una falla documentada, la aplicación de medidas de seguridad en una aplicación puede minimizar el peligro. Si un componente tiene una falla que permite la inyección de SQL, el peligro puede ser mitigado mediante la implementación de la parametrización de solicitudes en la aplicación.

¿Cómo identificar vulnerabilidades conocidas?

Reconocer las amenazas potenciales es crucial en el manejo de la seguridad informática. Para esto, se precisan estrategias para descubrir y registrar fallos en los sistemas que pueden ser aprovechados por los invasores. Aquí presentamos algunas herramientas y estrategias para orientarte en este labor.

Detectores de Inseguridades

Diversos softwares pueden ser utilizados para descubrir fallos en los sistemas. Dichas herramientas pueden escudriñar componentes específicos como el sistema operativo, aplicativos usados frecuentemente, y servicios de red. Las más usadas son Nessus, OpenVAS, y Nexpose.

Repositorios de Inseguridades

Los repositorios de inseguridades son bibliotecas virtuales que reúnen y registran amenazas informáticas identificadas. Repositorios como la Base Nacional de Datos de Inseguridades (NVD) y la Base de Datos de Seguridad de Inseguridades (SVD) proveen detalles de las amenazas, incluyendo su descripción, nivel de amenaza y posibles soluciones.

Ensayos de Invasión

Las pruebas de invasión son un método efectivo para descubrir fallos en los sistemas. Dichas pruebas simulan ataques a los sistemas para descubrir y aprovechar fallos. Los ensayos de invasión pueden ser llevados a cabo por expertos en seguridad informática, o por softwares automatizados, como Metasploit.

Auditoría de Código Fuente

Examinar el código fuente es otro método para descubrir fallos. Este método requiere el registro detallado del código de programación de los aplicativos para descubrir fallos que pueden ser aprovechados. Softwares como SonarQube y Veracode pueden asistir en esta tarea.

Actualizaciones y Refuerzos

Mantener los sistemas al día es un modo efectivo de prevenirse contra amenazas informáticas identificadas. Esto requiere la instalación frecuente de actualizaciones y refuerzos que corrigen fallos en los sistemas. Es relevante mencionar que incluso los sistemas que están al día con sus actualizaciones pueden seguir siendo vulnerables a los fallos que aún no han sido corregidos por el fabricante.

Para resumir, reconocer las amenazas informáticas implican el uso de diversas herramientas y métodos. Este labor es crucial en la protección de informaciones y puede prevenir ataques informáticos.

Cómo prevenir la exposición a vulnerabilidades conocidas

Para robustecer tu seguridad cibernética y mitigar los riesgos potenciales, es crucial implementar acciones tanto reactivas como preventivas. Te proporcionamos seis estrategias esenciales y sinérgicas para aumentar la fortaleza de tus recursos digitales.

Mantén el software al día

Mantente alerta frente a las nuevas versiones de tu software. Cada una trae consigo arreglos de seguridad diseñados para contrarrestar amenazas nuevas, de manera que es imprescindible implementarlas tan pronto estén al alcance.

Adopta herramientas de identificación de debilidades

Incorpora la utilización de herramientas especializadas en la detección de software obsoleto o maligno en tus sistemas. Estas pueden examinar tus sistemas y producir informes detallados sobre los peligros presentes.

Crea un mecanismo propio de actualizaciones y refuerzos

Un mecanismo interno y autónomo que descargue e implemente renovaciones y refuerzos, te garantizará siempre la versión más fortificada de tus elementos de software.

Limita el software de terceros

Cuanta más cantidad de software de terceros, más complejidad para mantener todo al día. Es aconsejable reducir al máximo el uso de aplicaciones y elementos que provengan de fuentes externas.

Capacitación constante de tu personal

Aún el mejor sistema de seguridad fallará si tu equipo humano no está adecuadamente formado. Deben estar al corriente en las últimas prácticas de seguridad informática y saber cómo identificar y combatir las distintas amenazas a la seguridad.

Crea un procedimiento propio para la gestión de vulnerabilidades

Disponer de un procedimiento interno para lidiar con vulnerabilidades te permitirá reconocer, catalogar y manejar de forma razonada las amenazas a tus componentes de software. Este método te proporcionará una visión integral de las debilidades de tu sistema y te permitirá establecer preferencias para las renovaciones y refuerzos.

De esta forma, es imprescindible una táctica bien armada y variada para prevenir la exposición a peligros conocidos, combinando la renovación constante de elementos, la utilización de herramientas para detección de vulnerabilidades, mecanismo autónomo para renovaciones y refuerzos, disminución del software de terceros, capacitación continua del personal y un procedimiento interno para gestión de debilidades. Implementando estas acciones, tu riesgo será casi nulo y tu sistema estará constantemente a salvo.

`

`

Ejemplos de uso de componentes con vulnerabilidades conocidas en el mundo

En la esfera de la ciberseguridad, nos encontramos con numerosos ejemplos de cómo las vulnerabilidades conocidas pueden desencadenar incidentes devastadores. Veamos algunos de estos episodios que destacan la gravedad de tal riesgo.

El episodio de Equifax

Una muestra clara de la explotación de estas vulnerabilidades se dio en la crisis que atraviesa Equifax en 2017. La firma de informes de crédito padeció un ataque que comprometió los datos privados de aproximadamente 147 millones de personas. El culpable fue una falla no corregida en el sistema de aplicaciones web Apache Struts, a pesar de que el parche estaba al alcance.

El ataque a Target

Un caso análogo tuvo lugar en la cadena de tiendas Target en 2013. Maleantes cibernéticos consiguieron robar los datos de tarjetas de crédito y débito de 40 millones de compradores. Esta violación de seguridad se hizo posible a través de una plataforma de gestión de proveedores con una vulnerabilidad conocida.

El dilema de Heartbleed

Heartbleed es una falla de seguridad en la biblioteca de cifrado OpenSSL, empleada en numerosas aplicaciones web para proteger las comunicaciones. Este fallo, revelado en 2014, permitió a los infiltrados acceder a la memoria de los sistemas que dependían de versiones expuestas de OpenSSL. A pesar de que se emitió un "parche" rápidamente, muchos sistemas no se actualizaron pronto, provocando numerosos incidentes de seguridad.

El evento WannaCry

WannaCry es otro contundente ejemplo, se trata de un ransomware que se propagó en 2017, tomando ventaja de una falla en el protocolo de red SMB de Microsoft. Microsoft había distribuido un "parche" para este fallo dos meses antes del ataque, sin embargo, varias organizaciones no lo implementaron permitiendo la proliferación del ransomware.

Estos acontecimientos refuerzan la importancia de mantener sistemas y aplicaciones al día para salvaguardar contra vulnerabilidades conocidas. A pesar de que a menudo existen remedios para estas vulnerabilidades, la desidia o el descuido pueden propiciar ataques cibernéticos.

Cómo clasificar una vulnerabilidad

Identificar la categoría de un peligro digital es clave en la protección de la información digital. Este procedimiento ahorra las organizaciones de contratiempos al proporcionar una manera de etiquetar estos peligros y asignar un plan específico para controlarlos.

Estatutos para Catalogar Peligros Digitales

Hay una serie de factores que puedes utilizar para catalogar los peligros digitales, como:

  1. Envergadura del Peligro: Esto hace referencia a la potencial escala del daño que podría provocar un peligro. Se pueden etiquetar como extremos, altos, medios o bajos basándose en su envergadura.

  2. Posibilidad de Explotación: Algunos peligros son más propensos a la explotación que otros. Aquellos que requieren mínimas destrezas técnicas o pocos recursos para ser aprovechados se consideran de alto peligro, en cambio, los que necesitan un elevado nivel técnico o amplios recursos se califican de bajo peligro.

  3. Impacto Potencial: Este se refiere al posible impacto que la explotación de un peligro puede conllevar. Las consecuencias pueden ser financieras, operativas, perjudiciales para la reputación, legales, etc.

Proceso para Catalogar Peligros Digitales

El proceso para catalogar peligros involucra las siguientes fases:

  1. Detección del Peligro: El paso inicial es identificar un peligro. Esto puede lograrse mediante pruebas de irrupción, evaluaciones de protección de información, inspección de software, etc.

  2. Determinación del Peligro: Una vez identificado, se asigna un valor de peligro basado en los criterios descritos anteriormente. Esta determinación muestra la envergadura del peligro y su propensión a la explotación.

  3. Designación del Peligro: Según la determinación, el peligro se designa en el grupo más adecuado. Esta designación colabora a definir la prioridad del peligro y los pasos a seguir para controlarlo.

Instrumentos para Catalogar Peligros Digitales

Existen varias aplicaciones que pueden agilizar la tarea de catalogación de peligros. Algunas de estas aplicaciones son:

  1. Sistema de Clasificación de Peligros Genéricos (SCPG): Es un sistema universal que facilita la categorización del peligro. SCPG ofrece una calificación numérica que representa la envergadura de un peligro.

  2. Programa de Seguridad de Aplicaciones Web Universales (SAWU): SAWU ofrece una lista de los diez peligros más significativos en aplicaciones web, conocida como SAWU Top 10. Esta lista puede ser utilizada para catalogar los peligros en aplicaciones web.

Para finalizar, la catalogación de peligros digitales es un procedimiento crucial para el manejo de protección de información. Simplifica a las organizaciones en la tarea de catalogar estos peligros y en determinar la estrategia más adecuada para controlarlos.

`

`

FAQ

Este documento se enfoca en aspectos clave de uno de los componentes del Proyecto OWASP 2017, el ítem A9: Componetes Implementados con Problemas de Seguridad Conocidos. Abarcamos también algunas dudas frecuentes.

El Punto Central del A9: ¿Qué hay en la colocación de componentes vulnerables bajo el enfoque OWASP 2017?

El ítem marcado como A9 en la propuesta de OWASP 2017 hace énfasis en la práctica negativa de utilizar elementos de software que ya han demostrado lacras de seguridad. Esta referencia nombra las principales amenazas en el ámbito de aplicaciones web, siendo una de ellas la selección perjudicial de componentes comprometidos.

¿Cuál es el peligro de los problemas de seguridad que ya han sido confirmados?

Las debilidades en la seguridad descubiertas y confirmadas en el pasado, actúan como imanes para intrusos. Estos individuos se valen de tales errores para debilitar las aplicaciones web y en peores casos, exponer información sensible. Al estar alerta y confirmar esas vulnerabilidades, se puede planificar y actuar para mitigar el peligro.

¿Cómo puedo descubrir si los componentes que empleo tienen problemas de seguridad confirmados?

Existen múltiples recursos para descubrir si los componentes utilizados en tu software presentan problemas de seguridad ya identificados. Bases de datos y herramientas, tales como la Base de Datos Nacional de Vulnerabilidades (NVD), la Base de Datos de Defectos de Seguridad en Código Abierto (OSVDB) y diversas aplicaciones para análisis estático de código (SAST), son vitales en este cometido.

¿Hay métodos para reducir la amenaza de componentes con problemas de seguridad confirmados?

Varios enfoques nos ayudan a limitar la amenaza que supone la utilización de componentes con problemas de seguridad reconocidos. Entre las estrategias, se recomienda el uso de elementos de software actuales y comprobados, implementación de controles de seguridad eficaces, someter al software a pruebas de seguridad recurrentes y formar a los desarrolladores en prácticas de codificación seguras.

¿Existen casos reales de problemas causados por la implementación de componentes con problemas de seguridad reconocidos?

Ciertamente, el caso de Equifax en 2017 es un ejemplo claro de este problema. En dicho incidente, intervinientes malignos aprovecharon una falla de seguridad conocida en un software específico empleado por Equifax, resultando en el robo masivo de información personal.

¿Cómo se ordenan las debilidades de seguridad?

Por lo general, las debilidades de seguridad se categorizan en función de la severidad de sus implicaciones y su posible impacto. Las categorías principales son: críticas, altas, medias y bajas. Su gravedad se establece a través de factores como su potencial explotación, posible daño y prevalencia.

Esperamos que este análisis detallado del ítem A9: Componentes Implementados con Problemas de Seguridad Conocidos, del proyecto OWASP 2017, sea de utilidad. Si tienes más inquietudes, no dudes en preguntar.

Referencias

Para mejorar el manejo de las debilidades detectadas de los sistemas, se sugieren las siguientes fuentes de información:

  1. OWASP Top 10 - 2017: Las Ambivalencias en la seguridad de las Aplicaciones Web más Notorias. Esta información es esencial para asimilar las primeras diez amenazas cruciales de seguridad web, incorporando el imprudente uso de elementos con riesgos ya evidenciados (A9). Disponible en: https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf

  2. Registro de Fallas Puntuales de Programas de Software de Estados Unidos (NVD). Respaldo autorizado del Gobierno estadounidense que brinda una detallada categorización de insuficiencias en software. Disponible en: https://nvd.nist.gov/

  3. Riesgos de Seguridad Reconocidos y Exposiciones (CVE). Proporciona una recopilación de amenazas legitimadas y amplias exposiciones para intercambiar información de riesgos en diversas plataformas y productos. Disponible en: https://cve.mitre.org/

  4. Base de Fallas de Software y Contenedores de Snyk. Es una reserva de areas vulnerables en contenedores e idiomas de código abierto. Disponible en: https://snyk.io/vuln

  5. Cotejo de Contingencias del Proyecto de OWASP. Este software facilita identificar dependencias de proyectos que fueron señaladas como puntos débiles. Disponible en: https://owasp.org/www-project-dependency-check/

  6. ZAP OWASP (Zed Attack Proxy). Es un software libre y de código abierto que ayuda a detectar fallos de seguridad en las aplicaciones web a lo largo del diseño y ensayo. Disponible en: https://www.zaproxy.org/

  7. Comprobación de Seguridad de Aplicaciones de OWASP (ASVS). Es un esquema de trabajo para instituir los deberes de seguridad para el diseño, desarrollo y evaluación de programas web. Disponible en: https://owasp.org/www-project-application-security-verification-standard/

  8. Pruebas Guiadas de OWASP. Proporciona una metodología integral para llevar a cabo pruebas de seguridad en aplicaciones web. Disponible en: https://owasp.org/www-project-web-security-testing-guide/

  9. Consejos Agiles de OWASP. Reune estratégias efectivas para que los profesionales en seguridad puedan realizar tareas concretas. Disponible en: https://cheatsheetseries.owasp.org/

  10. Prácticas Positivas de Seguridad de OWASP. Propone un listado con seguros preventivos que deben ser contemplados por todos los creadores de software. Disponible en: https://owasp.org/www-project-proactive-controls/

El uso de estos recursos provechosos puede facilitar un entendimiento profundo en el manejo de elementos con riesgos ya conocidos. Es importante recordar que la seguridad es un desafío permanente que requiere de un aprendizaje ininterrumpido frente a las nuevas amenazas y desafíos.

Recent Posts

Qu’est-ce que HTTP/2 et en quoi est-il différent de HTTP/1 ?

Parcours de développement : Passage de HTTP/1 à HTTP/2 Le Hypertext Transfer Protocol, connu sous l'abréviation…

9 meses ago

Cómo hackear una API en 60 minutos con herramientas de código abierto

Las API para diferentes personas son muy diferentes La dimensión digital está llena de nudos…

11 meses ago

¿Qué es un ataque Web Shell? ¿Cómo detectarlo y prevenirlo?

¿Qué es un webshell? Un shell web es una herramienta de intrusión digital que concede…

1 año ago

¿Qué es un shell inverso? Ejemplos y prevención

¿Qué es un Reverse Shell? Un "Reverse Shell" o, como se denomina en español, "Shell…

1 año ago

¿Qué es un pod de Kubernetes? Explicación del ciclo de vida

¿Qué es un pod de Kubernetes? Kubernetes (K8s) incorpora a su estructura tecnológica un componente…

1 año ago

Principales patrones de diseño de Kubernetes

Patrones fundamentales El paradigma laboral de Kubernetes se forja a través de diversos elementos cruciales,…

1 año ago