Está en la página 1de 14

TOP 10 DE AMENAZAS SEGÚN LA OWASP QUE PUEDEN PONER EN RIESGOS

LA SEGURIDAD DE LA BASE DE DATOS.

RESUMEN
La Open Web Application Security Project (OWASP) es una comunidad mundial abierta y gratuita
enfocada en mejorar la seguridad en las aplicaciones de software. Su misión es hacer visible la
seguridad en aplicaciones, así las personas puedan tomar decisiones informadas sobre los riesgos de
seguridad en aplicaciones. Cualquier persona es libre de participar en OWASP y todas sus
herramientas están disponibles bajo una licencia de software abierta y gratis (Matteo Meucci,
2019) .
Es muy importante enfatizar en la importancia de realizar una auditoría al software que se está
desarrollando antes de su publicación o del proceso de deploy, muchos desarrolladores no le dan la
importancia necesaria a esta tarea antes de hacer deploy, en ocasiones no realizan auditoría tampoco
después de publicar la aplicación, lo cual desencadena en muchos problemas de seguridad,
amenazas que se materializan y comprometen la información de los usuarios del sitio web o de la
misma empresa que presta el servicio. Por eso la importancia de conocer las amenazas de seguridad
más importantes a las que se enfrenta una base de datos de una aplicación web, para así lograr
concientizar al lector y se preocupen por la gestión y análisis del riesgo al desarrollar cualquier
software. En este trabajo abordaremos el top 10 de amenazas según la OWASP.

PALABRAS CLAVES: Amenaza de Seguridad, Aplicaciones Web, Análisis de Riesgo, Auditoría


de seguridad, Deploy, Desarrollo de Software, Seguridad de la Información, Servicio Web,
Software, Base de Datos.

ABSTRACT
The Open Web Application Security Project (OWASP) is a worldwide free and open community
focused on improving the security of application software. Our mission is to make application
security “visible”, so that people and organizations can make informed decisions about application
security risks. Every one is free to participate in OWASP and all of our materials are available
under a free and open software license (Matteo Meucci, 2019).
It is very important to emphasize the importance of performing an audit of the software that is being
developed before its publication or deploy process, many developers do not give the necessary
importance to this task before deploying, sometimes they do not perform an audit either after
publishing the application, which triggers in many security problems, threats that materialize and
compromise the information of the users of the site website or the same company that provides the
service. That is why the importance of knowing the most important threats that a database of a web
application faces, in order to raise awareness among the reader and worry about risk analysis and
management when developing any type of software. In this paper we will address the top 10 threats
according to the OWASP.

KEYWORDS: Security Threat, Web Applications, Risk Analysis, Security Audit, Deploy,
Software Development, Information Security, Web Service, Software, Database.

