Está en la página 1de 9

ANLISIS COMPARATIVO DE LAS TECNOLOGAS DE SEGURIDAD DE

SERVICIOS WEB XWSS Y WSS4J DE JAVA APLICADO AL SISTEMA TRANS.FB


Lisbeth Guevara, Edgar Allauca, Julio Santilln, Vinicio Ramos
Escuela Superior Politcnica de Chimborazo
lisy_gc@hotmail.com, allaucaedgar@gmail.com,
jsantillan@espoch.edu.ec, vi_ramos@espoch.edu.ec
datos. El sistemas de venta y reservacin de
boletos para la cooperativa Flota Bolivar

RESUMEN

cumple con el 100% de funcionalidad,


Para determinar cules de los web services son

lograndse el objetivo de esta invetigacin, por

ms seguros se realiz el anlisis mediante la

lo tanto se concluye que el web service ms

elaboracin

efectuaron

seguro es JAX-WS = 95% ante SPRING = 5%.

pruebas para testear la seguridad de Servicios

Por lo que se recomienda desarrollar los

Web con la herramienta SOAUI PRO, para as

mdulos de facturacin y contabilidad al

verificar el desempeo de las tecnologas JAX-

sistema TRANS-FB.

de

prototipos,

se

WS y Spring. De acuerdo con el anlisis


comparativo los web services para la venta y
reservacin de boletos y el establecimiento de
los

parmetros

de

comparacin

para

determinar el web service ms seguro: SQL

Palabras
Claves:
<SEGURIDAD>
<
HERRAMIENTA PARA TESTEAR LA
SEGURIDAD DE SERVICIOS WEB [SOAUI
PRO]> <JAX-WS> <SPRING> <SCRUM>
<AUTOMATIZACIN DE VENTA Y
RESERVACIN DE BOLETOS>

Injection, XPath Injection, Boundary Scan,


Tipos vlidos, XML con formato incorrecto,

ABSTRACT

Bomba XML, Adjunto malicioso, Cross Site


Scripting, Script personalizado y mediante el

To determine which web services are more

uso de la prueba de Shapiro-Wilk revel que

reliable was performed the analysis using

los datos obtenidos no siguen una distribucin

prototypes, also was tested samples of this web

normal, se aplicaron pruebas no paramtricas

services security with SOAUI PRO tool in

de

Se

order to check the performance of JAX-WS

desarroll el sistema TRANS-FB utilizando

and Spring technologies. According to the

metodologa Scrum para el seguimiento de

cpmparative analysis of the web services for

cada uno de los sprints con sus respectivas

sale,

historias de usuario y pruebas de aceptacin

comparative parameters to determine the safest

definidos

su

web services: SQL Injection, XPath Injection,

herramientas

Boundary Scan, valid types, XML malformed,

Netbeans e Hibernate a travs de sus

XML bomb, malicious attacghment, Cross Site

muestras

relacionadas

en

codificacin

la
se

Wilcoxon.

planificacin,
utiliz

las

para

herramientas de ingeniera inversa de bases de

ticket

reservation

and

setting

the

Scripting, and custom script while by using


Shapiro.Wilk test it showed that the data do not
follow a normal distribution, so non-parametric
tests related to Wilcoxon samples were
applied. TRANS-FB system was developed
using Scrum methodology in order to monitor
each of the sprints with their user stories and
acceptance tests defined in the planning,
Netbeans and Hibernate tools were used for
coding through their engineering databases.
The sale system and Booking tickets to Flota
Bolvar Transport Cooperative Company gets
100% of service, achieving the purpose of this
research. Therefore it concludes that the
reliable web service is JAX.WS whit 95%
SRING whit 5% so it recommended to develop

El presente trabajo de investigacin se enfoca


en la seguridad de los servicios web y su
aplicacin en un sistema web. Inicialmente, se
plante el estudio de las tecnologas de
seguridad de servicios web XWSS y WSS4J,
sin embargo al haberse encontrado varios
inconvenientes a nivel de elaboracin de
prototipos, se redefinieron los objetivos y la
hiptesis de investigacin. Spring y JAX-WS
se constituyeron en las nuevas tecnologas a
ser aplicadas en el proceso de desarrollo del
presente trabajo. La hiptesis se enfoc en
comprobar que JAX-WS permite el desarrollo
de servicios web ms seguros que Spring. Se
efectu una investigacin de tipo experimental,
al someter a pruebas de seguridad web a la
muestra de estudio mediante el software
SOAPUI PRO. Mediante la aplicacin de
pruebas no paramtricas de muestras
relacionadas (Wilcoxon) se comprob la
hiptesis planteada: JAX-WS permite el
desarrollo de servicios web ms seguros que
Spring.

