Está en la página 1de 7

2017 International Conference on Information Systems and Computer Science

Acometiendo un ERP
Evaluando la seguridad de un software desarrollado en APEX 5

Undertaking an ERP
Evaluating the security of APEX 5 developed software

Esteban Crespo 1, 2, Catalina Astudillo 1, 2, Marcos Orellana 1, 2


1
LIDI, 2 Escuela de Sistemas y Telemática
Universidad del Azuay
Cuenca, Ecuador
ecrespo@uazuay.edu.ec, cvastudillo@uazuay.edu.ec, marore@uazuay.edu.ec

Resumen — La seguridad de la información es una preocupación characteristics that can be exploited. (IV) Analysis of the
creciente en empresas y organizaciones, siendo más alta aun vulnerabilities encountered in the previous stage. (V) Exploitation
cuando se vincula a plataformas financieras donde existe of those vulnerabilities through the selection of appropriate tools
información sensible. El presente trabajo resume las técnicas to achieve this purpose. And vi) The post-exploitation stage, where
utilizadas en el pentesting realizado tanto al servidor que aloja al the destruction of evidence of attack, the conservation of the
producto informático, como al software ERP desarrollado en la connection and the accesses obtained to extract information are
herramienta APEX 5 por la Universidad del Azuay. Se han contemplated; tests explained here were carried out within the
contemplado seis etapas que sugiere una prueba de penetración: i) facilities of the Universidad del Azuay, considering the
la conceptualización, que es la etapa que permite definir el alcance development environment in which the ERP project is currently
de las pruebas a realizar; ii) la preparación del laboratorio en la located.
que se definen algunas de las herramientas que servirán para el
inicio de las pruebas de seguridad; iii) la obtención de información Keywords: Pentesting, Information Security, APEX, ERP,
que hace referencia a las etapas de reconocimiento y escaneo en la Hacking
que se identifican posibles objetivos para luego explorar con
mayor profundidad algunas características intrínsecas que
puedan ser aprovechadas; iv) el análisis de las vulnerabilidades I. INTRODUCCIÓN
encontradas en la etapa anterior; v) la explotación de esas
vulnerabilidades mediante la selección de herramientas; y vi) la
post explotación, etapa en la que se contempla la destrucción de La seguridad de la información y la seguridad informática se
evidencias del ataque y la conservación de la conexión y los accesos basan en tres principios fundamentales: i) la disponibilidad, que
logrados para extraer información. Todas estas pruebas fueron hace referencia a que la información debe estar dispuesta en el
efectuadas dentro de las instalaciones de la Universidad del Azuay, momento que se la requiera, ii) la confidencialidad que se refiere
considerando el ambiente de desarrollo en el que actualmente se al acceso autorizado a la misma, y iii) la integridad, que hace
encuentra el proyecto ERP. relación a que la información debe ser alterada bajo
conocimiento. Además, se debe considerar que la información
Palabras clave: Pentesting, Seguridad Informática, APEX, ERP, es el recurso más valioso para una organización, y es más valioso
Hacking. para quien la tenga en el momento oportuno, además de que
tenga conocimiento de cómo utilizarla; por lo tanto, como
propone Francis Bacon la “información es poder” [1], que para
Abstract — Actually, information security is an increasing concern una empresa u organización es sinónimo de ventaja competitiva.
in organizations and enterprises, higher even in financial
platforms, where resides a big amount of sensible data. In this Las empresas están obligadas a anticiparse a los diversos
paper, we contemplate the different techniques used in the escenarios de riesgo de información, debido a una vertiginosa
pentesting performed into the server that hosts the software and evolución de la informática, el constante cambio tecnológico, y
the ERP software, developed by Universidad del Azuay, using el rápido crecimiento de las múltiples transacciones de negocio,
APEX 5 as development platform, including the six penetration en los que la información y los dispositivos computacionales
test stages: I) conceptualization, stage that allows defining the están inmersos en escenarios como ataques de hackers, usuarios
scope of the tests to be performed. II) Preparation of the del sistema, amenazas lógicas, y una gran variedad adicional.
laboratory, which defines some of the tools that we used to initiate Pero, debido a la falta de conocimiento sobre cómo protegerla
security tests. (III) Obtaining information, that refers to the stages
adecuadamente o a la complejidad exigida por muchas normas
of recognition and scanning, in which possible objectives will be
internacionales y mejores prácticas de desarrollo, múltiples
identified and then to explore in greater depth some intrinsic
organizaciones descuidan asegurarla tal como lo determinó

978-1-5386-2644-3/17 $31.00 © 2017 IEEE 174


