¿Cuál
es el alcance de esta vulnerabilidad?
Ésta es una vulnerabilidad de secuencias
de comandos que implican a varios sitios
que podría permitir a un atacante enviar
una solicitud a un servidor afectado que
haría que se enviara a otro usuario una
página con una secuencia de comandos.
La
secuencia de comandos se ejecutaría en
el explorador del usuario aunque proviniera
del sitio de un tercero.
Esto le permitiría ejecutarse con la configuración
de seguridad apropiada para el sitio Web
del tercero, además de permitir al atacante
tener acceso a cualquier dato del sitio.
La vulnerabilidad sólo podría aprovecharse
si el usuario abriera un mensaje de correo
HTML o visitara el sitio Web del usuario
que ideara el ataque; el código no se
podría “colar” en una sesión existente.
¿Qué
es una secuencia de comandos que implica
a varios sitios?
CSS
es una vulnerabilidad en la seguridad
que puede permitir que un usuario malintencionado
"infiltre" código en la sesión
de un usuario en un sitio Web.
A diferencia de la mayor parte
de las vulnerabilidades de seguridad,
CSS no se aplica a un producto de un proveedor
en particular sino que puede afectar a
cualquier software que se ejecute en un
servidor Web y que no implemente prácticas
de programación defensivas.
¿Cómo
funciona CSS?
Dispone
de una buena descripción en un resumen
ejecutivo y en un documento de preguntas
más frecuentes (P+F).
Sin embargo, a continuación se
explica sucintamente cómo funciona CSS.
Suponga que el sitio Web A ofrece
una característica de búsqueda que permite
a un usuario escribir una palabra o frase
que buscar.
Si el usuario escribió “banana”
como frase de búsqueda, el sitio buscaría
la frase y a continuación generaría una
página Web en la que se indicara “Lo siento
pero no puedo encontrar la palabra ‘banana’”.
Usted enviaría la página Web a
este explorador, que analizaría después
la página y la mostraría.
Ahora supongamos que, en lugar
de especificar “banana” como frase de
búsqueda, el usuario especifica algo como
“banana ‹SCRIPT› ‹Alert(‘Hola’);› ‹/SCRIPT›”.
Si la característica de búsqueda
fuera escrita para usar sin más comprobaciones
la frase de búsqueda que se proporcione,
buscaría toda la cadena y crearía una
página Web que dijera “Lo siento, pero
no puedo encontrar la palabra “banana
‹SCRIPT› ‹Alert(‘Hola’);› ‹/SCRIPT›””.
Sin embargo, todo el texto que
comienza con “‹SCRIPT›” y termina con
“‹/SCRIPT›” es en realidad código de programa,
con lo que cuando se procesara la página,
se mostraría un cuadro de diálogo en el
explorador del usuario en el que se vería
la palabra “Hola”.
<p>
Hasta
aquí, este ejemplo sólo ha mostrado cómo
podría un usuario “infiltrar” código en
un servidor Web y hacer que se ejecute
en su propio equipo.
Eso no es una vulnerabilidad de
la seguridad.
Sin embargo, es posible que un
operador de un sitio Web invoque esta
vulnerabilidad para ejecutarse en el equipo
de un usuario que visite dicho sitio.
Si un sitio Web B fuera manipulado
por alguien que pudiera atraer al usuario
para que visitara e hiciera clic en un
hipervínculo, el sitio Web B podría llevar
al sitio Web A, en el que rellenaría la
página de búsqueda con la secuencia de
comandos comprometedora y la enviaría
en nombre del usuario.
La página resultante volvería al
usuario, ya que éste, al haber hecho clic
en el hipervínculo, ha sido en último
término el solicitante, y se procesaría
en su equipo.
¿Qué
podría hacer la secuencia de comandos
en el equipo del usuario?
La
secuencia de comandos proveniente del
sitio Web B (el del atacante) se ejecutaría
en el equipo del usuario como si proviniera
del sitio Web A. En la práctica, esto
significaría dos cosas:
se ejecutaría usando la configuración
de seguridad en el equipo del usuario
que correspondiera al sitio Web A.<p>
la
secuencia de comandos del sitio Web B
podría tener acceso a los cookies y a
cualquier otro dato en el sistema del
usuario que perteneciera al sitio Web
A.
¿Podría
un atacante aprovechar la vulnerabilidad
para tomar el control de un equipo ISA
Server?
No. Se trata únicamente de un ataque de
secuencia de comandos que implican a varios
sitios. No
hay ninguna posibilidad de usurpar privilegios
administrativos en el equipo ISA Server.
¿Podría
un atacante aprovechar la vulnerabilidad
para infringir la seguridad de un servidor
de seguridad?
No. No hay ninguna posibilidad de aprovechar
este punto vulnerable para reducir la
seguridad que proporciona el servidor
de seguridad a la red.
¿Qué
es ISA Server?
ISA
Server ofrece un servidor de seguridad
empresarial y una caché Web de elevado
rendimiento.
El servidor de seguridad protege
la red mediante el control de los recursos
a los que se puede obtener acceso a través
del mismo y de las condiciones de acceso.
La caché Web contribuye a mejorar
el rendimiento de la red al almacenar
las copias locales del contenido Web que
se solicita con más frecuencia.
ISA Server se puede instalar
en tres modos:
modo de servidor de seguridad, modo de
caché o modo integrado.<p>
En el modo de servidor de seguridad los
administradores pueden proteger las comunicaciones
de la red mediante la configuración de
reglas que controlan dichas comunicaciones
entre la red corporativa e Internet.
El
modo de caché mejora el rendimiento de
la red gracias a que almacena en el propio
servidor las páginas Web a las que se
tiene acceso con más frecuencia.
En el modo integrado están disponibles
tanto las características del modo de
caché como del modo de servidor de seguridad.
¿Cuál
es la causa de esta vulnerabilidad?
Existe una vulnerabilidad porque algunas
de las páginas de error devueltas por
ISA Server muestran la dirección URL solicitada
en texto HTML sin la codificación adecuada.
¿Qué problema tienen las páginas de error
de ISA Server?
La función homepage() de muchas páginas
de error ISA no codifica correctamente
la dirección URL para mostrarla en texto
HTML. Como consecuencia, es posible incrustar
una secuencia de comandos en una solicitud
de vínculo y provocar que se devuelva
al explorador Web.
¿Qué
le permitiría hacer a una atacante esta
vulnerabilidad?
La vulnerabilidad permitiría a un atacante
que operara desde un sitio Web y pudiera
atraer a otro usuario para que hiciera
clic en él llevar a cabo un ataque mediante
una secuencia de comandos que implica
a varios sitios a través de otro sitio
Web que estuviera ejecutando a través
de ISA Server. Según se explica anteriormente,
esto posibilitaría al atacante ejecutar
una secuencia de comandos en el explorador
del usuario con la configuración de seguridad
del otro sitio Web y tener acceso a los
cookies y a otros datos del mismo.
¿Cómo
podría aprovechar un atacante esta vulnerabilidad?
Para
aprovechar la vulnerabilidad, un atacante
tendría que alojar una página Web y persuadir
a un usuario para que hiciera clic en
un vínculo en esa página o enviarle una
dirección URL en un mensaje de correo
electrónico.
Esta dirección URL no tendría que contener
una secuencia de comandos. Debería entender
las limitaciones impuestas en las solicitudes
del cliente a través de ISA Server para
que ISA respondiera con una página de
error vulnerable, en la que la función
homepage
() devolvería la secuencia de comandos
del atacante al explorador.
Ha
afirmado que la oportunidad del ataque
estaría en que el atacante consiguiera
que la secuencia de comandos se ejecutara
en el explorador del usuario con la configuración
de seguridad de mi sitio Web.
¿Qué capacidades específicas conseguiría
el atacante con ello?
Eso
depende de cada sitio, según la zona de
seguridad del sitio del atacante y de
la suya propia.
Si
ambas estuvieran en la misma zona (y,
de forma predeterminada, todos los sitios
Web se hallan en la zona Internet a menos
que el usuario las cambie), estarían sujetas
exactamente a las mismas restricciones
y el atacante no conseguiría nada al aprovecharse
de esa vulnerabilidad.
Si
el usuario hubiera puesto el sitio del
atacante en una zona más restringida que
la de usted, éste conseguiría que su secuencia
de comandos hiciera lo mismo en el equipo
del usuario que lo que podría hacer desde
su sitio (el de usted).
Si
el usuario hubiera puesto su sitio (el
de usted) en una zona más restringida
que la de usted, el atacante en realidad
perdería capacidades con el ataque.
Es
importante observar, sin embargo, que
independientemente de la configuración
de seguridad, la secuencia de comandos
del atacante siempre podría tener acceso
a los cookies y a cualquier otra información
en el sistema del usuario que perteneciera
al sitio de un tercero.
Esto se debe a que, hasta donde
puede indicar el explorador, el atacante
es el sitio de un tercero.
¿De
qué forma elimina la revisión la vulnerabilidad?
La revisión de seguridad eliminar la vulnerabilidad
porque quita la función homepage() y el
comando de Javascript que actualiza la
página y para retroceder en la navegación.