Private Sharing of IOCs and Sightings (short paper) Tim van de Kamp - - PowerPoint PPT Presentation

private sharing of iocs and sightings
SMART_READER_LITE
LIVE PREVIEW

Private Sharing of IOCs and Sightings (short paper) Tim van de Kamp - - PowerPoint PPT Presentation

Private Sharing of IOCs and Sightings (short paper) Tim van de Kamp Andreas Peter Maarten Everts Willem Jonker Workshop on Information Sharing and Collaborative Security, 2016 What This Talk Is About: Private Information Sharing


slide-1
SLIDE 1

Private Sharing of IOCs and Sightings

(short paper) Tim van de Kamp Andreas Peter Maarten Everts Willem Jonker

Workshop on Information Sharing and Collaborative Security, 2016

slide-2
SLIDE 2

What This Talk Is About: Private Information Sharing

Privacy-enhanced information sharing Simple & existing cryptographic techniques Proof-of-concept implementations

2 / 17

slide-3
SLIDE 3

Information Sharing in Practice

Clear benefits

Quicker detection Better protection Improved situational awareness

Challenge: Sensitive Data

Information leakage due to information shared with a compromised party freedom of information laws Leads to reputation damage notifying and informing attackers

3 / 17

slide-4
SLIDE 4

Information Sharing via the Source–Subscriber Model

intelligence Source CERT or anti-virus company Subscriber critical infrastructure

  • r other company

4 / 17

slide-5
SLIDE 5

Type of Security Information Shared by a Source

Source (e.g., CERT or anti-virus company)

Indicators of Compromise (IOCs)

Description of potentially malicious observables using features (IP address, hash of a malicious file, . . . ).

Examples (Indicator of Compromise)

fileHash = bbd758d9b26404d9b28957af865d1234 (destIP = 198.51.100.43) ∧ (destPort = 80 ∨ destPort = 443)

Course of Action (COA)

Measures to be taken to address a specific threat.

Example (Course of Action)

If IOC #2043 is matched, kill process x and remove files y and z.

5 / 17

slide-6
SLIDE 6

Type of Security Information Shared by a Subscriber

Subscribers (e.g., critical infrastructures or other companies)

Sightings

Report of a matched IOC: The observables match the pattern described in the IOC.

Example (Sighting)

In the previous hour, IOC #175 matched 2 times against our network traffic.

6 / 17

slide-7
SLIDE 7

Information Sharing via the Source–Subscriber Model

IOCs sightings Source CERT or anti-virus company Subscriber critical infrastructure

  • r other company

Indicator of Compromise IP address malicious software hash . . . Sighting Report of a matched IOC

7 / 17

slide-8
SLIDE 8

Why Do We Need Private Information Sharing?

Source (e.g., CERT or anti-virus company)

shares IOCs and COAs

Prevent attackers from learning the detection technique Protect the intellectual property of an anti-virus company Subscribers (e.g., critical infrastructures or other companies)

share sightings

Prevent attackers from learning they are detected Avoid reputation damage

8 / 17

slide-9
SLIDE 9

Private Information Sharing through Cryptography

iO FHE FE MPC SWHE PKC hash functions symmetric ciphers powerful functionality inefficient/slow simple functionality efficient/fast

9 / 17

slide-10
SLIDE 10

Private Information Sharing through Cryptography

iO FHE FE MPC SWHE PKC hash functions symmetric ciphers related work powerful functionality inefficient/slow simple functionality efficient/fast

9 / 17

slide-11
SLIDE 11

Private Information Sharing through Cryptography

iO FHE FE MPC SWHE PKC hash functions symmetric ciphers this research powerful functionality inefficient/slow simple functionality efficient/fast

9 / 17

slide-12
SLIDE 12

Scenario for Private IOC Sharing

IOC evaluates IOCs on its observables

10 / 17

slide-13
SLIDE 13

Scenario for Private IOC Sharing

IOC evaluates IOCs on false data

Inherent to the Scenario

Subscriber can evaluate an IOC with false data.

10 / 17

slide-14
SLIDE 14

Our Approach to Private IOC Sharing

1 Write the IOC in disjunctive normal form.

(destIP = 198.51.100.43 ∧ destPort = 80) ∨ (destIP = 198.51.100.43 ∧ destPort = 443)

2 Split the IOC rule into subrules at every OR gate.

