1. An Overview of Testing Applications and Web Service
Security: Free Options
Luis Eduardo Melendez Campis C|EH, ACE, BCF, BIS, BNS
LACREST 2012
Medellin, Colombia.
2. OBJETIVOS DEL ARTICULO
• Entender la importancia del testing de seguridad formal
dentro del proceso de desarrollo de software.
• Conocer metodologías y herramientas de fácil acceso para
llevar a cabo este tipo de testing de manera formal.
3. APLICACIONES Y SERVICIOS WEB: Nuevos Factores de
Inseguridad
CENZIC Web Application Security Trends Report CENZIC Web Application Security Trends Report
Q3-Q4, 2008 Q3-Q4, 2008
Resultados Globales de Webapp Security Investigation 2008
desarrollado por Garnet Inc.
4. TESTING DE SEGURIDAD: Tipos
Testing de
Seguridad
Análisis Estático Whitebox o
Blackbox Testing
de Código Glassbox Testing
El proceso de evaluar un software sin El tester solo tendrá acceso a la aplicación o El tester posee acceso al código fuente de la
ejecutarlo. Solo se tiene acceso al código al servicio web funcional sin ningún tipo de aplicación, manuales de usuario, credenciales
fuente. privilegios de usuario. validas del sistema, configuración del servidor
Web y acceso a la aplicación en si misma.
6. TESTING DE SEGURIDAD: OWASP Testing Methodology
Open Source
Basada en BlackBox Testing
Enfocada 100% en la visión del atacante
Creada para obtener resultados concretos de forma agil.
Posee dos fases
Fase en Modo Pasivo (Recolección de información)
Fase en Modo Activo (Ataques – 9 categorías y 66 pruebas o
controles)
Aplica tanto para aplicaciones como para servicios web
Proceso de actualización y mejoramiento continuo.
Herramientas para la automatización del testing de seguridad
comerciales (ej. Acunetix y Rational AppScan) y libres (W3AF) están
creando perfiles de testing basados en esta metodología.
Se recomienda su aplicación en fase Alpha o Beta de la aplicación o
del servicio web.
10. CONCLUSIONES
El fenómeno masificado de la inseguridad informática nos obliga a garantizar la seguridad
de las aplicaciones que salen a un entorno productivo hostil. Esto justifica la
implementación formal de metodologias de testing de seguridad.
Desde el punto de vista de la seguridad es recomendable llevar a cabo testing de tipo
Blackbox para la identificación de fallas o vulnerabilidades en aplicaciones web, tanto por
tiempos de realización como por los resultados ofrecidos.
El trabajo en el desarrollo de metodologías para el testing de seguridad en aplicaciones
web va en aumento, aunque a la fecha evidencie pocos resultados estos son de gran
impacto en el oficio.
La metodología propuesta por OWASP para el testing de aplicaciones web es una de las
mejores opciones para llevar a cabo esta tarea, podría considerarse como la más completa
y mejor documentada, aunque no existan herramientas que automaticen la totalidad de la
pruebas que ella exige, por lo que debe mezclarse con testing manual.
El software libre ofrece excelentes opciones a nivel de herramientas para realizar testing
de seguridad en aplicaciones web que llegan a ser tan competitivas como las comerciales
El uso de herramientas que automaticen el proceso de testing de seguridad no reemplaza
del todo al testing manual, ya que como se comentó anteriormente, estas herramientas
suelen generar falsos positivos por lo que estos resultados bene de ser comprobados a
través de una verificación manual.
La formación de los programadores debe incluir sólidas bases en seguridad informática
para evitar que estos comentan errores en el desarrollo o la configuración que
desemboquen en vulnerabilidades críticas que pongan en riesgo la aplicación como las
reportadas en el OWASP Top 10.
11. REFERENCIAS
[1] Garnet Inc.; “Webapp Security Investigation 2008”; Sitio web http://www.gartner.com; 2008
[2] RFC 2616; Sitio web http://www.w3.org/Protocols/rfc2616/rfc2616.html
[3] TIOBE; “TIOBE Programming Community Index for April 2012”; Sitio Web
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html; 2012
[4] John Deacon; “Model – View – Controller (MVC) Architecture”; 2009
[5] W3C; “Web Services Architecture”; Sitio Web http://www.w3.org/TR/ws-arch/; 2004
[6] W3C; “Web Services Description Language (WSDL) 1.1”; Sitio Web http://www.w3.org/TR/wsdl
[7] OASIS; “OASIS UDDI Specification TC”; Sitio Web http://www.oasis-open.org/committees/uddi-spec/, 2004
[8] W3C; “Simple Object Access Protocol (SOAP) 1.1”; Sitio Web http://www.w3.org/TR/2000/NOTE-SOAP-20000508/, 2000
[9] Richard Bejtlich, “The Tao of Network Security Monitoring”, 2004
[10] ISO; “ISO/IEC 13335:2004 - Information technology -- Security techniques -- Management of information and communications
technology security -- Part 1: Concepts and models for information and communications technology security management”; 2004
[11] Sitio Web http://cert.inteco.es/Formacion/Amenazas/
[12] FIRST; “A Complete Guide to the Common Vulnerability Scoring System”; 2007
[13] OWASP; “OWASP Top 10 - The Ten Most Critical Web Applications Security Risks”;2010 []
[14] Sitio Web https://www.owasp.org/index.php/Proyecto_De_La_Diez_Mayores_Vulnerabilidades_de_OWASP
[15] Dupuis, Bourque, Abran, Moore y Tripp; “Improving Software Testing - Technical and Organizational Developments”, 2012
[16] R. Dupuis, P. Bourque, A. Abran, J. W. Moore, and L. L. Tripp. The SWEBOK Project: Guide to the software engineering body of
knowledge, May 2001. Stone Man Trial Version 1.00, http://www.swebok.org/ [01/12/2003].
[17] Maximiliano Cristia; “Introduccion al Testing de Software”; 2009
[18] ISO/IEC JTC1/SC7 - Software and Systems Engineering; “ISO/IEC 29119 - Software Testing Standard”, Sitio Web
http://www.softwaretestingstandard.org/;2012
[19] IEEE , "IEEE Standard for Software Test Documentation," IEEE Std 829-1983 , vol., no., pp.1-48, 1983
doi: 10.1109/IEEESTD.1983.81615
[20] IEEE , "IEEE Standard for Software Unit Testing," ANSI/IEEE Std 1008-1987 , vol., no., pp.0_1, 1986
doi: 10.1109/IEEESTD.1986.81001
[21] British Standards Institution ;BS 7925-1:1998; Software testing. Vocabulary; 1998
[22] British Standards Institution ; BS 7925-2:1998 Software testing. Software component testing; 1998
[23] Andres Riancho y Martin Tartarelly; Coferencia: Testing de Seguridad en Aplicaciones Web – Una Introduccion; Capítulo Argentino de
la IEEE Computer Society; 2009
•
12. REFERENCIAS
[24] Hope, P.,Walther, B.:Web Security Testing Cookbook: Systematic Techniques to Find Problems
Fast. O’Reilly, Beijing (2008)
[25] Andrews, M.,Whittaker, J.A.: How to BreakWeb Software: Functional and Security Testing of Web Applications and Web Services.
Addison-Wesley, Boston (2006)
[26]Wysopal, C., Nelson, L., Zovi, D.D., Dustin, E.: The Art of Software Security Testing: Identifying
Software Security Flaws. Addison-Wesley, Boston (2006)
[27] John B. Dickson; Black Box versus White Box: Different App Testing Strategies; 2008
[28] ISECOM - Institute for Security and Open Methodologies; Sitio Web www.isecom.org
[29] ISECOM; OSSTMM Web App Alpha; Sitio Web https://www.isecom.org/goldteam/OSSTMM_Web_App_Alpha.pdf
[30] OWASP Foundations; Sitio Web https://www.owasp.org/index.php/OWASP_Foundation
[31] Proyecto OWASP; Sitio Web www.owasp.org
[32] OWASP; OWASP Testing Guide v3; 2008
[33] Matteo Meucci , Giorgio Fedon , Pavol Luptak; Planning the OWASP Testing Guide v4; 2011
[34] Acunetix Web Security Scanner; Sitio Web http://www.acunetix.com/
[35] IBM Rational AppScan; Sitio Web http://www-01.ibm.com/software/awdtools/appscan/
[36] HP Web Inspect; Sitio Web https://www.fortify.com/products/web_inspect.html
[37] Proyecto W3AF; Sitio Web http://w3af.sourceforge.net/
[38] Proyecto Arachni; Sitio Web http://arachni-scanner.com/
[39] Proyecto Grendel – Scan; Sitio Web http://grendel-scan.com/
[40] w3af user's guide; Sitio Web http://w3af.svn.sourceforge.net/viewvc/w3af/trunk/readme/EN/w3af-users-guide.pdf
[41] Mariano Nuñez Di Croce; Coferencia: Hacking Ético y Frameworks Opensource; 2009
[42] Andres Riancho; OWASP Poland; Conferencia: A framework to 0wn the Web; 2009
[43] José Ramón Palanco; OWASP Spain Conferencia: W3AF: Un framework de test de intrusión web; 2008-2009
[44] A. Wiegenstein, F. Weidemann, M. Schumacher,
S. Schinzel, Web application vulnerability scanners: A benchmark, 2006.
[45] E. Fong, V. Okun . Web application scanner: Definitions and functions, Information Technology Lab., National Inst. Standards and
Technology, 2007
[46] Brad Arkin, Scott Stender, Gary Mcgraw. Software penetration testing, 2005
13. GRACIAS POR SU ATENCION!!!!
Datos de Contacto
Email: melendezcampis@gmail.com
lmelendez@tecnologicocomfenalco.edu.co
Twitter: @v3l3r0f0nt3