billing and account modules to Flota Bolivar


Tranport Cooperative system (TRANS-FB)
Key words: <SAFETY> < SECURITY TOOL
FOR WEB SERVICES [SOAUI PRO]> <JAXWS
TECHNOLOGY>
<SPRING
TECHNOLOGY
>
<SCRUM
METHODOLOGY> <SALES AUTOMATION
AND TICHKET BOOKING [TRANS-FB]>
<FLOTA
BOLIVAR
TRANSPORT
COOPERATIVE>
INTRODUCCIN
Las aplicaciones web se han convertido hoy en
da en un medio muy utilizado por los
empresarios para gestionar su informacin.
Poseen
cualidades
importantes
como:
compatibilidad
multiplataforma,
acceso
universal y requerimientos mnimos de
hardware y software para su utilizacin. Sin
embargo, existen aspectos como la seguridad
de la informacin que deben ser abordados
minuciosamente, debido a la gran cantidad de
ataques de seguridad que se presentan en el
internet. El manejo tcnico y acertado de
estndares y protocolos, tanto a nivel del
cliente como del servidor, disminuye la
posibilidad de ser atacado.

Objetivos
Objetivo General:
Realizar un anlisis comparativo de las
tecnologas de seguridad de servicios web de
Java para seleccionar la ms segura y aplicarla
al sistema Trans-FB de la Cuidad de Guaranda.
Objetivos Especficos:
Estudiar las tecnologas de seguridad del
Servicio Web: XWSS Y WSS4J de Java.
Definir herramientas de anlisis de
seguridad de servicios web y los parmetros
a ser aplicados en el estudio.
Desarrollar prototipos basados en Spring y
JAX-WS.
Determinar la tecnologa de desarrollo de
servicios web ms segura para su aplicacin
en el sistema Trans-FB, mediante pruebas
de seguridad efectuadas a web services
desarrollados con Spring y JAX-WX.
Desarrollar el Sistema Trans-FB con el uso
de Servicios Web seguros
Hiptesis

JAX-WS permite el desarrollo de servicios


web ms seguros que Spring.
MARCO TERICO
Servicio Web
Un servicio web es un componente de
software que se comunica con otras
aplicaciones codificando los mensajes en XML
y enviando estos mensajes a travs de
protocolos estndares de Internet tales como el
Hypertext
Transfer
Protocol
(HTTP)
(Gallegos Varela, 2005).

Figura 1. Descripcin del Servicio Web.


Fuente: Gallegos Varela (2005)

Spring
El Spring Framework (tambin conocido
simplemente como Spring) es un framework de
cdigo abierto de desarrollo de aplicaciones
para la plataforma Java Spring es una
dependencia de uso de peso ligero y un
container orientado a aspectos, y adems un
framework (Portugal Zambrano, 2009).
Originalmente fue escrito para la plataforma
J2EE de Java.
JAX-WS
El API de Java para servicios web basados en
XML es JAX-WS define el estndar para
servicios web en JEE (Sun Java System
Application Server Platform, 2008). El servicio
se invoca mediante protocolos basados en
XML (SOAP) y el protocolo de red HTTP.

Sattari y Kunjumohamed (2012) describen de


manera general las siguientes diferencias y
similitudes entre las tecnologas XWSS y
WSS4J.
Ambas manejan las siguientes operaciones
de seguridad: Autenticacin, Firma de
Mensajes y Cifrado/Descifrado, siendo
WSS4J ms rpida en su ejecucin.
WSS4J es configurable por propiedades,
mientras que XWSS requiere de un archivo
de poltica de configuracin externo.
En relacin a los tiempos de ejecucin, IBM
developerWorks (2010) efectu pruebas de
desempeo en web services seguros basados en
Axis2 (WSS4J) y Metro (XWSS). Sus
resultados develaron que los web services
programados en Axis2 tuvieron una mayor
rapidez en su ejecucin. Adems de este
hallazgo, lograron determinar que Axis2
requiri una mayor cantidad de memoria.
A efectos del anlisis comparativo se han
resumido
los
criterios
y
resultados
investigativos de los autores antes citados en 4
criterios (ver Tabla 1).
Tabla 1. Comparacin entre XWSS y WSS4J
CRITERIO

