Académique Documents
Professionnel Documents
Culture Documents
1957
Resumen ‒ Hoy día con el desarrollo y avances en la and range from piloting a plane with an autopilot to
tecnología los productos software son parte de nuestra enabling the operation of ticket dispensers or ATMs. By
vida cotidiana. Estos productos constituyen un soporte the criticality of the processes in which they are related, it
para casi todas nuestras tareas. Estas tareas pueden is necessary that two fundamental characteristics be
tener un desempeño fundamental o no, y van desde met; first, having achieved a level of quality and second,
ejecutar la conducción de un avión a través de un piloto being safe products.
automático hasta posibilitar el funcionamiento de los Software security is a nonfunctional attribute that directly
dispensadores de billetes o cajeros automáticos. Por la affects product quality. Testing non-functional
criticidad de los procesos en los que ellos se encuentran requirements to verify their performance, as it is done
relacionado, es necesario que se cumplan dos with the functional requirements, is a tedious task. As an
características fundamentales; la primera, que tengan un alternative to this problem, tools that automatically or
nivel de calidad aceptado y la segunda, que sean semi-automatically perform tests of different types of
productos seguros. systems have been developed. The aim of this paper is
La seguridad en el software es un atributo no funcional to identify existing software tools related to testing safety.
que influye directamente en la calidad del producto. To achieve this objective a study of the state-of-the-art
Realizar pruebas a los requisitos no funcionales para tools used for security testing is done from 2010 to date.
constatar su desempeño, tal y como se hace con los
requisitos funcionales es una tarea tediosa. Como Keywords: testing security, software quality, tools,
alternativa a este problema se han desarrollado security attacks
herramientas que de forma automática o semiautomática
realizan pruebas de diferente índole a los sistemas. El 1 INTRODUCCIÓN
objetivo de este trabajo es identificar las herramientas
software existentes para realizar pruebas relacionadas La calidad de software puede parecer un concepto alejado de
con la seguridad. Para cumplir este objetivo se efectúa la vida diaria de la mayoría de las personas; pero nada más
un estudio del estado del arte de las herramientas para lejos de la realidad. Cuando en nuestro ordenador aparece un
realizar pruebas de seguridad desde el 2010 a la fecha. mensaje de error, estamos ante un problema de calidad del
software.
Palabras clave: pruebas de seguridad, calidad de
software, herramientas, ataques a la seguridad. Para las empresas, la calidad de los software con que ellas
operan es muy valorada, ya que éstos manejan información
que debe protegerse de cualquier peligro que afecte la
Abstract ‒ Today, due to the development and integridad de los datos. Con calidad nos referimos al
advancement of technology, software products are part cumplimiento de las expectativas de un producto.
of our daily lives. These products support almost all our
tasks. These tasks can be critical or non-performance, Las normas ISO definen la calidad como "Grado en el que un
Los trabajos fueron agrupados utilizando los siguientes Se identificaron además herramientas especializadas en
criterios: pruebas de seguridad para Android [24] [25] [26] estas es
particulares son interesantes ya que el número de usuarios
1. Propuesta de herramientas que atacan a los con dispositivos móviles ha aumentado significativamente en
sistemas para detectar las vulnerabilidades en los últimos años, y las aplicaciones móviles se están
cuanto a la seguridad. convirtiendo en herramientas integrales para la vida diaria.
2. Herramientas que automatizan los procesos de
prueba. 3.4 Años de publicación
3. Herramientas especializadas en las pruebas de
En primer lugar, es importante mencionar que uno de los
seguridad para dispositivos móviles. filtros utilizados en la obtención de los artículos seleccionados
4. Herramientas que evalúan los ataques para este análisis ha sido que la fecha de publicación, ésta no
realizados a los sistemas. tenga más de seis años de antigüedad, es decir, para la
5. Otras herramientas. situación actual los documentos no pueden haber sido
publicados antes del año 2010.
En la Fig 3 se muestra la clasificación de los documentos
siguiendo los criterios definidos. Cada artículo sólo puede La Fig 4 muestra una gráfica con la cantidad de
pertenecer a una sola categoría. publicaciones por año. Se evidencia que en el año
2013 y 2015 es dónde mas artículos fueron publicado.
Como se observa el 37% de los artículos son propuestas de
Este fenómeno puede estar dado porque en esos dos
herramientas que atacan la seguridad de los sistemas. Este
resultado evidencia que una manera de probar la seguridad años se realizó el congreso internacional de "Pruebas
de los software es atacándolos con herramientas en de software, verificación y validación", impulsando la
ambientes controlados, y no sólo eso sino que en los últimos publicación de muchos trabajos relacionados con el
seis años es el procedimiento más utilizado. tema que se está analizando.
2015
donde cada una de ellas juegan el ron del
atacante. En [14] también se utiliza el principio
Fig. 4. Cantidad de publicaciones por año del ataque de penetración, pero en esta ocasión
el software trata de defenderse de él.
Ataque inyección de código, es utilizado por [31]
4 RESULTADOS Y DISCUSIÓN [12] [17] [23]. En [12] se implementa como parte
de la herramienta utilizando código XML, en [17]
Los documentos seleccionados para el estudio de las el código que se pretende inyectar es SQL, y en
herramientas, metodologías y procesos para realizar [23] se analiza el patrón de este ataque para
pruebas, pueden dividirse de forma operativa en tres protegerse de él en una red que los autores
bandos. En el primer bando podemos agrupar las denominan inteligente.
herramientas que desempeñan el rol de un atacante Ataque de entidades externas, ya sea utilizando
[17] [16] [19] [15] [13] [27] [12] [28] y tratan de burlar la XML [12] u otro mecanismo [25].
seguridad del software realizando diferentes ataques. Ataques contra la integridad de los datos [26]
Con la información obtenida trabajan para mejora el [19] [17].
software. La Tabla 4 muestra una relación de dichas Ataque de descripciones de pestaña [12].
herramientas, se especifican si están disponible Ataque a la denegación de servicio [13] [32].
gratuitamente y los ataques fundamentales que Otros ataques [12].
implementan.
Durante la investigación se identificaron herramientas
TABLA 4
RELACIÓN DE HERRAMIENTAS QUE ACTÚAN COMO ATACANTES que no sólo se limitaban a realizar ataque previamente
Nombre de la Herramienta desarrollados, ellas dan la posibilidad de programar
Ataque que implementa ataques específicos a software mediante un modulo de
herramienta gratuita
VERA No Inyección de código desarrollo [17] [31], esta característica le da un valor
PURITY Ofrece al usuario agregado a la herramienta.
planear sus ataques,
Si
cuenta con amplio Una afirmación recurrente en la mayoría de los trabajos
catálogo es que para poder implementar herramientas que
Kali Linux Penetración, aseguren de una manera u otra la seguridad de los
Si
Denegación de Servicio sistemas hay que conocer los modelos de amenazas
TFTP RRQ No Denegación de servicio
para diferentes dominios. En varios artículos [22] [28]
WSFAggressor Si Combinatorios
[17] se ha identificado que al base de su propuesta se
mHealth apps No Integridad de los datos
centra en los en esta área.
En el segundo bando, las herramientas juegan el rol de
defensores, son dotadas con mecanismos capaces de Las herramienta de pruebas de software puede ser
identificar un ataque y tratar de defender el software, o muy útil a los proveedores para evaluar la seguridad de
mínimo reportar lo ocurrido [29] [30]. en la Tabla 5 muestra sus plataformas de servicios, y también para los
las dos herramientas encontradas que clasifican en este desarrolladores para divulgar cuestiones
bando. potencialmente graves antes del despliegue.
TABLA 5
Las principales estrategias que utilizan las propuestas
RELACIÓN DE HERRAMIENTAS QUE ACTÚAN COMO DEFENSORAS
que juegan el rol de defensoras son:
Nombre de la herramienta Herramienta gratuita
SOA-Scanner Si (algunas versiones con
funcionalidades limitadas) Principio de monitoreo, detectando si algo pasa
fuera de lo común, por lo general estas
Tool support for secure No
herramientas se basan en un proceso iterativo
programming
[20] [21].
En el tercer bando agruparemos todas aquellas Generación de casos de pruebas y ejecución de
investigaciones que no clasifican en las anteriores. en determinados sitios web [16] [33].
[3]. Hamill, P., "Unit Test Frameworks: Tools for High-Quality [18]. Yeo, J., "Using penetration testing to enhance your
Software Development". O'Reilly Media, Inc. 304 p. 2004. company's security". Computer Fraud & Security, Vol. 2013,
No. 4, pp. 17-20, 2013
[4]. Black, A., "Critical Testing Process: Plan, Prepare,
[23]. Kondakci, S., "Intelligent network security assessment [31]. Bozic, J. & F. Wotawa. "Xss pattern for attack modeling
with modeling and analysis of attack patterns". Security and in testing". In Proceedings of the 8th International Workshop
Communication Networks, Vol. 5, No. 12, pp. 1471-1486, on Automation of Software Test. pp. 71-74, 2013
2012
[32]. Smith, C. & G. Francia III. "Security fuzzing toolset". In
[24]. Jadhav, S., T. Oh, Y.H. Kim & J.N. Kim. "Mobile device Proceedings of the 50th Annual Southeast Regional
penetration testing framework and platform for the mobile Conference. pp. 329-330, 2012
device security course". In Advanced Communication
Technology (ICACT), 2015 17th International Conference on. [33]. Aouadi, M.H., K. Toumi & A. Cavalli. "An Active Testing
pp. 675-680, 2015 Tool for Security Testing of Distributed Systems". In
Availability, Reliability and Security (ARES), 2015 10th
[25]. Salva, S. & S.R. Zafimiharisoa. "Data vulnerability International Conference on. pp. 735-740, 2015
detection by security testing for Android applications". In
Information Security for South Africa, 2013. pp. 1-8, 2013 [34]. Xu, D., W. Xu, M. Kent, L. Thomas & L. Wang, "An
Automated Test Generation Technique for Software Quality
[26]. Knorr, K. & D. Aspinall. "Security testing for Android Assurance". Reliability, IEEE Transactions on, Vol. 64, No. 1,
mHealth apps". In Software Testing, Verification and pp. 247-268, 2015
Validation Workshops (ICSTW), 2015 IEEE Eighth
International Conference on. pp. 1-8, 2015