slimium debloating the chromium browser with feature
play

Slimium: Debloating the Chromium Browser with Feature Subsetting - PowerPoint PPT Presentation

Slimium: Debloating the Chromium Browser with Feature Subsetting CHENXIONG QIAN, HYUNGJOON (KEVIN) KOO, CHANGSEOK OH, TAESOO KIM, WENKE LEE 1 Background Chromium dominates Web browser market share. Ever-increasing Features: 2300+


  1. Slimium: Debloating the Chromium Browser with Feature Subsetting CHENXIONG QIAN, HYUNGJOON (KEVIN) KOO, CHANGSEOK OH, TAESOO KIM, WENKE LEE 1

  2. Background • Chromium dominates Web browser market share. • Ever-increasing Features: • 2300+ Html/Javascript properties • 700+ CSS properties • Hundreds of experimental features 2

  3. Problem • Not all features are used commonly. • Attack surface is increasing. Feature Policy 3

  4. Slimium Remove code of unused features. Given a set of websites, generate a slim version of Chromium. 4

  5. Overview Map code to features Remove unused features Entire Code F 2 F 1 Profile websites 5

  6. Feature Code Mapping • Challenge • Large-scale & Complex • Code generation during compiling 6

  7. Feature Code Mapping • Approach Feature B Feature A ➢ Manual Analysis aaa.cpp b.cpp c.cpp d.cpp dd.cpp • Investigate source code and documents. • Create an initial mapping between features and source code (i.e., files). aa.cpp 7

  8. Feature Code Mapping • Approach Feature B Feature A ➢ Manual Analysis • Investigate source code and documents. aaa.cpp b.cpp c.cpp d.cpp dd.cpp • Create an initial mapping between features and source code (i.e., files). aa.cpp ➢ Static Analysis • Build the call graph b.cpp dd.cpp aaa.cpp c.cpp d.cpp • Compute a relation vector 𝑺 = (𝒔 𝒅 , 𝒔 𝒕 ) • 𝒔 𝒅 -- Call Invocation Relation (0 ~ 1) • 𝒔 𝒕 -- File Name Similarity (0 ~ 1) aa.cpp • If 𝒔 𝒅 and 𝒔 𝒕 are greater than the thresholds, dd l ’s pp ng. 8

  9. Webpage Profiling • Challenge & Approach • Nondeterministic Code Identified nondeterministic code from visiting the top 1000 Alexa websites • Keep profiling until stable. • Performance • Ad p A L’s pp c . 9

  10. Removing Unused Features • Keep nondeterministic code. • lc l ’s c d c v g b s d n p l ng s l s. • If the code coverage is greater than the threshold (i.e., 𝑼 ), keep the feature. • w s , v ’s n c d c d . • Rewrite the binary to remove code. 10

  11. Evaluation ➢ Feature Code Mapping 42.3 MB 44.9 MB 57.0 MB Manual Analysis Static Analysis 11

  12. Evaluation ➢ Code Reduction & Security Benefits • Visit 40 websites from 10 different groups. 12

  13. Evaluation ➢ Feature Usages 13

  14. Related Works • nyd ’s w k ’17 • “M s W bs s D n’ N d V b : A s - B n App c p v ng B ws c y” • Scope • API blocking vs Code removing 14

  15. Limitations • Rely on manual analysis. • Not 100% guaranteed stable. 15

  16. Questions? 16

Recommend


More recommend