privacy preserving browser side scripting bflow
play

Privacy-Preserving Browser-Side Scripting BFlow Janusz Kudeka - PowerPoint PPT Presentation

Introduction Background Design Implementation Evaluation Summary Privacy-Preserving Browser-Side Scripting BFlow Janusz Kudeka December 21, 2011 Janusz Kudeka Privacy-Preserving Browser-Side Scripting BFlow Introduction Background


  1. Introduction Background Design Implementation Evaluation Summary Same-origin policy Origin is a triple: <domain name, protocol, port> SOP is to guard the web sites JavaScript from interference by other sites JavaScript. SOP still allows communication by requests or intra-browser channels. In result scripts that have access to confidential data, can leak that data. Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  2. Introduction Background Design Implementation Evaluation Summary Same-origin policy Origin is a triple: <domain name, protocol, port> SOP is to guard the web sites JavaScript from interference by other sites JavaScript. SOP still allows communication by requests or intra-browser channels. In result scripts that have access to confidential data, can leak that data. Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  3. Introduction Background Design Implementation Evaluation Summary Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  4. Introduction Background Design Implementation Evaluation Summary Basic challanges BFlow requires stronger policy than the SOP . BFlow has to accomplish this without encumbering deployment. Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  5. Introduction Background Design Implementation Evaluation Summary Basic challanges BFlow requires stronger policy than the SOP . BFlow has to accomplish this without encumbering deployment. Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  6. Introduction Background Design Implementation Evaluation Summary Adversary The goal of the adversary is to read data that he should not be able to. Adversary capabilities are limited to: creating his own account running his own web server writing the JavaScript that the page includes Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  7. Introduction Background Design Implementation Evaluation Summary Adversary The goal of the adversary is to read data that he should not be able to. Adversary capabilities are limited to: creating his own account running his own web server writing the JavaScript that the page includes Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  8. Introduction Background Design Implementation Evaluation Summary Adversary The goal of the adversary is to read data that he should not be able to. Adversary capabilities are limited to: creating his own account running his own web server writing the JavaScript that the page includes Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  9. Introduction Background Design Implementation Evaluation Summary Adversary The goal of the adversary is to read data that he should not be able to. Adversary capabilities are limited to: creating his own account running his own web server writing the JavaScript that the page includes Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  10. Introduction Background Design Implementation Evaluation Summary Adversary The goal of the adversary is to read data that he should not be able to. Adversary capabilities are limited to: creating his own account running his own web server writing the JavaScript that the page includes Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  11. Introduction Background Design Implementation Evaluation Summary Adversary ... well adversary capabilities aren’t only limited to this. He can still: compromise host site eavesdrop infect user’s operating system with malware use social-engineering attacks BFlow doesn’t protect against such attacks Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  12. Introduction Background Design Implementation Evaluation Summary Adversary ... well adversary capabilities aren’t only limited to this. He can still: compromise host site eavesdrop infect user’s operating system with malware use social-engineering attacks BFlow doesn’t protect against such attacks Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  13. Introduction Background Design Implementation Evaluation Summary Adversary ... well adversary capabilities aren’t only limited to this. He can still: compromise host site eavesdrop infect user’s operating system with malware use social-engineering attacks BFlow doesn’t protect against such attacks Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  14. Introduction Background Design Implementation Evaluation Summary Adversary ... well adversary capabilities aren’t only limited to this. He can still: compromise host site eavesdrop infect user’s operating system with malware use social-engineering attacks BFlow doesn’t protect against such attacks Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  15. Introduction Background Design Implementation Evaluation Summary Adversary ... well adversary capabilities aren’t only limited to this. He can still: compromise host site eavesdrop infect user’s operating system with malware use social-engineering attacks BFlow doesn’t protect against such attacks Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  16. Introduction Background Design Implementation Evaluation Summary Adversary ... well adversary capabilities aren’t only limited to this. He can still: compromise host site eavesdrop infect user’s operating system with malware use social-engineering attacks BFlow doesn’t protect against such attacks Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  17. Introduction Background Design Implementation Evaluation Summary Attacks Paths JavaScript injections Third party malicious JavaScript Intra-browser communication Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  18. Introduction Background Design Implementation Evaluation Summary Attacks Paths JavaScript injections Third party malicious JavaScript Intra-browser communication Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  19. Introduction Background Design Implementation Evaluation Summary Attacks Paths JavaScript injections Third party malicious JavaScript Intra-browser communication Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  20. Introduction Background Design Implementation Evaluation Summary Attacks Paths JavaScript injections Third party malicious JavaScript Intra-browser communication Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  21. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The system has to be adopted by: developers web sites users Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  22. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The system has to be adopted by: developers web sites users Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  23. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The system has to be adopted by: developers web sites users Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  24. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The system has to be adopted by: developers web sites users Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  25. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The system has to be adopted by: developers web sites users Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  26. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption - Developers Design a system that preserves features: popular JavaScript constructions communication among concurrent browser scripts communication with remote web servers Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  27. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption - Developers Design a system that preserves features: popular JavaScript constructions communication among concurrent browser scripts communication with remote web servers Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  28. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption - Developers Design a system that preserves features: popular JavaScript constructions communication among concurrent browser scripts communication with remote web servers Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  29. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption - Developers Design a system that preserves features: popular JavaScript constructions communication among concurrent browser scripts communication with remote web servers Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  30. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption - Developers Design a system that preserves features: popular JavaScript constructions communication among concurrent browser scripts communication with remote web servers Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  31. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The design should be easy: for users to install for site developers to adopt for extension developers to adopt Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  32. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The design should be easy: for users to install for site developers to adopt for extension developers to adopt Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  33. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The design should be easy: for users to install for site developers to adopt for extension developers to adopt Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  34. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The design should be easy: for users to install for site developers to adopt for extension developers to adopt Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  35. Introduction Background Design Implementation Evaluation Summary Flexibility and Adoption The design should be easy: for users to install for site developers to adopt for extension developers to adopt Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  36. Introduction Background Design Implementation Evaluation Summary Deployment effort goal Users installing a browser plugin Site developers decide which data is confidential Third-party developers designing extension that handle BFlow Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  37. Introduction Background Design Implementation Evaluation Summary Deployment effort goal Users installing a browser plugin Site developers decide which data is confidential Third-party developers designing extension that handle BFlow Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  38. Introduction Background Design Implementation Evaluation Summary Deployment effort goal Users installing a browser plugin Site developers decide which data is confidential Third-party developers designing extension that handle BFlow Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  39. Introduction Background Design Implementation Evaluation Summary Deployment effort goal Users installing a browser plugin Site developers decide which data is confidential Third-party developers designing extension that handle BFlow Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  40. Introduction Background Design Implementation Evaluation Summary Design Design of BFlow consists of: Labels Zones Reference Monitor Gateways Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  41. Introduction Background Design Implementation Evaluation Summary Design Design of BFlow consists of: Labels Zones Reference Monitor Gateways Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  42. Introduction Background Design Implementation Evaluation Summary Design Design of BFlow consists of: Labels Zones Reference Monitor Gateways Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  43. Introduction Background Design Implementation Evaluation Summary Design Design of BFlow consists of: Labels Zones Reference Monitor Gateways Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  44. Introduction Background Design Implementation Evaluation Summary Design Design of BFlow consists of: Labels Zones Reference Monitor Gateways Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  45. Introduction Background Design Implementation Evaluation Summary Design Design of BFlow consists of: Labels Zones Reference Monitor Gateways Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  46. Introduction Background Design Implementation Evaluation Summary Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  47. Introduction Background Design Implementation Evaluation Summary Design - Label Label is a set of tags Tag is a token indicating category of confidentiality Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  48. Introduction Background Design Implementation Evaluation Summary Design - Label Label is a set of tags Tag is a token indicating category of confidentiality Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  49. Introduction Background Design Implementation Evaluation Summary Design - Label Label is a set of tags Tag is a token indicating category of confidentiality Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  50. Introduction Background Design Implementation Evaluation Summary Design - Zone Zone is a set of frames Zone label reflects data it has seen Zone explicitly asks to change its own label Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  51. Introduction Background Design Implementation Evaluation Summary Design - Zone Zone is a set of frames Zone label reflects data it has seen Zone explicitly asks to change its own label Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  52. Introduction Background Design Implementation Evaluation Summary Design - Zone Zone is a set of frames Zone label reflects data it has seen Zone explicitly asks to change its own label Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  53. Introduction Background Design Implementation Evaluation Summary Design - Zone Zone is a set of frames Zone label reflects data it has seen Zone explicitly asks to change its own label Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  54. Introduction Background Design Implementation Evaluation Summary Design - Invariant Top level frame is always in trusted zone Parent frame must be able to send messages to children Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  55. Introduction Background Design Implementation Evaluation Summary Design - Invariant Top level frame is always in trusted zone Parent frame must be able to send messages to children Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  56. Introduction Background Design Implementation Evaluation Summary Design - Invariant Top level frame is always in trusted zone Parent frame must be able to send messages to children Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  57. Introduction Background Design Implementation Evaluation Summary Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  58. Introduction Background Design Implementation Evaluation Summary Design - Intra-browser Communication Top level frame is always in trusted zone Parent frame must be able to send messages to children postMessage -> postMessageBF Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  59. Introduction Background Design Implementation Evaluation Summary Design - Intra-browser Communication Top level frame is always in trusted zone Parent frame must be able to send messages to children postMessage -> postMessageBF Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  60. Introduction Background Design Implementation Evaluation Summary Design - Intra-browser Communication Top level frame is always in trusted zone Parent frame must be able to send messages to children postMessage -> postMessageBF Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  61. Introduction Background Design Implementation Evaluation Summary Design - Intra-browser Communication Top level frame is always in trusted zone Parent frame must be able to send messages to children postMessage -> postMessageBF Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  62. Introduction Background Design Implementation Evaluation Summary Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  63. Introduction Background Design Implementation Evaluation Summary Design - control browser-server communication Data can flow between browser and web servers RM and the server includes labels in HTTP requests and response Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  64. Introduction Background Design Implementation Evaluation Summary Design - control browser-server communication Data can flow between browser and web servers RM and the server includes labels in HTTP requests and response Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  65. Introduction Background Design Implementation Evaluation Summary Design - control browser-server communication Data can flow between browser and web servers RM and the server includes labels in HTTP requests and response Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  66. Introduction Background Design Implementation Evaluation Summary Design -external server communication BFlow forbids communication after script have seen confidential data ... this is too restrictive for some applications ... so the developer can create a request declassification Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  67. Introduction Background Design Implementation Evaluation Summary Design -external server communication BFlow forbids communication after script have seen confidential data ... this is too restrictive for some applications ... so the developer can create a request declassification Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  68. Introduction Background Design Implementation Evaluation Summary Design -external server communication BFlow forbids communication after script have seen confidential data ... this is too restrictive for some applications ... so the developer can create a request declassification Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  69. Introduction Background Design Implementation Evaluation Summary Design -external server communication BFlow forbids communication after script have seen confidential data ... this is too restrictive for some applications ... so the developer can create a request declassification Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

  70. Introduction Background Design Implementation Evaluation Summary Implementation Implementation includes: Client Server Server Storage Janusz Kudełka Privacy-Preserving Browser-Side Scripting BFlow

Recommend


More recommend