12 de febrero de 2011

Solución: Mayor integración a nivel corporativo de equipos de seguridad y de desarrollo.

En la experiencia adquiridas en el marco de la seguridad de aplicaciones web para empresas como bancos, administradoras y otros tipos de instituciones financieras, me he encontrado con cierta disociación entre los departamentos de desarrollo de aplicaciones (esos locos que no prueban bien lo que hacen) y de seguridad de datos y sistemas (esos gruñones que nunca aprueban lo que desarrollamos a la primera).

Como si fuera ya una tradición, no es nuevo escuchar que los primeros (desarrolladores) se quejan de la cantidad de protocolos de verificación, metodologías de testeo y lentitud o redundancia de los procesos de validación de los sistemas, mientras los segundos (técnicos en seguridad de datos y aplicaciones) lo hacen acerca de la falta de controles en código, rutinas insuficientemente testeadas en desarrollo, "agujeros" de seguridad heredados en código reutilizado, entre muchas otras cosas.

El cambio actual del tipo de plataforma de aplicaciones convencionales o de entorno manejable a una plataforma aún más abierta y peligrosa como el entorno de aplicaciones web cuyos límites y procesos no son fácilmente controlable, no solo ha afianzado la brecha entre estos dos departamentos, sino pareciera crear en algunos casos conflictos infranqueables.

Mi punto de vista es que en la actualidad ambos tipos de departamentos se encuentran en esta encrucijada debido al mantenimiento de políticas de desarrollo y seguridad en ambos lados que poco o nada tienen que ver con la forma en que las aplicaciones web pueden ser y son atacadas actualmente.

He constatado como empresas de cierta magnitud, no tienen políticas adecuadas para solventar los ya no tan nuevos tipos de ataques a aplicaciones web y a sus usuarios, y he visto personalmente como intentan aplicar en ambos bandos procesos ineficientes y absurdos a la hora de minimizar o anular un ataque (de phishing o pharming por ejemplo). Y por último he visto también como ambos bandos culpan al otro cada vez que se encuentran en este tipo de conflictos.

Desde una mirada exterior experimentada, puedo asegurar que el problema no pertenece a ninguno y a los dos bandos simultáneamente. Las razones son las siguientes:


  • Los protocolos de seguridad actuales no permiten responder con la celeridad necesaria ante ataques al entorno de aplicaciones web. Este tipo de ataques son en su gran mayoría del tipo masivo (phishing, pharming, DDoS, XSS). Son ataques que por sus características, una vez implantados y procesados atacan a un amplio espectro de los usuarios y no a uno o dos. Minutos perdidos son cantidades de dinero que no vuelven, y los protocolos de seguridad convencionales pueden llegar a estorbar más que a ayudar en estos casos.
  • Los desarrolladores y expertos en seguridad, en tiempos anteriores jamás tuvieron que preocuparse por la seguridad de un usuario que se encuentra ante su computador en su propia casa. Este es un concepto radicalmente nuevo para ellos, al punto que por ejemplo los ataques de phishing hasta hace poco eran considerados problema del usuario y no de la empresa.
  • Ambos equipos jamás tuvieron que validar aplicaciones y las interfaces de estas que funcionan simultáneamente en todos los sistemas operativos, bajo al menos una decena de navegadores web diferentes y una miríada de configuraciones diferentes.
  • Ambos equipos jamás pensaron o se imaginaron que sus aplicaciones podrían ser atacadas desde zonas que hasta el momento eran completamente irrelevantes. A nadie le importaba lo que pudiera hacer un hacker en países como Rusia, China y otros que quizás nunca habían escuchado nombrar.
En fin, lo que trato de exponer es que definitivamente la seguridad nunca y mucho menos ahora ha sido un problema interdepartamental. Las empresas necesitan técnicos que manejen ambas áreas de forma actualizada y eficiente y reconduzcan al personal existente a una nueva forma de observar los procesos de desarrollo así como los procesos de validación y testeo.

El enemigo además de ser un enemigo oculto, no es enemigo de un solo departamento. Es un enemigo común que posee tecnología sofisticada que puede obtenerse de forma cada vez más simple, por lo cual su capacidad de ataque se multiplica exponencialmente con el tiempo. 

El trabajo de seguridad (y no hablo solo de aplicaciones web) actualmente debe ser definitivamente compartido. Se necesitan desarrolladores en capacidad de entender los nuevos modelos de seguridad y tipos de vulnerabilidades para ser capaces de prevenirlas en código, así como expertos de seguridad en capacidad de comprobar la existencia de este tipo de vulnerabilidades y de crear procesos dinámicos de validación pero jamás sacerdotes que promulguen tablas de leyes bíblicas inamovibles.

Por otra parte las empresas deben canalizar sus presupuestos de seguridad e invertir más en actualizar su personal en seguridad de aplicaciones web, y proveerlos de mejores herramientas de control y desarrollo para tal fin. Así como pretenden que una gran cantidad de usuarios utilice las nuevas y más económicas tecnologías, deben entender que dicha pretensión conlleva un riesgo mayor y por ende un presupuesto mayor en respaldo de las mismas.

El enemigo actual solo puede ser combatido desde una perspectiva que no es nueva ni mucho menos innovadora, pero que tiende a ser olvidada en el día a día y enterrada por los procesos. Esa perspectiva no es más que la de un verdadero trabajo de equipo por un fin común.


Hasta la próxima...

No hay comentarios.:

Entradas populares