Documento informativo sobre seguridad de Microsoft (954462)
Aumento de los ataques de inserción de SQL que aprovechan la entrada de datos de usuario sin comprobar
Publicado: Junio 24, 2008 | Actualizado: Junio 25, 2008
Microsoft tiene constancia de una escalada reciente en una clase de ataques que se dirigen a sitios web que usan las tecnologías Microsoft ASP y ASP.NET pero no siguen los procedimientos recomendados para proteger el desarrollo de aplicaciones web. Estos ataques de inserción de SQL no aprovechan una vulnerabilidad de software específica, sino que se dirigen a sitios web que no siguen las prácticas de codificación segura para obtener acceso y manipular los datos almacenados en una base de datos relacional. Cuando un ataque de inserción de SQL se realiza correctamente, un atacante puede poner en peligro los datos almacenados en estas bases de datos y posiblemente, ejecutar código remoto. Los clientes que examinan un servidor vulnerable pueden llegar, sin saberlo, a sitios malintencionados que pueden instalar malware en el equipo cliente.
Factores atenuantes:
Esta vulnerabilidad no se puede aprovechar en aplicaciones web que siguen los procedimientos recomendados generalmente aceptados para el desarrollo de aplicaciones web seguras mediante la comprobación de la entrada de datos de usuario.
Finalidad del documento informativo: Ayudar a los administradores a identificar y corregir el código de aplicación web ASP y ASP.NET vulnerable que no sigue los procedimientos recomendados para el desarrollo de aplicaciones web seguras.
Estado del documento informativo: Se han publicado el documento informativo sobre seguridad de Microsoft y las herramientas asociadas.
Recomendación: Revisar y configurar las acciones sugeridas según corresponda. También se sugiere que los administradores de servidor evalúen la eficacia de las herramientas descritas y las usen según sea necesario.
Este documento informativo trata sobre el software que se indica a continuación:
Tecnologías Microsoft ASP y ASP.NET |
¿Cuál es el alcance de este documento informativo?
Este documento informativo ayuda a los administradores de sitios web a identificar los posibles problemas con su código de aplicación web que sea susceptible a posibles ataques de inserción de SQL y a proporcionar una solución provisional para mitigar los ataques de inserción de SQL contra el servidor mientras se corrigen las aplicaciones.
¿Se trata de una vulnerabilidad de la seguridad que requiere la publicación de una actualización de seguridad por parte de Microsoft?
No. Cualquier código de aplicación web que haya seguido los procedimientos recomendados generalmente aceptados para la seguridad está mucho menos expuesto al ataque de inserción de SQL. Aunque no se trata de una vulnerabilidad de seguridad, este documento informativo se ha publicado para proporcionar advertencia y ayuda adicionales a los administradores con sitios vulnerables.
¿Qué provoca esta amenaza?
Si no se valida correctamente la entrada de usuario, un atacante puede insertar comandos SQL en campos de entrada que se pueden ejecutar en un origen de datos, lo que conlleva daños en la base de datos o la ejecución de código en el servidor.
¿Para qué puede usar un atacante esta función?
Los atacantes pueden diseñar un ataque automatizado que puede aprovechar las vulnerabilidades de la inserción de SQL en páginas web que no siguen los procedimientos recomendados de seguridad para el desarrollo de aplicaciones web. Después de tener acceso al sitio, un atacante puede realizar numerosas operaciones malintencionadas en el servidor, como la eliminación de una base de datos o el redireccionamiento de los clientes que exploren este servidor a sitios malintencionados que puedan instalar malware en el equipo cliente.
Microsoft ha identificado varias herramientas para ayudar a los administradores. Estas herramientas abarcan la detección, la defensa y la identificación de codificación posible que pueda aprovechar un atacante.
| • | Detección: HP Scrawlr Hewlett Packard ha desarrollado un detector gratuito que puede identificar si los sitios son susceptibles a la inserción de SQL. Esta herramienta y la asistencia para su uso se pueden encontrar en Finding SQL Injection with Scrawlr en HP Security Center. Descripción detallada: Es una herramienta de análisis de caja negra (es decir, no se requiere código fuente). El usuario escribe una dirección URL de inicio y la herramienta: | • | Rastrea recursivamente dicha dirección URL en busca de hipervínculos para generar un árbol del sitio. | | • | Prueba todos los vínculos detectados en busca de inserción de SQL detallada mediante el envío de solicitudes HTTP que contengan cadenas de ataque de inserción de SQL en campos de formularios, parámetros querystring y valores de cookie. | | • | Examina las respuestas HTTP del servidor en busca de mensajes de error SQL que indiquen una vulnerabilidad de inserción de SQL. | | • | Notifica al usuario las páginas encontradas que sean vulnerables, junto con los campos de entrada asociados. Por ejemplo, la herramienta podría notificar que los campos “username” y “password” de la página “foo.asp” son vulnerables. |
|
| • | Defensa: UrlScan versión 3.0 beta La versión beta de UrlScan 3.0 es una herramienta de seguridad de Microsoft que restringe los tipos de solicitudes HTTP que procesará Internet Information Services (IIS). Al bloquear solicitudes HTTP específicas, UrlScan impide que solicitudes potencialmente perjudiciales lleguen a la aplicación web en el servidor. UrlScan 3.0 se instala en IIS 5.1 y posterior, incluido IIS 7.0. UrlScan 3.0 se puede encontrar en Versión beta de la herramienta URLScan 3.0.
Descripción detallada: UrlScan versión 3.0 es una herramienta que permite implementar numerosas herramientas para proteger mejor las aplicaciones web de los servidores frente a los ataques de inserción de SQL. Estas funciones incluyen: | • | La capacidad de implementar reglas de denegación aplicadas independientemente a una dirección URL, cadena de consulta, todos los encabezados, un encabezado concreto o cualquier combinación de estas posibilidades. | | • | Una sección DenyQueryString global que permite agregar reglas de denegación para cadenas de consulta, con la opción de comprobar también una versión sin secuencias de escape de la cadena de búsqueda. | | • | La capacidad de usar secuencias de escape en las reglas de denegación para denegar secuencias de retorno de carro/avance de línea (CRLF) y otros caracteres no imprimibles en la configuración. | | • | Se pueden instalar múltiples instancias de UrlScan como filtros de sitio, cada una de ellas con sus propias opciones de configuración y registro (urlscan.ini). | | • | Las notificaciones de cambio de configuración (urlscan.ini) se propagarán a los procesos de trabajo sin que se reciclen. La configuración de registro constituye una excepción. | | • | Registro mejorado para ofrecer errores de configuración descriptivos. |
|
| • | Identificación: Microsoft Source Code Analyzer for SQL Injection Se ha desarrollado una herramienta de análisis de código fuente de SQL. Esta herramienta se puede usar para detectar código ASP susceptible a los ataques de inserción de SQL. Esta herramienta se puede encontrar en el artículo 954476 de Microsoft Knowledge Base. Descripción detallada: Microsoft Source Code Analyzer for SQL Injection es una herramienta independiente que los clientes pueden ejecutar en su propio código fuente ASP. Además de la propia herramienta, existe documentación incluida sobre las formas de corregir los problemas que encuentra en el código que analiza. Algunas características clave de esta herramienta son: | • | Analiza el código fuente ASP en busca de código que pueda provocar vulnerabilidades de inserción de SQL. | | • | Genera un resultado que muestra el problema de codificación. | | • | Esta herramienta sólo identifica vulnerabilidades en el código ASP clásico. No funciona en código ASP.NET. |
|
| • | Información adicional Microsoft tiene recursos adicionales para ayudar a los administradores a identificar y corregir los problemas relacionados con esta vulnerabilidad. |
Los clientes de Estados Unidos y Canadá que piensen que pueden estar afectados por esta vulnerabilidad pueden recibir soporte técnico de los Servicios de soporte técnico de Microsoft en 1-866-PCSAFETY. Las llamadas de soporte técnico relacionadas con las actualizaciones de seguridad o virus son gratuitas. Los clientes que vivan en otros países pueden recibir asistencia a través de cualquiera de los métodos que encontrarán en Ayuda y soporte técnico de Microsoft.
Todos los usuarios deben aplicar las actualizaciones de seguridad más recientes de Microsoft para que sus equipos cuenten con el máximo nivel de protección posible. Los clientes que han activado las actualizaciones automáticas recibirán de forma automática todas las actualizaciones de Windows. Para obtener más información acerca de las actualizaciones de seguridad, visite Central de seguridad de Microsoft.
Recursos:
Renuncia:
La información proporcionada en este documento informativo se suministra "tal cual", sin garantía de ningún tipo. Microsoft renuncia al otorgamiento de toda garantía, tanto expresa como implícita, incluidas las garantías de comerciabilidad e idoneidad para un determinado fin. Ni Microsoft Corporation ni sus proveedores se responsabilizarán en ningún caso de daños directos, indirectos, incidentales, consecuenciales, pérdida de beneficios o daños especiales, aun en el supuesto de que se hubiera informado a Microsoft Corporation o a sus proveedores de la posibilidad de dichos daños. Algunos estados de Estados Unidos no permiten la exclusión o limitación de responsabilidad por daños consecuenciales o incidentales, y, por tanto, la limitación anterior puede no ser aplicable en su caso.
Revisiones:
| • | 24 de junio de 2008: Documento informativo publicado. |
| • | 25 de junio de 2008: Se eliminaron referencias erróneas al campo del formulario y valor de la cookie probando desde la herramienta de descripción HP Scrawlr. |