VoIP security: Implementation and Protocol Problems
Upcoming SlideShare
Loading in...5

VoIP security: Implementation and Protocol Problems



Presentation from the May 5th 2009 ISSA Ireland seminar

Presentation from the May 5th 2009 ISSA Ireland seminar



Total Views
Views on SlideShare
Embed Views



1 Embed 2

http://www.slideshare.net 2



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    VoIP security: Implementation and Protocol Problems VoIP security: Implementation and Protocol Problems Presentation Transcript

    • VoIP Security  Implementa3on and Protocol Problems   Sean Heelan, ISSA Seminar, May 2009 
    • Overview  •  VoIP background info  •  Finding and exploi3ng implementa3on related  bugs  •  Finding and exploi3ng protocol related bugs  •  Ques3ons!  VoIP Security ‐ Implementa3on and  5th May 2009  2  Protocol Problems 
    • Who am I  •  Graduate student in Computer Science  •  Primarily interested in soNware verifica3on  and program analysis  VoIP Security ‐ Implementa3on and  5th May 2009  3  Protocol Problems 
    • VoIP Background Info  VoIP Security ‐ Implementa3on and  5th May 2009  4  Protocol Problems 
    • Popularity of VoIP  •  Why bother looking for security problems?  •  ~50% of American businesses using it in some  form in 2008 (src. Computer Economics)  •  Anyone here today?  •  Home users – Skype, Gizmo, Blueface etc.  VoIP Security ‐ Implementa3on and  5th May 2009  5  Protocol Problems 
    • Ambiguous graph 3me  VoIP Security ‐ Implementa3on and  5th May 2009  6  Protocol Problems 
    • Protocols  •  SIP   •  SCCP  •  H.225  •  H.239  •  H.245  •  RTCP  •  SDP   •  MGCP  VoIP Security ‐ Implementa3on and  5th May 2009  7  Protocol Problems 
    • Protocols  •  IAX2   •  Skype  •  H.460  •  H.450  •  RTP  •  STUN  •  RSVP  •  SS7  •  ….and so on  VoIP Security ‐ Implementa3on and  5th May 2009  8  Protocol Problems 
    • Protocols  •  Why so many?  •  Call setup, signalling, data transfer, route  nego3a3on, PSTN interoperability  •  Each requiring a different protocol and a  different implementa3on  •  Usually in C or C++  VoIP Security ‐ Implementa3on and  5th May 2009  9  Protocol Problems 
    • Protocols  •  More protocols == More ahack vectors  •  Heterogeneous networks are good for an  ahacker and bad for an administrator  •  Tes3ng efforts are diluted across devices and  protocols  •  No public tes3ng tools available for the  majority of the protocols men3oned   VoIP Security ‐ Implementa3on and  5th May 2009  10  Protocol Problems 
    • VoIP: A hackers dream  •  Integrates the voice communica3ons of an  organisa3on into an environment the ahacker  is familiar with  •  Same protocols, tools and environments  •  Open standards and accessible devices  •  Scary as hell when you think about it – you  just moved your en3re comms infrastructure  to our playground  •  Cheers!  VoIP Security ‐ Implementa3on and  5th May 2009  11  Protocol Problems 
    • Ahacking the implementa3on  VoIP Security ‐ Implementa3on and  5th May 2009  12  Protocol Problems 
    • Good ol’ memory corrup3on      Servers running on Windows, Linux or other  Unix    + Phones running on a tradi3onal OS or oNen  embedded Linux  + Wrihen in C/C++  = Buffer overflows, NULL pointers, infinite loops  and all their friends  VoIP Security ‐ Implementa3on and  5th May 2009  13  Protocol Problems 
    • Finding the bugs  •  Fuzzing ‐ a rather effec3ve hammer for many a  nail  •  Automa3cally genera3on/sending semi‐valid  requests to a target in the hope of crashing it  •  Requires no understanding of the applica3on/ device internals  •  Responsibly for the detec3on of a huge  percentage of security bugs  VoIP Security ‐ Implementa3on and  5th May 2009  14  Protocol Problems 
    • Fuzzing in 2 minutes  •  Genera3on based  •  Muta3on based  •  Extensions – Binary analysis, feedback loops,  debuggers  VoIP Security ‐ Implementa3on and  5th May 2009  15  Protocol Problems 
    • Fuzzing example 1  INVITE sip:201@ SIP/2.0 CSeq: 536870905 INVITE Via: SIP/2.0/UDP;branch=z9hG4bKmj1079uq Content-Type: application/sdp Content-Length: 378 s_static(“INVITE quot;) s_string(“sip:201@”) s_static(” SIP/2.0 rnquot;) INVITE AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SIP/2.0 CSeq: 536870905 INVITE Via: SIP/2.0/UDP;branch=z9hG4bKmj1079uq Content-Type: application/sdp Content-Length: 378 VoIP Security ‐ Implementa3on and  5th May 2009  16  Protocol Problems 
    • Fuzzing example 2  INVITE sip:201@ SIP/2.0 CSeq: 536870905 INVITE Via: SIP/2.0/UDP;branch=z9hG4bKmj1079uq Content-Type: application/sdp Content-Length: 378 s_static(quot;Content-Length: quot;) s_dword(378, fuzzable=True, format=“ascii”) s_static(quot;rnquot;) INVITE sip:201@ SIP/2.0 CSeq: 536870905 INVITE Via: SIP/2.0/UDP;branch=z9hG4bKmj1079uq Content-Type: application/sdp Content-Length: 4294967296 VoIP Security ‐ Implementa3on and  5th May 2009  17  Protocol Problems 
    • Building your own fuzzer  •  Genera3onal fuzzing frameworks available –  Peach, Sulley, Fusil, Spike etc  •  Map out the protocol in a high level  descrip3on language   •  Auxiliary tools for crash detec3on and logging  VoIP Security ‐ Implementa3on and  5th May 2009  18  Protocol Problems 
    • Feeling lazy?  •  Free fuzzers for SIP – PROTOS, VoIPER  •  Commercial fuzzers ‐ Codenomicon,  MuDynamics  •  Use a generic fuzzer like GPF – takes a packet  capture and mutates it  VoIP Security ‐ Implementa3on and  5th May 2009  19  Protocol Problems 
    • Does it work?  VoIP Security ‐ Implementa3on and  5th May 2009  20  Protocol Problems 
    • And the award for epic fail goes to….  VoIP Security ‐ Implementa3on and  5th May 2009  21  Protocol Problems 
    • Memory corrup3on summary  •  Fuzzers make it simple to find bugs  •  Trivial to find DoS condi3ons  •  Currently no public exploits that remotely  execute malicious code on hard‐phones  •  Exploi3ng vulnerabili3es in soN‐phones is  much easier, diho for servers running on  tradi3onal opera3ng systems  VoIP Security ‐ Implementa3on and  5th May 2009  22  Protocol Problems 
    • So hard‐phones are safe then?  •  Not quite …  •  Run a variety of services along with the VoIP  core  •  Web server, TFTP server/client, terminal  admin console  •  Introduces every ahack vector available  against these services  VoIP Security ‐ Implementa3on and  5th May 2009  23  Protocol Problems 
    • Web service ahacks  •  Most hard‐phones provide a web based admin  interface, as do many servers  •  Notoriously security agnos3c  •  XSS, CSRF, SQL injec3on, default/no passwords,  authen3ca3on bypass    “Cisco Unified Communica7ons Manager is vulnerable to  a SQL Injec7on aBack in the parameter key of the  admin and user interface pages. A successful aBack  could allow an authen7cated aBacker to access  informa7on such as usernames and password hashes  that are stored in the database.” – Cisco 2008  VoIP Security ‐ Implementa3on and  5th May 2009  24  Protocol Problems 
    • Web ahack example  •  Snom 320  VoIP phones  •  Admin interface accepts unauthorized POST  data  •  Admin interface can also be used to make calls  •  GNUCi3zen.org combined the above two  ‘features’ for remote surveillance  VoIP Security ‐ Implementa3on and  5th May 2009  25  Protocol Problems 
    • GNUCi3zen.org – Snom 320 ahack  •  Ahacker scans for vulnerable devices by  checking for remotely accessible signature  files  •  Ahacker sends POST to vic3m’s IP with data:  NUMBER=ATTACKERNUM  •  Ahacker answers the incoming call  •  Vulnerable device uses inbuilt receiver to  capture ambient sound and send to the  ahacker  VoIP Security ‐ Implementa3on and  5th May 2009  26  Protocol Problems 
    • Finding web service bugs  •  Simple to automate  •  Standard tools for finding SQL, CSRF and XSS  bugs – w3af ahack framework  •  Using SIP packets as an injec3on vector – XSS  in log data   •  Far easier to find and exploit a bug in a web  interface than to create a reliable memory  corrup3on exploit  VoIP Security ‐ Implementa3on and  5th May 2009  27  Protocol Problems 
    • Ahacking the protocols  VoIP Security ‐ Implementa3on and  5th May 2009  28  Protocol Problems 
    • Ahacking the protocols  •  Authen3ca3on  •  Authoriza3on  •  Encryp3on  •  Same approach as every TCP/IP based service  VoIP Security ‐ Implementa3on and  5th May 2009  29  Protocol Problems 
    • Ahacking the protocols ‐ discovery  •  Many VoIP protocols are TCP based and run on  standard ports – nmap  •  Specialist tools available for certain protocols  – SIPVicious, iaxscan – Can scan thousands of  hosts an hour  •  Scanning random hosts turns up hoards of  easily accessible servers  VoIP Security ‐ Implementa3on and  5th May 2009  30  Protocol Problems 
    • Ahacking the protocols ‐  authen3ca3on  •  SIP and IAX2 – 2 step authen3ca3on by default  •  What does that mean? – We can enumerate valid  accounts first and then crack passwords  •  Account discovery search space  – Two step auth = X*X  – Single step auth = XX      Where X is the size of the username/password pool  •  We’d shoot a web developer that did this but  apparently it’s OK for VoIP  VoIP Security ‐ Implementa3on and  5th May 2009  31  Protocol Problems 
    • Ahacking the protocols ‐  authen3ca3on  •  Many networks s3ll use 3 or 4 digit usernames  and passwords  •  SIPVicious/iaxscan can check all possible  combina3ons in minutes  VoIP Security ‐ Implementa3on and  5th May 2009  32  Protocol Problems 
    • Ahacking the protocols ‐ sniffing  •  Not en3rely a protocol level problem  •  Intercepted communica3ons can be easily  reconstructed into audio/video files –  wireshark, UCSniff  •  VLAN hopping – exploi3ng networks that rely  on layer 2 protocols to allow access to the  voice LAN – Voip Hopper  VoIP Security ‐ Implementa3on and  5th May 2009  33  Protocol Problems 
    • Taking the trunk  •  Stealing individual accounts is fun and all but  how about stealing the phone company?  •  Requires admin access to an accessible router  or switch  •  How?   •  Straight through the front door  VoIP Security ‐ Implementa3on and  5th May 2009  34  Protocol Problems 
    • Taking the trunk  •  Robert Moore – 2007, stole 10 million minutes  worth of talk 3me  •  Step 1: Bought informa3on on corporate IP  addresses for $800  •  Step 2: Scanned for accessible VoIP routers and  switches  •  Step 3: Scanned for default passwords and  unpatched Cisco boxes  •  Step 4: Profit! (Or jail in Mr. Moore’s case)  VoIP Security ‐ Implementa3on and  5th May 2009  35  Protocol Problems 
    • Taking the trunk  •  “70% of all the companies he scanned were  insecure, and 45% to 50% of VoIP providers were  insecure”  •  “I'd say 85% of them were misconfigured routers.  They had the default passwords on themquot;  •  “The telecoms we couldn't get into had access  lists or boxes we couldn't get into because of  strong passwords.”    ‐ Source: http://www.informationweek.com VoIP Security ‐ Implementa3on and  5th May 2009  36  Protocol Problems 
    • Ahacking the protocols ‐ summary  •  Essen3ally the same offence/defence we’ve  had for years  •  Discovery, enumera3on and exploita3on  follow roughly the same paherns as most  other TCP/IP services  •  Protec3ng against these problems is the same  struggle with password management, access  lists and updates  VoIP Security ‐ Implementa3on and  5th May 2009  37  Protocol Problems 
    • Ques3on Time!  http://seanhn.wordpress.com  VoIP Security ‐ Implementa3on and  5th May 2009  38  Protocol Problems