DOI 10.1109/INCISCOS.2017.24
Crespo [1] en su estudio para la propuesta de la metodología Lopensky [6], que explica la manera de implementar un
ECU@Risk. analizador de vulnerabilidades y evaluar aplicaciones
desarrolladas con APEX.
Una de las técnicas de evaluación que apoyan al análisis de
brechas de seguridad es el pentesting, análisis que debe ser En base a la experiencia adquirida por los autores
realizado por una persona con conocimientos técnicos, pero con anteriormente mencionados, para estas pruebas de penetración
principios éticos. Esta última característica diferencia a un se han aplicado los métodos de caja negra (black box), de caja
atacante común, conocido en esta época como un “hacker de blanca (white box) y de caja gris (gray box). Según Caballero
sombrero negro”, que es una persona que irrumpe la seguridad [7], la prueba de caja negra consiste en realizar los ataques sin
de la organización con el fin de beneficiarse de la información conocer la estructura interna de la organización, y es realizada
en ella almacenada. solo con el conocimiento de una dirección IP o la URL provista
por el personal del proyecto o el personal de TI.
Este trabajo resume la experiencia de las pruebas de
penetración aplicadas a un software ERP desarrollado en Oracle La prueba de caja blanca consiste en realizar las pruebas de
APEX 5 por la Universidad del Azuay, considerando tanto la ataque considerando toda la información proporcionada, esto es,
técnica de caja negra como la de caja blanca y la de caja gris. La diagramas, detalles sobre el hardware, software, sistemas
primera etapa del ataque consistió en hacer un escaneo a ciegas operativos, firewalls, etc. Esto ayuda a que los ataques sean
(caja negra), solamente contando con la dirección IP del servidor objetivos, sin embargo, pueden quedar algunos detalles sueltos
que aloja a este software, la misma que fue provista por la debido a que no se consideran otros elementos que podrían ser
directora del proyecto UDA ERP. descubiertos con la técnica de ataque de caja negra [7].
El trabajo realizado se limita a cinco pruebas, sugeridas por Para Caballero [7], la prueba de caja gris simula a un ataque
[2] y [3]: i) identificación del contexto; ii) identificación de las realizado por un empleado descontento, el cual tiene un nivel de
vulnerabilidades en el código; iii) evaluación cross-site privilegios adecuado, además de contar con permisos de acceso
scripting XSS; iv) inyección SQL y v) denegación de servicios a la red interna. La información obtenida en el ataque permitió
DDoS. identificar servicios y puertos de escucha que posiblemente no
serían revelados en una prueba de caja blanca.
Con la información obtenida en el ataque, se pudieron
identificar servicios y puertos de escucha que posiblemente no La información provista por esta última técnica permitió
serían revelados en una prueba de caja blanca; comprobando que confirmar los resultados obtenidos con la técnica de caja negra.
la lista no contenía únicamente al TCP 8080. Por otro lado, la En relación con la prueba de caja gris, se puede considerar a las
información entregada en la técnica de caja blanca ha servido pruebas internas con un usuario que tenga acceso a la aplicación,
para confirmar los resultados obtenidos en la técnica de caja el mismo que utilizará los privilegios con los que cuenta, pero
negra. con sentido malicioso.
El proyecto ERP es una iniciativa de la Universidad del Como parte de la metodología se incluye también un estudio
Azuay que se viene desarrollando desde el año 2015 como una descriptivo cuantitativo con la cual se ejecutará un experimento
solución a las MPYMES del sector manufacturero, quienes por de interrelaciones, comparando los resultados de las diferentes
lo general no cuentan con los recursos económicos suficientes herramientas utilizadas en cada una de las etapas del ataque,
como para adquirir un software de estas características. además de la aplicación de la metodología explicativa y
concluyente, donde se evidenciarán los resultados de la causa y
Este trabajo se enfoca a: i) establecer una guía de pruebas de el efecto que tiene la prueba de penetración.
penetración basada en herramientas para este efecto; y ii)
documentar las pruebas de penetración realizadas al software
ERP que se viene desarrollando en la Universidad del Azuay. El
documento logrado se clasifica de la siguiente manera: i) el III. ETAPA DE CONCEPTUALIZACIÓN
método utilizado; ii) la conceptualización del escenario de La etapa de conceptualización es sumamente importante
pruebas; iii) la definición del laboratorio de pruebas; iv) los porque aquí se definen los objetivos de la prueba de penetración
resultados obtenidos en las diversas fases del pentesting; y v) las [8]. Ha sido importante preguntar al equipo de desarrollo del
conclusiones obtenidas en las pruebas de evaluación a una ERP: ¿Qué le preocupa? ¿Qué parte de la infraestructura o del
aplicación desarrollada en Oracle APEX 5. sistema es de la que sospecha vulnerabilidades? ¿Existen
dispositivos delicados que deban ser considerados mientras se
realiza el pentesting?
II. MÉTODO UTILIZADO Además de lo señalado anteriormente, es importante conocer
el ámbito de direcciones IP que se van a analizar y vulnerar, el
Como trabajos relacionados a esta evaluación de seguridad horario de pruebas, la información del contacto que monitoreará
se puede citar al realizado por Viera y Serrao con título “Web las actividades constantemente, y, sobre todo, contar con la
security in the finance sector [4]”, que analiza la seguridad web autorización escrita. Si el objetivo no forma parte de la
en aplicaciones del sector financiero; por otro lado está el trabajo organización contratante, es importante que este tercero conozca
de López [5] con título “Pentesting on web applications using formalmente las pruebas a las que será sometido [8].
ethical - hacking“, que hace referencia al pentesting en
Se define, por lo tanto, realizar las pruebas al servidor de
aplicaciones web utilizando hacking ético; y al de Väli y
desarrollo que mantiene la Universidad del Azuay para el