INTRODUCCIÓN
El problema del software inseguro es quizás el
desafío técnico más importante de nuestro
tiempo. El aumento de aplicaciones web de
negocios, redes sociales, etc, sólo han
agravado los requisitos para establecer un
enfoque robusto a la escritura de código y
asegurar nuestro Internet, aplicaciones web y
datos. Conocer de las amenazas a las que se
enfrenta un sistema de información es muy
¿Cuales son los riesgos en seguridad de las
importante ya que nos permite ir un paso
adelante de los que buscan tener accesos no aplicaciones?
autorizados o comprometer la integridad de Los atacantes pueden, potencialmente, utilizar
nuestra información.  diferentes rutas a través de su aplicación para
El aumento en la utilización de frameworks de perjudicar su negocio u organización. Cada
desarrollo y librerías (APIS) de código uno de estos caminos representa un riesgo que
abierto, son unos de los factores que más puede o no ser suficientemente grave como
ponen en riesgo nuestras aplicaciones web, ya para merecer atención.
que al momento de actualizar o instalar
parches de seguridad se suele realizar estos Algunas veces, estos caminos son fáciles de
procesos sólo al código propio, el cual según encontrar y explotar, mientras que otras son
la OWASP es solo el 20% del código de la extremadamente difíciles.
mayoría de aplicaciones web, el 80% restante
está distribuido en librerías, frameworks de De la misma manera, el perjuicio ocasionado
desarrollo y plugins de servidores de puede no tener consecuencias, o puede dejarlo
alojamiento web, esto genera una brecha en la en la quiebra. A fin de determinar el riesgo
seguridad ya que al no realizar el debido para su organización, puede evaluar la
proceso de actualización e instalación de
parches no se logra mitigar el riesgo de
seguridad de la información alojada en probabilidad asociada a cada agente de
nuestra aplicación web. amenaza, vector de ataque, debilidad de
La OWASP promueve documentos que seguridad y combinarlo con una estimación
actualiza cada vez perciben cambios o del impacto técnico y de negocio para su
frecuencia con la que se materializan las organización. Juntos, estos factores
amenazas, estos documentos buscan dar a determinan su riesgo general.
conocer el top 10 de riesgos de seguridad más
críticos en aplicaciones web. Fuente: https://owasp.org
A1:2017 Inyección: Las aplicaciones son vulnerables a este tipo
de ataques cuando:
Las fallas de inyección como SQL, NoSQL,
OS o LDAP ocurren cuando se envían datos ● Los datos suministrados por el
no confiables a un intérprete, como parte de usuario no son validados, filtrados o
un comando o consulta. Los datos dañinos del sanitizados por la aplicación.
atacante pueden engañar al intérprete para ● Se invocan consultas dinámicas o no
que ejecute comandos involuntarios o acceda parametrizadas, sin codificar los
a los datos sin la debida autorización.
● parámetros de forma acorde al JSON, SOAP y entradas de datos XML.
contexto.
● Se utilizan datos dañinos dentro de Cómo Prevenir los ataques de inyección:
los parámetros de búsqueda en Para prevenir los ataques por medio de
consultas Object-Relational Mapping inyecciones es necesario separar los datos de
(ORM), para extraer registros los comandos y las consultas.
adicionales sensibles. ● La opción preferida es utilizar una
● Los datos dañinos se usan API segura, que evite el uso de un
directamente o se concatenan, de intérprete por completo y
modo que el SQL o comando proporcione una interfaz
resultante contiene datos y parametrizada. Se debe migrar y
estructuras con consultas dinámicas, utilizar una herramientas de Mapeo
comandos o procedimientos Relacional de Objetos (ORMs).
almacenados. Incluso cuando se parametrizan, los
procedimientos almacenados pueden
Algunas de las inyecciones más comunes son introducir una inyección SQL si el
SQL, NoSQL, comandos de SO, object- procedimiento PL/SQL o T-SQL
Relational Mapping (ORM), LDAP, concatena consultas y datos, o se
expresiones de lenguaje u Object Graph ejecutan parámetros utilizando
Navigation Library (OGNL). El concepto es EXECUTE IMMEDIATE o exec().
idéntico entre todos los intérpretes. La ● Realice validaciones de entradas de
revisión del código fuente es el mejor método datos en el servidor, utilizando "listas
para detectar si las aplicaciones son blancas". De todos modos, esto no es
vulnerables a inyecciones, seguido de cerca una defensa completa ya que muchas
por pruebas automatizadas de todos los aplicaciones requieren el uso de
parámetros, encabezados, URL, cookies, caracteres especiales, como en
campos de texto, APIs o aplicaciones ● Almacena las contraseñas en texto
móviles. claro o cifradas con métodos de
● Para cualquier consulta dinámica hashing débiles.
residual, escape caracteres especiales ● No posee autenticación multi-factor o
utilizando la sintaxis de caracteres fue implementada de forma ineficaz.
específica para el intérprete que se ● Expone Session IDs en las URL, no
trate. La estructura de SQL como la invalida correctamente o no la rota
nombres de tabla, nombres de satisfactoriamente luego del cierre de
columna, etc. no se pueden escapar y, sesión o de un periodo de tiempo
por lo tanto, los nombres de determinado.
estructura suministrados por el Cómo Prevenir los ataques de pérdida de
usuario son peligrosos. Este es un autenticación:
problema común en el software de Para evitar los ataques de pérdida de
redacción de informes. autenticación se debe tener en cuenta las
● Utilice LIMIT y otros controles SQL siguientes recomendaciones:
dentro de las consultas para evitar la ● Implemente autenticación multi-
fuga masiva de registros en caso de factor para evitar ataques
inyección SQL. automatizados, de fuerza bruta o
reúso de credenciales robadas.
A2: 2017 Pérdida de autenticación: ● No utilice credenciales por defecto en
Las funciones de la aplicación relacionadas a su software, particularmente en el
autenticación y gestión de sesiones son caso de administradores.
implementadas incorrectamente, permitiendo ● Implemente controles contra
a los atacantes comprometer usuarios y contraseñas débiles. Cuando el
contraseñas, token de sesiones, o explotar usuario ingrese una nueva clave, la
otras fallas de implementación para asumir la misma puede verificarse contra la
identidad de otros usuarios (temporal o lista del Top 10.000 de peores
permanentemente). contraseñas.
La confirmación de la identidad y la gestión ● Alinear la política de longitud,
de sesiones del usuario son fundamentales complejidad y rotación de
para protegerse contra ataques relacionados contraseñas con las recomendaciones
con la autenticación. Pueden existir de la Sección 5.1.1 para Secretos
debilidades de autenticación si la aplicación: Memorizados de la Guía NIST 800-
● Permite ataques automatizados como 63 B's u otras políticas de contraseñas
la reutilización de credenciales modernas, basadas en evidencias.
conocidas, cuando el atacante ya ● Mediante la utilización de los
posee una lista de pares de usuario y mensajes genéricos iguales en todas
contraseña válidos. las salidas, asegúrese que el registro,
● Permite ataques de fuerza bruta y/o la recuperación de credenciales y el
ataques automatizados. uso de APIs, no permiten ataques de
● Permite contraseñas por defecto, enumeración de usuarios.
débiles o muy conocidas, como ● Límite o incremente el tiempo de
“Password1”, “Contraseña1” o respuesta de cada intento fallido de
“admin/admin”. inicio de sesión. Registre todos los
● Posee procesos débiles o inefectivos fallos y avise a los administradores
en el proceso de recuperación de cuando se detecten ataques de fuerza
credenciales, como “respuestas bruta.
basadas en el conocimiento”, las ● Utilice un gestor de sesión en el
cuales no se pueden implementar de servidor, integrado, seguro y que
forma segura. genere un nuevo ID de sesión
aleatorio con alta entropía después
del inicio de sesión. El Session-ID no seguridad o encabezados para el
debe incluirse en la URL, debe navegador web?
almacenarse de forma segura y ser ● ¿El User-Agent del usuario
invalidado después del cierre de (aplicación o cliente de correo),
sesión o de un tiempo de inactividad verifica que el certificado enviado
determinado por la criticidad del por el servidor sea válido?
negocio.
Cómo Prevenir los ataques de Exposición
A3: 2017 Exposición de datos sensibles de datos sensibles:
Muchas aplicaciones web y APIs no protegen Como mínimo para evitar los ataques de
adecuadamente datos sensibles, tales como exposición de datos sensibles se debe tener en
información financiera, de salud o cuenta lo siguiente:
Información Personalmente Identificable ● Clasifique los datos procesados,
(PII). Los atacantes pueden robar o modificar almacenados o transmitidos por el
estos datos protegidos de manera inadecuada sistema. Identifique qué información
para llevar a cabo fraudes con tarjetas de es sensible de acuerdo a las
crédito, robos de identidad u otros delitos. regulaciones, leyes o requisitos del
Los datos sensibles requieren métodos de negocio y del país.
protección adicionales, como el cifrado en ● No almacene datos sensibles
almacenamiento y tránsito. Lo primero es innecesariamente. Descártelos tan
determinar las necesidades de protección de pronto como sea posible o utilice un
los datos en tránsito y en almacenamiento. sistema de tokenizacion que cumpla
Por ejemplo, contraseñas, números con PCI DSS. Los datos que no se
de tarjetas de crédito, registros médicos, almacenan no pueden ser robados.
información personal y datos sensibles del ● Aplique los controles adecuados para
negocio requieren protección adicional, cada clasificación.
especialmente si se encuentran en el ámbito ● Cifre todos los datos sensibles
de aplicación de leyes de privacidad, cuando sean almacenados.
como por ejemplo el Reglamento General de ● Cifre todos los datos en tránsito
Protección de Datos (RGPD) o regulaciones utilizando protocolos seguros como
financieras, como PCI Data Security Standard TLS con cifradores que utilicen
(PCI DSS). Para todos estos datos: Perfect Forward Secrecy (PFS),
● ¿Se transmite datos en texto claro? priorizando los algoritmos en el
Esto se refiere a protocolos como servidor. Aplique el cifrado
HTTP, SMTP, TELNET, FTP. El utilizando directivas como HTTP
tráfico en Internet es especialmente Strict Transport Security (HSTS).
peligroso. Verifique también todo el ● Utilice únicamente algoritmos y
tráfico interno, por ejemplo, entre los protocolos estándares y fuertes e
balanceadores de carga, servidores implemente una gestión adecuada de
web o sistemas de backend. claves. No cree sus propios
● ¿Se utilizan algoritmos criptográficos algoritmos de cifrado.
obsoletos o débiles, ya sea por ● Deshabilite el almacenamiento en
defecto o en código heredado? Por cache de datos sensibles.
ejemplo MD5, SHA1, etc. ● Almacene contraseñas utilizando
● ¿Se utilizan claves criptográficas funciones de hashing adaptables con
predeterminadas, se generan o un factor de trabajo (retraso) además
reutilizan claves criptográficas de SALT, como Argon2, scrypt,
débiles, o falta una gestión o rotación bcrypt o PBKDF2
adecuada de las claves? ● Verifique la efectividad de sus
● Por defecto, ¿se aplica cifrado? ¿se configuraciones y parámetros de
han establecido las directivas de forma independiente.
Cómo Prevenir los ataques de Entidades
A4:2017 Entidades externas XML (XXE) externas XML (XXE):
Muchos procesadores XML antiguos o mal El entrenamiento del desarrollador es esencial
configurados evalúan referencias a entidades para identificar y mitigar defectos de XXE.
externas en documentos XML. Las entidades Aparte de esto, prevenir XXE requiere:
externas pueden utilizarse para revelar ● De ser posible, utilice formatos de
archivos internos mediante la URI o archivos datos menos complejos como JSON
internos en servidores no actualizados, y evite la serialización de datos
escanear puertos de la LAN, ejecutar código confidenciales.
de forma remota y realizar ataques de ● Actualice los procesadores y
denegación de servicio (DoS). Las bibliotecas XML que utilice la
aplicaciones y, en particular servicios web aplicación o el sistema subyacente.
basados en XML, o integraciones que utilicen Utilice validadores de dependencias.
XML, pueden ser vulnerables a este ataque sí: Actualice SOAP a la versión 1.2 o
● La aplicación acepta XML superior
directamente, carga XML desde ● Deshabilite las entidades externas de
fuentes no confiables o inserta datos XML y procesamiento DTD en todos
no confiables en documentos XML. los analizadores sintácticos XML en
Por último, estos datos son su aplicación, según se indica en la
analizados sintácticamente por un hoja de trucos para prevención de
procesador XML. XXE de OWASP.
● Cualquiera de los procesadores ● Implemente validación de entrada
XML utilizados en la aplicación o los positiva en el servidor (“lista
servicios web basados en SOAP, blanca”), filtrado y sanitización para
poseen habilitadas las definiciones de prevenir el ingreso de datos dañinos
tipo de documento (DTDs). Dado que dentro de documentos, cabeceras y
lo mecanismos exactos para nodos XML.
deshabilitar el procesamiento de ● Verifique que la funcionalidad de
DTDs varía para cada procesador, se carga de archivos XML o XSL valide
recomienda consultar la hoja de el XML entrante, usando validación
trucos para prevención de XXE de XSD o similar.
OWASP. ● Las herramientas SAST pueden
● La aplicación utiliza SAML para el ayudar a detectar XXE en el código
procesamiento de identidades dentro fuente, aunque la revisión manual de
de la seguridad federada o para código es la mejor alternativa en
propósitos de Single Sign-On (SSO). aplicaciones grandes y complejas.
SAML utiliza XML para garantizar ● Si estos controles no son posibles,
la identidad de los usuarios y puede considere usar parcheo virtual,
ser vulnerable. gateways de seguridad de API, o
● La aplicación utiliza SOAP en una Firewalls de Aplicaciones Web
versión previa a la 1.2 y, si las (WAFs) para detectar, monitorear y
entidades XML son pasadas a la bloquear ataques XXE.
infraestructura SOAP, probablemente
sea susceptible a ataques XXE. A5:2017 Pérdida de control de acceso:
● Ser vulnerable a ataques XXE Las restricciones de control de acceso
significa que probablemente la implican que los usuarios no pueden actuar
aplicación también es vulnerable a fuera de los permisos previstos. Típicamente,
ataques de denegación de servicio, las fallas conducen a la divulgación,
incluyendo el ataque Billion Laughs. modificación o destrucción de información
no autorizada de los datos, o a realizar una
función de negocio fuera de los límites del
usuario. Las vulnerabilidades comunes de de los registros, en lugar de aceptar
control de acceso incluyen: que el usuario puede crear, leer,
● Pasar por alto las comprobaciones de actualizar o eliminar cualquier
control de acceso modificando la registro.
URL, el estado interno de la ● Los modelos de dominio deben hacer
aplicación o HTML, utilizando una cumplir los requisitos exclusivos de
herramienta de ataque o una los límites de negocio de las
conexión vía API. aplicaciones.
● Permitir que la clave primaria se ● Deshabilite el listado de directorios
cambie a la de otro usuario, pudiendo del servidor web y asegúrese que los
ver o editar la cuenta de otra persona. metadatos/fuentes de archivos (por
● Elevación de privilegios. Actuar ejemplo de GIT) y copia de seguridad
como un usuario sin iniciar sesión, o no estén presentes en las carpetas
actuar como un administrador públicas.
habiendo iniciado sesión como ● Registre errores de control de acceso
usuario estándar. y alerte a los administradores cuando
● Manipulación de metadatos, como corresponda (por ej. fallas reiteradas).
reproducir un token de control de ● Limite la tasa de acceso a las APIs
acceso JWT (JSON Web Token), para minimizar el daño de
manipular una cookie o un campo herramientas de ataque
oculto para elevar los privilegios, o automatizadas.
abusar de la invalidación de tokens ● Los tokens JWT deben ser
JWT. invalidados luego de la finalización
● La configuración incorrecta de CORS de la sesión por parte del usuario.
permite el acceso no autorizado a una ● Los desarrolladores y el personal de
API. QA deben incluir pruebas de control
● Forzar la navegación a páginas de acceso en sus pruebas unitarias y
autenticadas como un usuario no de integración.
autenticado o a páginas privilegiadas
como usuario estándar. A6: 2017 Configuración de seguridad
● Acceder a una API sin control de incorrecta:
acceso mediante el uso de verbos La aplicación puede ser vulnerable si:
POST, PUT y DELETE. ● Falta hardening adecuado en
cualquier parte del stack tecnológico,
Cómo Prevenir los ataques de Pérdida de o permisos mal configurados en los
control de acceso: servicios de la nube.
El control de acceso sólo es efectivo si es ● Se encuentran instaladas o habilitadas
aplicado del lado del servidor o en Server- características innecesarias (ej.
less API, donde el atacante no puede puertos, servicios, páginas, cuentas o
modificar la verificación de control de acceso permisos).
o los metadatos. ● Las cuentas predeterminadas y sus
● Con la excepción de los recursos contraseñas siguen activas y sin
públicos, la política debe ser denegar cambios.
de forma predeterminada. ● El manejo de errores revela a los
● Implemente los mecanismos de usuarios trazas de la aplicación u
control de acceso una vez y utilícelo otros mensajes demasiado
en toda la aplicación, incluyendo informativos.
minimizar el control de acceso HTTP ● Para los sistemas actualizados, las
(CORS). nuevas funciones de seguridad se
● Los controles de acceso al modelo encuentran desactivadas o no se
deben imponer la propiedad (dueño)
encuentran configuradas de forma a terceros, contenedores o grupos de
adecuada o segura seguridad en la nube (ACLs).
● Las configuraciones de seguridad en ● Envíe directivas de seguridad a los
el servidor de aplicaciones, en el clientes (por ej. cabeceras de
framework de aplicación (ej., Struts, seguridad).
Spring, ASP.NET), bibliotecas o ● Utilice un proceso automatizado para
bases de datos no se encuentran verificar la efectividad de los ajustes
especificados con valores seguros. y configuraciones en todos los
● El servidor no envía directrices o ambientes.
cabeceras de seguridad a los clientes
o se encuentran configurados con A7: 2017 Cross-Site Scripting (XSS):
valores inseguros.
● El software se encuentra Existen tres formas usuales de XSS para
desactualizado o posee atacar a los navegadores de los usuarios:
vulnerabilidades (ver A9: 2017 Uso
● XSS Reflejado: la aplicación o API
de componentes con vulnerabilidades
conocidas). utiliza datos sin validar,
Cómo Prevenir los ataques de suministrados por un usuario y
Configuración de seguridad incorrecta: codificados como parte del HTML o
Deben implementarse procesos seguros de Javascript de salida. No existe una
instalación, incluyendo: cabecera que establezca la Política de
● Proceso de fortalecimiento Seguridad de Contenido (CSP). Un
reproducible que agilice y facilite la ataque exitoso permite al atacante
implementación de otro entorno ejecutar comandos arbitrarios
asegurado. Los entornos de (HTML y Javascript) en el navegador
desarrollo, de control de calidad de la víctima. Típicamente el usuario
(QA) y de Producción deben deberá interactuar con un enlace, o
configurarse de manera idéntica y
alguna otra página controlada por el
con diferentes credenciales para cada
atacante, como un ataque del tipo
entorno. Este proceso puede
automatizarse para minimizar el pozo de agua, publicidad maliciosa, o
esfuerzo requerido para configurar similar.
cada nuevo entorno seguro. ● XSS Almacenado: la aplicación o
● Use una plataforma minimalista sin API almacena datos proporcionados
funcionalidades innecesarias, por el usuario sin validar ni sanear,
componentes, documentación o los que posteriormente son
ejemplos. Elimine o no instale visualizados o utilizados por otro
frameworks y funcionalidades no usuario o un administrador.
utilizadas. Usualmente es considerado como de
● Siga un proceso para revisar y riesgo de nivel alto o crítico
actualizar las configuraciones ● XSS Basados en DOM: frameworks
apropiadas de acuerdo a las
en JavaScript, aplicaciones de página
advertencias de seguridad y siga un
única o APIs incluyen datos
proceso de gestión de parches. En
particular, revise los permisos de dinámicamente, controlables por un
almacenamiento en la nube (por atacante. Idealmente, se debe evitar
ejemplo, los permisos de buckets S3). procesar datos controlables por el
● La aplicación debe tener una atacante en APIs no seguras.
arquitectura segmentada que
proporcione una separación efectiva Los ataques XSS incluyen el robo de la
y segura entre componentes y acceso sesión, apropiación de la cuenta, evasión de
autenticación de múltiples pasos, reemplazo Aplicaciones y APIs serán vulnerables si
de nodos DOM, inclusión de troyanos de deserializar objetos hostiles o manipulados
autentificación, ataques contra el navegador, por un atacante. Esto da como resultado dos
descarga de software malicioso, keyloggers, y tipos primarios de ataques:
otros tipos de ataques al lado cliente.
● Ataques relacionados con la
Cómo Prevenir los ataques de Cross-Site estructura de datos y objetos; donde
Scripting (XSS): el atacante modifica la lógica de la
Prevenir XSS requiere mantener los datos no aplicación o logra una ejecución
confiables separados del contenido activo del remota de código que puede cambiar
navegador. el comportamiento de la aplicación
● Utilizar frameworks seguros que, por durante o después de la
diseño, automáticamente codifican el deserialización.
contenido para prevenir XSS, como ● Ataques típicos de manipulación de
en Ruby 3.0 o React JS. datos; como ataques relacionados con
● Codificar los datos de requerimientos el control de acceso, en los que se
HTTP no confiables en los campos utilizan estructuras de datos
de salida HTML (cuerpo, atributos, existentes pero se modifica su
JavaScript, CSS, o URL) resuelve los contenido.
XSS Reflejado y XSS Almacenado.
La hoja de trucos OWASP para evitar La serialización puede ser utilizada en
XSS tiene detalles de las técnicas de aplicaciones para:
codificación de datos requeridas.
● Comunicación remota e Inter-
● Aplicar codificación sensitiva al
Procesos (RPC/IPC)
contexto, cuando se modifica el
● Protocolo de comunicaciones, Web
documento en el navegador del
Services y Brokers de mensajes.
cliente, ayuda a prevenir DOM XSS.
● Caching y Persistencia.
Cuando esta técnica no se puede
● Bases de datos, servidores de caché y
aplicar, se pueden usar técnicas
sistemas de archivos.
similares de codificación, como se
explica en la hoja de trucos OWASP Cómo Prevenir los ataques de
para evitar XSS DOM. Deserialización insegura:
● Habilitar una Política de Seguridad El único patrón de arquitectura seguro es no
de Contenido (CSP) es una defensa aceptar objetos serializados de fuentes no
profunda para la mitigación de confiables o utilizar medios de serialización
vulnerabilidades XSS, asumiendo que sólo permitan tipos de datos primitivos.
que no hay otras vulnerabilidades que Si esto no es posible, considere alguno de los
permitan colocar código malicioso siguientes puntos:
● Implemente verificaciones de
vía inclusión de archivos locales,
integridad tales como firmas digitales
bibliotecas vulnerables en fuentes en cualquier objeto serializado, con el
conocidas almacenadas en Redes de fin de detectar modificaciones no
Distribución de Contenidos (CDN) o autorizadas.
localmente. ● Durante la deserialización y antes de
la creación del objeto, exija el
cumplimiento estricto de
A8: 2017 Deserialización insegura: verificaciones de tipo de dato, ya que
el código normalmente espera un
conjunto de clases definibles. Se ha
demostrado que se puede pasar por meses de exposición a
alto esta técnica, por lo que no es vulnerabilidades ya solucionadas.
aconsejable confiar sólo en ella ● No asegura la configuración de los
● Aísle el código que realiza la componentes correctamente (vea
deserialización, de modo que se A6:2017-Configuración de Seguridad
ejecute en un entorno con los Incorrecta).
mínimos privilegios posibles
● Registre las excepciones y fallas en la Cómo Prevenir los ataques de Uso de
deserialización, tales como cuando el componentes con vulnerabilidades
tipo recibido no es el esperado, o la conocidas:
deserialización produce algún tipo de Cada organización debe asegurar la
error. existencia de un plan para monitorear,
● Restrinja y monitoree las conexiones evaluar y aplicar actualizaciones o cambios
(I/O) de red desde contenedores o de configuraciones durante el ciclo de vida de
servidores que utilizan las aplicaciones.
funcionalidades de deserialización. ● Remover dependencias,
● Monitoree los procesos de funcionalidades, componentes,
deserialización, alertando si un archivos y documentación
usuario deserializar constantemente. innecesaria y no utilizada.
● Utilizar una herramienta para
A9:2017 Uso de componentes con mantener un inventario de versiones
vulnerabilidades conocidas de componentes (por ej. frameworks
Es potencialmente vulnerable si: o bibliotecas) tanto del cliente como
● No conoce las versiones de todos los del servidor. Por ejemplo,
componentes que utiliza (tanto del Dependency Check y retire.js.
lado del cliente como del servidor). ● Monitorizar continuamente fuentes
Esto incluye componentes utilizados como CVE y NVD en búsqueda de
directamente como sus dependencias vulnerabilidades en los componentes
anidadas. utilizados. Utilizar herramientas de
● El software es vulnerable, no posee análisis automatizados. Suscribirse a
soporte o se encuentra alertas de seguridad de los
desactualizado. Esto incluye el componentes utilizados.
sistema operativo, servidor web o de ● Obtener componentes únicamente de
aplicaciones, DBMS, APIs y todos orígenes oficiales utilizando canales
los componentes, ambientes de seguros. Utilizar preferentemente
ejecución y bibliotecas. paquetes firmados con el fin de
● No se analizan los componentes reducir las probabilidades de uso de
periódicamente ni se realiza versiones manipuladas
seguimiento de los boletines de maliciosamente.
seguridad de los componentes ● Supervisar bibliotecas y componentes
utilizados. que no poseen mantenimiento o no
● No se parchea o actualiza la liberan parches de seguridad para sus
plataforma subyacente, frameworks y versiones obsoletas o sin soporte. Si
dependencias, con un enfoque basado el parcheo no es posible, considere
en riesgos. Esto sucede comúnmente desplegar un parche virtual para
en ambientes en los cuales la monitorizar, detectar o protegerse
aplicación de parches se realiza de contra la debilidad detectada.
forma mensual o trimestral bajo
control de cambios, lo que deja a la A10:2017 Registro y monitoreo
organización abierta insuficientes:
innecesariamente a varios días o
El registro y monitoreo insuficientes ocurren para prevenir alteraciones o
en cualquier momento: eliminaciones.
● Eventos auditables, tales como los ● Asegúrese que todas las
inicios de sesión, fallos en el inicio transacciones de alto valor poseen
de sesión, y transacciones de alto una traza de auditoría con controles
valor no son registrados. de integridad que permitan detectar
● Advertencias y errores generan su modificación o borrado, tales
registros poco claros, inadecuados o como una base de datos con permisos
ninguno en absoluto de inserción únicamente u similar.
● Registros en aplicaciones o APIs no ● Establezca una monitorización y
son monitoreados para detectar alerta efectivos de tal manera que las
actividades sospechosas. actividades sospechosas sean
● Los registros son almacenados detectadas y respondidas dentro de
únicamente de forma local. períodos de tiempo aceptables.
● Los umbrales de alerta y de ● Establezca o adopte un plan de
escalamiento de respuesta no están respuesta o recuperación de
implementados o no son eficaces. incidentes, tales como NIST 800-61
● Las pruebas de penetración y rev.2 o posterior.
escaneos utilizando herramientas Existen frameworks de protección de
DAST (como OWASP ZAP) no aplicaciones comerciales y de código abierto
generan alertas. tales como OWASP AppSensor, firewalls de
● La aplicación no logra detectar, aplicaciones web como ModSecurity
escalar o alertar sobre ataques en utilizando el Core Rule Set de OWASP, y
tiempo real. software de correlación de registros con
● También es vulnerable a la fuga de paneles personalizados y alertas.
información si registra y alerta
eventos visibles para un usuario o un Fuente:
atacante. https://www.owasp.org/images/5/5e/OWASP
Cómo Prevenir los ataques de Registro y -Top-10-2017-es.pdf
monitoreo insuficientes:
Según el riesgo de los datos almacenados o
procesados por la aplicación:
● Asegúrese de que todos los errores de
inicio de sesión, de control de acceso
y de validación de entradas de datos
del lado del servidor se pueden
registrar para identificar cuentas
sospechosas. Mantenerlo durante el
tiempo suficiente para permitir un
eventual análisis forense.
● Asegúrese de que las transacciones
de alto impacto tengan una pista de
auditoría con controles de integridad

