Cada organización es única, y también lo son los agentes de amenaza para esa organización, sus objetivos y el impacto de cualquier brecha. Si una organización de interés público utiliza un sistema de gestión de contenido (CMS) para manipular información pública y el sistema de salud utiliza el mismo CMS para tratar datos sensibles, los agentes de amenaza y los impactos en el negocio son muy distintos para el mismo software.
Es fundamental comprender el riesgo para su organización en función de los agentes de amenaza aplicables a su negocio y los impactos comerciales.
Los atacantes pueden, potencialmente, utilizar diferentes rutas a través de su aplicación para perjudicar su negocio u organización. Cada uno de estos caminos representa un riesgo que puede o no ser suficientemente grave como para merecer atención por eso te dejamos el TOP10 de los riesgos de seguridad de aplicaciones:
Inyección: Las fallas de inyección, como SQL, NoSQL, OS o LDAP ocurren cuando se envían datos no confiables a un intérprete, como parte de un comando o consulta. Los datos dañinos del atacante pueden engañar al intérprete para que ejecute comandos involuntarios o acceda a los datos sin la debida autorización.
Perdida de autenticación: Las funciones de la aplicación relacionadas a autenticación y gestión de sesiones son implementadas incorrectamente, permitiendo a los atacantes comprometer usuarios y contraseñas, token de sesiones, o explotar otras fallas de implementación para asumir la identidad de otros usuarios (temporal o permanentemente).
Exposición de datos sensibles: Muchas aplicaciones web y APIs no protegen adecuadamente datos sensibles, tales como información financiera, de salud o Información Personalmente Identificable (PII). Los atacantes pueden robar o modificar estos datos protegidos inadecuadamente para llevar a cabo fraudes con tarjetas de crédito, robos de identidad u otros delitos. Los datos sensibles requieren métodos de protección adicionales, como el cifrado en almacenamiento y tránsito.
Entidades Externas: Muchos procesadores XML antiguos o mal configurados evalúan referencias a entidades externas en documentos XML. Las entidades externas pueden utilizarse para revelar archivos internos mediante la URI o archivos internos en servidores no actualizados, escanear puertos de la LAN, ejecutar código de forma remota y realizar ataques de denegación de servicio (DoS).
Perdida de control de acceso: Las restricciones sobre lo que los usuarios autenticados pueden hacer no se aplican correctamente. Los atacantes pueden explotar estos defectos para acceder, de forma no autorizada, a funcionalidades y/o datos, cuentas de otros usuarios, ver archivos sensibles, modificar datos, cambiar derechos de acceso y permisos, etc.
Configuración de seguridad Incorrecta: La configuración de seguridad incorrecta es un problema muy común y se debe en parte a establecer la configuración de forma manual, ad hoc o por omisión (o directamente por la falta de configuración). Son ejemplos: S3 buckets abiertos, cabeceras HTTP mal configuradas, mensajes de error con contenido sensible, falta de parches y actualizaciones, frameworks, dependencias y componentes desactualizados, etc.
Secuencia de comandos en sitios cruzados: Los XSS ocurren cuando una aplicación toma datos no confiables y los envía al navegador web sin una validación y codificación apropiada; o actualiza una página web existente con datos suministrados por el usuario utilizando una API que ejecuta JavaScript en el navegador. Permiten ejecutar comandos en el navegador de la víctima y el atacante puede secuestrar una sesión modificar (defacement) los sitios web, o redireccionar al usuario hacia un sitio malicioso.
Deserialización Insegura: Estos defectos ocurren cuando una aplicación recibe objetos serializados dañinos y estos objetos pueden ser manipulados o borrados por el atacante para realizar ataques de repetición, inyecciones o elevar sus privilegios de ejecución. En el peor de los casos, la deserialización insegura puede conducir a la ejecución remota de código en el servidor.
Componentes de vulnerabilidades conocidas: Los componentes como bibliotecas, frameworks y otros módulos se ejecutan con los mismos privilegios que la aplicación. Si se explota un componente vulnerable, el ataque puede provocar una pérdida de datos o tomar el control del servidor. Las aplicaciones y API que utilizan componentes con vulnerabilidades conocidas pueden debilitar las defensas de las aplicaciones y permitir diversos ataques e impactos.
Registro y monitoreo insuficientes: El registro y monitoreo insuficiente, junto a la falta de respuesta ante incidentes permiten a los atacantes mantener el ataque en el tiempo, pivotear a otros sistemas y manipular, extraer o destruir datos. Los estudios muestran que el tiempo de detección de una brecha de seguridad es mayor a 200 días, siendo típicamente detectado por terceros en lugar de por procesos internos.
Independientemente de si usted es nuevo en la seguridad de aplicaciones web o ya está familiarizado con estos riesgos, la tarea de producir una aplicación web segura o arreglar una ya existente puede ser difícil. Si debe gestionar una gran cartera de aplicaciones, esta tarea puede resultar desalentadora.
Si necesitas más información puedes solicitar la asesoría de uno de nuestros expertos en https://www.inforc.lat/code-reviewy revolver todas tus dudas.
Recuerda en en INFORC, creemos en la ciberseguridad.
Información tomada de OWASP, encuentre el contenido original aquí.
Comments