SSL Research with Bro Johanna Amann International Computer Science - - PowerPoint PPT Presentation

ssl research with bro
SMART_READER_LITE
LIVE PREVIEW

SSL Research with Bro Johanna Amann International Computer Science - - PowerPoint PPT Presentation

SSL Research with Bro Johanna Amann International Computer Science Institute johanna@icir.org http://www.icir.org/johanna Bro History Academic Host Context Time Machine Publications Summary Stats Enterprise Traffic HILTI DPI Concurrency


slide-1
SLIDE 1

SSL Research with Bro

Johanna Amann International Computer Science Institute

johanna@icir.org http://www.icir.org/johanna

slide-2
SLIDE 2

Bro History

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2011 1995 2010 1996 2012

Vern writes 1st line of code

2013 2014

USENIX Paper Backdoors Stepping Stones Anonymizer
 Active Mapping Context Signat. TRW
 State Mgmt.

  • Independ. State

Host Context Time Machine Enterprise Traffic BinPAC DPD 2nd Path Bro Cluster
 Shunt Autotuning Parallel Prototype

Academic Publications

Input Framework SSL Trust SSL Errors Summary Stats HILTI DPI Concurrency PLC Modeling Android Root Certs Heart bleed

Bro Center

v2.3 Performance SNMP, Radius, SSL++

Bro SDCI

v2.0 User Experience v0.2 1st CHANGES entry v0.6 RegExps Login analysis v0.8aX/0.9aX
 SSL/SMB

STABLE releases

BroLite v1.1/v1.2 when Stmt Resource tuning Broccoli DPD v1.5 BroControl v0.7a90 Profiling State Mgmt v1.4 DHCP/BitTorrent HTTP entities NetFlow Bro Lite Deprecated v1.0 BinPAC IRC/RPC analyzers 64-bit support Sane version numbers v0.4
 HTTP analysis Scan detector IP fragments
 Linux support v0.7a175/0.8aX Signatures SMTP IPv6 support User manual

v0.7a48 Consistent CHANGES

v1.3 Ctor expressions GeoIP Conn Compressor 0.8a37 Communication Persistence Namespaces Log Rotation LBNL starts using Bro

  • perationally

v2.1 IPv6 Input Framew. v2.2 File Analysis Summary Stats

2015 2016

v2.4 Broker, Plugins, DTLS/KRB NetControl VAST Tor SSL OCSP Speed Certificate Ecosystem TLS Electronic Comm. Spicy v2.5, SMB, NetControl, VNC, StartTLS

2016

Certificate
 Transparency OCSP, SCT, 
 ERSPAN

slide-3
SLIDE 3

Bro SSL - v1.5.3

ssl_conn_attempt ssl_conn_server_reply ssl_conn_established ssl_conn_reused ssl_conn_alert ssl_conn_weak ssl_session_insertion process_X509_extensions ssl_X509_error ssl_certificate_seen ssl_certificate

Client Server

Client hello Server hello Certificate Client Key Exchange Change Cipher Spec Finished Change Cipher Spec Finished Encrypted application data (Server Key Exchg)

?

slide-4
SLIDE 4

Bro SSL Events - v2.0 to 2.2

client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert

slide-5
SLIDE 5

Bro SSL Events - v2.3

client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert

slide-6
SLIDE 6

Bro SSL Events - v2.3

client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert ssl_stapled_ocsp ssl_encrypted_data ssl_dh_server_params ssl_change_cipher_spec ssl_handshake_message ssl_encrypted_data ssl_extension_ex_point_formats ssl_server_curve ssl_change_cipher_spec x509_extension x509_ext_basic_constraints

x509_ext_subject_alternative_name

ssl_extension_elliptic_curves

ssl_extension_application_layer_protocol_negotiation

ssl_extension_server_name

slide-7
SLIDE 7

Bro SSL Events - v2.4

