breaking and fixing volte exploiting hidden data channels
play

Breaking and Fixing VoLTE: Exploiting Hidden Data Channels and - PowerPoint PPT Presentation

Breaking and Fixing VoLTE: Exploiting Hidden Data Channels and Mis-implementations Hongil Kim* , Dongkwan Kim* , Minhee Kwon, Hyeongseok Han, Yeongjin Jang, Taesoo Kim, Dongsu Han, Yongdae Kim 1 VoLTE = Voice over LTE 4G LTE: All-IP based


  1. Quick Summary of Our Finding  Four free data channels – Using VoLTE protocol (for all operators)  SIP tunneling  Media tunneling – Direct communication (for some operators)  Phone-to-Internet  Phone-to-Phone 13

  2. Quick Summary of Our Finding  Four free data channels – Using VoLTE protocol (for all operators)  SIP tunneling  Media tunneling – Direct communication (for some operators)  Phone-to-Internet  Phone-to-Phone  Five security issues – No encryption of voice packets – No authentication of signaling – No call session management (DoS on the cellular infrastructure) – IMS bypassing – Permission model mismatch (VoLTE call without “CALL_PHONE” permission) 13

  3. Quick Summary of Our Finding  Four free data channels – Using VoLTE protocol (for all operators)  SIP tunneling  Media tunneling – Direct communication (for some operators)  Phone-to-Internet  Phone-to-Phone  Five security issues – No encryption of voice packets – No authentication of signaling – No call session management (DoS on the cellular infrastructure) – IMS bypassing – Permission model mismatch (VoLTE call without “CALL_PHONE” permission) 13

  4. VoLTE Call Procedure SIP server Callee Caller *SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol 14

  5. VoLTE Call Procedure SIP server Callee Caller INVITE Header : phone # of caller/callee , … Body : IP addr , port no., … *SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol 14

  6. VoLTE Call Procedure SIP server Callee Caller INVITE Header : phone # of caller/callee , … Body : IP addr , port no., … … 200 OK *SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol 14

  7. VoLTE Call Procedure SIP server Callee Caller INVITE Header : phone # of caller/callee , … Body : IP addr , port no., … … 200 OK Voice Session (RTP payload = voice data) *SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol 14

  8. Free Channel: SIP Tunneling SIP server Callee Caller INVITE Header : phone # of caller/callee, injected data Body : IP addr, port no., injected data … 603 Decline Voice Session (RTP payload = voice data) *SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol 15

  9. Free Channel: Media Tunneling SIP server Callee Caller INVITE Header : phone # of caller/callee , … Body : IP addr , port no., … … 200 OK Voice Session (RTP payload = Injected data) *SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol 16

  10. Attack Implementation in Detail Caller Core Network Callee AP AP VoLTE Interface VoLTE Interface CP CP IMS 17

  11. Attack Implementation in Detail Caller Core Network Callee AP AP SIP Media Sender Sender VoLTE Interface VoLTE Interface CP CP IMS 17

  12. Attack Implementation in Detail Caller Core Network Callee AP AP SIP Media SIP Media Sender Sender Receiver Receiver VoLTE Interface VoLTE Interface CP CP IMS 17

  13. Attack Implementation in Detail Caller Core Network Callee AP AP SIP Media SIP Media Sender Sender Receiver Receiver VoLTE Interface VoLTE Interface CP CP SIP , RTP IMS 17

  14. Attack Implementation in Detail Caller Core Network Callee AP AP SIP Media SIP Media Sender Sender Receiver Receiver VoLTE Interface VoLTE Interface CP CP SIP , RTP SIP IMS 17

  15. Attack Implementation in Detail Caller Core Network Callee AP AP SIP Media SIP Media Sender Sender Receiver Receiver VoLTE Interface VoLTE Interface CP CP SIP , RTP SIP Audio Data IMS (60-100 bytes) 17

  16. Attack Implementation in Detail Caller Core Network Callee AP AP SIP Media SIP Media Sender Sender Receiver Receiver VoLTE Interface VoLTE Interface CP CP SIP , RTP SIP Audio Data IMS (60-100 bytes) DIAG Command 17

  17. Attack Implementation in Detail Caller Core Network Callee AP AP SIP Media SIP Media Sender Sender Receiver Receiver VoLTE Interface VoLTE DIAG CP CP SIP , RTP SIP RTP IMS DIAG Command 18

  18. Outline  Four free data channels – Using VoLTE protocol (for all operators)  SIP tunneling  Media tunneling – Direct communication (for some operators)  Phone-to-Internet  Phone-to-Phone  Five security issues – No encryption of voice packets – No authentication of signaling – No call session management (DoS on the cellular infrastructure) – IMS bypassing – Permission model mismatch (VoLTE call without “CALL_PHONE” permission) 19

  19. Free Channel: Direct communication  Phone-to-Internet – Open a TCP/UDP socket with voice IP – Send data to the Internet E.g. TCP/UDP Socket (Src: voice IP/port, Dst: youtube.com/port) Internet Default bearer for VoLTE 4G Gateway IMS 20

  20. Free Channel: Direct communication  Phone-to-Internet – Open a TCP/UDP socket with voice IP – Send data to the Internet E.g. TCP/UDP Socket (Src: voice IP/port, Dst: youtube.com/port) Internet Default bearer for VoLTE 4G Gateway IMS 20

  21. Free Channel: Direct communication  Phone-to-Phone – Open a TCP/UDP socket with voice IP – Send data to callee E.g. TCP/UDP Socket (Src: voice IP/port, Dst: c allee’s voice IP/port) Internet Default bearer for VoLTE 4G Gateway IMS

  22. Free Channel: Direct communication  Phone-to-Phone – Open a TCP/UDP socket with voice IP – Send data to callee E.g. TCP/UDP Socket (Src: voice IP/port, Dst: c allee’s voice IP/port) Internet Default bearer for VoLTE 4G Gateway IMS

  23. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✘ ✘ ✘ Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 22

  24. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✘ ✘ ✘ Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 22

  25. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✘ ✘ ✘ Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 22

  26. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✘ ✘ ✘ Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 23

  27. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✘ ✘ ✘ Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 23

  28. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✘ ✘ ✘ 16.8 Mbps Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ 21.5 Mbps Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 24

  29. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling 42 Kbps ✓ ✓ ✘ ✘ ✘ 16.8 Mbps Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ 21.5 Mbps Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 24

  30. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ X SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling 42 Kbps ✓ ✓ ✘ ✘ ✘ 16.8 Mbps Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ 21.5 Mbps Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 24

  31. Evaluation Result: Accounting Bypass Free Channel US-1 US-2 KR-1 KR-2 KR-3 ✓ ✓ ✓ ✓ ✓ X SIP Tunneling Using VoLTE Protocol ✓ ✓ ✓ ✓ ✓ Media Tunneling 42 Kbps ✓ ✓ ✘ ✘ ✘ 16.8 Mbps Phone to Phone Direct IPv4: ✓ Communication ✓ ✓ ✘ ✘ 21.5 Mbps Phone to Internet IPv6: ✘ Last update: 20 th April, 2015 ✓ : vulnerable/not charged, x: secure 24

  32. Outline  Four free data channels – Using VoLTE protocol (for all operators)  SIP tunneling  Media tunneling – Direct communication (for some operators)  Phone-to-Internet  Phone-to-Phone  Five security issues – No encryption of voice packets – No authentication of signaling – No call session management (DoS on the cellular infrastructure) – IMS bypassing – Permission model mismatch (VoLTE call without “CALL_PHONE” permission) 25

  33. No Encryption for Voice Packets  For voice signaling, – only one operator was using IPsec – An attacker can easily manipulate VoLTE call flow  For voice data, – no one encrypted voice data – An attacker might wiretap the outgoing voice data Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack ✓ ✓ ✓ No SIP Encryption X Message manipulation IMS ✓ ✓ ✓ ✓ ✓ No Voice Data Encryption Wiretapping : Vulnerable : Secure 26

  34. No Authentication/Session Management  No authentication – Make a call with a fake number Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack No Authentication X X O O X Caller Spoofing IMS No Session Management O O O X O Denial of Service on Core Network : Vulnerable : Secure 27

  35. No Authentication/Session Management  No authentication – Make a call with a fake number  No session management Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack No Authentication X X O O X Caller Spoofing IMS No Session Management O O O X O Denial of Service on Core Network : Vulnerable : Secure 27

  36. No Authentication/Session Management  No authentication – Make a call with a fake number  No session management * In a normal call, one user can call to only one person Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack No Authentication X X O O X Caller Spoofing IMS No Session Management O O O X O Denial of Service on Core Network : Vulnerable : Secure 27

  37. No Authentication/Session Management  No authentication – Make a call with a fake number  No session management * In a normal call, one user can call to only one person – Send multiple INVITE messages  Several call sessions are established  For each call session, high-cost bearer is established Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack No Authentication X X O O X Caller Spoofing IMS No Session Management O O O X O Denial of Service on Core Network : Vulnerable : Secure 27

  38. No Authentication/Session Management  No authentication – Make a call with a fake number  No session management * In a normal call, one user can call to only one person – Send multiple INVITE messages  Several call sessions are established  For each call session, high-cost bearer is established – Even one sender can deplete resources of the core network Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack No Authentication X X O O X Caller Spoofing IMS No Session Management O O O X O Denial of Service on Core Network : Vulnerable : Secure 27

  39. Caller Spoofing Scenario Caller Callee IMS 28

  40. Caller Spoofing Scenario Caller Callee INVITE IMS Header : phone # of caller/callee , … Body : IP addr , port no., … 28

  41. Caller Spoofing Scenario Attacker Caller Callee INVITE IMS Header : phone # of caller/callee , … Body : IP addr , port no., … 28

  42. Caller Spoofing Scenario Attacker Caller Callee INVITE INVITE IMS Header : phone # of caller/callee , … Header : phone # of caller/callee , … Body : IP addr, port no. , … Body : IP addr , port no., … 28

  43. 29

  44. IMS Bypassing  All voice packets should pass IMS, but 4G IMS Gateway Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack 4G-GW IMS Bypassing O X O X X Caller Spoofing : Vulnerable : Secure 30

  45. IMS Bypassing  All voice packets should pass IMS, but 4G IMS Gateway Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack 4G-GW IMS Bypassing O X O X X Caller Spoofing : Vulnerable : Secure 30

  46. IMS Bypassing  All voice packets should pass IMS, but 4G IMS Gateway Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack 4G-GW IMS Bypassing O X O X X Caller Spoofing : Vulnerable : Secure 30

  47. IMS Bypassing  All voice packets should pass IMS, but  An attacker can bypass SIP servers in IMS – IMS vulnerabilities are also possible 4G IMS Gateway e.g. Make a call with a fake number Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack 4G-GW IMS Bypassing O X O X X Caller Spoofing : Vulnerable : Secure 30

  48. Android Permission Model Mismatch  No distinction between a phone call and a normal data socket – In 3G, an app needs “ android.permission.CALL_PHONE ” – In VoLTE , we found that an app can call with “ android.permission.INTERNET ” Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack Phone Permission Mismatch Vulnerable for all Android Denial of Service on Call, Overbilling 31

  49. Android Permission Model Mismatch  No distinction between a phone call and a normal data socket – In 3G, an app needs “ android.permission.CALL_PHONE ” – In VoLTE , we found that an app can call with “ android.permission.INTERNET ”  A malicious app only with Internet permission can perform – Denial of service attack on call – Overbilling attack by making an expensive video call Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack Phone Permission Mismatch Vulnerable for all Android Denial of Service on Call, Overbilling 31

  50. Denial of Service on Call Scenario  Blocking an incoming call  Cutting off an ongoing call Victim Victim IMS IMS Attacker Attacker Caller Caller 32

  51. Denial of Service on Call Scenario  Blocking an incoming call  Cutting off an ongoing call Victim Victim IMS IMS Attacker Attacker Caller Caller 32

  52. Denial of Service on Call Scenario  Blocking an incoming call  Cutting off an ongoing call Victim Victim IMS IMS Block Attacker Attacker Caller Caller 32

  53. Denial of Service on Call Scenario  Blocking an incoming call  Cutting off an ongoing call Victim Victim IMS IMS Block Attacker Attacker Caller Caller 32

  54. Denial of Service on Call Scenario  Blocking an incoming call  Cutting off an ongoing call Victim Victim IMS IMS Block Cut-off Attacker Attacker Caller Caller 32

  55. 33

  56. 34

  57. Mitigation Point Vulnerability Mitigation Responsible Entity No Security Mechanisms Encrypt call signaling and voice data Operators IMS No Authentication Place proper authentication on voice packets IMS provider No Session Management Allow single call session per device 4G-GW Direct Communication Disallow direct communication Operators Permission Mismatch Create new permission for VoLTE interface Mobile OS (Android) Phone Place proper regulation on packet routing Mobile OS (Android) SIP/Media tunneling Apply deep packet inspection Operators 35

  58. Mitigation Point Vulnerability Mitigation Responsible Entity No Security Mechanisms Encrypt call signaling and voice data Operators IMS No Authentication Place proper authentication on voice packets IMS provider No Session Management Allow single call session per device 4G-GW Direct Communication Disallow direct communication Operators Permission Mismatch Create new permission for VoLTE interface Mobile OS (Android) Phone Place proper regulation on packet routing Mobile OS (Android) SIP/Media tunneling Apply deep packet inspection Operators How to resolve media tunneling? 35

  59. Mitigation Point Vulnerability Mitigation Responsible Entity No Security Mechanisms Encrypt call signaling and voice data Operators IMS No Authentication Place proper authentication on voice packets IMS provider No Session Management Allow single call session per device 4G-GW Direct Communication Disallow direct communication Operators Permission Mismatch Create new permission for VoLTE interface Mobile OS (Android) Phone Place proper regulation on packet routing Mobile OS (Android) SIP/Media tunneling Apply deep packet inspection Operators Not easy! Maybe byte-usage accounting? How to resolve media tunneling? 35

  60. Discussion  Some parts of 3GPP specifications are unclear – Several misunderstandings of the operators – Different implementations and security problems – Security features are only recommendations, not requirement  We reported vulnerabilities to US/KR CERTs, and Google in May – Google replied “moderate severity” – All two U.S. operators ACK’ed , but no follow-ups – Only two among three KR operators have been fixing with us 36

  61. Conclusion  Newly adopted VoLTE has – A complex (legacy time-based) accounting – Delegated voice signal (previously done by CP) to AP 37

  62. Conclusion  Newly adopted VoLTE has – A complex (legacy time-based) accounting – Delegated voice signal (previously done by CP) to AP  We analyzed the security of VoLTE for 5 operators, and found – Four free data channels – Five security problems 37

  63. Conclusion  Newly adopted VoLTE has – A complex (legacy time-based) accounting – Delegated voice signal (previously done by CP) to AP  We analyzed the security of VoLTE for 5 operators, and found – Four free data channels – Five security problems  All related parties have problems – 3GPP, telcos, IMS providers, mobile OSes, and device vendors 37

Recommend


More recommend