driving apps to test third- party component security · 2019-12-18 · brahmastra vs. monkeys a 1 e...

47
Driving Apps to Test Third- Party Component Security Jaeyeon Jung Microsoft Research [email protected]

Upload: others

Post on 02-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Driving Apps to Test Third-Party Component Security

Jaeyeon JungMicrosoft [email protected]

Page 2: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Collaborators

Page 3: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

3rd-party components used commonly

http://www.appbrain.com/stats/libraries/social

Page 4: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

3rd-party components commonly used

Page 5: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

http://www.prlog.org/10983527-hipaa-security-risk-analysis.jpg

Page 6: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4
Page 7: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4
Page 8: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Goal

app store operators, security researchers

at runtime

Page 9: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Key findings

2.7x

ad component

Facebook Connect

Page 10: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4
Page 11: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Example

Page 12: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Why not using Monkeys?

Page 13: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

A1

P12

E1

P34

E2 E3 E4 E5

A2 A3 A4

Page 14: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

A1

P12

E1

P34

E2 E3 E4 E5

A2 A3 A4

Page 15: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

A1

P12

E1

P34

E2 E3 E4 E5

A2 A3 A4

Page 16: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

A1

P12

E1

P34

E2 E3 E4 E5

A2 A3 A4

Page 17: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

A1

P12

E1

P34

E2 E3 E4 E5

A2 A3 A4

Page 18: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

A1

P12

E1

P34

E2 E3 E4 E5

A2 A3 A4

Page 19: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Our approach

Page 20: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Brahmastra vs. Monkeys

A1

E1 E2 E3 E4 E5

A2 A3 A4

P12 P34

Page 21: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Brahmastra vs. Monkeys

A1

E1 E2 E3 E4 E5

A2 A3 A4

P12 P34

A3

Page 22: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Brahmastra vs. Monkeys

A1

E1 E2 E3 E4 E5

A2 A3 A4

P12 P34

A3

Page 23: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Brahmastra vs. Monkeys

E4 E5

A3 A4

P34

A3

Page 24: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Brahmastra vs. Monkeys

E4 E5

A3 A4

P34

A3

Page 25: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Brahmastra vs. Monkeys

E4 E5

A3 A4

P34

A3

Page 26: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4
Page 27: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Execution Planner

Page 28: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Execution Planner: call graph

Facebook

authorize

ShareActivity

onCreate

onShareClick

onFacebookShare

share

Home

onCreate

onOptionItemSelected

showFeedBack

showMoreApps

showAbout AboutBox

onCreate

onLikeClicked

HomeFree

onCreate

...

Page 29: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Execution Planner: call graph

Facebook

authorize

ShareActivity

onCreate

onShareClick

onFacebookShare

share

Home

onCreate

onOptionItemSelected

showFeedBack

showMoreApps

showAbout AboutBox

onCreate

onLikeClicked

HomeFree

onCreate

...

Page 30: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Execution Planner: call graph

Facebook

authorize

ShareActivity

onCreate

onShareClick

onFacebookShare

share

Home

onCreate

onOptionItemSelected

showFeedBack

showMoreApps

showAbout AboutBox

onCreate

onLikeClicked

HomeFree

onCreate

...

(2) Activity transitions

Page 31: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Execution Planner: call graph

Facebook

authorize

ShareActivity

onCreate

onShareClick

onFacebookShare

share

Home

onCreate

onOptionItemSelected

showFeedBack

showMoreApps

showAbout AboutBox

onCreate

onLikeClicked

HomeFree

onCreate

...(2) Activity transitions

(3) Implicit calls due to user interactions

Page 32: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Execution Planner: call graph

Facebook

authorize

ShareActivity

onCreate

onShareClick

onFacebookShare

share

Home

onCreate

onOptionItemSelected

showFeedBack

showMoreApps

showAbout AboutBox

onCreate

onLikeClicked

HomeFree

onCreate

...(2) Activity transitions

(3) Implicit calls due to user interactions

Page 33: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Execution Planner

Facebook

authorize

ShareActivity

onCreate

onShareClick

onFacebookShare

share

Home

onCreate

onOptionItemSelected

showFeedBack

showMoreApps

showAbout AboutBox

onCreate

onLikeClicked

HomeFree

onCreate

...-> Home; .onCreate

-> Home; .onOptionsItemSelected

-> AboutBox; .onCreate

-> AboutBox; .onLikeClicked

-> ShareActivity; .onCreate

-> ShareActivity; .onShareClick

Page 34: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Execution Engine

Page 35: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4
Page 36: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Methodology

Page 37: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Hit rate

Page 38: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Test speed

Page 39: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4
Page 40: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

COPPA

Page 41: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Test goal

Page 42: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Test procedure

Page 43: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Results: types of personal info. collected by landing pages

Information Type % apps

Home Address 26%

First and last name 79%

Online contact 42%

Phone number 7%

TOTAL 80%

Page 44: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Results: child-inappropriatecontent in adsContent Type % apps

Child Exploitation 3%

Gambling 1%

Misrepresentation 7%

Violence, weapons or gore 2%

Alcohol, tobacco, drugs 2%

Profanity and vulgarity 0%

Free Prize 26%

Sexual Content 13%

TOTAL 36%

Page 45: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4
Page 46: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Summary

ad component

Facebook Connect

Page 47: Driving Apps to Test Third- Party Component Security · 2019-12-18 · Brahmastra vs. Monkeys A 1 E 1 E 2 E 3 E 4 E 5 A 2 A 3 A 4 P 12 P 34. Brahmastra vs. Monkeys E 4 E 5 A 3 A 4

Questions?