175
proyecto UDA ERP, equipo que mantiene una dirección IP Resultados obtenidos
privada en la red 172.16.x.x, permitiendo el acceso al aplicativo NMAP Sparta
mediante el puerto 80, únicamente dentro de los predios de la 22, 25, 1521, 3700,
institución. Además, se ha indicado que el software está 3820, 3920, 4848,
Puertos 22, 25, 1521, 4848, 7676,
desarrollado en la herramienta Oracle APEX. abiertos 8080, 8181
7676, 7776, 8080,
8181, 8686, 13335,
IV. PREPARACIÓN DEL LABORATORIO 17210, 29573
Tipo de
TCP TCP
puertos
La preparación del laboratorio exige la identificación de las Sistema Virtualizado en Oracle Virtualizado en Oracle
herramientas que serán utilizadas para la ejecución del Operativo Virtual Box Virtual Box
pentesting. Para esta validación de seguridad se ha considerado
el uso de herramientas Open Source, incluyendo a KALI Linux,
distro que contiene más de 300 herramientas para pentesting [9].
Topología n/a
Por otro lado, se ha considerado el uso de VEGA, una
herramienta que permite el escaneo de vulnerabilidades y que
otorga una plataforma para pruebas de seguridad de entornos
web, que permite la ejecución automatizada de scripts de análisis
Servidor
de inyección SQL (SQL Injection) o scripts cruzados (Cross-Site web
Glassfish 4.1.1 Glassfish 4.1.1
Scripting). Se suma el análisis del contexto con Nikto, que es un Métodos
escáner actualizable para la detección de vulnerabilidades de HTTP POST, GET POST, GET
servidores web. aceptados
Acepta
En relación con las pruebas al código fuente, se ha utilizado solicitudes Si Si
OWASP ZAP, APEX SERT y Web Developer Plug In. OWASP ICMP
ZAP es una suite que permite realizar pruebas de seguridad en
aplicaciones y servicios WEB, APEX SERT (Security
Evaluation and Recomendation Tool) es una herramienta que VI. IDENTIFICACIÓN DE VULNERABILIDADES
sirve para evaluar las aplicaciones desarrolladas específicamente
en APEX, y Web Developer Plug In, desarrollada por Chris
Pederik, que sirve para la evaluación de un sitio web, que, para En base a la información obtenida, se procedió con la
este trabajo, será aplicado específicamente en el análisis de identificación de las vulnerabilidades para los escenarios
cookies. propuestos, los mismos que se detallan a continuación.

V. OBTENCIÓN DE INFORMACIÓN
A. Identificación de vulnerabilidades en el código fuente

Para las pruebas de Pentesting al software ERP de la


