verifiable cloud outsourcing for network func9ons
play

Verifiable Cloud Outsourcing for Network Func9ons (+ - PowerPoint PPT Presentation

Verifiable Cloud Outsourcing for Network Func9ons (+ Verifiable Resource Accoun9ng for Cloud Services) Vyas Sekar vNFO joint with Seyed Fayazbakhsh,


  1. Verifiable ¡Cloud ¡Outsourcing ¡ for ¡Network ¡Func9ons ¡ ¡ (+ ¡Verifiable ¡Resource ¡Accoun9ng ¡for ¡Cloud ¡Services) ¡ Vyas ¡Sekar ¡ vNFO ¡joint ¡with ¡ ¡ ¡Seyed ¡Fayazbakhsh, ¡Mike ¡Reiter ¡ VRA ¡joint ¡with ¡ ¡Chen ¡Chen, ¡Petros ¡Mania9s, ¡Adrian ¡Perrig, ¡Amit ¡Vasudevan ¡ 1 ¡

  2. “Middleboxes” ¡are ¡valuable, ¡ ¡ but ¡have ¡many ¡pain ¡points! ¡ ¡ Based ¡on ¡survey ¡responses ¡+ ¡discussions ¡ Type ¡of ¡appliance ¡ ¡ Number ¡ Firewalls ¡ 166 ¡ High ¡Capital ¡Expenses ¡ ¡ NIDS ¡ 127 ¡ Device ¡Sprawl ¡ Media ¡gateways ¡ 110 ¡ Load ¡balancers ¡ 67 ¡ Proxies ¡ 66 ¡ High ¡Opera9ng ¡Expenses ¡ VPN ¡gateways ¡ 45 ¡ e.g., ¡separate ¡management ¡teams ¡ WAN ¡Op9mizers ¡ 44 ¡ need ¡manual ¡tuning ¡ Voice ¡gateways ¡ 11 ¡ Inflexible, ¡difficult ¡to ¡extend ¡ ? ¡ ¡ ¡ à ¡need ¡for ¡new ¡boxes! ¡ [COMB, ¡NSDI ¡’12] ¡ 2 ¡

  3. Case ¡for ¡Network ¡Func9on ¡Outsourcing ¡(NFO) ¡ Today: ¡ High ¡CapEx, ¡OpEx, ¡ ¡ Cloud ¡Provider ¡ Delay ¡in ¡innova9on ¡ Internet ¡ + ¡Economies ¡of ¡scale, ¡pay-­‑per ¡use ¡ + ¡Simplifies ¡configura9on ¡& ¡deployment ¡ [APLOMB, ¡SIGCOMM ¡’12] ¡ 3 ¡

  4. Concerns ¡with ¡ceding ¡control ¡ Cloud ¡Provider ¡ Internet ¡ Correctness ¡proper9es: ¡ Behavior, ¡Performance, ¡Accoun9ng ¡ ¡ Outside ¡scope: ¡Isola9on, ¡privacy, ¡.. ¡ 4 ¡ [vNFO, ¡HotMiddlebox ¡’13] ¡

  5. What ¡makes ¡this ¡challenging? ¡ • Lack ¡of ¡visibility ¡into ¡the ¡workload ¡ • Dynamic, ¡traffic-­‑dependent, ¡and ¡proprietary ¡ ac9ons ¡of ¡the ¡network ¡func9ons ¡ • Stochas9c ¡effects ¡introduced ¡by ¡the ¡network ¡ 5 ¡

  6. Outline ¡ • Mo9va9on ¡for ¡verifiable ¡NFO ¡ ¡ • Formalizing ¡ ¡proper9es ¡ ¡ • A ¡roadmap ¡for ¡vNFO ¡ ¡ • Discussion ¡ ¡ 6 ¡

  7. Formal ¡Framework ¡ ¡ Management ¡ Interface ¡ B CPU , ¡B Mem , ¡B Net ¡ CPU, ¡ CPU, ¡ Net ¡ Mem ¡ Mem ¡ f 1 ¡ f n ¡ σ n ¡ σ 1 ¡ …. ¡ π 1 in , ¡π 2 in , … ¡ ¡ π 1 out , ¡π 2 out , ... ¡ Customer ¡ Packet ¡Space ¡ State ¡Space ¡ Reference ¡ ¡ instance, b f i implementa9on ¡ ¡ Let f : ( Π ⇥ Σ ) ! ( Π ⇥ Σ ) th function 7 ¡ function that takes as input a packet

  8. Blackbox ¡Behavioral ¡Correctness ¡ man: ˆ AND ˆ f 1 f n σ n ¡ σ 1 ¡ …. ¡ π 1 in ¡ π 1 out ¡ visible ¡to ¡customer ¡ Is ¡there ¡some ¡ ? ¡ ? ¡ viable ¡state? ¡ AND ˆ man: ˆ f n f 1 σ’ 1 ¡ σ’ n ¡ …. ¡ π 1 in ¡ π 1 out ¡ 8 ¡

  9. Snapshot ¡Behavioral ¡Correctness ¡ man: ˆ AND ˆ f 1 f n σ n ¡ σ 1 ¡ …. ¡ π 1 in ¡ π 1 out ¡ visible ¡to ¡customer ¡ Would ¡I ¡get ¡the ¡ ¡ same ¡output? ¡ AND ˆ man: ˆ σ n ¡ σ 1 ¡ f n f 1 …. ¡ π 1 in ¡ π 1 out ? ¡ 9 ¡

  10. Performance ¡Correctness ¡ man: ˆ AND ˆ f 1 f n σ n ¡ σ 1 ¡ …. ¡ t 1 out , ¡t 2 out , ... ¡ π 1 in , ¡π 2 in , … ¡ ¡ π 1 out , ¡π 2 out , ... ¡ Would ¡it ¡really ¡ take ¡this ¡long? ¡ AND ˆ man: ˆ σ n ¡ σ 1 ¡ f n f 1 …. ¡ π 1 in , ¡π 2 in , … ¡ ¡ t’ 1 out , ¡t’ 2 out , ... ¡ π 1 out , ¡π 2 out , ... ¡ Observed ¡provider ¡performance ¡≈ ¡Reference ¡performance ¡ 10 ¡

  11. “Did-­‑I” ¡Accoun9ng ¡Correctness ¡ AND ˆ man: ˆ f 1 f n σ n ¡ σ 1 ¡ …. ¡ π 1 in , ¡π 2 in , … ¡ ¡ π 1 out , ¡π 2 out , ... ¡ Did ¡It ¡actually ¡ consume? ¡ Charged ¡value ¡of ¡resource ¡ r ¡≈ ¡ ¡ Consump9on ¡of ¡resource ¡ r ¡by ¡provider ¡ 11 ¡

  12. “Should-­‑I” ¡Accoun9ng ¡Correctness ¡ AND ˆ man: ˆ σ n ¡ σ 1 ¡ f n f 1 …. ¡ π 1 in , ¡π 2 in , … ¡ ¡ π 1 out , ¡π 2 out , ... ¡ Should ¡It ¡really ¡ cost ¡this ¡much? ¡ ¡Consump9on ¡of ¡resource ¡ r ¡by ¡provider ¡≈ ¡ ¡ Consump9on ¡of ¡resource ¡ r ¡by ¡reference ¡implementa9on ¡ 12 ¡

  13. Outline ¡ • Mo9va9on ¡for ¡NFO ¡+ ¡vNFO ¡ ¡ • Formalizing ¡vNFO ¡proper9es ¡ ¡ • A ¡roadmap ¡for ¡vNFO ¡ ¡ • Discussion ¡ 13 ¡

  14. Verifiable ¡NFO ¡(vNFO) ¡Overview ¡ Management ¡ Interface ¡ B CPU , ¡B Mem , ¡B Net ¡ CPU, ¡ CPU, ¡ Net ¡ Mem ¡ Mem ¡ …. ¡ π 1 in , ¡π 2 in , … ¡ ¡ π 1 out , ¡π 2 out , ... ¡ Customer ¡ Each ¡func9on ¡is ¡implemented ¡as ¡a ¡ virtual ¡appliance. ¡ NFO ¡provider ¡deploys ¡a ¡trusted ¡shim ¡for ¡logging. ¡ ¡ 14 ¡

  15. Behavioral ¡+ ¡Performance ¡Correctness ¡ Management ¡ Interface ¡ B CPU , ¡B Mem , ¡B Net ¡ CPU, ¡ CPU, ¡ Net ¡ Mem ¡ Mem ¡ …. ¡ π 1 in , ¡π 2 in , … ¡ ¡ π 1 out , ¡π 2 out , ... ¡ Customer ¡ Shim ¡logs: ¡every ¡packet, ¡VM ¡state, ¡9mestamps ¡per ¡packet ¡ 15 ¡

  16. Challenges! ¡ Management ¡ Interface ¡ B CPU , ¡B Mem , ¡B Net ¡ CPU, ¡ CPU, ¡ Net ¡ Mem ¡ Mem ¡ …. ¡ π 1 in , ¡π 2 in , … ¡ ¡ π 1 out , ¡π 2 out , ... ¡ Customer ¡ 1. ¡Middlebox ¡ac9ons ¡make ¡it ¡difficult ¡to ¡correlate ¡logs ¡ 2. ¡Scalability ¡and ¡performance ¡impact ¡due ¡to ¡logging ¡ 16 ¡

  17. Poten9al ¡solu9ons ¡to ¡challenges ¡ 1. Lack ¡of ¡visibility ¡into ¡middlebox ¡ac9ons: ¡ – Packets ¡may ¡be ¡modified ¡by ¡middleboxes. ¡ FlowTags: ¡NSDI ¡‘14 ¡ 2. Scalability ¡ – Infeasible ¡to ¡log ¡all ¡packets ¡and ¡processing ¡stats. ¡ Trajectory ¡Sampling ¡ 17 ¡

  18. Outline ¡ • Mo9va9on ¡for ¡NFO ¡+ ¡vNFO ¡ ¡ • Formalizing ¡vNFO ¡proper9es ¡ ¡ • A ¡roadmap ¡for ¡vNFO ¡ – Verifiable ¡accoun9ng ¡for ¡Did-­‑I ¡correctness ¡ • Discussion ¡ ¡ 18 ¡

  19. “Did-­‑I” ¡Accoun9ng ¡Correctness ¡ AND ˆ man: ˆ f 1 f n σ n ¡ σ 1 ¡ …. ¡ π 1 in , ¡π 2 in , … ¡ ¡ π 1 out , ¡π 2 out , ... ¡ Did ¡It ¡actually ¡ consume? ¡ Charged ¡value ¡of ¡resource ¡ r ¡≈ ¡ ¡ Consump9on ¡of ¡resource ¡ r ¡by ¡provider ¡ 19 ¡

  20. Desired ¡Proper9es ¡ • Image ¡Integrity ¡ – What ¡is ¡running ¡ • Execu9on ¡Integrity ¡ – How ¡it ¡is ¡running ¡ • Accoun9ng ¡Integrity ¡ – Only ¡chargeable ¡events ¡are ¡accounted ¡ 20 ¡

  21. ALIBI ¡Design ¡Overview ¡ Integrity Co-tenant Customer’s Trusted Untrusted protected Instance Instance (VM) chargeable Provider Software event Observer Veri fj er Report HW via ¡Aqested ¡Instance ¡Launch ¡ • Image ¡Integrity ¡ • Execu9on ¡Integrity ¡ via ¡Guest-­‑Plarorm ¡Isola9on ¡ • Accoun9ng ¡Integrity ¡ via ¡Bracke9ng ¡ 21 ¡

  22. ALIBI ¡architecture ¡ Enhance ¡KVM ¡nested ¡virtualiza9on ¡with ¡resource ¡ accoun9ng ¡and ¡protec9on ¡ • Advantage ¡ • Intercept ¡cri9cal ¡events ¡ L2 Guest L2 Guest • No ¡modifica9on ¡to ¡L1 ¡ hypervisor ¡ KVM-L1 ¡ • Current ¡Implementa9on ¡ KVM-L0 Alibi • CPU ¡accoun9ng ¡ • Memory ¡accoun9ng ¡ HW 22 ¡

  23. Guest-­‑Plarorm ¡Isola9on ¡ ¡(Execu9on ¡Integrity) ¡ • Memory ¡Integrity ¡ – Isolate ¡memory ¡pages ¡M ¡by ¡instances ¡ – M i ¡is ¡writeable ¡only ¡when ¡instance ¡i ¡is ¡running ¡ • Control ¡Flow ¡Integrity ¡ – Protect ¡program ¡stack ¡by ¡memory ¡protec9on ¡ – Monitor ¡and ¡validate ¡guest-­‑CPU ¡state ¡changes ¡ • Storage ¡Integrity ¡ – Integrity ¡protected ¡file ¡system ¡ 23 ¡

  24. Bracke9ng ¡(Accoun9ng ¡integrity) ¡ • Event ¡Detec9on ¡ • Control ¡transfer ¡ A • Memory ¡mapping ¡and ¡ Instance 0 unmapping ¡ map page B unmap page • Event ¡Aqribu9on ¡ Instance 1 • Associate ¡resource ¡usage ¡with ¡ CPU ¡ownership ¡ ¡ Instance 0 CPU Execution • Event ¡Repor9ng ¡ • Collect ¡event ¡measurements ¡ C • Store ¡and ¡protect ¡event ¡ measurements ¡ 24 ¡

Recommend


More recommend