domingo, 29 de julio de 2012

El reto de crear aplicaciones seguras en la era Web y móvil

Por Armin Bachmann
Con la evolución en la adopción de la tecnología a nivel global, también aumentó la complejidad de las aplicaciones que desarrollamos. No solo eso (o incluso a causa de eso): aumentó el grado de exposición que las empresas tienen frente a los ataques informáticos.
Parece que cada vez tenemos más puertas y ventanas por donde pueden entrar los ladrones: Si en los años ochenta el ladrón entraba por la puerta (y hoy no deja de poder hacerlo), con el advenimiento de Internet en los años noventa pudo entrar por la red, luego por un sobre virtual llamado e-mail, y luego por programas de mensajería. Los riesgos siguen en aumento, y nosotros también seguimos aprendiendo a protegernos.

Para el 2010, de acuerdo con el estudioCharlesHendersondeTrustwave, ya teníamos que pensar en seguridad y en cómo protegernos debíamos protegernos de ataques que llegaban por vía física, por red, por correo electrónico, en las aplicaciones, por vía inalámbrica, desde el client-side, a través de los móviles y hasta por las redes sociales. El estudio concluye, entre otras cosas, que las viejas amenazas nunca desaparecen, que las nuevas apuntan al usuario y que las herramientas maliciosas son cada vez más sofisticadas.
Los números que muestran las estadísticas son desastrosos. Parecería que en el área de IT los profesionales de infraestructura y desarrollo no sabemos colocar en el aire apps suficientemente seguras.Y no estamos hablando de pretender crear aplicaciones sin vulnerabilidades (esas no existen): el ProyectodeEstadisticasdeSeguridaddeAplicacionesWeb 2008 de la Web Application Security Consortium (WASC), remarca que la probabilidad de detectar un error crítico o urgente en una aplicación Web dinámica es del 49% escaneándola automáticamente y del 96% luego de un análisis por expertos.

Otro estudiodeWhiteHatSecurity muestra las vulnerabilidades por sector (Bancos, Educación, etcétera) y sigue confirmando los números. ¿Por qué no se corrigen estos problemas? Este último análisis trata de responder: faltan responsables para mantener el código y evitar vulnerabilidades; es más: los desarrolladores no saben ni entienden sobre “vulnerabilidades”, lo cual resulta más peligroso aún.
La tarea de asegurar una aplicación no es fácil, la arquitectura es cada vez más compleja. Porque hay que cuidar el software, pero también el ambiente en que éste ejecuta. Hablemos del software: aplicaciones que tienen sus datos en algún DBMS, su lógica de negocios en un servidor de aplicaciones, servidores web Java o .NET, por ejemplo, sirviendo páginas dinámicas. Entry points para páginas, servicios AJAX, servicios REST y SOAP. En el browser corriendo JavaScript y HTML 5, en los smart devices como aplicaciones nativas –o no– que conectan a esos servicios.







No hay comentarios: