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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
`
`
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.
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.
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.
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.
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.
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.
Hay una serie de factores que puedes utilizar para catalogar los peligros digitales, como:
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.
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.
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.
El proceso para catalogar peligros involucra las siguientes fases:
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.
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.
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.
Existen varias aplicaciones que pueden agilizar la tarea de catalogación de peligros. Algunas de estas aplicaciones son:
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.
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.
`
`
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 í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.
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.
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.
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.
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.
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.
Para mejorar el manejo de las debilidades detectadas de los sistemas, se sugieren las siguientes fuentes de información:
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
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/
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/
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
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/
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/
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/
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/
Consejos Agiles de OWASP. Reune estratégias efectivas para que los profesionales en seguridad puedan realizar tareas concretas. Disponible en: https://cheatsheetseries.owasp.org/
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.
Parcours de développement : Passage de HTTP/1 à HTTP/2 Le Hypertext Transfer Protocol, connu sous l'abréviation…
Las API para diferentes personas son muy diferentes La dimensión digital está llena de nudos…
¿Qué es un webshell? Un shell web es una herramienta de intrusión digital que concede…
¿Qué es un Reverse Shell? Un "Reverse Shell" o, como se denomina en español, "Shell…
¿Qué es un pod de Kubernetes? Kubernetes (K8s) incorpora a su estructura tecnológica un componente…
Patrones fundamentales El paradigma laboral de Kubernetes se forja a través de diversos elementos cruciales,…