Security Assessment of Authentication and Authorization Mechanisms - - PowerPoint PPT Presentation

security assessment of authentication and authorization
SMART_READER_LITE
LIVE PREVIEW

Security Assessment of Authentication and Authorization Mechanisms - - PowerPoint PPT Presentation

Security Assessment of Authentication and Authorization Mechanisms in Ethereum, Quorum, Hyperledger Fabric and Corda Marie-Jeanne Lagarde, Master's thesis 2018-2019 Agenda Introduction Motivation 1. Scope 2. Research Questions 3.


slide-1
SLIDE 1

Security Assessment of Authentication and Authorization Mechanisms in Ethereum, Quorum, Hyperledger Fabric and Corda

Marie-Jeanne Lagarde, Master's thesis 2018-2019

slide-2
SLIDE 2

2

Methodology

1.

Roadmap

2.

Analysis framework

3.

Hypothesis

4.

Experiments

5.

Threat model

Platform Security Assessment

1.

Ethereum

2.

Quorum

3.

Hyperledger Fabric

4.

Corda

1.

Motivation

2.

Scope

3.

Research Questions

Introduction Conclusion Discussion

Agenda

slide-3
SLIDE 3

3

Methodology

1.

Roadmap

2.

Analysis framework

3.

Hypothesis

4.

Experiments

5.

Threat model

Platform Security Assessment

1.

Ethereum

2.

Quorum

3.

Hyperledger Fabric

4.

Corda

1.

Motivation

2.

Scope

3.

Research Questions

Introduction Conclusion Discussion

slide-4
SLIDE 4

4

Motivation

Industry Attackers Blockchain

slide-5
SLIDE 5

5

Scope: definition of the subject

“Security of main blockchain technologies”

Ethereum Quorum Hyperledger Fabric Corda

4 platforms

Area of interest

Authentication: verifying the proclaimed identity Authorization: verifying the access rights

slide-6
SLIDE 6

6

Research Questions

RQ1 RQ2 RQ3

How can we harden the systems? What are the vulnerabilities? How are the mechanisms designed and implemented?

slide-7
SLIDE 7

7

Methodology

1.

Roadmap

2.

Analysis framework

3.

Hypothesis

4.

Experiments

5.

Threat model

Platform Security Assessment

1.

Ethereum

2.

Quorum

3.

Hyperledger Fabric

4.

Corda

1.

Motivation

2.

Scope

3.

Research Questions

Introduction Conclusion Discussion

slide-8
SLIDE 8

8

Roadmap

Implementation: Deployments & Experiments Design Analysis Contributions: Security Assessment & Hardening Guidelines

slide-9
SLIDE 9

9

Analysis Framework

1) Network permissioning 2) Transaction 3) Remote user (off-site location access)

Implementation: Deployments & Experiments Design Analysis Contributions: Security Assessment & Hardening Guidelines

slide-10
SLIDE 10

10

Hypothesis for deployment

Most deployed platform versions are the most likely to be targeted by attackers Users tend to adapt their systems from existing official sample scripts

H1 H2

Ethereum Quorum Hyperledger Fabric Corda Geth Client v1.8.23 Quorum 2.2.1 using 7nodes demo with Tessera Hyperledger Fabric v1.3.0 using Deploy your first network tutorial Corda Example Dapp v3.3

slide-11
SLIDE 11

11

Experiments: a Total of 18 Experiments Conducted

Role of the experiments:

  • Assess behaviour
  • Test uncertain behaviours
  • Assess the popularity of known attacks
  • Demonstrate possible vulnerabilities

Implementation: Deployments & Experiments Design Analysis Contributions: Security Assessment & Hardening Guidelines

slide-12
SLIDE 12

12

Threat model definition

1) Authentication threats:

  • Brute force / dictionary attack
  • Password sniffing attack
  • Key compromise attack
  • Replay attack
  • MITM / Session hijacking
  • Source non-repudiation
  • DDoS and DoS

2) Authorization threats:

  • Elevation of privileges
  • Exploitation of access granting vulnerabilities

3) Security single points of failure 4) Default parameters vulnerabilities

Implementation: Deployments & Experiments Design Analysis Contributions: Security Assessment & Hardening Guidelines

slide-13
SLIDE 13

13

Methodology

1.

Roadmap

2.

Analysis framework

3.

Hypothesis

4.

Experiments

5.

Threat model

Platform Security Assessment

1.

Ethereum

2.

Quorum

3.

Hyperledger Fabric

4.

Corda

1.

Motivation

2.

Scope

3.

Research Questions

Introduction Conclusion Discussion

slide-14
SLIDE 14

14

Ethereum: Authentication and Authorization Mechanisms