ssl_stapled_ocsp ssl_encrypted_data ssl_dh_server_params ssl_change_cipher_spec ssl_handshake_message ssl_encrypted_data ssl_extension_ex_point_formats ssl_server_curve ssl_change_cipher_spec x509_extension x509_ext_basic_constraints

x509_ext_subject_alternative_name

ssl_extension_elliptic_curves

ssl_extension_application_layer_protocol_negotiation

ssl_extension_server_name client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert

slide-8
SLIDE 8

Bro SSL Events - v2.5

ssl_stapled_ocsp ssl_encrypted_data ssl_dh_server_params ssl_change_cipher_spec ssl_handshake_message ssl_encrypted_data ssl_extension_ex_point_formats ssl_change_cipher_spec x509_extension x509_ext_basic_constraints

x509_ext_subject_alternative_name

ssl_extension_elliptic_curves

ssl_extension_application_layer_protocol_negotiation

ssl_extension_server_name client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert ssl_server_curve

slide-9
SLIDE 9

Bro SSL Events - v2.5

ssl_stapled_ocsp ssl_encrypted_data ssl_dh_server_params ssl_change_cipher_spec ssl_handshake_message ssl_encrypted_data ssl_extension_ex_point_formats ssl_change_cipher_spec x509_extension x509_ext_basic_constraints

x509_ext_subject_alternative_name

ssl_extension_elliptic_curves

ssl_extension_application_layer_protocol_negotiation

ssl_extension_server_name client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert ssl_server_curve

ssl_extension_signature_algorithm

slide-10
SLIDE 10

Bro SSL Events - v2.5

ssl_stapled_ocsp ssl_encrypted_data ssl_dh_server_params ssl_change_cipher_spec ssl_handshake_message ssl_encrypted_data ssl_extension_ex_point_formats ssl_change_cipher_spec x509_extension x509_ext_basic_constraints

x509_ext_subject_alternative_name

ssl_extension_elliptic_curves

ssl_extension_application_layer_protocol_negotiation

ssl_extension_server_name client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert ssl_server_curve

ssl_extension_signature_algorithm

Completely working DTLS support More StartTLS TLS 1.3 support

slide-11
SLIDE 11

Bro SSL Events - master

ssl_stapled_ocsp ssl_encrypted_data ssl_dh_server_params ssl_change_cipher_spec ssl_handshake_message ssl_encrypted_data ssl_extension_ex_point_formats ssl_change_cipher_spec x509_extension x509_ext_basic_constraints

x509_ext_subject_alternative_name

ssl_extension_elliptic_curves

ssl_extension_application_layer_protocol_negotiation

ssl_extension_server_name client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert ssl_server_curve

ssl_extension_signature_algorithm

slide-12
SLIDE 12

Bro SSL Events - master

ssl_stapled_ocsp ssl_encrypted_data ssl_dh_server_params ssl_change_cipher_spec ssl_handshake_message ssl_encrypted_data ssl_extension_ex_point_formats ssl_change_cipher_spec x509_extension x509_ext_basic_constraints

x509_ext_subject_alternative_name

ssl_extension_elliptic_curves

ssl_extension_application_layer_protocol_negotiation

ssl_extension_server_name client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert ssl_server_curve

ssl_extension_signature_algorithm ssl_extension_supported_versions

ssl_extension_psk_key_exchange_modes

  • csp_request
  • csp_request_certificate
  • csp_response_status
  • csp_response_bytes
  • csp_response_certificate
  • csp_extension

x509_ocsp_ext_signed_certificate_timestamp ssl_extension_signed_certificate_timestamp

slide-13
SLIDE 13

Bro SSL Events - master

ssl_stapled_ocsp ssl_encrypted_data ssl_dh_server_params ssl_change_cipher_spec ssl_handshake_message ssl_encrypted_data ssl_extension_ex_point_formats ssl_change_cipher_spec x509_extension x509_ext_basic_constraints

x509_ext_subject_alternative_name

ssl_extension_elliptic_curves

ssl_extension_application_layer_protocol_negotiation

