Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallelizing Dynamic Information Flow Tracking

Similar presentations


Presentation on theme: "Parallelizing Dynamic Information Flow Tracking"— Presentation transcript:

1 Parallelizing Dynamic Information Flow Tracking
Olatunji Ruwase* Phillip B. Gibbons† Todd C. Mowry* Vijaya Ramachandran§ Shimin Chen† Michael Kozuch† Michael Ryan† Carnegie Mellon University * Intel Research Pittsburgh University of Texas at Austin

2 Lifeguards: Pros and Cons
+ Monitors a running program in order to detect bugs & security attacks E.g., detect any accesses to unallocated memory program lifeguard 1 2 3 4 1 2 3 4 1 2 1 2 3 4 3 4 Slows down the program 3X to 30X program slowdown Parallelize lifeguards to make them faster Can run lifeguard on separate core SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

3 TaintCheck : A Dynamic Information Flow Tracking Lifeguard
= = JMP = …………… JMP My My PACKET PACKET Mx R1 DIFT Parallelism Challenge: Embarrassingly sequential lifeguards R2 R1 R1 My Mx My R1 R1 Catch security bugs [NewSome et al NDSS ‘05] TAINTED/UNTAINTED Propagation of taint status Memcheck [Nethercote et al PLDI’05] memory bugs SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

4 A Parallel DIFT Algorithm
n Asymptotic Linear Speedup Symbolic Inheritance Tracking Ο(n/p) Inheritance Resolution Ο(n/p) SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

5 Symbolic Inheritance Tracking
Mx = R1 Mx = My R1 = R2 R1 R2 = R3 R2 R3 segment j + 1 segment j - 1 segment j Collapsed propagation chain SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

6 Inheritance Resolution
Mx My R2 R1 R3 R2 segment j - 1 segment j segment j + 1 Resolve segments in sequential order Locations within segment are resolved in parallel SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

7 Symbolic Inheritance Tracking (Harder Case)
= Mx R1 R1 R2 = R2 R2 R1 = My R1 My = R1 My Mx My JMP ? R1 segment j + 1 segment j - 1 segment j Unary propagation [Costa et al SOSP ‘05] SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

8 Inheritance Resolution (Harder Case)
Mx R2 My R1 R1 My My JMP ? segment j - 1 segment j segment j + 1 Detect security attack SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

9 Implementation : Parallel TaintCheck
Algorithm Implementation Parallel workers Master Speedup achieved because inheritance information is smaller than code segment SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

10 Achieving speedups with few workers
Constant Factors sequential 2 workers Taint propagation 1 Inheritance Tracking 2 Inheritance Resolution .5T T 1.5T time Inheritance info ~ ½ segment Require up to 4 workers to match sequential performance SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

11 Hybrid Parallelism sequential 2 workers 1 worker .5T .75T T 1.5T Use inheritance tracking as accelerator for taint propagation Achieves speedup even with 1 worker SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

12 Evaluation Log Transport Decompress Compress capture Operating System
(e.g. L2 cache) Core 1 Core 2 Decompress Compress capture dispatch Operating System Application Lifeguard Log Based Architectures [Chen et al ISCA ’08] Simics simulation 16 core 64K execution window 10 SPEC 2000 integer benchmarks SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

13 Slowdown Improvement using Pure Parallelism
Number of Workers 0 workers = Sequential SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

14 gcc slowdown with few workers
SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

15 Related Work Sequential DIFT: [Suh et al ASPLOS 04, Costa et al SOSP ’05, Newsome et al NDSS ’05, Nethercote et al PLDI ’07, Dalton et al ISCA ’07, Venkataramani et al HPCA ‘08] Parallel DIFT : Speck [Nightingale et al ASPLOS ’08] Parallel taint analysis lifeguard on commodity CMPs Parallel compression of code segments Sequential analysis of compressed segments Cannot achieve linear speedup (unary propagation not considered) Video decoder slowdown reduced from 18X to 9X using 9 lifeguard threads. SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase

16 Parallel DIFT algorithm
Conclusion Parallel DIFT algorithm Symbolic Inheritance Tracking Unary propagation Asymptotic Linear speedup Parallel TaintCheck Lifeguard Program slowdown reduced from 3X – 5X to 1.2X – 3X with 8 worker threads Hybrid parallelism is useful with few workers SPAA ‘08 June 14, 2008 Parallelizing Dynamic Information Flow Tracking Olatunji Ruwase


Download ppt "Parallelizing Dynamic Information Flow Tracking"

Similar presentations


Ads by Google