XWSS WSS4J

OPERACIONES DE SEGURIDAD

RAPIDEZ

REQUERIMIENTOS DE MEMORIA

TOTAL

FACILIDAD
GURACIN

DE

CONFI-

SoapUI PRO

Fuente: Elaboracin propia

SoapUI es una herramienta de gran alcance


diseada para ayudar en la prueba y el
desarrollo de aplicaciones (Martnez, 2011).

Regla de ponderacin: 1 (bajo, ms deficiente


que o sus similares) 2 (medio o igual que)
3 (alto, mejor que o sus similares)

Se aplic una regla de poderacin basada en


escalas (de menor a mayor, o de 1 a 3), la
misma que permiti cuantificar el anlisis.
ANLISIS COMPARATIVO DE LAS
TECNOLOGAS DE SEGURIDAD DE
SERVICIO WEB: XWSS Y WSS4J

Los resultados cuantitativos sealan a la


tecnologa WSS4J como una mejor solucin
para implementar seguridad a los servicios
web, en comparacin a XWSS.

Tabla 2: Comparacin entre herramientas de anlisis de seguridad de

HERRAMIENTAS DE ANLISIS DE
SEGURIDAD DE SERVICIOS WEB Y
PARMETROS DE COMPARACIN A
SER
APLICADOS
EN
LA
INVESTIGACIN
En base a la revisin bibliogrfica de pruebas
experimentales (Hussain, Wnag & Kalil, 2013)
(Mendoza Mndez, 2010) y criterio de
expertos (Grehan, 2007), existe una clara
tendencia por SoapUI Pro (ver Tabla 2). Por tal
motivo, se selecciona dicha herramienta para la
presente investigacin.
SoapUi Pro permite testear la seguridad de
Servicios Web en base a 9 parmetros preestablecidos en la herramienta.

TIPO
CRITERIOS DE
EXPERTOS

PRUEBAS
EXPERMIENTALES
(1)

ASPECTOS ANALIZADOS
Caractersticas del software,
Portabilidad, Escalabilidad,
Documentacin, Facilidad de
Uso y Valor

SoapUI

Funcionalidad + Eficiencia,
Usabilidad, Fiabilidad y Nivel
de Calidad

JMeter

PRUEBAS
EXPERIMENTALES
(2)

Funcionalidad + Eficiencia,
Usabilidad, Fiabilidad y Nivel
de Calidad

Fuente: Elaboracin Propia

PRUEBAS DE SEGURIDAD EN BASE A


PROTOTIPOS SPRING Y JAX WS

Invalid Types: relacionado al manejo de tipos


de datos no validos

Poblacin y Muestra

XML bomb: relacionado a requerimientos


XML maliciosos
Malicious Attachment: relacionado al mal
manejo de archivos adjuntos

La base de datos de Trans FB consta de 17


campos como puede observarse en la Tabla 3;
este dato se considerar como poblacin de la
investigacin.
El clculo de la muestra (n) se basa en la
frmula:

Cross Site Scripting: busca vulnerabilidades de


tipo Cross Site
Custom Script: relacionado al uso de scripts
para definir parmetros por defecto

WebInject

SoapUI

Hp Load R

Silk Perfor

SoapUI Pr

Boundary Scan: relacionado al manejo de


valores que estn fuera de los rangos definidos.

Malformed XML: relacionado a XML invlido


o no admitido

TestMaker

Storm

SQL Injection: relacionado a la inyeccin de


SQL.
Xpath Injection: relacionado al procesamiento
inadecuado del XML

HERRAM
ANALIZA