IOC1: destIP = 198.51.100.43 ∧ destPort = 80 IOC2: destIP = 198.51.100.43 ∧ destPort = 443

3 Concatenate the feature values, choose a salt and the number of

iterations, and derive a symmetric encryption key k = KDF(198.51.100.43 80, salt, iterations)

Example (Cryptographic IOC)

(AESk(COA), “destIP,destPort”, salt, iterations)

11 / 17

slide-15
SLIDE 15

Our Approach to Private IOC Sharing

1 Write the IOC in disjunctive normal form.

(destIP = 198.51.100.43 ∧ destPort = 80) ∨ (destIP = 198.51.100.43 ∧ destPort = 443)

2 Split the IOC rule into subrules at every OR gate.

IOC1: destIP = 198.51.100.43 ∧ destPort = 80 IOC2: destIP = 198.51.100.43 ∧ destPort = 443

3 Concatenate the feature values, choose a salt and the number of

iterations, and derive a symmetric encryption key k = KDF(198.51.100.43 80, salt, iterations)

Example (Cryptographic IOC)

(AESk(COA), “destIP,destPort”, salt, iterations) prevents precomputation attacks

11 / 17

slide-16
SLIDE 16

Our Approach to Private IOC Sharing

1 Write the IOC in disjunctive normal form.

(destIP = 198.51.100.43 ∧ destPort = 80) ∨ (destIP = 198.51.100.43 ∧ destPort = 443)

2 Split the IOC rule into subrules at every OR gate.

IOC1: destIP = 198.51.100.43 ∧ destPort = 80 IOC2: destIP = 198.51.100.43 ∧ destPort = 443

3 Concatenate the feature values, choose a salt and the number of

iterations, and derive a symmetric encryption key k = KDF(198.51.100.43 80, salt, iterations)

Example (Cryptographic IOC)

(AESk(COA), “destIP,destPort”, salt, iterations) influences evaluation time

11 / 17

slide-17
SLIDE 17

Private IOC Sharing: Proof-of-Concept Implementation

Python wrapper for Bro [CRIPTIM] Key derivation functions: HKDF and PBKDF2 using SHA-256 Encryption using AES Cryptographic overhead: depends on number of iterations Minimal overhead per evaluation (e.g., per network flow): ±40µs per IOC

12 / 17

slide-18
SLIDE 18

Scenario for Private Reporting of Sightings

(x3) (x4) (x5) (x1) (x2)

x1 = 4 x2 = 1 x3 = 0 x4 = 2 x5 = 0

  • i xi

? 7 sightings

13 / 17

slide-19
SLIDE 19

Scenario for Private Reporting of Sightings

(x3) (x4) (x5) (x1) (x2)

x1 = 4 x2 = 1 x3 = 0 x4 = 2 x5 = 0 x1 = ? x2 = ? x3 = ? x4 = ? x5 = ?

  • = 7

?

13 / 17

slide-20
SLIDE 20

Scenario for Private Reporting of Sightings

(x3) (x4) (x5) x1 = 4 x2 = 1

x3 = 0 x4 = 2 x5 = 0 x1 = 4 x2 = 1 x3 = ? x4 = ? x5 = ?

  • = 7

?

13 / 17

slide-21
SLIDE 21

Properties of Our Approach

Source only learns the sum, not the individual values of the subscribers. All subscribers need to contribute to the computation,

  • therwise the source can learn the individual values

xj =

  • i

xi −

  • i∈[n]\j

xi Can be used for more specific counts e.g., number of matches being false positive

14 / 17

slide-22
SLIDE 22

Proof-of-Concept Implementation of Private Reporting of Sightings

Privacy-preserving aggregation scheme [Shi et al. 2011] Python implementation [CRIPTIM] P-256 elliptic curve (≈ 128 bit security)

Results

Encryption time (for a single subscriber): 0.58 ms Aggregate ciphertexts and decrypt 20 40 60 80 100 0.2 0.4 0.6 0.8 Number of subscribers Time (ms)

15 / 17

slide-23
SLIDE 23

Summary

Efficient, existing cryptography for private information sharing Cryptographic constructions for practical use IOCs: speed–privacy trade-off (minimal overhead: < 0.05 ms) Sightings: encryption and decryption in < 1 ms Outlook Evaluation using real sensitive data, in real systems Other types of information sharing using cryptographic techniques

