where does your informa on go
play

Where does your informa@on go? Travel Agency Airline - PowerPoint PPT Presentation

IFlow Model driven development of informa0on flow secure systems Wolfgang Reif, Kuzman Katkalov, Marian Borek, Kurt Stenzel Prof. Dr. W. Reif,


  1. IFlow ¡– ¡ Model ¡driven ¡development ¡of ¡informa0on ¡flow ¡secure ¡systems ¡ Wolfgang ¡Reif, ¡Kuzman ¡Katkalov, ¡Marian ¡Borek, ¡Kurt ¡Stenzel ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  2. Where ¡does ¡your ¡informa@on ¡go? ¡ Travel ¡Agency ¡ Airline ¡ (3) ¡Comission ¡ (1) ¡Offers ¡ (2) ¡Booking ¡ Travel ¡Planner ¡ Confirm ¡credit ¡ Select ¡offer ¡ • Travel ¡Agency ¡never ¡learns ¡ the ¡user’s ¡credit ¡card ¡data ¡ card ¡data ¡release ¡ • Airline ¡only ¡learns ¡the ¡user’s ¡credit ¡card ¡data ¡ aOer ¡user ¡confirma@on ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  3. How ¡much ¡informa@on ¡are ¡you ¡sharing? ¡ 2.5 ¡km ¡ 2.5 ¡km ¡ Report ¡run ¡distance ¡ Health ¡Insurance ¡Service ¡ Distance ¡Tracker ¡ • Health ¡Insurance ¡Service ¡never ¡learns ¡ the ¡user’s ¡loca0on ¡ • Distance ¡Tracker ¡properly ¡anonymizes ¡ the ¡user’s ¡loca0on ¡data ¡as ¡distance ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  4. Overview ¡ • IFlow: ¡a ¡model ¡driven ¡approach ¡for ¡developing ¡ distributed ¡apps ¡with ¡secure ¡informa@on ¡flow ¡ • SoBware/security ¡co-­‑design ¡in ¡distributed ¡apps ¡ – Modeling ¡ – Automa0c ¡check ¡and ¡verifica0on ¡ • Special ¡aspect: ¡limited ¡release ¡of ¡informa0on ¡ – Modeling ¡ – Verifica0on ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  5. IFlow: ¡a ¡model-­‑driven ¡approach ¡to ¡IFC ¡ MODEL FLOW Modeling ¡language ¡ Formal ¡founda@on ¡ ¡ • formal ¡seman+cs ¡ ¡ • principle: ¡security ¡by ¡design ¡ ( ¡ASMs ¡& ¡predicate ¡logic) ¡ • graphical, ¡domain ¡specific ¡ • intransi+ve ¡noninterference ¡ language ¡for ¡IFC ¡ (extension ¡of ¡Rushby/Meyden) ¡ • distributed ¡apps ¡& ¡services ¡ • declassifica+on ¡ ¡ • with ¡tool ¡support ¡ (“what”, ¡“where”, ¡“when”) ¡ • and ¡code ¡genera+on ¡ ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  6. IFlow: ¡a ¡model-­‑driven ¡approach ¡to ¡IFC ¡ UML ¡model ¡ automa0c ¡transforma0on ¡ verifica&on ¡of ¡ ¡ Formal ¡model ¡ automa&c ¡ Monolithic ¡ informa&on ¡release ¡ language-­‑based ¡ code ¡skeleton ¡ IF ¡check ¡ automa&c ¡check ¡of ¡manually ¡ Final, ¡distributed ¡ implemented ¡code ¡ applica@on ¡ Result: ¡ ¡ runnable ¡applica@on ¡with ¡guaranteed ¡ informa@on ¡flow ¡proper@es ¡ ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  7. A ¡hybrid ¡approach ¡to ¡provide ¡guarantees ¡ Informa0on ¡flow: ¡ Informa0on ¡release: ¡ Automa@c ¡code ¡check ¡ Formal ¡verifica@on ¡ ¡ ¡ ¡ ¡ Airline ¡only ¡learns ¡the ¡user’s ¡ Travel ¡Agency ¡ never ¡learns ¡ the ¡ credit ¡card ¡data ¡ ¡ user’s ¡credit ¡card ¡data ¡ aIer ¡user ¡confirma+on ¡ ¡ ¡ Health ¡Insurance ¡Service ¡ never ¡ Distance ¡Tracker ¡ properly ¡ learns ¡the ¡user’s ¡loca0on ¡ anonymizes ¡the ¡user’s ¡loca0on ¡ JOANA ¡ KIV ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  8. Overview ¡ • IFlow: ¡a ¡model ¡driven ¡approach ¡for ¡developing ¡ distributed ¡apps ¡with ¡secure ¡informa0on ¡flow ¡ • SoOware/security ¡co-­‑design ¡in ¡distributed ¡apps ¡ – Modeling ¡ – Automa0c ¡check ¡and ¡verifica0on ¡ • Special ¡aspect: ¡limited ¡release ¡of ¡informa0on ¡ – Modeling ¡ – Verifica0on ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  9. TravelPlanner: ¡ components ¡ ¡ Applica0on ¡components: ¡ user ¡interface , ¡ mobile ¡apps ¡ and ¡ web ¡services ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  10. TravelPlanner: ¡ data ¡types ¡ ¡ Data ¡types ¡ and ¡ message ¡classes ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  11. TravelPlanner: ¡ behaviour ¡ confirma@on ¡of ¡ credit ¡card ¡release ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  12. Travel ¡Planner: ¡ security ¡ • Subjects ¡(user, ¡apps ¡& ¡web ¡services): ¡ S ¡ S TravelPlanner ¡= ¡{User, ¡Airline, ¡TravelAgency} ¡ ¡ • Security ¡domains : ¡ d ¡ ⊆ ¡S, ¡d ¡ ⊆ ¡S ⨯ S ¡ {User}, ¡{User, ¡Airline}, ¡{User, ¡Airline, ¡TravelAgency}, ¡ {User}-­‑>{User, ¡Airline} ¡ ¡ • Security ¡policy : ¡ ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  13. Travel ¡Planner: ¡ security ¡(cont.) ¡ Assigning ¡security ¡domains ¡to ¡data ¡& ¡messages : ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  14. TravelPlanner: ¡ behaviour ¡ confirma@on ¡of ¡ credit ¡card ¡release ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  15. Travel ¡Planner: ¡ security ¡(cont.) ¡ Noninterference ¡theorem ¡ ¡ (extension ¡of ¡Rushby/van ¡der ¡Meyden): ¡ Security ¡policy ¡sa@sfied, ¡if ¡ (true ¡by ¡construc0on) ¡ RM1: ¡ ¡ ¡ ¡ ¡ ¡ ¡s 1 ¡ ≈ d ¡s 2 ¡ → ¡output(s 1 , ¡d) ¡= ¡output(s 2 , ¡d) ¡ (true ¡by ¡construc0on) ¡ RM2: ¡ ¡ ¡ ¡ ¡ ¡ ¡s 1 ¡ ≈ dom(a) ¡s 2 ¡ ∧ ¡s 1 (l) ¡= ¡s 2 (l) ¡ ∧ ¡l ¡ ∈ ¡alter(dom(a)) ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ → ¡step(s 1 , ¡a)(l) ¡= ¡ ¡step(s 2 , ¡a)(l) ¡ (true ¡by ¡construc0on) ¡ ¡ RM3: ¡ ¡ ¡ ¡ ¡ ¡ ¡step(s, ¡a)(l) ¡≠ ¡s(l) ¡ → ¡l ¡ ∈ ¡alter(dom(a)) ¡ ¡ ¡ (prove) ¡ AOI: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡alter(d 1 ) ¡ ∩ ¡observe(d 2 ) ¡≠ ¡ ∅ ¡ → ¡d 1 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ d 2 ¡ ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  16. TravelPlanner: ¡ security ¡proper@es ¡ • Components ¡(apps/services) ¡and ¡ their ¡a[ributes ¡can ¡be ¡ sources ¡ and ¡ sinks ¡ of ¡informa0on ¡ • Informa0on ¡flow ¡is ¡either ¡ ¡ – disallowed ¡ ( «noFlow» ), ¡or ¡ – allowed ¡ ( «allowedFlow» ) ¡ … ¡via ¡a ¡specific ¡method ¡( «via» ) ¡ … ¡aBer ¡ user ¡confirma@on ¡ ( [confirma&on]) ¡ • Proper0es ¡can ¡be ¡ ¡ – automa@cally ¡checked ¡ on ¡the ¡code ¡level, ¡or ¡ – verified ¡interac@vely ¡using ¡the ¡formal ¡ model ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  17. TravelPlanner: ¡ automa@c ¡IF ¡check ¡ disallowed ¡ informa0on ¡flow ¡ ¡ ¡ Local ¡code ¡skeleton ¡ ¡ IFlow ¡Framework ¡ ¡ App1 ¡ Service1 ¡ (3 ¡versions) ¡ App2 ¡ Service2 ¡ PlaNorm-­‑ … ¡ … ¡ 1. Generate ¡a ¡code ¡skeleton ¡as ¡a ¡ independent ¡ ¡ check ¡with ¡JOANA ¡ IF ¡emula+on ¡ monolithic ¡Java ¡applica@on ¡ Android-­‑ deploy ¡ Android-­‑ ¡ specific ¡ API ¡ Distributed ¡system ¡ 2. Generate ¡and ¡run ¡ informa@on ¡flow ¡ Web ¡Service-­‑ Service-­‑ App1 ¡ Service1 ¡ API ¡ specific ¡ check ¡with ¡JOANA ¡(PDG-­‑based ¡IFC) ¡ App2 ¡ Service2 ¡ ¡ … ¡ … ¡ 3. Distribute ¡applica0on ¡as ¡ ¡ Android ¡apps ¡ and ¡ Java ¡web ¡services ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  18. TravelPlanner: ¡ verifica@on ¡ disallowed ¡ direct ¡informa0on ¡flow ¡ explicitly ¡allowed ¡informa0on ¡flow ¡ ¡ via ¡a ¡specific ¡method ¡ ¡ ¡ ¬ domain( ccd ) ¡ ⇒ ¡domain( Airline ) ¡ ∧ ¡ ¡ Proof ¡obliga@ons: ¡ domain( ccd ) ¡ ⇒ ¡domain( declassifyCCD ) ¡ ∧ ¡ ¡ domain( declassifyCCD ) ¡ ⇒ ¡domain( Airline ) ¡ 1. Security ¡policy ¡implies ¡property ¡ ¡ 2. Applica@on ¡model ¡sa@sfies ¡security ¡ policy ¡(noninterference ¡theorem) ¡ ¡ 3. declassifyCCD ¡is ¡only ¡called ¡ aOer ¡ confirma@on ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

  19. Overview ¡ • IFlow: ¡a ¡model ¡driven ¡approach ¡for ¡developing ¡ distributed ¡apps ¡with ¡secure ¡informa0on ¡flow ¡ • SoBware/security ¡co-­‑design ¡in ¡distributed ¡apps ¡ – Modeling ¡ – Automa0c ¡check ¡and ¡verifica0on ¡ • Special ¡aspect: ¡limited ¡release ¡of ¡informa@on ¡ – Modeling ¡ – Verifica0on ¡ Prof. ¡Dr. ¡W. ¡Reif, ¡reif@isse.de ¡

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