36
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
Resumen
La seguridad en el desarrollo de aplicaciones web es un
proceso integral que debe iniciarse desde las primeras etapas
del ciclo de desarrollo. Los
frameworks
modernos proporcionan
herramientas de seguridad importantes, pero no son sufcientes
por sí solos para asegurar las aplicaciones. Es esencial que se
acompañe de prácticas adecuadas y de un diseño de software
sólido. Las vulnerabilidades pueden aparecer no solo a nivel
de
framework
, sino también debido a políticas de acceso
inadecuadas, validación de datos defciente y mecanismos de
autenticación insufcientes. La adopción de las guías de la
Open
Web Application Security Project
y los estándares del OWASP
—
Application Security Verifcation Standard—
es crucial para
mitigar estas vulnerabilidades, así como la familiarización con los
Common Vulnerabilities and Exposures
y
Common Vulnerabilities
and Exposures
asociados a las tecnologías empleadas.
Palabras clave:
ciberseguridad, OWASP, desarrollo seguro de
software, inteligencia de vulnerabilidades, OSINT.
Abstract
Security in web application development is a comprehensive
process that needs to be started early in the development cycle.
Modern frameworks provide important security tools, but they are
1* Universidad de Ciencias Informáticas/ UCI, Facultad de Ciberseguridad.
OWASP
Odyssey:
una guía completa
para prácticas de software seguras
OWASP Odyssey: A Complete Guide to
Secure Software Practices
Cristhian Santana Ferrer*
INVESTIGACIÓN
Recibido: 06/2024 | Aceptado: 08/2024 | Publicado: 12/2024
pp. 36 - 50
37
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
not enough to secure applications. They must be accompanied by
good development practices and sound software design. Vulnera-
bilities can occur not only at the framework level, but also due to
inadequate access policies, poor data validation, and insufcient
authentication mechanisms. Adoption of the Open Web Appli-
cation Security Project guidelines and the OWASP Application
Security Verifcation Standard standards is critical to mitigating
these vulnerabilities, as is familiarity with Common Vulnerabili-
ties and Exposures and Common Vulnerabilities and Exposures
associated with the technologies used.
Keywords:
Cybersecurity, OWASP, secure software development,
vulnerability intelligence, OSINT.
Introducción
Se suele pensar que la seguridad es un proceso de la etapa de
desarrollo en las aplicaciones web. Mientras que los desarrollado
-
res suelen confar mucho en los mecanismos que ofrecen los
fra-
meworks
, estos no brindan protección frente a las malas prácticas
durante el desurante un mal manejo de software, ausencia de me-
canismos de autenticación, entre otros. Lo anterior propicia apli
-
caciones vulnerables en producción, quedando expuestas a cibe-
ratacantes que pueden explotar debilidades como ataques XSS,
o con bases de datos no aseguradas que pueden conducir a fugas
de información.
Surge así la necesidad de llevar a cabo la presente investiga-
ción con la fnalidad de exponer vulnerabilidades que se pre
-
sentan en el desarrollo de las aplicaciones web y las maneras de
mitigarlas siguiendo las especifcaciones propuestas en las guías
de la
Open Web Security Project
(OWASP) y los requerimientos
de seguridad mínimos con el que deberían cumplir la mayoría de
las aplicaciones siguiendo las recomendaciones de la fundación
OWASP en su proyecto
Application Security Verifcation Standard
(ASVS). La mitigación de vulnerabilidades como inyecciones SQL,
Broken authentication
,
Broken Access Control
y fltración de in
-
formación sensible serán algunas de las tratadas en la presente
investigación.
De forma tal que, como parte de las tareas para atenuar las
vulnerabilidades en el proceso de desarrollo de aplicaciones
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
38
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
web, las organizaciones deben adoptar acciones de inteligen
-
cia de vulnerabilidades de forma proactiva para prevenir futuras
amenazas, frente a
exploits
maliciosos, o nuevas vulnerabilidades
identifcadas en los
frameworks
utilizados por estas. Para ello,
un análisis y conocimiento previo de los
Common Vulnerabilities
and Exposures
(CVE) y
Common Vulnerabilities and Exposures
(CVE) a través de plataformas como CVE
Details
, redes sociales,
entre otros (Le, Wang et al. 2019).
Materiales y métodos
Para el desarrollo de la presente investigación se realizó una
recopilación y revisión bibliográfca para la cual fueron necesa
-
rios ciertos recursos, detallados a continuación:
Open Web Security Project
La fundación OWASP es una organización sin fnes de lucro
que trabaja para mejorar la seguridad del software, dedicada a
permitir que las organizaciones conciban, desarrollen, adquie
-
ran, operen y mantengan aplicaciones en las que se pueda confar.
Todos sus proyectos, herramientas, documentos, foros y capí-
tulos son gratuitos y abiertos a cualquier persona interesada en
mejorar la seguridad de las aplicaciones (Helmiawan, Firmansyah
et al. 2020). La fundación OWASP se lanzó el 1 de diciembre de
2001 y se incorporó como una organización benéfca de los Esta
-
dos Unidos el 21 de abril de 2004. (Idris, Syarif et al. 2022)
OWASP
Application Security Verifcation Standard
El OWASP —
Application Security Verifcation Standard—
es
una lista de requisitos o pruebas de seguridad de aplicaciones
que puede ser utilizada por arquitectos, desarrolladores, evalua
-
dores, profesionales de seguridad, proveedores de herramientas
y consumidores para defnir, construir, probar y verifcar aplica
-
ciones seguras (Wen and Katt 2023) (Li 2020).
Vulnerabilidades comunes en aplicaciones web
El OWASP Top 10 (Helmiawan, Firmansyah et al. 2020) es el
informe presentado por la fundación OWASP el cual se actualiza
con regularidad donde se exponen los diez riesgos más impor
-
tantes que presentan las aplicaciones web (Subedi, Alsadoon
et al. 2016). Este sirve de referencia para las organizaciones a la
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
pp. 36 - 50
39
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
hora de garantizar la seguridad de sus aplicaciones web. Siendo
este el primer paso para fomentar de manera efectiva una cultura
en el desarrollo de software seguro (Sołtysik-Piorunkiewicz and
Krysiak 2020):
A01:2021-
Broken Access Control
A02:2021-
Cryptographic Failures
A03:2021-
Injection
A04:2021-
Insecure Design
A05:2021-
Security Misconfguration
A06:2021-
Vulnerable and Outdated Components
A07:2021-
Identifcation and Authentication
A08:2021-
Software and Data Integrity Failures
A09:2021-
Security Logging and Monitoring Failures
A10:2021-
Server-Side Request Forgery
Inteligencia de vulnerabilidades
La gestión de la superfcie de ataque es de vital importancia
para las organizaciones para mantener un sólido proceso de ci
-
berseguridad. Es aquí donde entra en juego la inteligencia de
amenazas la que debe contar como parte de las acciones que las
organizaciones deberían emprender en el desarrollo de aplicacio
-
nes web de manera segura, gracias a que la ya mencionada inteli-
gencia proporciona información crítica sobre posibles ataques y
vulnerabilidades que pueden presentar los
frameworks
y tecno-
logías empleadas en las mismas. Para ello, como se aprecia en la
fgura 1, se puede contar con numerosas plataformas como CVE
Details, Exploit Database
, CVE
Website
,
National Vulnerability
Database
(NVD) (Cascavilla, Tamburri et al. 2021).
Figura 1.
Vulnerabilidades más comunes registradas en cvedetails.com
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
pp. 36 - 50
40
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
Aplicaciones Web
En esta sección se dará la descripción de la estructura con la
que cuentan las aplicaciones web generalmente y las tecnologías
más comunes que se utilizan en estas.
Frontend
El
Frontend
es utilizado para mostrar el contenido principal de
un sitio web, es lo que el usuario ve. En el contexto de los sitios web
se refere a todas las tecnologías que se ejecutan en el navegador y
se encargan de brindar interactividad con el sitio. Por esto se em
-
plean varias tecnologías como HTML-5, CSS,
JavaScript
. Los sitios
web que solo cuentan con el
Frontend
suelen ser propensos a ata-
ques de
Cross-Site-Scripting
(XSS). Algunos
Frameworks
modernos
como Angular y
ReactJs
cuentan con mecanismos incorporados
para prevenir los ataques XSS (Lala, Kumar et al. 2021).
Backend
El
Backend
es necesario a la hora de implementar sitios web
dinámicos. Suele encargarse de manejar la lógica y el procesa
-
miento de datos indispensables para que todo funcione de ma-
nera correcta y segura, ocupándose de tareas como almacenar
y leer datos de una base datos, procesar formularios, autenticar
usuarios y gestionar la seguridad del sitio. Por este motivo exis
-
ten numerosos lenguajes y
frameworks
utilizados, como
Python
(
Django,
como aparece en la fgura 2,
Flask
,
FastAPI,
como en la
fgura 3), C# (ASP.NET como se ve en la fgura 4),
Java
(Spring
Framework, como aparece en la fgura 5), PHP (
Symfony, Lara-
vel
), entre otros (Lala, Kumar et al. 2021).
Figura 2.
CVE Details de Django Framework
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
41
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
Figura 3.
CVE Details de FastAPI
Figura 4.
CVE Details de .NET Framework
Figura 5.
CVE Details de Spring Framework
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
42
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
Bases de Datos
Las bases de datos almacenan la información que debe ser
conservada y no debe ser accesible para el cliente. Son compati
-
bles con los requisitos de privacidad y conformidad asociados a
cualquier dato. Por ejemplo, para acceder a la base de datos, los
usuarios deben iniciar sesión. Los diferentes usuarios también
pueden tener diferentes niveles de acceso, como el de solo lec-
tura. Dichas bases se pueden clasifcar de varias maneras, siendo
las más populares: SQL y NoSQL (Lala, Kumar et al. 2021).
Resultados y discusión
En esta sección se detallan los resultados obtenidos a lo largo
de la presente investigación.
Requisitos de seguridad
Siguiendo las especifcaciones establecidas en la ASVS de for
-
ma que se pueda garantizar la disponibilidad, confdencialidad,
integridad, no repudio y privacidad de la información y sistemas
web, se destacan los siguientes requisitos a modo de lista de ve-
rifcación para aplicaciones.
Ciclo de vida de desarrollo de software seguro
No
Descripción
CWE
1.1.2
Verifque el uso del modelado de amenazas para cada
cambio de diseño.
1053
1.1.3
Verifque que todas las historias y características de
usuario contienen restricciones de seguridad funcionales.
1110
Tabla 1.
Requisitos de seguridad esenciales en el ciclo de desarrollo de
software
Autenticación
No
Descripción
CWE
2.1.4
Verifque que cualquier carácter
Unicode
imprimible, in
-
cluidos los caracteres neutros del idioma, como espacios
y emojis esté permitido en las contraseñas.
521
2.1.6
Verifque que la funcionalidad de cambio de contraseña
requiere la contraseña actual y nueva del usuario.
620
2.1.9
Verifque que no hay reglas de composición de contrase
-
ñas que limiten el tipo de caracteres permitidos. No debe
haber ningún requisito para mayúsculas o minúsculas o
números o caracteres especiales.
521
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
43
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
2.2.1
Verifque que los controles anti-automatización son efec
-
tivos para mitigar las pruebas de credenciales fltradas,
fuerza bruta y ataques de bloqueo de cuentas. Estos con
-
troles incluyen el bloqueo de las contraseñas fltradas
más comunes, bloqueos suaves, limitación de velocidad,
CAPTCHA, retrasos cada vez mayores entre intentos, res
-
tricciones de direcciones IP o restricciones basadas en
riesgos.
307
2.2.2
Verifque que el uso de autenticadores débiles (como
SMS y correo electrónico) se limita a la verifcación se
-
cundaria y la aprobación de transacciones y no como un
reemplazo para métodos de autenticación más seguros.
304
2.3.2
Verifque que se admite la inscripción y el uso de dispo
-
sitivos de autenticación proporcionados por el suscriptor,
como
tokens
U2F o FIDO.
308
Tabla 2.
Requisitos de seguridad esenciales para la autenticación
Gestión de Sesiones
Las sesiones deben ser únicas para cada usuario y no pueden ser
compartidas. Así como estas deben ser invalidadas cuando ya no sean
necesarias y se agota el tiempo de espera. En la tabla 3 se muestran los
requisitos de seguridad esenciales en la gestión de sesiones
No
Descripción
CWE
3.1.1
Verifque que la aplicación nunca revela
tokens
de sesión
en
parámetros de dirección URL.
598
3.2.3
Verifque que la aplicación solo almacena
tokens
de se-
sión en el navegador mediante métodos seguros, como
proteger las
cookies
adecuadamente.
539
3.2.4
Verifque que los
tokens
de sesión se generan mediante
algoritmos criptográfcos aprobados.
331
3.3.1
Verifque que el cierre de sesión y la expiración invalidan el
token
de sesión, de modo que el botón “Atrás” o un usua
-
rio de confanza posterior no reanude una sesión autenti
-
cada, incluso entre los usuarios de confanza.
613
3.4.1
Verifque que los
tokens
de sesión basados en
cookies
tengan el atributo ‘
Secure
’ establecido.
614
3.4.2
Verifque que los
tokens
de sesión basados en
cookies
tie
-
nen el
atributo ‘HttpOnly’ establecido.
1004
3.4.3
Verifque que los
tokens
de sesión basados en
cookies
utilizan el atributo ‘
SameSite
’ para limitar la exposición a
ataques de falsifcación de solicitudes entre sitios.
16
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
44
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
3.5.1
Verifque que la aplicación permite a los usuarios revocar
tokens
de OAuth que forman relaciones de confanza con
aplicaciones vinculadas.
290
3.5.3
Verifque que los
tokens
de sesión sin estado utilizan
frmas digitales, cifrado y otras contramedidas para
protegerse contra ataques de manipulación, envolvente,
reproducción, cifrado nulo y sustitución de claves.
345
Tabla 3.
Requisitos de seguridad esenciales en la gestión de sesiones
Control de Acceso
No
Descripción
CWE
4.1.1
Verifque que la aplicación utiliza las reglas de control
de acceso en una capa de servicio de confanza, espe
-
cialmente si el control de acceso del lado cliente está
presente y podría ser
bypaseado
.
602
4.1.2
Verifque que todos los atributos de usuario y datos y
la información de directiva utilizada por los controles
de acceso no pueden ser manipulados por los usuarios
fnales a menos que se autorice específcamente.
639
4.1.3
Verifque que existe el principio de privilegios mínimos:
los usuarios solo deben poder acceder a funciones,
archivos de datos, direcciones URL, controladores, ser
-
vicios y otros recursos, para los que poseen una auto
-
rización específca.
285
4.3.2
Verifque que la exploración de directorios está desha
-
bilitada a menos que se desee deliberadamente. Ade
-
más, las aplicaciones no deben permitir la detección
o divulgación de metadatos de archivos o directorios,
como
Thumbs.db
, .
DS Store
, .git o .svn.
584
Tabla 4.
Requisitos de seguridad esenciales en el control de acceso
Validación. Desinfección y Codifcación
No
Descripción
CWE
5.1.1
Verifque que la aplicación tiene defensas contra los ataques
de contaminación de parámetros HTTP, especialmente si
el marco de la aplicación no hace ninguna distinción so
-
bre el origen de los parámetros de solicitud.
235
5.1.3
Verifque que todas las entradas se validan mediante va
-
lidación positiva.
20
5.1.4
Verifque que las estructuras de datos están fuertemente
tipados y validados con un esquema defnido que incluya
caracteres permitidos, longitud y patrón.
20
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
45
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
5.2.3
Verifque que la aplicación fltra la entrada del usuario
antes de pasar a los sistemas de correo para protegerse
contra la inyección SMTP o IMAP.
147
5.2.4
Verifque que la aplicación evita el uso de eval() u otras
características de ejecución de código dinámico. Cuando
no hay alternativa, cualquier entrada de usuario debe fl
-
trarse, y ponerlo en
sandbox
antes de ejecutarse.
95
5.2.6
Verifque que la aplicación protege contra ataques SSRF,
validando o desinfectando datos que no son de confanza
o metadatos de archivos HTTP, como nombres de archi
-
vo y campos de entrada de URL, y utiliza listas de proto
-
colos permitidos, dominios, rutas de acceso y puertos.
918
5.2.7
Verifque que la aplicación desinfecta, deshabilita o pone
en
sandbox
el contenido proporcionado por el usuario,
con
scripts
de gráfcos vectoriales escalables especial
-
mente en lo que se refere a XSS resultante de
scripts
en
línea y
foreignObject
.
159
5.2.8
Verifque que la aplicación desinfecta, deshabilita o pone
en
sandbox
el contenido proporcionado por el usuario,
con expresiones en lenguaje de plantilla o
script
como
Markdown
, CSS o las hojas de estilo XSL,
BBCode
o simi-
lares.
94
5.3.3
Verifque que el escape de salida basado en contexto,
preferiblemente automatizado —o en el peor de los ca
-
sos, manual— protege contra XSS reflejado, almacenado
y basado en DOM.
79
5.3.4
Verifque que la selección de datos o las consultas de
base de datos (por ejemplo, SQL, HQL, ORM, NoSQL) uti
-
lizan consultas parametrizadas, ORM, marcos de enti
-
dades o están protegidas de los ataques de inyección de
base de datos.
89
5.3.9
Verifque que la aplicación protege contra ataques de in
-
clusión de archivos locales (LFI) o de inclusión remota de
archivos (RFI).
829
Tabla 5.
Requisitos de seguridad esenciales en la validación de datos
Manejo y Registro de Errores
No
Descripción
CWE
7.1.1
Verifque que la aplicación no registra las credenciales ni
los detalles de pago.
Los
tokens
de sesión solo deben al
-
macenarse en registros de forma
irreversible y
hasheados
.
532
7.1.2
Verifque que la aplicación no registra otros datos conf
-
denciales tal como se
defnen en las leyes de privacidad
locales o la política de seguridad pertinente.
532
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
46
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
7.1.3
Verifque que la aplicación registra eventos relevantes
para la seguridad,
incluidos los eventos de autenticación
correctos y con errores, los errores de
control de acceso,
de deserialización y los errores de validación de
entrada.
778
7.2.1
Verifque que se registran todas las decisiones de auten
-
ticación, sin almacenar
tokens
o contraseñas de sesión
confdenciales. Esto debe incluir solicitudes
con los meta
-
datos relevantes necesarios para las investigaciones de
seguridad.
778
7.3.3
Verifque que los registros de seguridad están protegidos
contra el acceso y la
modifcación no autorizados.
200
7.3.4
Verifque que la fuente donde se lee el tiempo están sin
-
cronizados con la hora
y la zona horaria correctas. Con
-
sidere frmemente el registro solo en UTC si
los sistemas
son globales para ayudar con el análisis forense posterior
al
incidente.
Tabla 6.
Requisitos de seguridad esenciales para el manejo y registro de errores
Protección de Datos
No
Descripción
CWE
8.1.1
Verifque que la aplicación protege los datos confden
-
ciales de la caché en componentes del servidor, como
balanceadores de carga y cachés deaplicaciones.
524
8.1.2
Verifque que todas las copias almacenadas en caché o
temporales de datos confdenciales almacenados en el
servidor están protegidas contra el acceso no autoriza
-
do o purgadas/invalidadas después de que el usuario
autorizado acceda a los datos confdenciales.
524
8.1.4
Verifque que la aplicación puede detectar y alertar so
-
bre números anormales de solicitudes, como por IP,
usuario, total por hora o día, o lo que tenga sentido para
la aplicación.
770
8.1.5
Verifque que se realizan copias de seguridad periódicas
de datos importantes y que se realizan pruebas de la
restauración de datos.
19
8.2.1
Verifque que la aplicación establece sufcientes enca
-
bezados anti-almacenamiento en caché para que los
datos confdenciales no se almacenen en caché en los
navegadores modernos.
525
8.2.2
Verifique que los datos almacenados en el
almacenamiento del navegador (como
localStorage
,
s
essionStorage
,
IndexedDB
o
cookies
) no contengan
datos confdenciales.
922
8.2.3
Verifque que los datos autenticados se borran del al
-
macenamiento del cliente, como el DOM del explorador,
después de que se termine el cliente o la sesión.
922
Tabla 7.
Requisitos de seguridad esenciales para la protección de los datos
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
47
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
Archivos y Recursos
No
Descripción
CWE
12.1.1
Verifque que la aplicación no aceptará archivos gran
-
des que puedan llenar el almacenamiento o provocar
una denegación de servicio.
400
12.1.3
Verifque que se aplica una cuota de tamaño de archi
-
vo y un número máximo de archivos por usuario para
asegurarse de que un solo usuario no puede llenar el
almacenamiento con demasiados archivos o archivos
excesivamente grandes.
770
12.2.1
Verifque que los archivos obtenidos de orígenes que
no son de confanza se validan para que sean del tipo
esperado en función del contenido del archivo.
434
12.3.3
Verifque que los metadatos del nombre de archivo en
-
viados por el usuario se validan u omiten para evitar la
divulgación o ejecución de archivos remotos a través
de ataques de inclusión remota de archivos (RFI) o fal
-
sifcación de solicitudes del lado del servidor (SSRF).
98
12.4.2
Verifque que los archivos obtenidos de fuentes no
confables se almacenen fuera de la raíz web, con per
-
misos limitados.
552
12.5.1
Verifque que la capa web está confgurado para trans
-
mitir solo archivos con extensiones específcas, para
evitar la fltración accidental de información o código
fuente. Por ejemplo, los archivos de copia de seguri
-
dad (p. ej. .bak), los archivos de trabajo temporales (p.
ej. .swp), los archivos comprimidos (.zip, .tar.gz, etc.) y
otras extensiones utilizadas comúnmente por los edi
-
tores deben bloquearse a menos que sea necesario.
552
12.5.2
Verifque que las solicitudes directas a los archivos
cargados nunca se ejecutarán como contenido HTML/
JavaScript
.
434
Tabla 8.
Requisitos de seguridad esenciales en el manejo de archivos y
recursos
API y Servicios Web
No
Descripción
CWE
13.1.3Verifque que las direcciones URL de la API no exponen
información confdencial, como
API keys
, los
tokens
de
sesión, etc.
598
13.1.5Verifque que las solicitudes que contienen tipos de con
-
tenido inesperados o contenido que falta se rechazan con
encabezados adecuados (estado de respuesta HTTP 406
Inaceptable o 415 Tipo de medio no compatible).
434
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
48
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
13.2.1Verifque que los métodos HTTP RESTful habilitados son
una opción válida para el usuario o la acción, como im
-
pedir que los usuarios normales usen
DELETE
o
PUT
en
recursos o API protegidos.
650
13.2.5Verifque que los servicios
REST
comprueben explícita
-
mente que el tipo de contenido entrante sea el esperado,
como application/xml o application/json.
436
Tabla 9.
Requisitos de seguridad esenciales en apis y servicios web
Seguridad de
Frameworks
La utilización de
frameworks
web modernos agiliza signifcati
-
vamente el proceso de desarrollo de aplicaciones web. Estas herra
-
mientas ofrecen a las organizaciones y desarrolladores capacidades
robustas para la creación de sus sistemas. Sin embargo, a pesar de
que estos
frameworks
incluyen mecanismos de seguridad, no son
completamente a prueba de fallos (Kornienko, Mishina et al. 2021).
Un análisis retrospectivo de las vulnerabilidades de algunos de los
frameworks
de desarrollo web más utilizados revela que aquellos
con mayor tiempo en el mercado y complejidad tienden a presen-
tar un mayor número de vulnerabilidades. Por ello, es esencial que
se adopten prácticas de desarrollo sólidas y mecanismos de seguri-
dad adicionales. Por ejemplo,
Django
ha registrado un total de 172
vulnerabilidades, en contraste con
FastAPI
, que cuenta con 2 CVEs
documentados en
CVEdetails
. Esta diferencia subraya la importan
-
cia de una implementación consciente y meticulosa de las medidas
de seguridad, más allá de las que proporciona el
framework
por de-
fecto. La fundación OWASP brinda varias herramientas y guías de
buenas prácticas a la hora de desarrollar aplicaciones web con es-
tos
frameworks
como la OWASP
Cheat Sheets Serie
(Almutairi, Mi
-
shra et al. 2022). Así como OWASP
Java Encoder
, entre otros.
Conclusiones
La seguridad en el desarrollo de aplicaciones web no debe ser
vista como una etapa aislada, sino como un proceso integrado y
esencial desde el inicio del ciclo de desarrollo. Los
frameworks
mo-
dernos ofrecen herramientas de seguridad signifcativas, pero no
son sufcientes para garantizar aplicaciones seguras si no se acom
-
pañan de prácticas de desarrollo adecuadas y un diseño de
software bien fundamentado. La presente investigación ha
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
49
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
demostrado que las vulnerabilidades pueden surgir no solo a ni-
vel de
framework
, sino también a través de la implementación
inadecuada de políticas de acceso, validación de datos defciente
y mecanismos de autenticación insufcientes. La adopción de las
guías de la
Open Web Security Project
(OWASP) y los estándares del
(OWASP)
Application Security Verifcation Standard
(ASVS) es cru
-
cial para mitigar estas vulnerabilidades.
Además, ha demostrado que las organizaciones deben adop
-
tar un enfoque proactivo en la inteligencia de vulnerabilidades,
de manera tal que permita tener un conocimiento de la superfcie
de ataque. Esto facilita anticiparse a futuras amenazas. Al igual
que brinda la posibilidad de desarrollar sistemas y
frameworks
para automatizar o tener un control de las mismas para así de
-
sarrollar futuras estrategias de desarrollo y protección.
En resumen, la seguridad debe ser una preocupación cons-
tante y un objetivo compartido entre desarrolladores y organi-
zaciones, donde la educación continúa, la adopción de buenas
prácticas y la colaboración con la comunidad de seguridad son
claves para el desarrollo de aplicaciones web robustas y segu-
ras. La presente investigación subraya la importancia de inte
-
grar la seguridad en todas las fases del desarrollo de software,
promoviendo una cultura de seguridad que proteja tanto a los
usuarios como a las organizaciones de los riesgos emergentes en
el ciberespacio.
Referencias bibliográfcas
Almutairi, A. A., et al. (2022). “Web Security: Emerging Threats and Defense.”
Computer Systems Science & Engineering 40(3).
Cascavilla, G., et al. (2021). “Cybercrime threat intelligence: A systematic mul
-
ti-vocal literature review.” Computers & Security 105: 102258.
Helmiawan, M. A., et al. (2020).
Analysis of web security using open web appli-
cation security project 10. 2020 8th International Conference on Cyber and IT
Service Management
(CITSM), IEEE.
Idris, M., et al. (2022). “Web application security education platform based on
OWASP API security project.” EMITTER international journal of engineering
technology:
246-261.
Kornienko, D., et al. (2021). “Principles of securing RESTful API web services de
-
veloped with python frameworks”.
Journal of Physics: Conference Series
, IOP
Publishing.
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer
50
ISSN: 2224-6274, RNPS: 0514,
Vol. 20, No. 2, julio - diciembre, 2024
.
Lala, S. K., et al. (2021).
Secure web development using owasp guidelines. 2021
5th International Conference on Intelligent Computing and Control Systems
(ICICCS), IEEE.
Le, B. D., et al. (2019). “Gathering cyber threat intelligence from Twitter using
novelty classifcation.” arXiv preprint arXiv:1907.01755.
Li, J. (2020). “Vulnerabilities mapping based on OWASP-SANS: a survey for sta
-
tic application security testing (SAST).” arXiv preprint arXiv:2004.03216.
Sołtysik-Piorunkiewicz, A. and M. Krysiak (2020). “The cyber threats analysis
for web applications security in industry 4.0.”
Towards Industry 4.0
—Current
Challenges in Information Systems: 127-141.
Subedi, B., et al. (2016). Subedi, B. et al. (2016). "Secure paradigm for web applica
-
tion development". 2016. 15th RoEduNet Conference: Networking in Education
and Reasearch, IEEE.
Wen, S.-F. and B. Katt (2023). “A quantitative security evaluation and analysis
model for web applications based on OWASP application security verifcation
standard.”
Computers & Security
135: 103532.
pp. 36 - 50
OWASP
Odyssey
: una guía completa para prácticas de software seguras
Cristhian Santana Ferrer