Authenticated channel for node communication key-based Transaction sender authentication key-based General remote user authentication non-existing Account owner remote authentication passphrase-based Remote user authorization Depends on which modules are enabled

slide-15
SLIDE 15

15

Experiment: RPC honeypot

Gather information about the motives and tactics of attackers

Setup

  • Deploy a node with all RPC

modules enable listening to all incoming port.

  • Capture the traffic during one

and a half hour using Wireshark.

  • Default account unlock duration

300s

  • Measure the likelihood of an

attack occuring within this lapse of time Goals

slide-16
SLIDE 16

16

Experiments: RPC honeypot results

  • 10849 packets observed from 13 different

attackers

  • The largest interval between two attempts is 20

seconds

  • Dictionary attack
  • Main purpose is financial benefits

Packet captured with Wireshark

slide-17
SLIDE 17

Passphrase brute force and dictionary attacks

  • RPC is stateless

Passphrase sniffing

  • RPC is plain text

Man-in-the-Middle

  • No authentication

Session Hijacking

  • If account default unlock

duration is different from 0

Remote account owner authentication

Funds stealing

17

Authentication Vulnerabilities

Man-in-the-Middle and Session Hijacking

  • RLPx handshake is

considered to be broken: aes-secret and mac-secret are reused for both reading and writing

DDoS and DoS

Node authenticated Communication

Isolate a node from the network

By default, APIs disabled

Key compromise: Elliptical curve secp256k1 vulnerable to Pollards rho speed up attacks (Hartwig Mayer research [1], only successful on 109 bit long keys)

Isolate a node from the network Funds stealing

slide-18
SLIDE 18

18

Quorum : Authentication and Authorization Mechanisms of Ethereum Permissioned Platform

Node authentication

Key-based and optionally certificate-based if TLS CA

Transaction sender authentication key-based Transaction receiver authorization ACL General remote user authentication non-existing Account owner remote authentication passphrase-based Remote user authorization Depends on which modules are enabled TLS can be enabled in the modes: CA, Trust on First use (TOFU), whitelist

slide-19
SLIDE 19

19

Experiments : permissioning & honeypot

TLS Mode None CA TOFU & CA TOFU Whitelist Dynamic addition of a node Yes Yes Yes Yes No Dynamic revocation

  • f a node

Yes Yes via CRL Yes via CRL No No

1) Different permissioning files Triggers inconsistent behaviour 2) Dynamicity of addition/revocation 3) Honeypot for espionage No attacker is detected

slide-20
SLIDE 20

20

Authentication Vulnerabilities: many similarities with Ethereum

If TLS disabled : Man-in- the-Middle and Session Hijacking

  • RLPx handshake is

considered to be broken.

If mutual TLS disabled: DDoS and DoS

Node authentication

Passphrase brute force and dictionary attacks

  • RPC is stateless

Passphrase sniffing

  • RPC is plain text

Man-in-the-Middle Session Hijacking

  • If account default unlock

duration is different from 0

Remote account owner authentication

If TLS disabled: Man-in-the- Middle, replay attack, source non-repudiation, DDoS and DoS

Block communication via HTTP Espionage/Sabotage Espionage/Sabotage Espionage/Sabotage

By default, TLS disabled By default, TLS disabled By default, RPC enabled

Espionage/Sabotage Espionage/Sabotage Espionage/Sabotage Key compromise: Elliptical curve secp256k1 vulnerable to Pollards rho speed up attacks (Hartwig Mayer research [1], only successful on 109 bit long keys)

slide-21
SLIDE 21

21

Vulnerabilities

  • Root CA is used for TLS

and Identity

Single points of failure

  • Module-enabling attacks
  • Transaction access

using RPC

Elevation of Privileges

  • TLS TOFU and Whitelist

modes do support node revocation

  • Different permissioning

files

Exploitation of Access Granting and Revoking Vulnerabilities

Additional vulnerability: TOFU mode prevents a node from changing a compromised key pair.

slide-22
SLIDE 22

22

Hyperledger Fabric : Authentication and Authorization Mechanisms

Message sender authentication

Certificate-based

Node role granting ABAC Transaction sender authorization ACL Hyperledger Fabric offers a module called Fabric CA which handles certificate issuing.

slide-23
SLIDE 23

New Org

23

Experiment

1) Majority vote Org3 removal (but Org3 is not noticed that it has been removed) 2) Majority vote New Org Addition

A malicious majority can prevent an organization from being noticed of a change in the configuration

3) Majority vote Org3 Addition (but Org3 is not noticed that it has been re-added)

slide-24
SLIDE 24

24

Authentication Vulnerabilities

If mutual TLS is disabled: DDoS and DoS

Message sender authentication