Donde,
N = tamao de la poblacin = 17 tablas
n = tamao de la muestra =?
e = Lmite aceptable de error muestral = 5%
(nivel de confianza del 95%)
k = nivel de confianza = 1,96
p = proporcin de individuos que poseen en la
poblacin la caracterstica de estudio = 0,5
q = proporcin de individuos que no poseen
esa caracterstica, es decir, es 1-p = 0,5

Tabla 3. Lista de tablas, base de datos Trans FB

discriminacin resulta difcil de determinar).


Operacionalizacin de variables

TABLA

CAMPOS

CONFIGURACION ESPECIAL

RUTA

USUARIO GESTION

Uso de JAX-WS en el desarrollo de


Servicios Web

AUDITORIA

Variables Dependientes:

CHOFER

Seguridad

MODULO

Tcnica de Recoleccin de la Informacin

UNIDAD TRANSPORTE

CIUDAD

La recoleccin de la informacin necesaria


para las pruebas estadsticas requiri una serie
de pasos previos, entre los que estn:

ROL

Variable Independiente:

10 PASAJERO

11 BOLETO

12 VENTARESERVA

12

13 ASIENTOVRU

14 VIAJE

15 MODULOROL

16 RUTAHORARIOFRECUENCIA

17 USUARIOROL

Fuente: Elaboracin Propia

Aplicando la frmula se obtiene:

La muestra de investigacin, para un nivel de