Generalmente los desarrolladores realizan pruebas de
Universidad del Azuay, se han considerado cinco escenarios: i)
seguridad software una vez que el mismo ha sido creado, otros
identificación del contexto, ii) identificación de las cuando se encuentra en etapa de despliegue; sin embargo, puede
vulnerabilidades en el código fuente, iii) análisis de terminar como una práctica ineficaz y restrictiva debido a su
vulnerabilidades mediante la técnica Cross-Site Scripting – costo. Una de las mejores alternativas para evitar problemas con
XSS, iv) análisis de vulnerabilidades mediante la técnica de los “bugs” o fallos que aparecen en el software de producción,
inyección SQL, y v) pruebas de denegación de servicio o DDoS. es el de mejorar su ciclo de vida de desarrollo de software
(SDLC), perfeccionando los niveles de seguridad en cada una de
las etapas que sugiere el proyecto OWASP [3]: i) Definir, ii)
A. Identificación del contexto Diseñar, iii) Desarrollar, iv) Implementar, y v) Mantener.
En esta etapa se realizó una indagación al objetivo, aplicando
Para la identificación del contexto se ha utilizado la técnica
inicialmente la herramienta “Nikto”, que ha arrojado las posibles
de caja negra, y los resultados obtenidos se han comparado con
vulnerabilidades de código fuente que tiene el objetivo.
la técnica de caja blanca y caja gris. Con la aplicación de las
Posteriormente se utilizó OWASP Zed Attack Proxy, con
herramientas NMAP y SPARTA, incluidas en el distro Kali, se
métodos GET y POST, cuyos resultados fueron cabeceras de
han obtenidos los siguientes resultados:
contenido X-Content-Type-Options y cabeceras X-Frame-
Options no establecidas, lo que podría facilitar ataques de
secuestro ClickJacking o exponer información de la aplicación
Tabla 1: Identificación del Contexto
de forma involuntaria [3].
Resultados obtenidos En cuanto a la validación de datos, se tomó como ejemplo la
NMAP Sparta validación de un número de cédula de identidad ecuatoriana, en
Puertos
7 17
el cual se detectó la omisión en la validación del número de
encontrados cédula, aceptando sin inconvenientes el número 1212121212,

176
número resultante del algoritmo de Luhn conocido también D. Identificación de vulnerabilidades de denegación de
como módulo 10, y que es utilizado en el cálculo del código de servicio.
control, utilizado en la validación de números de cédula o
tarjetas de crédito [10].
Para comprobar el nivel de seguridad ante ataques de
En cuanto a la validación de contraseñas, la fortaleza de las denegación de servicio, en base a la información obtenida, se
mismas puede ser un impedimento para el atacante, debido a la aplicaron las técnicas de ataque “ICMP Flooding”, “SYN
cantidad de transacciones que le tomaría realizar. Así, según Flooding” y “Ping of death”.
Spendolini [11], una contraseña con solo 5 caracteres de
longitud, y solo con letras minúsculas del alfabeto (por ejemplo, La herramienta hping3 generó paquetes a discreción, es
la contraseña por omisión de un enrutador: “admin”), puede ser decir, crear y analizar paquetes TCP/IP. Para evadir al firewall,
vulnerada en 0.000124 segundos utilizando fuerza bruta si se será necesario generar peticiones aleatorias que terminarán en la
trata de un escenario fuera de línea, y en un escenario en línea, dirección 8080, puerto de escucha de la aplicación. Para generar
en 3.43 horas la contraseña estaría vulnerada. dichas peticiones, se ha ejecutado el comando con la opción “--
rand-source”. De acuerdo a lo que se puede observar en la figura
Una característica interesante propia de APEX es la 1, el tráfico capturado visualiza las direcciones aleatorias, las
generación de tokens aleatorios para cada sesión de usuario. Así mismas que el firewall las considerará como normales.
por ejemplo, la URL de la aplicación
“http://localhost:8080/apex/f?p=101:2:9342982341417:::::”
indica que f?p=101 es el ID de aplicación, 2 hace referencia al
ID de la página, y 9342982341417 que en este caso es el valor
aleatorio generado como único para una sesión establecida,
número que no se genera si no se utiliza el asistente de desarrollo
[11].

B. Identificación de vulnerabilidades de código cruzado Figura 1: Tráfico capturado de las direcciones aleatorias generadas

Así, se realizó el primer ataque de denegación de servicio.


