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
importante ya que nos permite ir un paso ¿Cuales son los riesgos en seguridad de las
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 abierto, uno de estos caminos representa un riesgo que
son unos de los factores que más ponen en puede o no ser suficientemente grave como
riesgo nuestras aplicaciones web, ya que al para merecer atención.
momento de actualizar o instalar parches de
seguridad se suele realizar estos procesos sólo Algunas veces, estos caminos son fáciles de
al código propio, el cual según la OWASP es encontrar y explotar, mientras que otras son
solo el 20% del código de la mayoría de extremadamente difíciles.
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 nuestra probabilidad asociada a cada agente de
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 vulnerables a inyecciones, seguido de cerca
contexto. por pruebas automatizadas de todos los
● Se utilizan datos dañinos dentro de parámetros, encabezados, URL, cookies,
los parámetros de búsqueda en JSON, SOAP y entradas de datos XML.
consultas Object-Relational Mapping
(ORM), para extraer registros Cómo Prevenir los ataques de inyección:
adicionales sensibles. Para prevenir los ataques por medio de
● Los datos dañinos se usan inyecciones es necesario separar los datos de
directamente o se concatenan, de los comandos y las consultas.
modo que el SQL o comando ● La opción preferida es utilizar una
resultante contiene datos y API segura, que evite el uso de un
estructuras con consultas dinámicas, intérprete por completo y
comandos o procedimientos proporcione una interfaz
almacenados. parametrizada. Se debe migrar y
utilizar una herramientas de Mapeo
Algunas de las inyecciones más comunes son Relacional de Objetos (ORMs).
SQL, NoSQL, comandos de SO, object- Incluso cuando se parametrizan, los
Relational Mapping (ORM), LDAP, procedimientos almacenados pueden
expresiones de lenguaje u Object Graph introducir una inyección SQL si el
Navigation Library (OGNL). El concepto es procedimiento PL/SQL o T-SQL
idéntico entre todos los intérpretes. La concatena consultas y datos, o se
revisión del código fuente es el mejor método ejecutan parámetros utilizando
para detectar si las aplicaciones son EXECUTE IMMEDIATE o exec().
● Realice validaciones de entradas de
datos en el servidor, utilizando "listas
blancas". De todos modos, esto no es basadas en el conocimiento”, las
una defensa completa ya que muchas cuales no se pueden implementar de
aplicaciones requieren el uso de forma segura.
caracteres especiales, como en ● Almacena las contraseñas en texto
campos de texto, APIs o aplicaciones claro o cifradas con métodos de
móviles. hashing débiles.
● Para cualquier consulta dinámica ● No posee autenticación multi-factor o
residual, escape caracteres especiales fue implementada de forma ineficaz.
utilizando la sintaxis de caracteres ● Expone Session IDs en las URL, no
específica para el intérprete que se la invalida correctamente o no la rota
trate. La estructura de SQL como satisfactoriamente luego del cierre de
nombres de tabla, nombres de sesión o de un periodo de tiempo
columna, etc. no se pueden escapar y, determinado.
por lo tanto, los nombres de Cómo Prevenir los ataques de pérdida de
estructura suministrados por el autenticación:
usuario son peligrosos. Este es un Para evitar los ataques de pérdida de
problema común en el software de autenticación se debe tener en cuenta las
redacción de informes. siguientes recomendaciones:
● Utilice LIMIT y otros controles SQL ● Implemente autenticación multi-
dentro de las consultas para evitar la factor para evitar ataques
fuga masiva de registros en caso de automatizados, de fuerza bruta o
inyección SQL. reúso de credenciales robadas.
● No utilice credenciales por defecto en
A2: 2017 Pérdida de autenticación: su software, particularmente en el
Las funciones de la aplicación relacionadas a caso de administradores.
autenticación y gestión de sesiones son ● Implemente controles contra
implementadas incorrectamente, permitiendo contraseñas débiles. Cuando el
a los atacantes comprometer usuarios y usuario ingrese una nueva clave, la
contraseñas, token de sesiones, o explotar misma puede verificarse contra la
otras fallas de implementación para asumir la lista del Top 10.000 de peores
identidad de otros usuarios (temporal o contraseñas.
permanentemente). ● Alinear la política de longitud,
La confirmación de la identidad y la gestión complejidad y rotación de
de sesiones del usuario son fundamentales contraseñas con las recomendaciones
para protegerse contra ataques relacionados de la Sección 5.1.1 para Secretos
con la autenticación. Pueden existir Memorizados de la Guía NIST 800-
debilidades de autenticación si la aplicación: 63 B's u otras políticas de contraseñas
● Permite ataques automatizados como modernas, basadas en evidencias.
la reutilización de credenciales ● Mediante la utilización de los
conocidas, cuando el atacante ya mensajes genéricos iguales en todas
posee una lista de pares de usuario y las salidas, asegúrese que el registro,
contraseña válidos. la recuperación de credenciales y el
● Permite ataques de fuerza bruta y/o uso de APIs, no permiten ataques de
ataques automatizados. enumeración de usuarios.
● Permite contraseñas por defecto, ● Límite o incremente el tiempo de
débiles o muy conocidas, como respuesta de cada intento fallido de
“Password1”, “Contraseña1” o inicio de sesión. Registre todos los
“admin/admin”. fallos y avise a los administradores
● Posee procesos débiles o inefectivos cuando se detecten ataques de fuerza
en el proceso de recuperación de bruta.
credenciales, como “respuestas
● Utilice un gestor de sesión en el débiles, o falta una gestión o rotación
servidor, integrado, seguro y que adecuada de las claves?
genere un nuevo ID de sesión ● Por defecto, ¿se aplica cifrado? ¿se
aleatorio con alta entropía después han establecido las directivas de
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, aplicación también es vulnerable a
bcrypt o PBKDF2 ataques de denegación de servicio,
● Verifique la efectividad de sus incluyendo el ataque Billion Laughs.
configuraciones y parámetros de
forma independiente. Cómo Prevenir los ataques de Entidades
externas XML (XXE):
A4:2017 Entidades externas XML (XXE) El entrenamiento del desarrollador es esencial
Muchos procesadores XML antiguos o mal para identificar y mitigar defectos de XXE.
configurados evalúan referencias a entidades Aparte de esto, prevenir XXE requiere:
externas en documentos XML. Las entidades ● De ser posible, utilice formatos de
externas pueden utilizarse para revelar datos menos complejos como JSON
archivos internos mediante la URI o archivos y evite la serialización de datos
internos en servidores no actualizados, confidenciales.
escanear puertos de la LAN, ejecutar código ● Actualice los procesadores y
de forma remota y realizar ataques de bibliotecas XML que utilice la
denegación de servicio (DoS). Las aplicación o el sistema subyacente.
aplicaciones y, en particular servicios web Utilice validadores de dependencias.
basados en XML, o integraciones que utilicen Actualice SOAP a la versión 1.2 o
XML, pueden ser vulnerables a este ataque sí: superior
● La aplicación acepta XML ● Deshabilite las entidades externas de
directamente, carga XML desde XML y procesamiento DTD en todos
fuentes no confiables o inserta datos los analizadores sintácticos XML en
no confiables en documentos XML. su aplicación, según se indica en la
Por último, estos datos son hoja de trucos para prevención de
analizados sintácticamente por un XXE de OWASP.
procesador XML. ● Implemente validación de entrada
● Cualquiera de los procesadores positiva en el servidor (“lista
XML utilizados en la aplicación o los blanca”), filtrado y sanitización para
servicios web basados en SOAP, prevenir el ingreso de datos dañinos
poseen habilitadas las definiciones de dentro de documentos, cabeceras y
tipo de documento (DTDs). Dado que nodos XML.
lo mecanismos exactos para ● Verifique que la funcionalidad de
deshabilitar el procesamiento de carga de archivos XML o XSL valide
DTDs varía para cada procesador, se el XML entrante, usando validación
recomienda consultar la hoja de XSD o similar.
trucos para prevención de XXE de ● Las herramientas SAST pueden
OWASP. ayudar a detectar XXE en el código
● La aplicación utiliza SAML para el fuente, aunque la revisión manual de
procesamiento de identidades dentro código es la mejor alternativa en
de la seguridad federada o para aplicaciones grandes y complejas.
propósitos de Single Sign-On (SSO). ● Si estos controles no son posibles,
SAML utiliza XML para garantizar considere usar parcheo virtual,
la identidad de los usuarios y puede gateways de seguridad de API, o
ser vulnerable. Firewalls de Aplicaciones Web
● La aplicación utiliza SOAP en una (WAFs) para detectar, monitorear y
versión previa a la 1.2 y, si las bloquear ataques XXE.
entidades XML son pasadas a la
infraestructura SOAP, probablemente A5:2017 Pérdida de control de acceso:
sea susceptible a ataques XXE. Las restricciones de control de acceso
● Ser vulnerable a ataques XXE implican que los usuarios no pueden actuar
significa que probablemente la fuera de los permisos previstos. Típicamente,
las fallas conducen a la divulgación, minimizar el control de acceso HTTP
modificación o destrucción de información (CORS).
no autorizada de los datos, o a realizar una ● Los controles de acceso al modelo
función de negocio fuera de los límites del deben imponer la propiedad (dueño)
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.
● Para los sistemas actualizados, las ● La aplicación debe tener una
nuevas funciones de seguridad se arquitectura segmentada que
encuentran desactivadas o no se proporcione una separación efectiva
encuentran configuradas de forma y segura entre componentes y acceso
adecuada o segura a terceros, contenedores o grupos de
● Las configuraciones de seguridad en seguridad en la nube (ACLs).
el servidor de aplicaciones, en el ● Envíe directivas de seguridad a los
framework de aplicación (ej., Struts, clientes (por ej. cabeceras de
Spring, ASP.NET), bibliotecas o seguridad).
bases de datos no se encuentran ● Utilice un proceso automatizado para
especificados con valores seguros. verificar la efectividad de los ajustes
● El servidor no envía directrices o y configuraciones en todos los
cabeceras de seguridad a los clientes ambientes.
o se encuentran configurados con
valores inseguros. A7: 2017 Cross-Site Scripting (XSS):
● El software se encuentra
desactualizado o posee Existen tres formas usuales de XSS para
vulnerabilidades (ver A9: 2017 Uso atacar a los navegadores de los usuarios:
de componentes con vulnerabilidades
● XSS Reflejado: la aplicación o API
conocidas).
Cómo Prevenir los ataques de utiliza datos sin validar,
Configuración de seguridad incorrecta: suministrados por un usuario y
Deben implementarse procesos seguros de codificados como parte del HTML o
instalación, incluyendo: Javascript de salida. No existe una
● Proceso de fortalecimiento cabecera que establezca la Política de
reproducible que agilice y facilite la Seguridad de Contenido (CSP). Un
implementación de otro entorno ataque exitoso permite al atacante
asegurado. Los entornos de ejecutar comandos arbitrarios
desarrollo, de control de calidad (HTML y Javascript) en el navegador
(QA) y de Producción deben de la víctima. Típicamente el usuario
configurarse de manera idéntica y deberá interactuar con un enlace, o
con diferentes credenciales para cada
alguna otra página controlada por el
entorno. Este proceso puede
atacante, como un ataque del tipo
automatizarse para minimizar el
esfuerzo requerido para configurar pozo de agua, publicidad maliciosa, o
cada nuevo entorno seguro. similar.
● Use una plataforma minimalista sin ● XSS Almacenado: la aplicación o
funcionalidades innecesarias, API almacena datos proporcionados
componentes, documentación o por el usuario sin validar ni sanear,
ejemplos. Elimine o no instale los que posteriormente son
frameworks y funcionalidades no visualizados o utilizados por otro
utilizadas. usuario o un administrador.
● Siga un proceso para revisar y Usualmente es considerado como de
actualizar las configuraciones riesgo de nivel alto o crítico
apropiadas de acuerdo a las ● XSS Basados en DOM: frameworks
advertencias de seguridad y siga un
en JavaScript, aplicaciones de página
proceso de gestión de parches. En
particular, revise los permisos de única o APIs incluyen datos
almacenamiento en la nube (por dinámicamente, controlables por un
ejemplo, los permisos de buckets S3). atacante. Idealmente, se debe evitar
procesar datos controlables por el
atacante en APIs no seguras.
A8: 2017 Deserialización insegura:
Los ataques XSS incluyen el robo de la
Aplicaciones y APIs serán vulnerables si
sesión, apropiación de la cuenta, evasión de
deserializar objetos hostiles o manipulados
autenticación de múltiples pasos, reemplazo
por un atacante. Esto da como resultado dos
de nodos DOM, inclusión de troyanos de
tipos primarios de ataques:
autentificación, ataques contra el navegador,
descarga de software malicioso, keyloggers, y ● Ataques relacionados con la
otros tipos de ataques al lado cliente. estructura de datos y objetos; donde
el atacante modifica la lógica de la
Cómo Prevenir los ataques de Cross-Site
Scripting (XSS): aplicación o logra una ejecución
Prevenir XSS requiere mantener los datos no remota de código que puede cambiar
confiables separados del contenido activo del el comportamiento de la aplicación
navegador. durante o después de la
● Utilizar frameworks seguros que, por deserialización.
diseño, automáticamente codifican el ● Ataques típicos de manipulación de
contenido para prevenir XSS, como datos; como ataques relacionados con
en Ruby 3.0 o React JS. el control de acceso, en los que se
● Codificar los datos de requerimientos utilizan estructuras de datos
HTTP no confiables en los campos existentes pero se modifica su
de salida HTML (cuerpo, atributos, contenido.
JavaScript, CSS, o URL) resuelve los
La serialización puede ser utilizada en
XSS Reflejado y XSS Almacenado.
aplicaciones para:
La hoja de trucos OWASP para evitar
XSS tiene detalles de las técnicas de ● Comunicación remota e Inter-
codificación de datos requeridas. Procesos (RPC/IPC)
● Aplicar codificación sensitiva al ● Protocolo de comunicaciones, Web
contexto, cuando se modifica el Services y Brokers de mensajes.
documento en el navegador del ● Caching y Persistencia.
cliente, ayuda a prevenir DOM XSS. ● Bases de datos, servidores de caché y
Cuando esta técnica no se puede sistemas de archivos.
aplicar, se pueden usar técnicas
similares de codificación, como se Cómo Prevenir los ataques de
explica en la hoja de trucos OWASP Deserialización insegura:
El único patrón de arquitectura seguro es no
para evitar XSS DOM.
aceptar objetos serializados de fuentes no
● Habilitar una Política de Seguridad
confiables o utilizar medios de serialización
de Contenido (CSP) es una defensa que sólo permitan tipos de datos primitivos.
profunda para la mitigación de Si esto no es posible, considere alguno de los
vulnerabilidades XSS, asumiendo siguientes puntos:
que no hay otras vulnerabilidades que ● Implemente verificaciones de
permitan colocar código malicioso integridad tales como firmas digitales
vía inclusión de archivos locales, en cualquier objeto serializado, con el
bibliotecas vulnerables en fuentes fin de detectar modificaciones no
conocidas almacenadas en Redes de autorizadas.
Distribución de Contenidos (CDN) o ● Durante la deserialización y antes de
localmente. la creación del objeto, exija el
cumplimiento estricto de
verificaciones de tipo de dato, ya que control de cambios, lo que deja a la
el código normalmente espera un organización abierta
conjunto de clases definibles. Se ha innecesariamente a varios días o
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
A10:2017 Registro y monitoreo para prevenir alteraciones o
insuficientes: eliminaciones.
El registro y monitoreo insuficientes ocurren ● Asegúrese que todas las
en cualquier momento: transacciones de alto valor poseen
● Eventos auditables, tales como los una traza de auditoría con controles
inicios de sesión, fallos en el inicio de integridad que permitan detectar
de sesión, y transacciones de alto su modificación o borrado, tales
valor no son registrados. como una base de datos con permisos
● Advertencias y errores generan de inserción únicamente u similar.
registros poco claros, inadecuados o ● Establezca una monitorización y
ninguno en absoluto alerta efectivos de tal manera que las
● Registros en aplicaciones o APIs no actividades sospechosas sean
son monitoreados para detectar detectadas y respondidas dentro de
actividades sospechosas. períodos de tiempo aceptables.
● Los registros son almacenados ● Establezca o adopte un plan de
únicamente de forma local. respuesta o recuperación de
● Los umbrales de alerta y de incidentes, tales como NIST 800-61
escalamiento de respuesta no están rev.2 o posterior.
implementados o no son eficaces. Existen frameworks de protección de
● Las pruebas de penetración y aplicaciones comerciales y de código abierto
escaneos utilizando herramientas tales como OWASP AppSensor, firewalls de
DAST (como OWASP ZAP) no aplicaciones web como ModSecurity
generan alertas. utilizando el Core Rule Set de OWASP, y
● La aplicación no logra detectar, software de correlación de registros con
escalar o alertar sobre ataques en paneles personalizados y alertas.
tiempo real.
● También es vulnerable a la fuga de Fuente:
información si registra y alerta https://www.owasp.org/images/5/5e/OWASP
eventos visibles para un usuario o un -Top-10-2017-es.pdf
atacante.
Cómo Prevenir los ataques de Registro y
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 directamente provenientes del sector ciudadano
proporcional al avance que se tiene en corresponden al 68% del total, seguido del
digitalización de los procesos, así mismo la 12% en el sector financiero, 6% en el sector
información de las bases de datos no solo se tecnología , 5% en el sector industrial, 3% en
compone de información de contacto de sus el sector Gobierno, Medios de comunicacion y
clientes, esta también está compuesta de educacion, sin duda corresponde a un
información sobre su negocio, tales como incremento de delitos en algunos sectores a los
ventas, tendencias y otro tipo de entradas que cuales puede afectar de manera directa el
permiten a las organizaciones aplicar negocio sin el adecuado tratamiento del riesgo
mecanismos de analitica para la toma de hasta niveles aceptables.
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 Fuente: Amenazas cibercrimen en Colombia CCP
2014 las denuncias recibidas el 92%
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 sectores y así mismo sube la criminalidad en
sector Industrial, Gobierno , Salud y estos, por lo tanto independiente al sector que
tecnología. 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
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ó
este tema y se logró dar a conocer 10
Por lo tanto los atacantes identifican sectores las amenazas más peligrosas que nos
específicos los cuales por digitalización y enfrentamos en la red.
avances tecnológicos tienen expuestos sus ● La seguridad informática se vuelve
servicios tales como portales transaccionales más y más indispensable para
para el uso de los usuarios, sin un adecuado garantizar la integridad,
plan de auditorias de seguridad las confidencialidad y disponibilidad de
aplicaciones pueden contener serios la información, un proyecto como el
problemas de seguridad. OWASP es de mucha ayuda ya que
nos advierte de los peligros y nos da
El cibercrimen le cuesta al mundo herramientas para mitigar el riesgo de
aproximadamente hasta US$575.000 millones pérdida de información.
al año, lo que representa el 0,5% del PIB ● En el sitio oficial de OWASP
global, por ello que las organizaciones se ven encontramos los diferentes ataques
en la obligacion del cumplimeinto de que se presentan a las aplicaciones
normativas impuestas por la ley para poder web, también nos muestra las
operar garantizando la protección de diferentes formas de evitarlos, por ello
información de sus clientes y así mismo es importante tener en cuenta las
asegurando su organización en contra de los recomendaciones que brinda OWASP
atacantes maliciosos. para evitar cualquier ataque que sea
El framework de OWASP permite llevar a perjudicial en nuestras aplicaciones
cabo los lineamientos de seguridad propuestos web y probar todas las formas de
para las aplicaciones expuestas para garantizar evitar estos ataques.
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.

Bibliografía
Conclusiones: Matteo Meucci, A. M. (26 de Septiembre de
2019). OWASP. Obtenido de Owasp
● El uso de Herramientas automatizada testing Guide:
como por ejemplo Revisión de Código
https://www.owasp.org/images/1/19/
y Pruebas de Seguridad pueden
OTGv4.pdf
minimizar estos riesgos.
● Implementar una metodología de Internet Organised Crime Threat Assessment
desarrollo seguro es una Inversión (28 de septiembre del 2016). IOCTA
Segura; aumenta la confianza entre los
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