Volontary bug in some SIP IP phones? 
When looking at the published SIP exploit over a Grandstream IP phone1, one could quickly arrive to the conclusion this was more a feature than a bug, for what purpose is the real question to be asked.
The exploit schematic2 is really simple and SIP text message format ease these kind of attacks, but also our comprehension:
| attacker | message | GXV-3000 |
| ———————– INVITE ——————-> | ||
| <—————— 100 Trying —————– | ||
| <———————– 180 Ringing ——————- | ||
| ———————– 183 Session Progress ——————-> | ||
| <———————– RTP - FLOW ——————- |
What we can see is that a 183 message is sent back to the phone but the session hadn’t been confirmed (when user hooks up) by an OK message. The 183 message is described in the RFC3261 as
The 183 (Session Progress) response is used to convey information
about the progress of the call that is not otherwise classified. The
Reason-Phrase, header fields, or message body MAY be used to convey
more details about the call progress.
We are talking here about the « call progress », not the call established. So why pushing the RTP flow afterwards, it is a very strange reaction in the process itself, isn’t it?
This is the reason why I do not think it is a bug, maybe a side effect. We will probably never know.
Anyway, in order to avoid such exploit, not the attack itself since the code could be present, the best thing if probably to turn on the security features around SIP: TLS for the SIP transport with certificates and SRTP for the voice transport. These are not yet fully implemented on most equipments but it is the only way to quickly avoid such bad publicity and continue the adoption of VoIP.
- see slashdot for example [↩]
- see “Remote eavesdropping with SIP Phone GXV-3000” [↩]
|
Posted by: Alexandre Chauvin-Hameau, on 08/29/2007 Trackback | Popularity: 19% tagged grandstream, informations, IP phone, security and SIP |
|