TRICOTOMÍA DEL DELITO INFORMÁTICO EN COLOMBIA


En la actualidad las organizaciones tienen mucho más a profundidad de las amenazas
catalogada la información como uno de sus reales.
activos más importantes , por lo tanto la
necesidad de implementar mecanismos de Para el año 2017 se tiene que las denuncias
seguridad a sus bases de datos es provenientes del sector ciudadano
directamente proporcional al avance que se corresponden al 68% del total, seguido del
tiene en digitalización de los procesos, así 12% en el sector financiero, 6% en el sector
mismo la información de las bases de datos tecnología , 5% en el sector industrial, 3% en
no solo se compone de información de el sector Gobierno, Medios de comunicacion
contacto de sus clientes, esta también está y educacion, sin duda corresponde a un
compuesta de información sobre su negocio, incremento de delitos en algunos sectores a
tales como ventas, tendencias y otro tipo de los cuales puede afectar de manera directa el
entradas que permiten a las organizaciones negocio sin el adecuado tratamiento del
aplicar mecanismos de analitica para la toma riesgo hasta niveles aceptables.
de decisiones.
Según el cai virtual de la policía nacional de
Colombia durante los últimos 3 años a través
de las plataformas virtuales dispuestas por el
centro Cibernético Policial se recibieron
15.565 incidentes informáticos, entre los
cuales se catalogan como Venta de productos
con estafas en internet, Phishing, Vishing y
Smishing.
Según las estadísticas se identifica que en el
2014 las denuncias recibidas el 92% Fuente: Amenazas cibercrimen en Colombia CCP
corresponden a denuncias realizadas por los
Esto permite identificar que se empiezan a
ciudadanos, el 5% corresponde a denuncias
recibir más denuncias por parte de los otros
del sector financiero y el otro 3% esta entre el
sector Industrial, Gobierno , Salud y sectores y así mismo sube la criminalidad en
tecnología. estos, por lo tanto independiente al sector que
se vea afectado mantener la seguridad de la
base de datos de las organizaciones se
vuelven en una necesidad creciente.
Estas cifras ratifican según lo planteado en el
documento IOCTA 2016 (Internet Organised
Crime Threat) de Europol, referente a la
tricotomía del delito informática, la cual
especifica que a mayor interfaz de ataque ,
con mayor número de víctimas , donde su
nivel de seguridad y protección es deficiente,
el beneficio por ataque es menor . Pero si por
el contrario el ataque se realiza a un sector
Fuente: Amenazas cibercrimen en Colombia CCP reducido o especializado , por ejemplo, el
sector financiero, con un ataque más
Para el año 2017 se identifica que los sectores sofisticado que requiere de mayor habilidad y
entran a implementar estos mecanismos de destreza, con niveles de innovación alto, el
defensa y a realizar denuncias al CCP para su beneficio de por ataque será mucho mayor.
correspondiente seguimiento, esto ayuda a los
entes responsables de generar un seguimiento
los clientes, reduce Riesgos y Costos;
y permite que sea más fácil superar
las auditorías (ISO27001, Entre
otras).
● Se es imprescindible entender la
problemática y las soluciones. Una
buena Formación permite un mejor
análisis y solución a cualquier
problemática o proyecto.
● Conocer los peligros a los que nos
podemos enfrentar siempre ha sido de
gran ayuda para proteger nuestra
Fuente: (Internet Organised Crime Threat)
integridad, en este trabajo se abordó
Por lo tanto los atacantes identifican sectores este tema y se logró dar a conocer 10
específicos los cuales por digitalización y las amenazas más peligrosas que nos
avances tecnológicos tienen expuestos sus enfrentamos en la red.
servicios tales como portales transaccionales ● La seguridad informática se vuelve
para el uso de los usuarios, sin un adecuado más y más indispensable para
plan de auditorias de seguridad las garantizar la integridad,
aplicaciones pueden contener serios confidencialidad y disponibilidad de
problemas de seguridad. la información, un proyecto como el
OWASP es de mucha ayuda ya que
El cibercrimen le cuesta al mundo nos advierte de los peligros y nos da
aproximadamente hasta US$575.000 millones herramientas para mitigar el riesgo de
al año, lo que representa el 0,5% del PIB pérdida de información.
global, por ello que las organizaciones se ven ● En el sitio oficial de OWASP
en la obligacion del cumplimeinto de encontramos los diferentes ataques
normativas impuestas por la ley para poder que se presentan a las aplicaciones
operar garantizando la protección de web, también nos muestra las
información de sus clientes y así mismo diferentes formas de evitarlos, por
asegurando su organización en contra de los ello es importante tener en cuenta las
atacantes maliciosos. recomendaciones que brinda OWASP
para evitar cualquier ataque que sea
El framework de OWASP permite llevar a
perjudicial en nuestras aplicaciones
cabo los lineamientos de seguridad
web y probar todas las formas de
propuestos para las aplicaciones expuestas
evitar estos ataques.
para garantizar cierto nivel de seguridad, por
lo tanto se recomienda implementar ciclos
continuos para la evaluación del riesgo de
estos activos y poder garantizar la prestación
del servicio de forma eficiente y segura.

Conclusiones: Bibliografía
Matteo Meucci, A. M. (26 de Septiembre de
● El uso de Herramientas automatizada 2019). OWASP. Obtenido de Owasp
como por ejemplo Revisión de testing Guide:
Código y Pruebas de Seguridad https://www.owasp.org/images/1/19/
pueden minimizar estos riesgos.
OTGv4.pdf
● Implementar una metodología de
desarrollo seguro es una Inversión
Segura; aumenta la confianza entre
Internet Organised Crime Threat Assessment
(28 de septiembre del 2016). IOCTA
tomado
de
:https://www.europol.europa.eu/activi
ties-services/main-reports/internet-
organised-crime-threat-assessment-
iocta-2016
Informe de amenazas de cibercrimen en
Colombia del CCP (12 de Octubre de
2017). CCP. Obtenido
de:https://caivirtual.policia.gov.co/sit
es/default/files/informe_amenazas_de
_cibercrimen_en_colombia_2016_-
_2017.pdf

También podría gustarte