Se ha anunciado la existencia de una vulnerabilidad de denegación
de servicio en determinados routers de Cisco a través de la
característica Service Assurance Agent y que podrá permitir a
un atacante remoto la parada de los dispositivos vulnerables.

Diversos routers de Cisco disponen de una prestación denominada
Service Assurance Agent (SAA, anteriormente conocido como Response
Time Reporter, RTR) que permite monitorizar el rendimiento de la red,
tomando periódicamente medidas del tiempo de respuesta de las
comunicaciones entre dos puntos de la red. Esta medida se realiza
enviando paquetes de prueba, midiendo el tiempo que transcurre hasta
que el router emisor recibe la respuesta.

Este servicio se realiza mediante el envío de paquetes al puerto
1967/udp. Diversas eversiones del IOS (Internetwork Operating System)
de Cisco son vulnerables a un ataque de denegación de servicio que
puede provocar, mediante el envío de paquetes malformados al puerto
asociado al servicio, que un router vulnerable se detenga de forma
inesperada.

Debe indicarse, como factor mitigante, que esta funcionalidad no está
activa en la configuración por defecto de los routers. Por tanto,
únicamente serán vulnerables aquellos dispositivos en los que
expresamente se haya habilitado este servicio.

Para verificar si el servicio se encuentra activo en un router, debe
ejecutarse la siguiente orden en la consola del dispositivo:

Router>show rtr responder
RTR Responder is: Eanbled
Number of control messages received: 0 Number of errors: 0
Recent sources:
Recent error sources:

Si aparece la línea "RTR Responder is: Enabled", el dispositivo es vulnerable.

Alternativamente se puede utilizar este otro procedimiento para verificar
la presencia del servicio

Router>show ip socket
Show ip socket
Proto Remote Port Local Port In Out Stat TTY OutputIF
...
17 0.0.0.0 0 10.0.0.1 1967 0 0 89 0

Si aparece una línea similar a este ejemplo, que muestra que el router
tiene el puerto 1967 a la espera de recibir peticiones, significa que
el dispositivo es vulnerable.

Para aquellos routers en los que se haga uso de esta prestación, Cisco
ha publicado una serie de parches. Alternativamente, si el servicio no
se utiliza pero está habilitado, aconsejamos proceder a
deshabilitarlo.

Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config) #no rtr responder
Router(config) #exit
Router#copy running-config startup-config

Adicionalmente puede ser interesante bloquear todos los paquetes con
destino al puerto 1967/udp:

Router# conf t
Enter configuration comamnds, one per line. End with CNTL/Z.
Router(config) #access-list 101 deny udp any any eq 1967
Router(config) #interface eth0
Router(config) #ip access-group 101 in

Este filtrado puede refinarse más, permitiendo únicamente los paquetes
que provengan de las direcciones de confianza:

Router# conf t
Enter configuration comamnds, one per line. End with CNTL/Z.
Router(config) #access-list 101 permit udp 10.0.0.1 10.0.0.10 eq 1967
Router(config) #access-list 101 deny udp any 10.0.0.10 eq 1967
Router(config) #interface eth0
Router(config) #ip-access group 101 in

En este ejemplo, 10.0.0.1 es la dirección de origen de confianza y
10.0.0.10 es la dirección del router sobre la que se aplica la regla
de filtrado.


Más información:

Cisco Security Advisory: Cisco IOS Software Processing of SAA Packets
http://www.cisco.com/warp/public/707...0515-saa.shtml

Understanding the SAA (RTR) feature
http://www.employees.org/~etychon/pr...aa-ripe-43.pdf

Cisco IOS Service Assurance Agent Malformed Packed Denial of Service
Vulnerability
http://www.securityfocus.com/bid/7607