auditing iot communications with tls rar
play

Auditing IoT Communications with TLS-RaR Judson Wilson, Henry - PowerPoint PPT Presentation

Auditing IoT Communications with TLS-RaR Judson Wilson, Henry Corrigan-Gibbs, Riad S. Wahby, Keith Winstein, Philip Levis, Dan Boneh Stanford University Auditing Standard Devices MITM Used for: security audit automated exfiltration


  1. Auditing IoT Communications with TLS-RaR Judson Wilson, Henry Corrigan-Gibbs, Riad S. Wahby, Keith Winstein, Philip Levis, Dan Boneh Stanford University

  2. Auditing Standard Devices MITM Used for: ● security audit ● automated exfiltration detection ● automated intrusion detection

  3. IoT is Different MITM

  4. Troubling Facts 1) We have no way to audit IoT communications, so we must trust companies to do what they claim.

  5. Troubling Facts 1) We have no way to audit IoT communications, so we must trust companies to do what they claim. 2) Respected Companies Have Misrepresented Their Actions Google “Google's iPhone Tracking, Web Giant, Others Bypassed Apple Browser Settings for Guarding Privacy.” WSJ, Feb. 17, 2012. Volkswagen “Volkswagen Admits to Cheating on U.S. Emissions Tests,” Bloomberg, Sept. 18, 2015 …

  6. MITM does have problems. Attack! Attack! MITM

  7. MITM does have problems. MITM

  8. Overview ● Setting ● Technical Problem ● Our Scheme: TLS RaR – Main Idea – Corner Cases ● Secure Key Release ● Clean Shutdown ● Evaluation ● Related Work ● Conclusions

  9. Different Parties, Different Concerns Potential concerns of IoT device company: ● Prevent tampering, back doors ● Prevent usage of device on other services ● Solution that is easy to incorporate. ● Protecting customer data Customer's concerns: ● Desire an accurate audit, as good as MITM ● Preserve privacy

  10. Compromise: Replace MITM with passive, read only auditors. Main Channel Enable: Audit Box ● security audit ● automated exfiltration Audit Box detection ● automated intrusion detection

  11. The Technical Problem: Create a method for passive, read only auditing of TLS-protected communication, to replace the man in the middle method. In other words: Remove the TLS barrier from a communications audit.

  12. Overview ● Setting ● Technical Problem ● Our Scheme: TLS RaR – Main Idea – Corner Cases ● Secure Key Release ● Clean Shutdown ● Evaluation ● Conclusions

  13. TLS-RaR: Rotate and Release

  14. Device to Cloud TLS Time Handshake AES-GCM Encrypted Session Begin TCP Connection Enter TLS Session

  15. Device to Cloud TLS Time Handshake Handshake AES-GCM AES-GCM Begin TCP Connection Enter TLS TLS 1.2: Renegotiate or Resume Session TLS 1.3: KeyUpdate

  16. Device to Cloud TLS With a Twist Time Rotate Keys Reconnect, Handshake AES-GCM AES-GCM Renegotiate, Resume or KeyUpdate Epoch 0 Epoch 1

  17. Device to Cloud TLS With a Twist Time Rotate Keys Reconnect, Handshake AES-GCM AES-GCM Renegotiate, Resume or KeyUpdate Epoch 0 Epoch 1 Release Previous Epoch (0) Key

  18. Nice Properties ● Audit box's decryption yields the same stream of data as endpoints' SSL_read() calls, but delayed ➔ Audit matches what was received

  19. Nice Properties ● Audit box's decryption yields the same stream of data as endpoints' SSL_read() calls, but delayed ➔ Audit matches what was received ● Format of TLS on the wire is not changed ➔ Easy to reason about security of the protocol ➔ Easy to adopt

  20. Nice Properties ● Audit box's decryption yields the same stream of data as endpoints' SSL_read() calls, but delayed ➔ Audit matches what was received ● Format of TLS on the wire is not changed ➔ Easy to reason about security of the protocol ➔ Easy to adopt ● For some existing servers no change is necessary ➔ Really easy to adopt

  21. Nice Properties ● Audit box's decryption yields the same stream of data as endpoints' SSL_read() calls, but delayed ➔ Audit matches what was received ● Format of TLS on the wire is not changed ➔ Easy to reason about security of the protocol ➔ Easy to adopt ● For some existing servers no change is necessary ➔ Really easy to adopt ● Minimal change to OpenSSL on the device ➔ Easy to reason about security of the implementation ➔ Easy to adopt

  22. Overview ● Setting ● Technical Problem ● Our Scheme: TLS RaR – Main Idea – Corner Cases ● Secure Key Release ● Clean Shutdown ● Evaluation ● Conclusions

  23. Key Release Procedure: Straw Man Device Audit Box A Audit Box C Audit Box B Device simply distributes key to Audit Boxes.

  24. Key Release Procedure: Straw Man Device Evil Audit Box Audit Box C Audit Box B Src: IoT Device Dst: Server “SUSPICIOUS DATA”

  25. Sealed-History Key Release h = Hash(records) σ = Sign(epoch, key, h) Device h, σ h, σ h, σ Audit Box A Audit Box C Audit Box B Cryptographic Hashes and Signatures ensure integrity to the auditors.

  26. Overview ● Setting ● Technical Problem ● Our Scheme: TLS RaR – Main Idea – Corner Cases ● Secure Key Release ● Clean Shutdown ● Evaluation ● Conclusions

  27. Connection Shutdown: Straw Men 1) Device naively releases key after disconnecting

  28. Connection Shutdown: Straw Men 1) Device naively releases key after disconnecting Attack: Auditors use key to append data to IoT device-to-server stream.

  29. Connection Shutdown: Straw Men 1) Device naively releases key after disconnecting Attack: Auditors use key to append data to IoT device-to-server stream. 2) Device doesn't release key after disconnecting

  30. Connection Shutdown: Straw Men 1) Device naively releases key after disconnecting Attack: Auditors use key to append data to IoT device-to-server stream. 2) Device doesn't release key after disconnecting Problem: Auditor can't decrypt the last epoch.

  31. Clean Connection Shutdown Clean shutdown: IoT application ensures the last key encrypting data is not useful (e.g. authenticated acknowledgment), then securely releases the key. TLS's close_notify is probably good enough.

  32. Clean Connection Shutdown Clean shutdown: IoT application ensures the last key encrypting data is not useful (e.g. authenticated acknowledgment), then securely releases the key. TLS's close_notify is probably good enough. Unclean shutdown results in unauditable final epoch .

  33. Clean Connection Shutdown Clean shutdown: IoT application ensures the last key encrypting data is not useful (e.g. authenticated acknowledgment), then securely releases the key. TLS's close_notify is probably good enough. Unclean shutdown results in unauditable final epoch . Note: Unclean shutdown can be caused by hardware/network failure or actions by IoT device, cloud server, and unauthenticated third parties.

  34. Overview ● Setting ● Technical Problem ● Our Scheme: TLS RaR – Main Idea – Corner Cases ● Secure Key Release ● Clean Shutdown ● Evaluation ● Conclusions

  35. Alexa Top 1,000,000 Compatibility Survey Fraction of Servers* Rotation by Reconnect 54.2% Rotation by Renegotiation 12.2% Rotation by Resume (requires heartbeat) 0.5% *Includes only the ≈400,000 servers that support HTTPS and keep-alive, January, 2016.

  36. Performance Impact Completion time for 1000 simulated sequential downloads of a 100kB resource, over a 24 Mbps link with 100 ms latency: Takeaway : In the worst case scenario (unlikely in IoT), epoch lengths can be chosen for minimal impact.

  37. Overview ● Setting ● Technical Problem ● Our Scheme: TLS RaR – Main Idea – Corner Cases ● Secure Key Release ● Clean Shutdown ● Evaluation ● Conclusions

  38. Conclusions ● Auditing the IoT is important, but not presently possible.

  39. Conclusions ● Auditing the IoT is important, but not presently possible. ● Allowing a read only audit is a potential compromise.

  40. Conclusions ● Auditing the IoT is important, but not presently possible. ● Allowing a read only audit is a potential compromise. ● TLS RaR is a technical solution with these nice properties: – SSL_read() returns same data for all trusted viewers – format of TLS on the wire is not changed – no changes for some servers – minimal change to OpenSSL on the device

  41. Conclusions ● Auditing the IoT is important, but not presently possible. ● Allowing a read only audit is a potential compromise. ● TLS RaR is a technical solution with these nice properties: – SSL_read() returns same data for all trusted viewers – format of TLS on the wire is not changed – no changes for some servers – minimal change to OpenSSL on the device Questions? Judson Wilson judsonw@stanford.edu

  42. Backup Slides

  43. Security Properties ● Present-Moment Integrity ➔ Main channel's end-to-end integrity is preserved ● Present-Moment Secrecy ➔ Auditors can't decrypt traffic until after a key release.

  44. Security Properties ● Present-Moment Integrity ➔ Main channel's end-to-end integrity is preserved ● Present-Moment Secrecy ➔ Auditors can't decrypt traffic until after a key release. ● Past Auditability ➔ Auditors can decrypt previously observed records for which they have the key, or return “fail.”

  45. Security Properties ● Present-Moment Integrity ➔ Main channel's end-to-end integrity is preserved ● Present-Moment Secrecy ➔ Auditors can't decrypt traffic until after a key release. ● Past Auditability ➔ Auditors can decrypt previously observed records for which they have the key, or return “fail.” ● Audit Robustness ➔ Auditors cannot be convinced that a forgery (possibly from another auditor) came from one of the endpoints.

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