constructing mid points for two party asynchronous
play

Constructing Mid-points for Two party Asynchronous Protocols Petar - PowerPoint PPT Presentation

Constructing Mid-points for Two party Asynchronous Protocols Petar Tsankov, Mohammad Torabi Dashti, David Basin ETH Z urich OPODIS11 December 16, 2011 Context, motivation, goals Protocols, end-points, mid-points December 16, 2011


  1. Constructing Mid-points for Two party Asynchronous Protocols Petar Tsankov, Mohammad Torabi Dashti, David Basin ETH Z¨ urich OPODIS’11 December 16, 2011

  2. Context, motivation, goals Protocols, end-points, mid-points December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 2

  3. Context, motivation, goals Protocols, end-points, mid-points Mid-point End-point End-point Mid-points: relay, redirect, filter communication � December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 2

  4. Context, motivation, goals Protocols, end-points, mid-points Mid-point End-point End-point Mid-points: relay, redirect, filter communication � can enforce a protocol (e.g. stateful firewalls) � December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 2

  5. Context, motivation, goals How to implement a mid-point? Mid-point End-point End-point We need a specification! December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 3

  6. Context, motivation, goals How to implement a mid-point? Mid-point End-point End-point We need a specification! Protocols specifications: specify the end-points’ behavior � do not specify the mid-point’s behavior � December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 3

  7. Context, motivation, goals How to implement a mid-point? Mid-point End-point End-point We need a specification! Protocols specifications: specify the end-points’ behavior � do not specify the mid-point’s behavior � The problem How do we implement a system, when we don’t know what it should do? December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 3

  8. Context, motivation, goals Why mid-point specifications? Mid-points are often incorrectly implemented 1 : QUALITY CONTROL � Checkpoint, netfilter/iptables, ISA Server REJECTED 1 Case study by D. Bidder-Senn, D. Basin, G. Caronni. “Midpoints versus endpoints: From protocols to firewalls” December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 4

  9. Context, motivation, goals Why mid-point specifications? Mid-points are often incorrectly implemented 1 : QUALITY CONTROL � Checkpoint, netfilter/iptables, ISA Server REJECTED Mid-point specifications are useful for: Model-driven development � Code inspection � Model-based testing � 1 Case study by D. Bidder-Senn, D. Basin, G. Caronni. “Midpoints versus endpoints: From protocols to firewalls” December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 4

  10. Context, motivation, goals Why mid-point specifications? Mid-points are often incorrectly implemented 1 : QUALITY CONTROL � Checkpoint, netfilter/iptables, ISA Server REJECTED Mid-point specifications are useful for: Model-driven development � Code inspection � Model-based testing � . . . they are a good starting point to implement a mid-point 1 Case study by D. Bidder-Senn, D. Basin, G. Caronni. “Midpoints versus endpoints: From protocols to firewalls” December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 4

  11. Context, motivation, goals Goal Protocol specification Mid-point specification Communication environment specification December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 5

  12. Context, motivation, goals Goal Protocol specification Mid-point specification Communication environment specification December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 5

  13. Roadmap Context, motivation, goals � Challenges � � The model Framework � � TCP case study Future work � December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 6

  14. Challenges Challenge: Channels fidelity Mid-point Mid-point End-point End-point Time 1 Time 2 December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 7

  15. Challenges Challenge: Channels fidelity Mid-point Mid-point End-point End-point Time 1 Time 2 ❳❳❳❳❳❳❳❳❳❳❳ property lose duplicate reorder channel Reliable no no no Resilient no yes yes Lossy yes no yes December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 7

  16. Challenges Challenge: Non-determinism Under-specification � - allow alternative behaviors 0 0 rcv(syn) snd(synack) snd(rst) 1 1 2 2 3 3 � Abstraction - probabilistic choices December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 8

  17. The model The setting 1 2 C i C o 1 M 2 E E 1 2 C o C i E 1 , E 2 : the end-points � C 1 o , C 1 i , C 2 o , C 2 � i : channels Assumption The end-points and the channels are formally specified We need to compute M December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 9

  18. The model Process algebraic specifications End-points and channels are specified µ CRL � Benefits: General purpose process algebra with mature tool support 1 2 C i C o 1 M 2 E E 1 2 C o C i December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 10

  19. The model Process algebraic specifications End-points and channels are specified µ CRL � Benefits: General purpose process algebra with mature tool support � We can compute the parallel composition of processes Example: P = E 1 � C 1 i � C 1 o P 1 2 C i C o 1 M 2 E E 1 2 C o C i December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 10

  20. The model Process algebraic specifications End-points and channels are specified µ CRL � Benefits: General purpose process algebra with mature tool support We can compute the parallel composition of processes � Example: P = E 1 � C 1 i � C 1 o 2 C o P M 2 E 2 C i December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 10

  21. The model Definition of enforcement Reference model � 1 1 2 2 C i C i C o C o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  22. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  23. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i R = P � Q December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  24. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i R = P � Q Implementation � model M December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  25. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i R = P � Q Implementation � P' Q' model M December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  26. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i R = P � Q Implementation � P' Q' model M I = P ′ � M � Q ′ December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  27. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i R = P � Q Implementation � P' Q' model M I = P ′ � M � Q ′ December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  28. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i R = P � Q Implementation � P' Q' model M I = P ′ � M � Q ′ December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  29. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i R = P � Q Implementation � P' Q' model M I = P ′ � M � Q ′ December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

  30. The model Definition of enforcement Reference model � P Q P = E 1 � C 1 i � C 1 o Q = E 2 � C 2 i � C 2 1 1 2 2 C i C i C o C o o 1 1 2 2 E E E E 1 1 2 2 C o C o C i C i R = P � Q Implementation � P' Q' model M I = P ′ � M � Q ′ December 16, 2011 Constructing Mid-points for Two-party Asynchronous Protocols 11

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