Se aplicó la herramienta VEGA considerando los módulos Para ello, se aplica el parámetro “--flood” para la inundación
de inyección “XSS injection checks” a fin de determinar si el ICMP. Como resultado, el equipo objetivo deja de responder.
sitio es vunerable a ataques XSS, así como también se utilizaron A continuación, se atacó utilizando inundación SYN (SYN
los módulos “HTTP trace probes” para solicitar al servidor la Flood). Este tipo de ataque acciona un número elevado de inicios
repetición de la solicitud TRACE de nuevo al cliente, situación de conexión que nunca son finalizados, dejando al servidor a la
usada comúnmente por las cookies de sesión. “HTTP Header espera del ACK final, de esta manera, se consume recursos de
Checks” fue usado para validación de vulnerabilidades de forma inesperada y el usuario ya no puede acceder a la
cabecera, “HTTP Authentication Over Unencrypted HTTP” y información [12].
“Cleartext password over HTTP” para identificar
vulnerabilidades sobre protocolos no cifrados. Utilizando el Metasploit Framework de Kali, con la
herramienta “use /auxiliary/dos/tcp/synflood”, se aumenta el
Además, ha dado como resultado la alerta de que se no se ha parámetro snaplen a 65535 bytes, y se reduce el tiempo de
especificado un conjunto de caracteres para las respuestas del emisión de paquetes a 100 ms. De esta manera, al ejecutar el
servidor, lo que puede generar un problema de seguridad si el exploit, el servidor quedó nuevamente fuera de servicio.
recurso afectado contiene contenido generado dinámicamente
por los usuarios. Finalmente se procede con la prueba del “Ping de la muerte”.
Si bien se trata de una técnica antigua, puede darse el caso de
que el equipo objetivo no esté preparado para soportar el ataque.
C. Identificación de vulnerabilidades de inyección SQL Se hace la prueba enviando un ping constante al objetivo, con un
tamaño de paquete de 65535 bytes. En este caso no se produjo
una denegación de servicio.
Utilizando VEGA, y seleccionando los módulos “Blind SQL
Injection Timing”, “Blind SQL Text Injection Differential
Checks” y “Blind SQL Injection Arithmetic Evaluation E. Simulación de un ataque de fuerza bruta
Differential Checks”.
Posteriormente se aplicó SQLMAP, asignando los Simulando un ataque de diccionario en la que se incluyen
parámetros “--technique=BEUS” y un nivel de agresividad de todas las letras minúsculas del alfabeto y los números del 0 al 9,
ataque elevado “--level 3”. es decir una combinación de 36 caracteres posibles, con la
Como resultados, la aplicación desarrollada en APEX no ha aplicación Crunch disponible en el distro Kali, se ha generado
presentado vulnerabilidades ante ataques de inyección SQL. un total de 2.176’782.336 entradas de contraseñas posibles, que
posteriormente fueron utilizadas en el ataque de fuerza bruta
realizada con la aplicación Hydra. Hay que considerar que, para

177
esta prueba, se requiere un espacio de disco considerable, pues Puerto TCP 22 Abierto El puerto 22 no es cifrado y por 4 4
el archivo que contiene estas entradas fue superior a los 14Gb. lo tanto es propenso a ataques
MITM
Puerto TCP 25 Abierto El puerto 25 no es cifrado y por 3 3
lo tanto es propenso a ataques de
fuerza bruta
VII. MODELAMIENTO DE AMENAZAS Puerto TCP 25 Abierto El puerto 25 no es cifrado y por 3 3
lo tanto es propenso a ataques
MITM
Puerto TCP 8080 Abierto Reemplazo de un recurso 4 3 4 4
Según el Proyecto OWASP [3], el modelamiento de específico mediante el método
amenazas es una representación estructurada de toda la POST.
información que afecta a la seguridad de una aplicación, y que Puerto TCP 8080 Abierto Eliminación de un recurso 3 3 4 4
específico mediante el método
se ha vuelto bastante popular en los últimos años. Menciona que DELETE.
Microsoft ha publicado un libro sobre su proceso y que incluye Puerto TCP 8080 Abierto HTTP Method (‘Allow’ Header) 3 3
a este proceso como una actividad clave en su Ciclo de vida de Métodos de riesgo potencial:
PUT, DELETE
desarrollo seguro (S-SLDC).
Puerto TCP 8181 Reemplazo de un recurso 4 3 4 4
Microsoft [13], en su análisis de modelo de amenazas sugiere Abierto específico mediante el método
POST.
realizar 7 pasos: i) Recopilar información básica, ii) crear y Puerto TCP 8181 Abierto Eliminación de un recurso 3 3 4 4
analizar el modelo de amenazas, iii) analizar las amenazas, iv) específico mediante el método
identificar las técnicas y tecnologías de mitigación, v) DELETE.
Puerto TCP 8181 Abierto HTTP Method (‘Allow’ Header) 3 3
desarrollar el modelo de seguridad y las consideraciones de Métodos de riesgo potencial:
implementación, vi) implementar y probar las mitigaciones y PUT, DELETE
vii) mantener el modelo de amenazas sincronizado con el diseño. La cabecera anti secuestro Ataques clickjacking 2 2 2 2
de clic (anti-clickjacking
Según Alcides [14], el riesgo informático es “un conjunto de X-Frame-Options header)
no está presente
normas y procedimientos que son aplicados para salvaguardar El servidor presenta WebBrowsing Fingerprinting 2 2 2 2
un sistema informático, cuya finalidad es garantizar que todos posibilidades de fuga
los recursos que conforman el sistema informático sean mediante ETags
La cabecera de protección Ataques XSS 3 3 3 3
utilizados para el fin que fueron creados sin ninguna contra ataques Cross Site
intromisión” Scripting XSS no está
definida
Para la creación y el modelamiento de amenazas, se han Puerto TCP 1521 Abierto Envenenamiento TNS [16] 3 3 3 3
utilizado las herramientas sugeridas en la metodología Puerto TCP 3700 Abierto Portal of Doom. Usado 3 3 3 3
comúnmente por troyanos [17]
ECU@Risk [15], las mismas que permitieron valorar los riesgos El sitio utiliza SSL y la Denegación de servicios 3 1 3 3
en base a las amenazas identificadas y valoradas. Aplicando la cabecera de transporte
matriz de impacto (Figura 2) sugerida por la metodología, seguro estricto (Strict-
Transport-Security HTTP
Matriz de Impacto Valoración Header) no está definida.
La cabecera de opciones Denegación de servicios 3 1 3 3
E – Extremo 5 de tipo de contenido X-
Content-Type-Options no
A – Alto 4 está establecida
El nombre de host Suplantación de identidad 4 1 3 4
M – Moderado 3 ‘172.16.1.87’ no
B – Menor 2 concuerda con el nombre
del certificado
L – Leve 1 Servidor acepta Saturación ICMP 3 3 3 3
solicitudes ICMP
Figura 2: Matriz de impacto. Fuente: [15] Acepta Métodos POST y Inundación HTTP 3 3 3 3
GET
se pudo llegar a la tabla de valoración de amenazas (tabla 2), en TCP utiliza un Syn Flood 3 3 3 3
mecanismo de
las que se incluye la vulnerabilidad identificada, la amenaza que negociación de tres vías.
puede presentarse, y su impacto en términos de Servidor acepta Ping de la muerte 1 3 1 3
solicitudes ICMP
confidencialidad, disponibilidad e integridad. La última Servidor acepta Inundación IP 1 3 1 3
columna hace referencia al valor absoluto de la amenaza, que en solicitudes ICMP
resumen es el valor más alto obtenido de las tres perspectivas. Contraseñas débiles Fuerza bruta 4 2 2 4
Así también, de acuerdo a lo que sugiere la norma, no todas las Contraseñas débiles Ataque de diccionario 4 2 2 4
Cookies Predicción de credenciales 3 2 2 3
perspectivas son afectadas, según el tipo de activo de Interesting Meta Tags Revelación no intencionada de 2 1 1 1
información y la amenaza identificada. Detected información

