Hola, Saúl me ha comentado un fallo de seguridad en SIP bastante terrible y lo comento aquí junto con alguna posible solución que se me ha ocurrido:
El problema es éste: http://voipsa.org/pipermail/voipsec_voipsa.org/2007-November/002475.html
La clave está en que el atacante envía un INVITE a la víctima con un "Contact: num_PSNT@proxy_victima" y luego solicita auth a la víctima cuando ésta le envía un re-INVITE. Entonces finalmente el atacante dispone de un digest válido para hacer la llamada a ese número.
Vale, y en dicha lista de correo están bastante alarmados con esto por lo que supongo que en las soluciones que se me han ocurrido falla algo estrepitosamente:
1) Meter un "consume_credentials()" dentro de "loose_route()" para borrar la autenticación justo antes de enviar el paquete al destino. Es decir, entiendo que si un usuario@proxy.org es usuario de dicho proxy.org sólo tiene sentido que se autentique en ese proxy (a pesar de los divertidos esquemas del país de la piruleta que se ven en tech-invite.com con autenticaciones secuenciales y demás fricadas que luego sencillamente no existen).
2) Mirar el Contact y denegar el paquete si la URI en dicho Contact está prohibida (se corresponde con el proxy). El módulo "permissiones" permite esto para REGISTER pero no lo encuentro para otros mensajes, ¿no se puede hacer así? sería elegante.
En fin, ¿es grave doctor?
Saludos.