Escolar Documentos
Profissional Documentos
Cultura Documentos
Documento de
Versin 01
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad
1. Abstract
Cuando las aplicaciones se exponen a travs de Internet, es necesario considerar especialmente la seguridad programada dentro de las mismas. Los elementos de seguridad que pueden considerarse en otros puntos, no siempre son suficientes si el problema est en el cdigo de las aplicaciones. En este documento se presentan recomendaciones generales y se describen pautas para el desarrollo de aplicaciones Web seguras. Las mismas se extendern y profundizarn en otros documentos sub-siguientes. Estas pautas debern ser implementadas por los servicios y proveedores de desarrollo, tanto en sus prcticas de desarrollo como en los mecanismos de control de calidad a travs de los procedimientos de testing (entre otros).
2. Objeto
Definir buenas prcticas y recomendaciones generales para garantizar la seguridad en las aplicaciones Web.
3. Alcance
Esta Circular de Tecnologa comprende el desarrollo de todas las aplicaciones que se ofrecen a travs de la Web.
4. Antecedentes
Para brindar servicios a travs de la Web son necesarios una gran variedad de elementos entre los que se mencionan por ejemplo, el lugar fsico donde reside el equipamiento, la conectividad con Internet, los servidores, computadoras, terminales para operar en la Web y software de base, adems de las aplicaciones. Todos estos elementos son susceptibles de ataques. Un plan de seguridad exitoso debera incluirlos a todos. Cuando las aplicaciones se exponen a posibles ataques a travs de Internet, es necesario considerar especialmente la seguridad programada dentro de las mismas. Los elementos de seguridad que pueden considerarse en los dems puntos, no siempre son suficientes si el problema est en el cdigo de las aplicaciones. En otros documentos, la ASIT ha planteado recomendaciones de seguridad en aplicaciones Web, pero apuntando a la robustez de los sistemas, y concentrando la atencin en aspectos de infraestructura y tecnologas. Asimismo se han presentado pautas de seguridad en el uso de Web Services (Perfiles de seguridad para Web Services Interoperables).
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad
Este documento es complementario a los anteriormente referenciados, extiende las recomendaciones generales y se concentra en pautas para el desarrollo de aplicaciones Web seguras.
5. Justificacin
Histricamente los desarrolladores de aplicaciones han trabajado en ambientes considerados seguros, en sistemas que solamente utilizaban las redes internas de una organizacin. La seguridad de las aplicaciones Web est expuesta a vulnerabilidades relativamente comunes y que pueden ser explotadas por atacantes no experimentados con herramientas que estn fcilmente disponibles. Cuando se desarrolla una aplicacin Web, se invita al mundo a que le enve solicitudes HTTP. Los ataques camuflados en estas solicitudes superan los firewalls, filtros, SSL y otras barreras porque estn dentro de las solicitudes legales de HTTP. Por este motivo, el cdigo de las aplicaciones Web forma parte del permetro de seguridad y no puede ser ignorado.
6.1. Vulnerabilidades
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad
6.2.
1. Cross Site Scripting (XSS) o Validar y limpiar los parmetros o entrada de datos o Codificar (encoding) la respuesta del servidor o Limitar el largo de los parmetros 2. Inyeccin de cdigo ( SQL Injection) o Evitar la concatenacin de parmetros o Filtrar y validar la entrada para eliminar caracteres sospechosos o Ejecutar con permisos limitados: servidor de aplicaciones sin permisos de root, DBMS con permisos slo sobre el esquema. 3. Referencia insegura a un objeto
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad
4. Fuga de informacin y manejo inadecuado de errores o Asegurar que el equipo de desarrollo comparta un enfoque comn para el manejo de excepciones o Evitar detalles en un mensaje de error, sobretodo informacin tcnica o Volcar los detalles del mensaje de error a un archivo de log o Modificar las pginas de error por defecto. 5. Brechas en la gestin de autenticacin y de sesiones o Evitar una autenticacin pobre de los usuarios. Utilizar un mecanismo de autenticacin simple, con un nmero de factores y fortaleza adecuados o Proteger adecuadamente las contraseas en trnsito (SSL) o Proteger adecuadamente las contraseas guardadas (encripcin o hash) o Utilizar mecanismos de gestin de sesin del proveedor y ningn cookie del lado del cliente o Crear una nueva sesin a partir de la autenticacin exitosa o Asegurar que cada pgina tiene un link al logout y que ste destruye todas las sesiones del lado del servidor y la cookies del lado del cliente o Proteger el identificador de sesin o No enviar datos de autenticacin como parte de un HTTP GET o Implementar correctamente el SSO 6. Almacenamiento criptogrfico inseguro o Garantizar un almacenamiento seguro para la claves de encriptacin, certificados y contraseas relacionadas o Utilizar algoritmos criptogrficos reconocidos y asegurarse de que no existen vulnerabilidades abiertas o No permitir que personal sin experiencia desarrolle algoritmos criptogrficos o Si es posible, almacenar slo el hash del valor en vez del valor o Minimizar el uso de la encriptacin, proteger solo lo necesario. 7. Comunicaciones inseguras o Usar SSL para todas las conexiones autenticadas o que trasmitan informacin de valor o sensible, como credenciales, detalles de tarjetas de crdito, informacin de salud o cualquier otra informacin privada. o Asegurar que las comunicaciones entre los elementos de la infraestructura, tales como aquellas entre servidores web y sistemas de base de datos, estn adecuadamente protegidos a travs del uso de seguridad de la capa de transporte. 8. Ocultamiento de URL restringidas
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad
7. Recomendaciones de seguridad
En general las recomendaciones para proteger a las aplicaciones Web de los posibles riesgos, estn basadas en las siguientes recomendaciones generales de seguridad: Defensa en profundidad: donde un control podra ser razonable, varios que combatan los riesgos en diferente forma son mejores. Realizar mltiples validaciones a lo largo de una aplicacin. Privilegios al mnimo: otorgar la menor cantidad de privilegios posible para permitir las acciones legtimas Manejo de errores en forma segura: si una aplicacin falla, todas las operaciones siguientes deberan ser rechazadas Minimizar el rea de ataque: cuanto menos se pueda atacar, mejor. Cada funcionalidad agrega un problema de seguridad en potencia. Utilizar valores por defecto seguros: la operativa normal de una aplicacin debe ser segura. Considerar los sistemas externos inseguros ya que en general, no se tienen detalles de su construccin. Seguridad sin oscuridad: la clave para la seguridad de una aplicacin no debe recaer sobre cmo mantener detalles ocultos. Mantener la seguridad simple: evitar el uso de codificacin o arquitecturas complejas cuando un enfoque ms simple es posible. Mantenerse actualizado: estar informado de dnde y cmo se arreglan los errores conocidos. Separar las responsabilidades
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad
7.1.
Controlar los datos o parmetros ofrecidos por el usuario: o Evitar publicar informacin suministrada por un usuario sin validarla primero o Evitar que el usuario pueda pasar cadenas SQL que puedan ser ejecutadas directamente en el servidor o Controlar el tamao de todo dato enviado por el cliente antes de guardarlo en una variable o espacio de memoria controlado por la aplicacin Utilizar las aplicaciones para deteccin de intrusos o Determinar cuando un parmetro enviado por un usuario puede ser errneo o cuando necesariamente involucra un intento de intrusin o Cerrar las sesiones y potencialmente, suspender los privilegios del usuario ante un intento de intrusin o Generar como mnimo un registro en el log o una alarma en tiempo real Controlar el flujo de informacin entre el cliente y el sitio o Informacin de autenticacin (secretos del usuario) o Parmetros de aplicaciones, por ejemplo informacin disponible en el GET o datos privados o No utilizar solamente controles de ingreso de datos que se ejecuten en el navegador del cliente o Reducir al mnimo la informacin que es enviada desde el cliente, utilizar en el servidor los datos que ya se conocen de la sesin Informacin existente en la propia pgina o Evitar comentarios en el cdigo de la aplicacin, que puedan generar riesgos como por ejemplo, pruebas anteriores, trozos de scripts comentados, identificacin de los desarrolladores, etc. o Evitar utilizar informacin privada (usuario/password, informacin de conexiones a bases de datos o servidores internos) en el fuente de pginas dinmicas para minimizar el impacto de posibles ataques de tipo source diclosure
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad
8. Vigencia
A partir de mayo de 2007.
9. Referencias Generales:
Cdigo de buenas prcticas para la gestin de la seguridad de la informacin UNIT-ISO/IEC 17799:2005 Seguridad en aplicaciones web PWC Noviembre 2006 Seguridad en las Aplicaciones Web Ing. Pablo Garbusi - ISACA - 2006 http://www.owasp.org Organizations Should Implement Web Application Security Scanning, 2005 Amrit T. Williams, Neil MacDonald Gartner Group MarketScope for Web Application Security Vulnerability Scanners, 2006 Joseph Feiman, Neil MacDonald Gartner Group
ARCHIVO: ASIT 20070501 CT Pautas de seguridad para aplicaciones web v1 CREADO:17/05/2007 9:44:00
Modelo: DCAL-DO1997-02_BPS Emitido por: Dpto. Calidad