Tabla 2: Identificación y valoración de amenazas VIII. CONTRAMEDIDAS

Vulnerabilidad Amenaza C D I V
Puerto TCP 22 Abierto El puerto 22 no es cifrado y por 4 4 En base a las vulnerabilidades y amenazas identificadas, se
lo tanto es propenso a ataques de
fuerza bruta.
sugiere priorizar las que mayor impacto pueden ocasionar a la
organización, en este caso, al software ERP y la infraestructura

178
que lo soporta; sin descuidar los correctivos que puedan estándares, que no realice MIME-sniffing o que pueda
realizarse de una forma rápida, como, por ejemplo, denegar las ser dirigido por la aplicación web / servidor web para
solicitudes ICMP en el firewall. que no realice MIME-sniffing.
Como contramedidas, se han podido establecer las • Implementar un IDS/IPS para el análisis de tráfico
siguientes: malicioso, esto permitirá alertar y bloquear los ataques
de inundación, a los cuales el servidor es vulnerable.
• Cifrar el puerto de escucha del aplicativo (uso de
HTTPS), y agregar un certificado digital del tipo
Organization SSL, el mismo que permite evaluar la
autenticidad del sitio y la organización que lo respalda. IX. CONCLUSIONES

• Cifrar las bases de datos. Al habilitar esta opción, APEX


