wiretapping end to end encrypted voip calls
play

Wiretapping End-to-End Encrypted VoIP Calls Real-World Attacks on - PowerPoint PPT Presentation

Institute of Operating Systems and Computer Networks Wiretapping End-to-End Encrypted VoIP Calls Real-World Attacks on ZRTP Dominik Schrmann, Fabian Kabus, Gregor Hildermeier, Lars Wolf, 2017-07-18 Introduction Man-in-the-Middle ZRTP


  1. Institute of Operating Systems and Computer Networks Wiretapping End-to-End Encrypted VoIP Calls Real-World Attacks on ZRTP Dominik Schürmann, Fabian Kabus, Gregor Hildermeier, Lars Wolf, 2017-07-18

  2. Introduction Man-in-the-Middle ZRTP Attacks Conclusion End-to-End Security for Voice Calls No End-to-End Security PSTN (Public Switched Telephone Network) SIP + (S)RTP (Session Initiation Protocol + Secure Real-Time Transport Protocol) 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 2 of 13 Institute of Operating Systems and Computer Networks

  3. Introduction Man-in-the-Middle ZRTP Attacks Conclusion End-to-End Security for Voice Calls No End-to-End Security PSTN (Public Switched Telephone Network) SIP + (S)RTP (Session Initiation Protocol + Secure Real-Time Transport Protocol) End-to-End Encryption SIP + DTLS-SRTP (SIP + Datagram Transport Layer Security-SRTP) 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 2 of 13 Institute of Operating Systems and Computer Networks

  4. Introduction Man-in-the-Middle ZRTP Attacks Conclusion End-to-End Security for Voice Calls No End-to-End Security PSTN (Public Switched Telephone Network) SIP + (S)RTP (Session Initiation Protocol + Secure Real-Time Transport Protocol) End-to-End Encryption SIP + DTLS-SRTP (SIP + Datagram Transport Layer Security-SRTP) End-to-End Encryption & Authentication SIP + SRTP + ZRTP 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 2 of 13 Institute of Operating Systems and Computer Networks

  5. Introduction Man-in-the-Middle ZRTP Attacks Conclusion End-to-End Security for Voice Calls No End-to-End Security PSTN (Public Switched Telephone Network) SIP + (S)RTP (Session Initiation Protocol + Secure Real-Time Transport Protocol) wiretapping difficulty End-to-End Encryption SIP + DTLS-SRTP (SIP + Datagram Transport Layer Security-SRTP) End-to-End Encryption & Authentication SIP + SRTP + ZRTP 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 2 of 13 Institute of Operating Systems and Computer Networks

  6. Introduction Man-in-the-Middle ZRTP Attacks Conclusion Man-in-the-Middle (Evil Operator) SIP with Encryption-only: Alice SIP Server Bob INVITE B@example.com INVITE B@example.com From: mitm@localhost From: A@example.com 4 1 mitm: A@example.com modi fi ed: modi fi ed: INVITE mitm@localhost INVITE B@example.com INVITE B@example.com INVITE B@example.com From: A@example.com From: A@example.com From: A@example.com From: A@example.com 8 5 200 OK 200 OK 200 OK 200 OK From: A@example.com From: A@example.com From: A@example.com From: A@example.com 7 2 3 6 9 9 10 INVITE mitm@localhost INVITE B@example.com Bob Alice From: A@example.com connect & From: mitm@localhost Valid Session! B@example… record Valid Session! A@example… header added: mitm: A@example.com 200 OK 200 OK From: A@example.com From: A@example.com MitM Client 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 3 of 13 Institute of Operating Systems and Computer Networks

  7. Introduction Man-in-the-Middle ZRTP Attacks Conclusion Man-in-the-Middle (Evil Operator) Encryption & Authentication with ZRTP: Alice SIP Server Bob INVITE B@example.com INVITE B@example.com From: mitm@localhost From: A@example.com 4 1 mitm: A@example.com modi fi ed: modi fi ed: INVITE mitm@localhost INVITE B@example.com INVITE B@example.com INVITE B@example.com From: A@example.com From: A@example.com From: A@example.com From: A@example.com 8 5 200 OK 200 OK 200 OK 200 OK From: A@example.com From: A@example.com From: A@example.com From: A@example.com 7 2 3 6 9 9 10 INVITE mitm@localhost INVITE B@example.com Bob Alice From: A@example.com connect & From: mitm@localhost Valid Session! B@example… record Valid Session! A@example… header added: mitm: A@example.com ZRTP SAS: ZRTP SAS: 200 OK 200 OK bz4f utd9 From: A@example.com From: A@example.com MitM Client 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 4 of 13 Institute of Operating Systems and Computer Networks

  8. Introduction Man-in-the-Middle ZRTP Attacks Conclusion ZRTP Attacks ZRTP Complex Protocol Authenticates Diffie-Hellman key exchange Authentication by comparison of Short Authentication Strings (SAS) Hash Commitment constraints online-attacker to one try per call Evaluation of Real-World Implementations Excluded closed-network implementations Excluded attacks with speech synthesis Assume correctly compared SAS 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 5 of 13 Institute of Operating Systems and Computer Networks

  9. Introduction Man-in-the-Middle ZRTP Attacks Conclusion Evaluation Apps Application OS Version Library Acrobits Softphone iOS 5.8.1 - CSipSimple Android 1.02.03 ZRTP4PJ Jitsi Win, Lin, MacOS 2.9.0 ZRTP4J Linphone Android Android 3.1.1 bzrtp Signal Android 3.15.2 - Signal iOS 2.6.4 - Tests Paper: 7 protocol tests, 4 non-protocol tests Presentation: Most interesting results 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 6 of 13 Institute of Operating Systems and Computer Networks

  10. ZRTP in a Nutshell (Highly Simplified) F1-F4 Hello R I pvi = g svi mod p hvi = hash ( pvi ) ( h v i ) m i t C o m F 5 I R pvr = g svr mod p F 6 D H P a r t 1 ( p v r ) R I DHResult = pvr svi mod p p v i ) r t 2 ( H P a F 7 D I R DHResult = pvi svr mod p SAS = KDF ( DHResult � IDs � HashOfMessages ) Confirm F8-F10 – Verbal Comparison of SAS R I

  11. Check for Invalid Commit F1-F4 Hello R I pvi = g svi mod p hvi = hash ( pvi ) ( h v i ) m i t C o m F 5 I R pvr = g svr mod p F 6 D H P a r t 1 ( p v r ) R I DHResult = pvr svi mod p p v i ) r t 2 ( H P a F 7 D I R DHResult = pvi svr mod p hvi ? = hash ( pvi ) SAS = KDF ( DHResult � IDs � HashOfMessages ) Confirm F8-F10 – Verbal Comparison of SAS R I

  12. Introduction Man-in-the-Middle ZRTP Attacks Conclusion Invalid Commit: Linphone 100% 16 bits (B256) 90% 20 bits (B32) 80% 70% 60% 50% 40% 30% 20% 10% 0% 0 500000 1x10 6 1.5x10 6 2x10 6 number of tries Figure: Linphone CVE-2016-6271: Probability of hitting a targeted SAS 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 8 of 13 Institute of Operating Systems and Computer Networks

  13. Introduction Man-in-the-Middle ZRTP Attacks Conclusion RFC: Error on Invalid Shared Secret ZRTP stores secrets when user confirms SAS Cache: ZRTP ID assigned to rs1 = KDF ( DHResult ) (highly simplified) Next call no longer requires Diffie-Hellman and no SAS comparison RFC "If either party discovers a cache mismatch, the user agent who makes this discovery must treat this as a possible security event and MUST alert their own user that there is a heightened risk of a MiTM attack […]" 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 9 of 13 Institute of Operating Systems and Computer Networks

  14. Introduction Man-in-the-Middle ZRTP Attacks Conclusion RFC: Error on Invalid Shared Secret Questionable requirement in RFC CSipSimple, Linphone do not implement this Bug in Jitsi (ZRTP4J) A new cache entry copies the secrets and flags from the last saved one Invalid security warning is raised for new clients 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 10 of 13 Institute of Operating Systems and Computer Networks

  15. Introduction Man-in-the-Middle ZRTP Attacks Conclusion Shared Man-in-the-Middle Attack 1. Call between Eve & Alice, confirm SAS ⇒ rs1 A for Eve in Alice’ cache 2. Call between Eve & Bob, confirm SAS ⇒ rs1 B for Eve in Bob’s cache 3. Eve conducts MitM attack (evil operator) ⇒ No SAS confirmation, Eve has rs1 A , rs1 B in her cache 4. SIP addresses shown: Alice: B@example.com, Bob: A@example.com 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 11 of 13 Institute of Operating Systems and Computer Networks

  16. Introduction Man-in-the-Middle ZRTP Attacks Conclusion Shared Man-in-the-Middle Attack 1. Call between Eve & Alice, confirm SAS ⇒ rs1 A for Eve in Alice’ cache 2. Call between Eve & Bob, confirm SAS ⇒ rs1 B for Eve in Bob’s cache 3. Eve conducts MitM attack (evil operator) ⇒ No SAS confirmation, Eve has rs1 A , rs1 B in her cache 4. SIP addresses shown: Alice: B@example.com, Bob: A@example.com Why Does This Work? No ID binding to outer protocol ZRTP works independent of SIP addresses with random IDs ⇒ Cache uses ZRTP ID for lookup Alice and Bob’s cache lookup by Eve’s ZRTP ID 2017-07-18 Dominik Schürmann Wiretapping End-to-End Encrypted VoIP Calls Page 11 of 13 Institute of Operating Systems and Computer Networks

  17. Shared Man-in-the-Middle Signal: No cache ⇒ Secure Acrobits Softphone: RFC-compliant protection Other implementations: Insecure

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend