effective and efficient compromise recovery for weakly
play

Effective and Efficient Compromise Recovery for Weakly Consistent - PowerPoint PPT Presentation

Effective and Efficient Compromise Recovery for Weakly Consistent Replication Prince Mahajan (UT Austin), Ramakrishna Kotla, Cathy Marshall, Venugopalan Rama Ramasubramanian, Tom Rodeheffer, Doug Terry, Ted Wobber (Microsoft Research


  1. Effective and Efficient Compromise Recovery for Weakly Consistent Replication Prince Mahajan (UT Austin), Ramakrishna Kotla, Cathy Marshall, Venugopalan “Rama” Ramasubramanian, Tom Rodeheffer, Doug Terry, Ted Wobber (Microsoft Research Silicon Valley)

  2. Scenario Sam

  3. Scenario Sam

  4. Scenario Alex

  5. Scenario Alex

  6. Scenario Alex Corrupted “contact”

  7. Scenario Alex Corrupted “contact”

  8. Scenario Alex Corrupted “contact” Workgroup

  9. Scenario Sam Corrupted “contact” Workgroup

  10. Scenario Corrupted “contact” Workgroup

  11. Scenario Corrupted “contact” Workgroup In replicated systems, even inappropriate updates propagate automatically.

  12. Another Scenario Chicago San Francisco customers customers L. A. customers

  13. Another Scenario Chicago San Francisco customers customers L. A. customers

  14. Another Scenario Chicago San Francisco customers customers L. A. customers

  15. Another Scenario Chicago San Francisco customers customers L. A. customers

  16. Our Contributions Polygraph: A framework that • Extends weakly consistent replication • Removes corrupted updates • Recovers uncorrupted updates • While being Effective: Retain most uncorrupted updates Efficient: Incur less bandwidth cost

  17. Outline • Motivation • System Model • Backup-based approach • Polygraph: Effective and Efficient Recovery • Results • Conclusion

  18. System Model

  19. System Model • Replicas can independently update items • Each update produces a new version of item • New versions propagate asynchronously

  20. System Model • Replicas can independently update items • Each update produces a new version of item • New versions propagate asynchronously • Replicas retain the most recent version • Archive replica logs all received versions

  21. Example System Replica A updates stored versions Archive Log updates updates Replica C Replica B

  22. Update Timeline wall clock time 1 2 3 4 5 6 7 8 l i k A A1 A2 A3 A4 j replica B B2 B1 B3 B4 B5 C C4 C1 C3 C2 A, B, C replicas i j k l items versions A1, A2,...,C4 influence

  23. Update Timeline wall clock time 1 2 3 4 5 6 7 8 l i k A A1 A2 A3 A4 j replica B B2 B1 B3 B4 B5 C C4 C1 C3 C2 A, B, C replicas i j k l items versions A1, A2,...,C4 influence

  24. Threat Model • Compromises can result from malice or misuse • Corrupted versions Versions injected by compromised replicas Versions influenced by corrupted versions • An external agent detects and reports compromises after the fact • Archive and replication layer is not compromised

  25. Update Timeline wall clock time 1 2 3 4 5 6 7 8 l i k A A1 A2 A3 A4 j replica B B2 B1 B3 B4 B5 C C4 C1 C3 C2 A, B, C replicas i j k l items versions A1, A2,...,C4 influence

  26. Update Timeline (with compromise) wall clock time 1 2 3 4 5 6 7 8 l i k A A1 A2 A3 A4 j replica B B2 B1 B3 B4 B5 C C4 C1 C3 C2 innocent version i j k l items corrupt version A, B, C replicas versions compromise A1, A2,...,C4 compromise notification influence

  27. Update Timeline (after recovery) wall clock time 1 2 3 4 5 6 7 8 l i k A A1 A2 A3 A4 j replica B B2 B1 B3 C C1 C3 C2 innocent version i j k l items corrupt version A, B, C replicas versions compromise A1, A2,...,C4 compromise notification influence

  28. Backup-based Approach Backup Replica A updates stored versions Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  29. Backup-based Approach Backup Replica A updates stored versions Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  30. Backup-based Approach Backup Replica A updates stored versions Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  31. Backup-based Approach Backup Replica A Compromise updates notification: stored versions B compromised at time t Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  32. Backup-based Approach Backup Replica A Compromise updates notification: stored versions B compromised at time t Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  33. Backup-based Approach Backup Replica A Compromise updates notification: stored versions B compromised at time t Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  34. Backup-based Approach Backup Replica A Compromise updates notification: stored versions B compromised at time t Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  35. Backup-based Approach Backup Replica A Compromise updates notification: stored versions B compromised at time t Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  36. Backup-based Approach Backup Replica A Compromise updates notification: stored versions B compromised at time t Checkpoints updates updates Replica C Replica B Innocent version Corrupt version Checkpoint

  37. Drawbacks of Backup-based Approach • Inefficient: Re-propagation from backup to replicas • Ineffective: Updates subsequent to checkpoint are lost compromise notification 1 2 3 4 5 6 7 8 l i k A A1 A2 A3 A4 j replica B B2 B1 B3 B4 B5 C C1 C4 C3 C2

  38. Polygraph: Key Ideas

  39. Polygraph: Key Ideas • Innocent version identification Effectiveness: innocent versions created post- compromise are recovered

  40. Polygraph: Key Ideas • Innocent version identification Effectiveness: innocent versions created post- compromise are recovered • Replica-local retention

  41. Polygraph: Key Ideas • Innocent version identification Effectiveness: innocent versions created post- compromise are recovered • Replica-local retention Replicas retain innocent versions

  42. Polygraph: Key Ideas • Innocent version identification Effectiveness: innocent versions created post- compromise are recovered • Replica-local retention Replicas retain innocent versions Effectiveness: newer versions recovered

  43. Polygraph: Key Ideas • Innocent version identification Effectiveness: innocent versions created post- compromise are recovered • Replica-local retention Replicas retain innocent versions Effectiveness: newer versions recovered Efficiency: retained versions save bandwidth

  44. Innocent Versions Version is innocent if it is Generated before compromise, or Not influenced by any corrupt version from the compromised replica

  45. Is a version generated before compromise? Update A1 B1 A2 B2 B3 A4 C3 B4 C1 Archive Log

  46. Is a version generated before compromise? wall clock time 1 2 3 4 5 6 7 8 Update A1 B1 A2 B2 B3 A4 C3 B4 C1 A3 Archive Log

  47. Is a version generated before compromise? compromise notification wall clock time 1 2 3 4 5 6 7 8 Update A1 B1 A2 B2 B3 A4 C3 B4 C1 A3 Archive Log

  48. Is a version generated before compromise? compromise notification wall clock time 1 2 3 4 5 6 7 8 Update A1 B1 A2 B2 B3 A4 C3 B4 C1 A3 Archive Log versions generated prior to compromise

  49. Is a version generated before compromise? compromise notification wall clock time 1 2 3 4 5 6 7 8 Update A1 B1 A2 B2 B3 A4 C3 B4 C1 A3 Archive Log versions generated prior to compromise precompromise cut Precompromise cut summarizes versions archived prior to compromise

  50. Is a version v influenced by any corrupt version from the compromised replica?

  51. Is a version v influenced by any corrupt version from the compromised replica? • Sufficient to check: is the most recent version from the compromised replica that influenced v is corrupt?

  52. Is a version v influenced by any corrupt version from the compromised replica? • Sufficient to check: is the most recent version from the compromised replica that influenced v is corrupt? • Each version has a taint vector • Taint vector of a version v tracks the most recent version from each replica that has influenced v

  53. Is a version v influenced by any corrupt version from the compromised replica? • Sufficient to check: is the most recent version from the compromised replica that influenced v is corrupt? • Each version has a taint vector • Taint vector of a version v tracks the most recent version from each replica that has influenced v B2 A1 C2 C3 Taint vector A1 A1 A1 A1 B2 B2 B2 C3 C2

  54. Is a version v influenced by any corrupt version from the compromised replica? • Sufficient to check: is the most recent version from the compromised replica that influenced v is corrupt? • Each version has a taint vector • Taint vector of a version v tracks the most recent version from each replica that has influenced v B2 A1 C2 C3 Taint vector A1 A1 A1 A1 B2 B2 B2 C3 C2 A version v is innocent if the influencing version from the compromised replica in v ’s taint vector is innocent

Recommend


More recommend