cyber analytics service constraints and solutionscavazos/cisc850-spring... · what the really large...

23
Cyber Analytics Service Constraints and Solutions Tristan Vanderbruggen CISC850 Cyber Analytics

Upload: others

Post on 20-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Cyber Analytics Service Constraints and Solutions

Tristan Vanderbruggen

CISC850Cyber Analytics

Page 2: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Range of Internet Services

CISC850Cyber Analytics

2

MonolithicUntil early 2000s

Scaling: Larger computerNot reliable

Weekly update => Debugging Hell

Increased Traffic

Micro-servicesServerless

ScalesLow down time

Emergence

Page 3: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

What the really large players do:

CISC850Cyber Analytics

Mastering Chaos - A Netflix

Guide to Microservices

What I Wish I Had Known Before

Scaling Uber to 1000 Services3

Page 4: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Middle Ground Solution

CISC850Cyber Analytics

Web-basedUser Interface

Edge Services(dispatch)

Platform(compute intensive)

Persistence Layer

4

Page 5: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

WebUI

CISC850Cyber Analytics

● Static: ○ HTML○ JavaScript○ CSS

● Content:○ REST API: edge services○ Media: persistence layer

● Short lifecycle

5

Page 6: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Edge

CISC850Cyber Analytics

6

● Implement: transaction logic○ REST API

● Micro-services○ Serverless: AWS Lambda○ Lightweight: AWS Elastic Beanstalk

■ WSGI application (Flask)● Short Lifecycle

Page 7: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Platform

CISC850Cyber Analytics

7

● Compute hungry○ Actual application○ Independent tasks○ Embarrassingly parallel

● Somewhat monolithic○ Large code base○ Many dependencies

● Long lifecycle

Page 8: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Persistence Layer

CISC850Cyber Analytics

8

● Your data!○ Relational Database○ NoSQL Database

■ Key-value stores● Storage: AWS S3● Database: AWS DynamDB

Introduction to NoSQL - Martin Fowler

Page 9: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Middle Ground Solution

CISC850Cyber Analytics

Web-basedUser Interface

Edge Services(dispatch)

Platform(compute intensive)

Persistence Layer

9

Page 10: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Cyber 20/20 Analytics Service

CISC850Cyber Analytics

FCAS Frontend(Electron)

FCAS Backend(EBS + Flask)

AMP(homemade)

DynamoDB + S3

10

MySQL

Page 11: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

11

Page 12: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

12

Page 13: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

13

Page 14: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

14

Page 15: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

File Capture and Analysis Service

CISC850Cyber Analytics

15

● Tightly coupled frontend and backend○ Web-based UI: Electron

■ Presents analysis and prediction results■ Use D3 to provide visual insights

○ REST server: Flask + MySQL■ Dispatch analysis and prediction workload■ Gather results in relational DB

Page 16: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

FCAS Frontend

CISC850Cyber Analytics

16

● Constraints

○ Controlled Environment

○ Visually Appealing

● Solutions

○ Electron

○ D3js

Page 17: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

17

Page 18: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

FCAS Backend

CISC850Cyber Analytics

18

● Constraints

○ Deploy and Scale

○ Complex Queries

○ Short Lifecycle

● Solutions

○ Elastic Beanstalk

○ Relational Database

○ Python + Flask

Page 19: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

19

Page 20: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Analysis and Machine Learning Platform

CISC850Cyber Analytics

20

● Analyses files○ Basic: crypto hash, strings, PE, …○ Bytes-Entropy Histograms○ Reverse Engineering with Radare2

● Make predictions○ DNN applied to various analysis results○ DNN ensemble for consensus

=> Lots of dependencies <=

Page 21: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Analysis and Machine Learning Platform

CISC850Cyber Analytics

21

● Analysis Tools○ Independent○ Lots of dependencies (Radare2, ssdeep, pefile, scipy, ...)

● Machine Learning (Theano + Scikit Learn)○ Handle big data (training)○ Fast inception (predictions)

● Glue code○ receive workload○ dispatch to subprocesses

Page 22: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

Analysis and Machine Learning Platform

CISC850Cyber Analytics

22

● Constraints

○ Highly scalable

○ Cheap

○ Reliable

○ Low latency

● Solutions

○ ASG + S3 + DynamoDB

○ SPOT instances

○ Simple Queue Service

○ Hard work !!!

Page 23: Cyber Analytics Service Constraints and Solutionscavazos/cisc850-spring... · What the really large players do: CISC850 Cyber Analytics Mastering Chaos - A Netflix Guide to Microservices

23