16 / 17

slide-24
SLIDE 24

Questions?

Contact: t.r.vandekamp@utwente.nl

References

[CRIPTIM] Implementations of Private Information Sharing Schemes. CRIPTIM consortium. URL: https://github.com/CRIPTIM/. [Shi et al. 2011]

  • E. Shi, T. H. Chan, E. G. Rieffel, R. Chow, and D. Song.

“Privacy-Preserving Aggregation of Time-Series Data.” In: Proceedings of the Network and Distributed System Security Symposium (NDSS). 2011.

17 / 17

slide-25
SLIDE 25

Appendix

1

Questions Details about Using a Salt Details about Substring Matching Details about Traitor Tracing Privacy-Preserving Aggregation [Shi et al. 2011]

A.1

slide-26
SLIDE 26

Details about Using a Salt

Definition (Salt)

A salt is a large, public, random number. Due to the randomness, it is unpredictable. IOCs

1 precomputes many

potential IOCs

A.2

slide-27
SLIDE 27

Details about Using a Salt

Definition (Salt)

A salt is a large, public, random number. Due to the randomness, it is unpredictable. IOCs

2

IOC(COA) A.2

slide-28
SLIDE 28

Details about Using a Salt

Definition (Salt)

A salt is a large, public, random number. Due to the randomness, it is unpredictable. IOCs

2

IOC(COA)

3 lookup in precom-

puted values

A.2

slide-29
SLIDE 29

Details about Using a Salt

Definition (Salt)

A salt is a large, public, random number. Due to the randomness, it is unpredictable. IOCs

2’

IOC,salt(COA) A.2

slide-30
SLIDE 30

Details about Using a Salt

Definition (Salt)

A salt is a large, public, random number. Due to the randomness, it is unpredictable. IOCs

2’

IOC,salt(COA)

3’ has to recompute for

specific salt

A.2

slide-31
SLIDE 31

Details about Using a Salt

Definition (Salt)

A salt is a large, public, random number. Due to the randomness, it is unpredictable. IOCs If using a randomized block cipher modes of operation, no salt is needed.

question overview

A.2

slide-32
SLIDE 32

Details about Substring Matching

Example (Substring matching)

IOC: content=abc ∧ offset=4 ∧ depth=6 ≤ 3 4 5 6 7 8 9 ≥ 10 match? IOC1 . . . a b c . . . ✗ IOC2 . . . a b c . . . ✗ IOC3 . . . a b c . . . ✓ IOC4 . . . a b c . . . ✗ Observable . . . a b c . . .

question overview

A.3

slide-33
SLIDE 33

Details about Traitor Tracing

Example (Traitor Tracing)

Include an identifier of the subscriber in the cryptographic IOCs: (AESkID(COA), “ID,destIP,destPort”, salt, iterations)

question overview

A.4

slide-34
SLIDE 34

Privacy-Preserving Aggregation [Shi et al. 2011]

Setup g ∈ G, SKi ∈R Zp, AK = −

  • i SKi

Encryption CTi,ID = gxi,IDH(ID)SKi Aggregation V = H(ID)AK

i CTi,ID

=

  • i gxi,ID

Decryption dlogg V =

  • i xi,ID

question overview

A.5

slide-35
SLIDE 35

Privacy-Preserving Aggregation Setup Using MPC

AK? SK1 ∈R Zp SK2 ∈R Zp SK3 ∈R Zp SK4 ∈R Zp SK5 ∈R Zp

A.6

slide-36
SLIDE 36

Privacy-Preserving Aggregation Setup Using MPC

x ∈R Zp SK1 SK2 SK3 SK4 SK5 x y = SK1 + x

A.6

slide-37
SLIDE 37

Privacy-Preserving Aggregation Setup Using MPC

x ∈R Zp SK1 SK2 SK3 SK4 SK5 x y = SK1 + x z = SK2 + y

A.6

slide-38
SLIDE 38

Privacy-Preserving Aggregation Setup Using MPC

x ∈R Zp SK1 SK2 SK3 SK4 SK5 x y = SK1 + x z = SK2 + y σ

A.6

slide-39
SLIDE 39

Privacy-Preserving Aggregation Setup Using MPC

x ∈R Zp SK1 SK2 SK3 SK4 SK5 x y = SK1 + x z = SK2 + y σ AK = −(σ − x)

question overview

A.6