ssl_extension_server_name client_hello server_hello ssl_session_ticket_handshake ssl_established x509_certificate ssl_extension ssl_alert

OCSP support SCT Support (Certificate Transparency) TLS 1.3 extensions

ssl_server_curve

ssl_extension_signature_algorithm ssl_extension_supported_versions

ssl_extension_psk_key_exchange_modes

  • csp_request
  • csp_request_certificate
  • csp_response_status
  • csp_response_bytes
  • csp_response_certificate
  • csp_extension

x509_ocsp_ext_signed_certificate_timestamp ssl_extension_signed_certificate_timestamp

slide-14
SLIDE 14

TLS 1.3

ts 1505018739.255782 id.resp_h 104.19.196.102 version TLSv13-draft18 cipher TLS_AES_128_GCM_SHA256 curve x25519 server_name tls13.cloudflare.com established T cert_chain_fuids

  • client_cert_chain_fuids
  • subject
  • issuer
slide-15
SLIDE 15

Measuring the Latency and Pervasiveness of TLS Certificate Revocation

  • L. Zhu, J. Amann, J. Heidemann, PAM 2016

OCSP

HTTPS Server OCSP Server

client hello server hello More handshake messages OCSP request OCSP reply Application data

slide-16
SLIDE 16

@load files/x509/log-ocsp

ts 1438374033.033189 id FVty9v3KTnCvbg0Xf2 hashAlgorithm sha1 issuerNameHash 74241467069FF5E0983F5E3E1A6BA0652A541575 issuerKeyHash 0159ABE7DD3A0B59A66463D6CF200757D591E76A serialNumber 017447CB30072EE15B9C1B057B731C5A certStatus revoked revoketime 1421494379.000000 revokereason keyCompromise thisUpdate 1436321024.000000 nextUpdate 1443459307.000000

slide-17
SLIDE 17

Certificate Transparency

CA CT Log Browser Webserver

slide-18
SLIDE 18

Certificate Transparency

CA CT Log Browser Webserver

Certificate

slide-19
SLIDE 19

Certificate Transparency

CA CT Log Browser Webserver

Certificate Certificate

slide-20
SLIDE 20

Certificate Transparency

CA CT Log Browser Webserver

Certificate Certificate SCT

slide-21
SLIDE 21

Certificate Transparency

CA CT Log Browser Webserver

Certificate Certificate, SCT in TLS Ext. Certificate SCT

slide-22
SLIDE 22

Certificate Transparency

CA CT Log Browser Webserver

slide-23
SLIDE 23

Certificate Transparency

CA CT Log Browser Webserver

Precertificate

slide-24
SLIDE 24

Certificate Transparency

CA CT Log Browser Webserver

Precertificate SCT

slide-25
SLIDE 25

Certificate Transparency

CA CT Log Browser Webserver

Precertificate SCT Certificate (with
 Precertificate SCT)

slide-26
SLIDE 26

Certificate Transparency

CA CT Log Browser Webserver

Precertificate SCT Certificate (with
 Precertificate SCT)

  • Certificate. Transform, Validate
slide-27
SLIDE 27

Certificate Transparency

CA CT Log Browser Webserver

slide-28
SLIDE 28

Certificate Transparency

CA CT Log Browser Webserver

Certificate Certificate
 SCT in Stapled OCSP Reply Certificate SCT OCSP, SCT in OCSP Reply

slide-29
SLIDE 29

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

TLS Versions

slide-30
SLIDE 30

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

TLS Versions

slide-31
SLIDE 31

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

TLS Versions

slide-32
SLIDE 32

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

TLS Versions

105 Certificates, 91 Let’s Encrypt

slide-33
SLIDE 33

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

TLS Versions

slide-34
SLIDE 34

@load protocols/ssl/validate-sct.bro

ts 1484228945.191472 id.resp_h 97.107.139.108 version TLSv12 cipher TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 curve secp256r1 server_name ritter.vg subject CN=ritter.vg,OU=PositiveSSL,OU=Domain… issuer CN=COMODO RSA Domain Validation Secure… validation_status

  • k