utilizará el TDE (Transparent Data Encryption) para La seguridad informática no consiste únicamente en la
cifrar los archivos de datos asociados. TDE podría cifrar implementación de herramientas tecnológicas como firewalls o
todos los archivos de bases de datos que son escritos en antivirus. Las contramedidas que aporten a la mitigación de
el disco, haciéndolos ilegibles a cualquiera que trate de riesgos y amenazas son parte de una adecuada cultura en el
acceder a los mismos [11]. manejo de información, las técnicas de desarrollo de software,
el lenguaje de programación y la configuración de la
• Obligar el uso de contraseñas robustas, tanto en la
infraestructura computacional.
aplicación ERP como en las diferentes herramientas que
permiten la gestión de la infraestructura tecnológica que Según [2], uno de los puntos más críticos de exposición a la
lo soporta, como es el SSH o la base de datos. Según web son los servidores web, que son las herramientas con las que
[11], una contraseña similar a “Pa5sw0rD.!”, le tomará los usuarios interactúan, y que, además, la mayoría de los
al atacante 1.83 billón de siglos vulnerarla en modo problemas provocados no son por fallas de los servidores o
online, 18.28 siglos en modo offline y 1.83 años en un lenguajes utilizados, sino por malas prácticas de programación.
escenario de arreglo de cracking masivo.
Una sola herramienta de análisis no es suficiente. Un
• Uso de un segundo factor de autenticación, como por pentesting efectivo requiere de la combinación de estrategias y
ejemplo el de envío de código de autorización por SMS, herramientas para cada una de las etapas que conforma un
con el fin de detener los ataques de repetición. análisis. Se han identificado como herramientas importantes al
distro Kali Linux (NMAP, Sparta, HPING3, Wireshark, Hydra,
• Cerrar los puertos no utilizados Metasploit Framework y Cookie Cadger), Mantra Linux (Nikto,
• Limitar las conexiones SSH al servidor, restringiendo a OWASP (Wapiti, W3AF), APEX-SERT, Web Developer Plug
los equipos remotos por dirección IP y MAC. In y VEGA.

• Deshabilitar la opción de autocompletamiento de Para la identificación y valoración de amenazas y riesgos se


campos en el código fuente del aplicativo. utilizó la herramienta de modelamiento de amenazas de
Microsoft [13], y la metodología para gestión de riesgos de
• Evaluar y limitar el uso de los meta-tags y el tipo de información ECU@Risk [1].
información que se está entregando en los mismos.
Las buenas prácticas de seguridad Web no recaen
• Establecer el encabezado de respuesta HTTP X-Frame- únicamente en la tecnología que se está utilizando. Muchas
Options. Esto sirve para prevenir que la página pueda veces al pensar solamente en la usabilidad, se deja de lado
ser abierta en un frame, o iframe, lo que evita los ataques muchos aspectos de seguridad; y cuando se incluyen muchos
de clickjacking sobre el sitio web aspectos de seguridad, obviamente la complejidad en el uso de
la aplicación para el usuario es elevada. Por esta razón, una
• Establecer los parámetros de X-Frame de acuerdo a las conclusión que puede rescatarse de [2], es el mantener un
necesidades del negocio. Los parámetros son: i) DENY, equilibrio entre la funcionalidad y la seguridad.
ii) SAMEORIGIN y iii) ALLOW-FROM URI.
Otra de las buenas prácticas es la de filtrar los datos. Como
• Para evadir los ataques XSS, se sugiere incluir la se había visto, un número de cédula 1212121212 fue aceptado.
siguiente cabecera: “header('X-XSS-Protection: El filtrar los datos de entrada reduce el riesgo de contar con
1;mode=block' );”. información errónea en la plataforma.
• Es importante establecer un conjunto de caracteres La importancia del cifrado de datos es inminente. Se pudo
válidos para respuesta, como, por ejemplo: AddCharset comprobar mediante el uso de un sniffer, y de acuerdo con [2],
utf-8 .html. cuando un atacante tiene la facilidad de realizar un ataque de
• Asegurarse que el servidor de aplicaciones / web hombre en el medio, se debe preocupar por la exposición de los
establezca la cabecera Content-Type de forma datos durante el envío, transmisión y recepción de los mismos.
apropiada y que establezca el encabezado X-Content- Por tal razón, es necesario utilizar un protocolo de cifrado de
Type-Options en 'nosniff' para todas las páginas web. En información. Adicionando a esto, se ha podido ver que un sitio
lo posible, se debe asegurar que el usuario final utilice web es susceptible a ser descargado completamente para luego
un navegador web moderno compatible con los ser utilizado en ataques de tipo phishing; por tal razón, la

179
adopción de certificados digitales que validen, no solo el sitio Available:
web sino además la organización, son obligatorios. https://www.seguridad.unam.mx/historico/documento/
El ataque de fuerza bruta es otro factor que debe ser index.html-id=17. [Último acceso: 14 07 2017].
considerado en la protección del servidor. Como se había visto, [3] The OWASP Project, OWASP Testing Guide 4.0,
el puerto SSH (utilizado para la administración remota) acepta N/E: The OWASP Project, 2017.
conexiones con las cuales se pudo ejecutar un ataque de este [4] T. Vieira y C. Serrao, «Web security in the finance
tipo. Una contraseña simple puede ser fácilmente vulnerada, por sector,» de 11th International Conference for Internet
cuanto se recomienda el uso de contraseñas complejas, las Technology and Secured Transactions, ICITST 2016,
mismas que deben incluir caracteres alfabéticos en mayúsculas Barcelona, 2017.
y minúsculas, caracteres numéricos y caracteres especiales.
[5] R. López, «Pentesting on web applications using
Una sesión APEX genera identificadores de sesión aleatorios ethical - hacking,» de Central American and Panama
cuyas cookies expiran al momento de cerrar el navegador, lo que Convention (CONCAPAN XXXVI), 2016 IEEE 36th,
reduce notablemente la posibilidad de ataques de fuerza bruta Panamá, 2016.
efectivos. Si bien estas cookies no pudieron ser identificadas con
la herramienta Cookie Cadger, han logrado ser encontradas con [6] S. Väli y S. Lopienski, «Deploying APEX
el plugin Web Developer de Chrome. Vulnerability Scanner,» CERN Student Report, 2016.
[7] A. Caballero, Hacking con Kali Linux, Lima, 2015.
Con el uso de las herramientas VEGA, OWASP ZAP, se han
revelado el uso de los métodos GET, POST, PUT, DELETE [8] G. Weidman, Penetration Testing, A Hands-On
provistos por un sistema web para el acceso a la información. De Introduction to Hacking (1), EEUU: No Starch Press,
los anteriores, los dos últimos deben ser manejados con mucho 2014.
cuidado, pues PUT permite cargar contenidos y DELETE [9] O. Security, «Kali Tools,» 2017. [En línea]. Available:
eliminarlos. Estos métodos deben ser analizados y evaluados https://tools.kali.org/tools-listing. [Último acceso: 31
antes de su puesta en producción. 07 2017].
Las dos herramientas indicadas anteriormente también han [10] K. Hussein, N. Sani, R. Mahmod y T. Abdullah,
permitido identificar las cabeceras HTTP expuestas. De estas, se «Enhance Luhn Algorithm for Validation of Credit
puede indicar que “Anti-MIME-Sniffing header X-Content- Cards Numbers,» de International Journal of
Type-Options” aún no ha sido establecida a “no sniff”, Computer Science and Mobile Computing, n/a, 2013.
permitiendo que navegadores antiguos interpreten el contenido
de una forma diferente a la declarada originalmente. [11] S. Spendolini, Expert Oracle Application Express
Security, Apress, 2016.
Si bien una aplicación web puede estar bien desarrollada, la
[12] J. Lemon, «Resisting SYN flood DoS attacks with a
infraestructura computacional que apoya a sus actividades
SYN cache,» USENIX, pp. 89-98, 2001.
también puede verse afectadas si las mismas no son aseguradas
de la forma correcta. En las pruebas realizadas para este [13] Microsoft, «SDL Threat Modeling Tool,» 2017. [En
escenario, se ha podido ver que el servidor es susceptible a línea]. Available: https://www.microsoft.com/en-
ataques de denegación de servicio. En estas pruebas, los ataques us/sdl/adopt/threatmodeling.aspx.
de inundación SYN Flood y TCP Flood resultaron exitosas, por [14] G. Alcides, Seguridad informática, Antioquía,
lo tanto, el uso de un IDS/IPS es recomendado tal como lo Colombia: Universidad de Antioquía, 2009.
sugieren [18] y [19].
[15] E. Crespo, Artist, Metodología de Seguridad de la
Información para la gestión del Riesgo Informático
aplicable a MPYMES. [Art]. Universidad de Cuenca,
AGRADECIMIENTOS
2016.
[16] L. Rocha, «Count Upon Security,» 29 Mayo 2014. [En
Se agradece al Ing. Fernando Balarezo, coordinador del
línea]. Available:
departamento de Tecnologías de Información de la Universidad
https://countuponsecurity.com/2014/05/29/simple-
del Azuay por el acceso dado para la ejecución de las pruebas
indicadas en este documento. and-practical-attack-part-2/.
[17] F. Gallo, Inseguridad Informática, España, 2011.
[18] S. Chakrabarti, M. Chakraborty y I. Mukhopadhyay,
X. REFERENCIAS «Study of snort-based IDS,» ACM, pp. 43-47, 2010.
[19] A. Mansoor, M. Muthuprasanna y K. Vijay, «High
[1] E. Crespo, «Ecu@Risk, Una metodología para la Speed Pattern Matching for Network IDS/IPS,» IEEE
gestión de Riesgos,» Enfoque UTE, pp. 107-121, Xplore, 2006.
2017.
[2] UNAM-CERT, «Aspectos Básicos de la Seguridad en
Aplicaciones Web,» 25 Mayo 2016. [En línea].

180

También podría gustarte