confianza del 95%, es de 16 tablas. Se
efectuar la investigacin a los 17 elementos
de la poblacin, ya que la diferencia entre la
poblacin y la muestra calculada es de apenas
1 unidad de anlisis (el mtodo de

Uso de Spring en el desarrollo de Servicios


Web

de

los

Servicios

Web

Seleccin de los elementos muestrales: Se


aplicar a todo los elementos de la poblacin
de estudio (ver Tabla 3).
Programacin de Servicios Web: Se utiliz
Netbeans IDE 8.0.2 para la codificacin. Se
implement el proceso de bsqueda de
registros por cdigo.
Como parte del proceso mismo de recoleccin
de datos se realizaron los siguientes pasos:
a. Importacin de las WSDL de Spring y
JAX-WS en SOAPUI PRO: Se generaron
los proyectos TESTS-SPRING-WS y
TESTS-JAX-WS, bajo los cuales se
agregaron cada una de las WSDL con su
respectivo Test de Seguridad
b. Ejecucin de las pruebas de seguridad y
tabulacin de datos: Se ejecutaron los test
de seguridad de la herramienta soapUI PRO
(con su configuracin por defecto) para
cada servicio web implementado en Spring
y JAX-WS.

Los parmetros de seguridad BOUNDARY


SCAN y MALICIOUS ATTACHMENT han
sido omitidos por el programa en el 100% de
las pruebas ejecutadas (para Spring y JAXWS). Esto responde a las siguientes razones:

Tabla 4. Elementos muestrales de la investigacin

MALICIOUS ATTACHMENT: los web


services generados para las pruebas no
contienen ninguna informacin adjunta, por
lo cual el programa no ejecuta ninguna
accin para este tipo de prueba.

SPRING JAX-WX

BOUNDARY SCAN: en la estructura de


los WSDL no se han insertado restricciones
para el manejo de valores no esperados por
el
servidor
(como
por
ejemplo:
if( "xsd:restriction".equals( mynode.getPar
ent().getNodeName() ) )). Por lo cual el
programa no ejecuta ninguna accin para
este tipo de prueba.
De esta forma, de los 9 parmetros de
seguridad web que contempla la herramienta
soapUI PRO para sus pruebas, 7 han sido
ejecutadas. Finalmente, los datos han ser
procesados en el software estadstico SPSS
pueden observarse en la Tabla 4.
Pruebas Estadsticas

N TABLA

CANTIDAD
ERRORES
SEGURIDAD

DE
DE

CONFIGURACION
ESPECIAL

253

RUTA

253

USUARIO
GESTION

253

AUDITORIA

252

CHOFER

253

MODULO

241

UNIDAD
TRANSPORTE

252

CIUDAD

241

ROL

250

10 PASAJERO

251

Al tratarse de muestras relacionadas o


dependientes, se deber aplicar pruebas de
normalidad a fin de determinar si se aplica T
de Student (prueba paramtrica, muestras
relacionadas) o la prueba de Wilcoxon (prueba
no paramtrica, muestras relacionadas) en la
comprobacin de la hiptesis.

11 BOLETO

253

12 VENTARESERVA

253

13 ASIENTOVRU

253

HIPTESIS NULA (Ho): JAX-WS no permite


el desarrollo de servicios web ms seguros que
Spring.

14 VIAJE

252

15 MODULOROL

252

RUTAHORARIO
16 FRECUENCIA

252

17 USUARIOROL

252

250,94

0,00

14,68

0,00

3,83

0,00

HIPTESIS ALTERNATIVA (Ha): JAX-WS


permite el desarrollo de servicios web ms
seguros que Spring.
Tabla 5. Configuracin de las variables en SPSS

MEDIA

VARIABLE

SPSS
VARIANZA

USO DE SPRING EN EL
DESARROLLO
DE
SERVICIOS WEB

spring buscar

DESVIACIN ESTNDAR
Fuente: Elaboracin Propia

USO DE JAX-WS EN EL
DESARROLLO
DE
SERVICIOS WEB

Fuente: Elaboracin Propia

jax-ws buscar

NIVEL DE SIGNIFICANCIA: p < 0.05

Para el ingreso de datos en SPSS se ha


considerado la creacin de 2 variables, mismas
que se encuentran descritas en la Tabla 5.

CONCLUSIONES

En base al estudio comparativo de tipo


bibliogrfico efectuado en la seccin 3.2,
se logr determinar que WSS4J es una
mejor opcin para implementar seguridad
en los servicios web, a comparacin de
XWSS. Sin embargo, al no existir
actualmente soporte para el desarrollo de
aplicaciones con ambas tecnologas. Por
tal razn, la presente investigacin se
enfoc en otras tecnologas: JAX-WS y
SPRING.

Las tablas determinadas para medir la Las


tablas determinadas para medir la
seguridad de web services contribuyeron a
la verificacin clara y concisa de cada uno
de ellos. Spring obtuvo valores dispersos
ante JAX-WX con 0 errores, por lo que se
concluye que las herramientas (JAX-WS
con Netbeans IDE y SOAPUI PRO) se
basan en las mismas mtricas de
seguridad.

Debido a que SoapUI Pro no tiene


declarado oficialmente un porcentaje de
error, se acord realizar cada prueba de
seguridad en un total de 10 veces,
mediante el uso de la prueba de ShapiroWilk para la variable spring buscar ya
que es menor a 0.05, concluyendo que los
datos obtenidos no siguen una distribucin
normal a partir de la prueba 11 en adelante
y la variable JAX-WS es una constante por
lo cual el test de normalidad fue
desestimado, se aplicaron pruebas no
paramtricas de muestras relacionadas
Wilcoxon dando como resultado la
aceptacion de la hiptesis alternativa..

Despus del anlisis estadstico aplicado al


parmetro de seguridad para web services
se observ que existen diferencias
significativas sobre los resultados,
concluyendo que JAX-WS es ms seguro
que Spring en un porcentaje del 95% y 5%
respectivamente.

La utilizacin de SCRUM permiti el


desarrollo gil del sistema web TRANS-

PRUEBAS DE NORMALIDAD: Se verificar


si las variables siguen una distribucin normal,
mediante la prueba de Shapiro Wilk (muestras
pequeas, menores a 30 elementos muestrales).
Pruebas de normalidadb
KolmogorovSmirnova

Shapiro-Wilk

Estadstico gl Sig. Estadstico gl Sig.


spring
buscar

,374 17 ,000

,552 17 ,000

a. Correccin de la significacin de Lilliefors


b. jax-ws buscar es una constante y se ha
desestimado.
Figura 2. Pruebas de normalidad
Fuente: Elaboracin Propia (Captura de pantalla SPSS V.20)

La significancia de la prueba de normalidad de


Shapiro-Wilk para la variable spring buscar
es menor que 0.05, por lo cual se deduce que
no siguen una distribucin normal. La variable
jax-ws es una constante, por lo cual el test de
normalidad fue desestimado. Se deber
efectuar entonces la verificacin estadstica
mediante Wilcoxon.
En base al anlisis de la Figura 3, se decide
aceptar la hiptesis alternativa: JAX-WS
permite el desarrollo de servicios web ms
seguros que Spring.

Figura 3. Prueba de hiptesis con Wilcoxon


Fuente: Elaboracin Propia (Captura de pantalla SPSS V.20)

FB con sus respetivos sprints o iteraciones


permitieron la deteccin temprana de
errores de implementacin, as como la
generacin de productos potencialmente
entregables en cada ciclo dando como
resultado el aplicativo en un perodo
menor a 2 meses.

Para la cooperativa de transporte Flota


Bolvar se realiz una aplicacin con
servicios web, este aplicativo realiza el
proceso de venta y reservacin de pasajes
permitiendo a los usuarios comprar o
reservar su respectivo boleto de forma
segura as como tambin ayudando a la
cooperativa a obtener una informacin
organizada, fcil almacenamiento y
bsqueda rpida.

RECOMENDACIONES

Se recomienda al personal de la
cooperativa de transporte Flota Bolvar,
utilice la documentacin del sistema como
referencia para el uso y mantenimiento.

Se recomienda a los programadores la


utilizacin de Netbeans para la generacin
de web services puesto que permite la
reutilizacin de mdulos adems de ser
intuitivo y sencillos para el programador,
tambin la utilizacin del framework
Hibernate y sus herramientas de ingeniera
inversa de bases de datos.

Se recomienda incrementar nuevos


servicios web para los mdulos de
facturacin y contabilidad del sistema
TRANS-FB utilizando JAX-WS, para
obtener una mejor seguridad.
Se recomienda realizar una investigacin
de herramientas de seguridad web donde
se compare SOAUI Pro con una
herramienta descrita en los criterios de
expertos.
Es recomendable para la realizacin de
proyectos de software utilizar una
metodologa de desarrollo gil como
Scrum ante una metodologa emprica, esto

permitir optimizar tiempos, organizar al


equipo de desarrollo, aumentar la calidad
del software y disminuir los costos de
desarrollo en tanto y cuanto sea posible.
Referencias
1. Gallegos Varela , M. C. (04 de 07 de 2005).
Estudio de la tecnologa .Net para el
desarrollo de aplicaciones e implementacin
de servicios Web XML. Obtenido de
http://repositorio.utn.edu.ec/bitstream/1234567
89/1116/4/04%20ISC%20064%20CAPITULO
%20IV.pdf
2. Grehan, R. (2007). Captulo 1 Three open
source Web service testing tools get high
marks. Obtenido de
http://www.infoworld.com/article/2663940/app
lication-development/three-open-source-webservice-testing-tools-get-high-marks.html?
page=2
3. Hussain, S., Wang, Z., & Kalil, I. (2013). Web
Service Testing Tools: A Comparative Study.
Obtenido de
http://arxiv.org/ftp/arxiv/papers/1306/1306.406
3.pdf
4. IBM developerWorks. (2010). Java web
services: CXF performance comparison.
Obtenido de www.ibm.com:
http://www.ibm.com/developerworks/library/jjws14/
5. Martnez, A. (2011). SOAPUI Manual de
Usuario. Obtenido de http://www.anapoimacundinamarca.gov.co/apc-aafiles/38353137323235306563303134616130/s
oapui.-20manual-20de-20usuario-20v2.21-.pdf
6. Mendoza Mndez, M. (2010). Modelo de
Referencia para la Seleccin de Herramientas
de Prueba como Soporte al Proceso de
Desarrollo de Software en Pymes Venezolanas.
Obtenido de Universidad Catlica Andrs
Bello - Trabajo de Grado de Maestra.
7. Portugal Zambrano, C. (2009). Framework
Spring. Obtenido de
https://christianpzcs.files.wordpress.com/2009/
04/spring.pdf
8. Sattari, H., & Kunjumohamed, S. (2012).
Spring Web Services 2 Cookbook.
Birmingham: Packt Publishing.

9. Sun Java System Application Server Platform.


(2008). The Java EE 5 Tutorial.

Dr. Julio Roberto Santilln Castillo


DIRECTOR TESIS

Ing. Msc. Vinicio Ramos Valencia


MIEMBRO TESIS

Lisbeth Yanarit Guevara Coloma


TESISTA

Edgar Geovanny Allauca Llerena


TESISTA

También podría gustarte