valid_ct_logs 3 valid_ct_operators 1

slide-35
SLIDE 35

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

Log Operators

Active Passive Symantec log (81.26%) Symantec log (62.78%) Google ’Pilot’ log (79.9%) Google ’Rocketeer’ log (58.6%) Google ’Rocketeer’ log (31.72%) Google ’Pilot’ log (58.48%) DigiCert Log Server (26.96%) Google ’Icarus’ log (14.37%) Google ’Aviator’ log (25.67%) Google ’Aviator’ log (9.39%) Google ’Skydiver’ log (8.32%) Vena log (7.47%) Symantec VEGA log (3.98%) WoSign ctlog (4.64%) StartCom CT log (1.49%) DigiCert Log Server (4.07%) WoSign ctlog (0.67%) Google ’Skydiver’ log (1.7%)

slide-36
SLIDE 36

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

Log Operators

slide-37
SLIDE 37

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

SCT Statistics

CA Munich Sydney Time 4/4-5/2 5/12-5/16 5/12-5/16 Conns 2.6G 287M 196M Conns with SCT 779M 73M 58M … in Cert 520M 58M 44M … in TLS 248M 14M 14M … in OCSP 156K 38K 31K Total IPv4 737K 344K 226K SCT IP 222K 102K 66K

slide-38
SLIDE 38

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017
slide-39
SLIDE 39

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017
slide-40
SLIDE 40

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017
slide-41
SLIDE 41

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

Normal SCT

slide-42
SLIDE 42

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017
slide-43
SLIDE 43

Notary - Certificates

2,000,000 4,000,000 6,000,000 8,000,000 10,000,000 12,000,000 14,000,000 16,000,000 2012−02−01 2012−05−01 2012−08−01 2012−11−01 2013−02−01 2013−05−01 2013−08−01 2013−11−01 2014−02−01 2014−05−01 2014−08−01 2014−11−01 2015−02−01 2015−05−01 2015−08−01 2015−11−01 2016−02−01 2016−05−01 2016−08−01 2016−11−01 2017−02−01 2017−05−01 2017−08−01 2017−11−01

Time Number of certificates

slide-44
SLIDE 44

Mission Accomplished? HTTPS Security after DigiNotar


  • J. Amann, O. Gasser, Q. Scheitle, L. Brent, G. Carle, R. Holz, IMC 2017

TLS Version Evolution

a c b d 10 20 30 40 50 60 70 80 90 100 2012−04−01 2012−09−01 2013−02−01 2013−07−01 2013−12−01 2014−05−01 2014−10−01 2015−03−01 2015−08−01 2016−01−01 2016−06−01 2016−11−01 2017−04−01 2017−09−01

Percent connections per day Version

a: SSLv3 b: TLSv10 c: TLSv11 d: TLSv12

slide-45
SLIDE 45

TLS Version Evolution

0.000 0.002 0.004 0.006 0.008 0.010 0.012 0.014 0.016 0.018 2016−10−24 2016−11−06 2016−11−20 2016−12−04 2016−12−18 2017−01−01 2017−01−15 2017−01−29 2017−02−12 2017−02−26 2017−03−13 2017−03−27 2017−04−10 2017−04−24 2017−05−08 2017−05−22 2017−06−05 2017−06−19 2017−07−03 2017−07−17 2017−07−31 2017−08−14 2017−08−28 2017−09−11

Percent connections per day Version

TLSv13−draft16 TLSv13−draft18

slide-46
SLIDE 46

HTTP/2

0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 0.22 0.24 2014−12−01 2015−03−01 2015−06−01 2015−09−01 2015−12−01 2016−03−01 2016−06−01 2016−09−01 2016−12−01 2017−03−01 2017−06−01 2017−09−01

Percent of daily connections ALPN

h2 h2−14 http/1.1 spdy/3 spdy/3.1