If client authentication is disabled: brute force and dictionary attacks, DDoS and DoS If TLS disabled: sniffing, replay, MITM and session hijacking attacks

Message sender authentication in Fabric CA

Sabotage (inoperative network) Malicious registrations

By default, mutual TLS disabled By default, TLS disabled

slide-25
SLIDE 25

25

Vulnerabilities

  • Single node orderer
  • Single root CA: if

same root CA is used for TLS and MSP identities

Single points of failure

Lack of smart contract sandboxing causing possible elevation of privileges (Nettitude, Security Assessment report [2])

Elevation of Privileges

  • No support to revoke

TLS certificates

  • No expiration of

identity certificate

Exploitation of Access Granting and Revoking Vulnerabilities

slide-26
SLIDE 26

26

Corda: Authentication and Authorization Mechanisms

Message sender authentication Certificate-based Node role granting ABAC Transaction sender authorization Depends on notaries nodes General remote user authentication Password-based Remote user authorization Capability list

slide-27
SLIDE 27

27

Corda: two flavours network

Corda Business Network

Corda Independently Managed Network

  • Publicly available
  • Identity registration managed by R3
  • Possibility to build a restricted business network for

nodes using the same smart contract

  • Cost 2500$/year
  • Root CA, Network Map and Intermediate CA must be

implemented from scratch (build HTTP servers)

  • Free

Deployment out of this project scope (price/complexity) Experiment: Deployment of Corda official demo, assessment of default parameters

slide-28
SLIDE 28

28

Authentication Vulnerabilities

If mutual TLS disabled : DDoS and DoS

Message sender authentication

DDoS and DoS Brute force and dictionary attacks

  • RPC is stateless

If TLS disabled: sniffing, replay and MITM attacks

  • RPC is plain text and state less

Remote user authentication

Sabotage User Impersonation Espionage Sabotage

By default, RPC TLS disabled By default, mutual TLS enabled

slide-29
SLIDE 29

29

Vulnerabilities

  • Single Root CA
  • Single Doorman
  • Single Network Map
  • Single notary

configuration

Single points of failure

Elevation of privileges attack using a smart contract (Corda does not implement specific security controls to prevent privileges escalation)

Elevation of Privileges

For Corda Business Network, obvious threat that privilege granting depends on an untrusted third party (R3)

Exploitation of Access Granting and Revoking Vulnerabilities

Additional vulnerability: User prevented from changing a compromised key pair

(NetworkMapClient throws an exception when trying to publish a NodeInfo corresponding to a name that has been registered before)

slide-30
SLIDE 30

30

Methodology

1.

Roadmap

2.

Analysis framework

3.

Hypothesis

4.

Experiments

5.

Threat model

Platform Security Assessment

1.

Ethereum

2.

Quorum

3.

Hyperledger Fabric

4.

Corda

1.

Motivation

2.

Scope

3.

Research Questions

4.

Hypothesis

Introduction Conclusion Discussion

slide-31
SLIDE 31

31

Discussion

Hypothesis 2 Validation

Illegal to conduct a large scan of running nodes.

Threat Model Definition

Platforms have a singular architecture, thus the model might not properly cover potential threats of

  • ther platforms.

Platforms Obsolescence

Platform design and implementation are often subject to change.

slide-32
SLIDE 32

32

Methodology

1.

Roadmap

2.

Analysis framework

3.

Hypothesis

4.

Experiments

5.

Threat model

Platform Security Assessment

1.

Ethereum

2.

Quorum

3.

Hyperledger Fabric

4.

Corda

1.

Motivation

2.

Scope

3.

Research Questions

Introduction Conclusion Discussion

slide-33
SLIDE 33

33

Conclusion

◆ Recurrent vulnerabilities among platforms:

◆ Weak or non-existing remote user authentication schemes ◆ Absence of password policy ◆ Lack of sandboxing of smart contract execution

◆ TLS optional in permissioned blockchain → wide exposure ◆ Weak default parameters are frequently preferred to ease software adoption and

functionality demonstrations irrespective of the consequences on security

slide-34
SLIDE 34

34

slide-35
SLIDE 35

35

References

[1] Hartwig Mayer, CoinFabric. ECDSA Security in Bitcoin and Ethereum: a Research Survey. [Online; accessed 14-February-2019]. 2016. URL: https://pdfs.semanticscholar.org/1785/ 6bad4335c8ca7419aab2c715ea25ce5e0621.pdf. [2] Graham Shaw. Security Assessment Management Report. [Online; accessed 14-February-2019]. 2017. URL: hhttps://wiki.hyperledger.org/display/HYP/Project+Audits? preview=%2F2393550%2F2393585%2Fmanagement_report_linux_foundation_fabric_august_2017_v1. 1.pdf