A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000...

59
A Risk-Evaluation Assisted System for Service Selection Ennan Zhai and Liang Gu {firstname.lastname}@yale.edu Yale University

Transcript of A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000...

Page 1: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

A Risk-Evaluation Assisted System for Service Selection

Ennan Zhai and Liang Gu

{firstname.lastname}@yale.edu

Yale University

Page 2: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Service Oriented Architecture

Custom Built App

COTS Packages

Datasets

External Services

Low-level Systems

Developer

Service1 Service2

Service Bus

Page 3: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Custom Built App

COTS Packages

Datasets

External Services

Low-level Systems

Service1 Service2

Service Bus

Unexpected Risks

Developer

Page 4: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Custom Built App

COTS Packages

Datasets

External Services

Low-level Systems

Service1 Service2

Service Bus

Developer

Unexpected Risks

Page 5: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Example

Video App

Page 6: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Example

Video App

S3 Azure

Crypt Lib

Page 7: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Example

Video App

Encoding

S3 Azure

Encoding Crypt Lib

Page 8: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Example

Video App

Encoding

S3 Azure

Encoding Crypt Lib

Query Query

Page 9: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Example

Video App

Encoding

S3 Azure

Encoding Crypt Lib

Query Query

Page 10: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Example

Video App

Encoding

S3 Azure

Encoding Crypt Lib

Query Query

Page 11: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

What leads to the problem?

Page 12: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

What leads to the problem?

• Lack of systematic approach to avoid these bugs.

• No service provider is wiling to share the information.

Page 13: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

What leads to the problem?

• Lack of systematic approach to avoid these bugs.

• No service provider is wiling to share the information.

Page 14: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Target

• Can we reduce such risk before the service selection of application developers?

• No service provider is wiling to share the information.

Page 15: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Solution: Risk-Based Service Selection

Page 16: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Select services based on requirements.

• At-best effort to avoid potential bugs within services.

• Do not leak information of service providers.

Solution: Risk-Based Service Selection

Page 17: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Select services based on requirements.

• At-best effort to avoid potential bugs within services.

• Do not leak information of service providers.

Solution: Risk-Based Service Selection

Page 18: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Select services based on requirements.

• At-best effort to avoid potential bugs within services.

• Do not leak information of service providers.

Solution: Risk-Based Service Selection

Page 19: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Motivating Example

• REaaS Design

• Evaluation

Road-Map

Page 20: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Motivating Example

• REaaS Design

• Evaluation

Road-Map

Page 21: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Motivating Example

Page 22: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

Motivating Example

Page 23: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

Select a service without overflow bugs

Motivating Example

Page 24: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

ESaaS

Motivating Example

Page 25: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

ESaaSService Score

Service B 0.1

Service C 0.8

Service A 1.3

Motivating Example

Page 26: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Motivating Example

• REaaS Design

• Evaluation

Road-Map

Page 27: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Motivating Example

• REaaS Design

• Evaluation

Road-Map

Page 28: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

ESaaS

REaaS Workflow

Page 29: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

ESaaS

Step1: Service Registration

Page 30: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

ESaaS

Step1: Service Registration

Page 31: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

ESaaS

Step2: Requirement Submission

Page 32: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

App Developer

Service A Service B Service C

ESaaSService Score

Service B 0.1

Service C 0.8

Service A 1.3

Step3: Risk Evaluation

Page 33: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step1: Service Registration

• We developed a tool automatically getting dependency.

• Running on service side and very fast.

Page 34: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step1: Service Registration

Page 35: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step1: Service Registration

Page 36: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step2: Requirement Submission

Page 37: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step2: Requirement Submission

• Requirements include:- availability - integrity- confidentiality

• The options follow CVSS (an open bug DB)

Page 38: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step3: Risk Evaluation

Page 39: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step3: Risk Evaluation

Page 40: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step3: Risk Evaluation

Risk score of service i

Page 41: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step3: Risk Evaluation

Different bugs’ impact under different objects

Page 42: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step3: Risk Evaluation

Different bugs’ impact under different objects

Gotten from CVSS + CVE

Page 43: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Step3: Risk Evaluation

Different bugs’ impact under different objects

Gotten from CVSS + CVE

Page 44: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Trust?

Page 45: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Trust?

App Developer

Service A Service B Service C

ESaaS

Page 46: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Trust?

App Developer

Service A Service B Service C

ESaaS

?

?

Page 47: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

TPM-Based REaaS

Page 48: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

TPM-Based REaaS

App Developer

Service A Service B Service C

ESaaS

Page 49: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

TPM-Based REaaS

App Developer

Service A Service B Service C

ESaaS

§=hashcode(actions)

§§

Page 50: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

TPM-Based REaaS

App Developer

Service A Service B Service C

ESaaS

Page 51: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

TPM-Based REaaS

App Developer

Service A Service B Service C

ESaaS§

Page 52: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Motivating Example

• REaaS Design

• Evaluation

Road-Map

Page 53: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

• Motivating Example

• REaaS Design

• Evaluation

Road-Map

Page 54: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Case Study

MySQL PostgreSQL Riak MongoDB

# of packages 588 736 103 108

Risk score 8 7 4 2

Page 55: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Performance Evaluation

• One Dell XPS14 laptop - 2.8GHz 4-Core Intel Xeon CPU- 16GB memory

• Public dataset with N packages- N = 10, 100, 1000, and 10000

Page 56: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Time for Dependency Collection

1

10

100

1000

10 100 1000 10000

Run

ning

tim

e(s

econ

ds)

# of packages within a service

no TPMWith TPM

Page 57: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Time for Risk Evaluation

1 10

100 1000

10000 100000 1e+06

10 100 1000 10000

Run

ning

tim

e(s

econ

ds)

# of packages within a service

no TPMWith TPM

Page 58: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Conclusion

• The first-step towards practical risk-based service selection approach.

• TPM-based approach to prevent privacy leakage.

• A realistic case study and performance evaluation.

Page 59: A Risk-Evaluation Assisted System for Service Selection · Time for Risk Evaluation 1 10 100 1000 10000 100000 1e+06 10 100 1000 10000 Running time (seconds) # of packages within

Thanks!