SlideShare ist ein Scribd-Unternehmen logo
1 von 24
HTTP/2
A Security Perspective
Who am I?
• Not a pen-tester <Not-yet/>
• Threat Analysis Engineer
• With NULL since 2009.
• PC Gamer
• https://github.com/sunilkr
• @_badbot
HTTP Trivia
•ISO-OSI Layer ?
•Official versions till dates?
•Rivaled by?
•How old is HTTP?
HTTP Trivia
•For most of us:
HTTP  WWW  Internet.
HTTP Evolution
• Started by Sir Tim Berners-Lee in 1989.
• Originally designed for transferring HyperText
(HTML).
• The intention was to create links between pages;
The “Web”.
HTTP/0.9
• Never an official version.
• No RFC.
• Specification is only a couple of pages.
• Clients requests an HyperText document, Server delivers.
• Client creates connection.
• Client sends GET request.
• Server sends HTML document.
• Server terminates connection marking end of message.
• Requests are idempotent.
HTTP/1.0
• RFC 1945 - May 1996.
• HTTP became a true messaging protocol.
• Defined request and response headers.
• Added methods:
• HEAD
• POST
• Added support for other media formats (MIME
Types).
• Basic Authentication.
HTTP/1.1
RFC 2068 in 1997 (obsoleted by RFC 2616 in 1999)
• Added more methods
• OPTIONS
• PUT
• DELETE
• TRACE
• CONNECT
• More status codes
• Reusable connection.
• Virtual Hosts.
• Bandwidth Management.
• Caching.
• Response streaming.
HTTP/1.1
Hyper Text Transfer Protocol
GET /download.html HTTP/1.1
Host: www.ethereal.com
User-Agent: Mozilla/5.0
Accept: text/html;q=0.9
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.ethereal.com/l
HTTP/1.1 200 OK
Date: Thu, 13 May 2004 10:17:12 GMT
Server: Apache
Last-Modified: Tue, 20 Apr 2004 13:17:00 GMT
ETag: "9a01a-4696-7e354b00"
Accept-Ranges: bytes
Content-Length: 18070
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=ISO-8859-1
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
…………
Why new HTTP?
• Inadequate use of TCP
• Not enough data in
request/responses.
• One transaction per round-trip.
• Head of line blocking
• Some requests may take longer
than others.
• Pipelining issues
• Few connections per host.
• Bloated HTTP headers
• Extremely large cookies
• Headers are not compressed.
Host: cat.hk.as.criteo.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0)
Gecko/20100101 Firefox/49.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer:
https://cas.criteo.com/delivery/afr.php?ptv=9&abp=1&zoneid=38
8248&cb=84495440049&nodis=1&charset=UTF-
8&dc=3&atfr=0&loc=https%3A%2F%2Fvanwilgenburg.wordpress.c
om%2F2015%2F11%2F22%2Fhow-to-capture-and-decode-http2-
traffic-with-wireshark%2F
Cookie:
eid=*1Ap7Pr2f7E5MRKE2nWevBcU%2bbUWL%2fuELr2TfCeknIxMr
e7BHXU6sl2NOQ4xTQMmmcE%2fpP%2f%2bjxgjT58Z7cfzeaEgdxXS
V8Qz7wMC5KYLeuAsFgza%2bISy%2bAQqOYhm%2bmQaI%2bshaK
0wLrQIDUhYtySDPYgiYB0g7Ncyx%2fbWiN%2fcVQc%2bwBbEN5EV
wYHNxqGp16wuoMx%2fBeDaihRV5HTFWsxXUImZAj5bXhai5mB0
9GzaWh%2brUlJ4Nd7hQdTpiZwm3faLd2YHKH1z9ApJQo%2bwpae
Z0Us6%2ffjHcleA6Qit5aTkR1HVNbtGU1kaSQarbWS5GGv0k5wp0lk
udhKVcSSp4VZQQPoF%2b1R1RM%2bObYZ%2fx71VmxY2iBV9wQLR
K7byMp%2fuPDnog7;
udc=*1LbahqkXZ3D4c7uvf%2fuPM6w%3d%3d;
zdi=*1b4U4KpFuuqNUwsFewyLzxQ%3d%3d; uid=c0789c78-f944-
4ff1-a605-515e662a5088;
__gads=ID=31ee0d4ce58ad5f9:T=1475937455:S=ALNI_MYSo0crw
SD7kqO6l4QkHSG463W3Fw
Connection: keep-alive
The big problem of Latency
Solving the Latency problem
•Spriting
• Partial images.
•Inlining
• data URI.
•Concatenation
• One big file.
•Sharding
• Multiple Virtual Hosts
• Cache-invalidation
issues.
• More data transferred
than actually required.
• Development mess.
• Browsers need to wait
more.
• Server administration
issues
HTTP/2 - Overview
• RFC 7540 published on 15th May 2015.
• RFC7541 defines HPACK.
• Based on SPDY/3.x by Google.
• Retains HTTP/1.x semantics.
• Retains http:// and https:// URL formats.
• Still using TCP.
• No more minor versions.
• Next is HTTP/3
• Reduces optional parts of HTTP.
HTTP/2 - Features
• Binary framing.
• Stream multiplexing.
• Priorities and Dependencies.
• Header compression.
• Server push.
• Flow control.
• Protocol upgrade.
HTTP/2 – Binary framing
• Total frame header (9 bytes)
• Length (3 bytes)
• 3 bytes (24 bits) unsigned int value
• Can be changed by sending SETTING_MAX_FRAME_SIZE
• Does not include header length.
• Type (1 byte)
• Frame type
• Flags (1 byte)
• Specific to frame type.
• Stream ID (4 bytes)
• Reserved (1 bit)
• ID (31 bits)
• Payload (<length> bytes)
HTTP/2 – Stream Multiplexing
• One packet may contain many STREAM (Multiplexed)
• STREAM can be split over multiple packets/frames
• CONTINUE frame
• STREAM has multiple frames
• HEADERS Frame
• DATA Frame
• Frame Types:
• PRIORITY
• RST_STREAM
• SETTINGS
• PUSH_PROMISE
• PING
• GO_AWAY
• WINDOW_UPDATE
HTTP/2 – Priorities & Dependencies
• Response may not be served in order of requests.
• Creates a dependency tree and assign weight.
• Prioritize streams based on weight.
HTTP/2 – Header Compression
• HPACK (RFC 7541)
• Pseudo-headers
• Uses 2 tables to map headers to
indexes and preserve ordering
• Static Table
• Used to index fixed list of standard
headers.
• Dynamic Table
• Used to index custom/non-standard
headers
• Strings and Integer values are
represented differently to save
space.
• Can use Huffman coding for
encoding actual values.
:method: GET
:scheme: http
:path: /
:authority: www.example.com
Byte Decoding Value
82 == Indexed - Add ==
idx = 2
:method: GET
86 == Indexed - Add ==
idx = 6
:scheme: http
84 == Indexed - Add ==
idx = 4
:path: /
41 == Literal indexed ==
Indexed name
(idx = 1)
:authority
0f Literal value (len = 15) 15
7777 772e 6578 616d 706c 652e 636f 6d www.example.com
8286 8441 0f77 7777 2e65 7861 6d70 6c65
HTTP/2 – Server Push
• Server sends data even before client requests.
• Client holds extra data in cache.
• Server sends a PUSH_PROMISE frame identifying pushed stream
• HEADERS frame of pushed stream is not like usual response
headers.
• Contains :path of pushed stream DATA.
• Client can reject pushed data.
• RST_STREAM.
HTTP/2 – Protocol Upgrade
• NPN (Next Protocol Negotiation)
• Designed for SPDY.
• Server’s offer, Client’s choice.
• Over TLS only.
• ALPN (Application Layer Protocol
Negotiation)
• HTTP/2 official.
• Client’s offer, Server’s choice.
• Part of TLS handshake.
• Upgrade header (Upgrade: h2c)
• To be used on un-encrypted HTTP.
• Requires 1 extra roundtrip.
HTTP/2 - Security
• Promoted TLS
• Minimum TLS version 1.2.
• Blacklisted Cipher-Suites.
• Minimum key-size requirement.
• No TLS renegotiation.
• Cross-protocol attacks
• TLS+ALPN.
• Not much in plain text.
• Intermediary Encapsulation Attacks
• Invalid header name/values should result in invalid request.
• Context aware compressi0n.
• BREACH/CRIME
• Frame Padding
• BREACH/CRIME
HTTP/2 – Security/2
• Huge rework for WAFs
• HTTP/2 is binary.
• Can use a proxy to translate to HTTP/1.1 traffic.
• Opportunistic encryption
• Alt-Svc header.
• Connection Reuse
• Action correlation.
• Caching of server push
• Limits on HEADERS block size
• Denial of Service
• Slow Read (CVE-2016-1546)
• HPACK Bomb (CVE-2016-1544, CVE-2016-2525)
• Dependency Cycle Attack (CVE-2015-8659)
• Stream Multiplexing Abuse (CVE-2016-0150)
The Future : QUIC
• Quick UDP Internet Connections
• TCP + TLS + HTTP/2 over UDP
• Long term enhancements to TCP
• No more 3 way handshake.
• Reduced Round Trip.
• Connection Migration.
• Proactive speculative retransmission.
• Automatic fallback to TCP.
You have a
question!?
All images are found via Google search. They belong to their respective owners.

Weitere ähnliche Inhalte

Was ist angesagt?

HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? Sigma Software
 
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30Jxck Jxck
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2Ido Flatow
 
I want the next generation web here SPDY QUIC
I want the next generation web here SPDY QUICI want the next generation web here SPDY QUIC
I want the next generation web here SPDY QUICSource Conference
 
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2Load Impact
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedGanapathi Kandaswamy
 
HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战Jerry Qu
 
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28Jxck Jxck
 
ChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy IntroChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy IntroChinaNetCloud
 
Introduction to Haproxy
Introduction to HaproxyIntroduction to Haproxy
Introduction to HaproxyShaopeng He
 
Load Balancing with HAproxy
Load Balancing with HAproxyLoad Balancing with HAproxy
Load Balancing with HAproxyBrendan Jennings
 
Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016Jian-Hong Pan
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 

Was ist angesagt? (20)

HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know?
 
Http/2
Http/2Http/2
Http/2
 
Grpc present
Grpc presentGrpc present
Grpc present
 
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
 
HAProxy
HAProxy HAProxy
HAProxy
 
I want the next generation web here SPDY QUIC
I want the next generation web here SPDY QUICI want the next generation web here SPDY QUIC
I want the next generation web here SPDY QUIC
 
SPDY and HTTP/2
SPDY and HTTP/2SPDY and HTTP/2
SPDY and HTTP/2
 
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
 
HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战
 
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
 
HAProxy 1.9
HAProxy 1.9HAProxy 1.9
HAProxy 1.9
 
ChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy IntroChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy Intro
 
Introduction to Haproxy
Introduction to HaproxyIntroduction to Haproxy
Introduction to Haproxy
 
Google QUIC
Google QUICGoogle QUIC
Google QUIC
 
HTTP
HTTPHTTP
HTTP
 
Load Balancing with HAproxy
Load Balancing with HAproxyLoad Balancing with HAproxy
Load Balancing with HAproxy
 
Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 

Andere mochten auch

3Es of Ransomware
3Es of Ransomware3Es of Ransomware
3Es of RansomwareSunil Kumar
 
Security certifications
Security certificationsSecurity certifications
Security certificationsManas Deep
 
Beginner talk physical security - manasdeep
Beginner talk   physical security - manasdeepBeginner talk   physical security - manasdeep
Beginner talk physical security - manasdeepManas Deep
 
Metasploit For Beginners
Metasploit For BeginnersMetasploit For Beginners
Metasploit For BeginnersRamnath Shenoy
 
Network discovery - Inside out by Aakash Goel
Network discovery - Inside out by Aakash GoelNetwork discovery - Inside out by Aakash Goel
Network discovery - Inside out by Aakash GoelOWASP Delhi
 

Andere mochten auch (9)

Buffer overflow null
Buffer overflow nullBuffer overflow null
Buffer overflow null
 
3Es of Ransomware
3Es of Ransomware3Es of Ransomware
3Es of Ransomware
 
Security certifications
Security certificationsSecurity certifications
Security certifications
 
Web Application Firewall
Web Application FirewallWeb Application Firewall
Web Application Firewall
 
Secure coding in C#
Secure coding in C#Secure coding in C#
Secure coding in C#
 
Owasp top 10
Owasp top 10 Owasp top 10
Owasp top 10
 
Beginner talk physical security - manasdeep
Beginner talk   physical security - manasdeepBeginner talk   physical security - manasdeep
Beginner talk physical security - manasdeep
 
Metasploit For Beginners
Metasploit For BeginnersMetasploit For Beginners
Metasploit For Beginners
 
Network discovery - Inside out by Aakash Goel
Network discovery - Inside out by Aakash GoelNetwork discovery - Inside out by Aakash Goel
Network discovery - Inside out by Aakash Goel
 

Ähnlich wie Http2 Security Perspective

Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocolsDaniel Austin
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1Daniel Austin
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
HTTPプロクシライブラリproxy2の設計と実装
HTTPプロクシライブラリproxy2の設計と実装HTTPプロクシライブラリproxy2の設計と実装
HTTPプロクシライブラリproxy2の設計と実装inaz2
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7Karel Zikmund
 
Writing a fast HTTP parser
Writing a fast HTTP parserWriting a fast HTTP parser
Writing a fast HTTP parserfukamachi
 
Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.Alex Borysov
 
HTTP/2 What's inside and Why
HTTP/2 What's inside and WhyHTTP/2 What's inside and Why
HTTP/2 What's inside and WhyAdrian Cole
 
Java EE 8: What Servlet 4 and HTTP2 Mean
Java EE 8: What Servlet 4 and HTTP2 MeanJava EE 8: What Servlet 4 and HTTP2 Mean
Java EE 8: What Servlet 4 and HTTP2 MeanAlex Theedom
 
Http - All you need to know
Http - All you need to knowHttp - All you need to know
Http - All you need to knowGökhan Şengün
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 IntroductionWalter Liu
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)NYversity
 
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICA new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICAPNIC
 
What's New in HTTP/2
What's New in HTTP/2What's New in HTTP/2
What's New in HTTP/2NGINX, Inc.
 
A New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOHA New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOHAPNIC
 

Ähnlich wie Http2 Security Perspective (20)

Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
 
SPDY Talk
SPDY TalkSPDY Talk
SPDY Talk
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
HTTPプロクシライブラリproxy2の設計と実装
HTTPプロクシライブラリproxy2の設計と実装HTTPプロクシライブラリproxy2の設計と実装
HTTPプロクシライブラリproxy2の設計と実装
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
 
Writing a fast HTTP parser
Writing a fast HTTP parserWriting a fast HTTP parser
Writing a fast HTTP parser
 
Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.
 
HTTP/2 What's inside and Why
HTTP/2 What's inside and WhyHTTP/2 What's inside and Why
HTTP/2 What's inside and Why
 
Java EE 8: What Servlet 4 and HTTP2 Mean
Java EE 8: What Servlet 4 and HTTP2 MeanJava EE 8: What Servlet 4 and HTTP2 Mean
Java EE 8: What Servlet 4 and HTTP2 Mean
 
Http/2
Http/2Http/2
Http/2
 
computer networking
computer networkingcomputer networking
computer networking
 
Http - All you need to know
Http - All you need to knowHttp - All you need to know
Http - All you need to know
 
Http2 in practice
Http2 in practiceHttp2 in practice
Http2 in practice
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
Shiny New HTTP Shit
Shiny New HTTP ShitShiny New HTTP Shit
Shiny New HTTP Shit
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)
 
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICA new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
 
What's New in HTTP/2
What's New in HTTP/2What's New in HTTP/2
What's New in HTTP/2
 
A New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOHA New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOH
 

Mehr von Sunil Kumar

Basics of Cryptography
Basics of CryptographyBasics of Cryptography
Basics of CryptographySunil Kumar
 
Memory forensics
Memory forensicsMemory forensics
Memory forensicsSunil Kumar
 
n|u Dharamsala Humla : Memory Forensic by Tenzin Chokden
n|u Dharamsala Humla : Memory Forensic by Tenzin Chokdenn|u Dharamsala Humla : Memory Forensic by Tenzin Chokden
n|u Dharamsala Humla : Memory Forensic by Tenzin ChokdenSunil Kumar
 
Jsonp null-meet-02-2015
Jsonp null-meet-02-2015Jsonp null-meet-02-2015
Jsonp null-meet-02-2015Sunil Kumar
 
Dt5 varenni win_pcapdosdonts
Dt5 varenni win_pcapdosdontsDt5 varenni win_pcapdosdonts
Dt5 varenni win_pcapdosdontsSunil Kumar
 
Nullcon 2011- Behaviour Analysis with DBI
Nullcon 2011- Behaviour Analysis with DBINullcon 2011- Behaviour Analysis with DBI
Nullcon 2011- Behaviour Analysis with DBISunil Kumar
 

Mehr von Sunil Kumar (6)

Basics of Cryptography
Basics of CryptographyBasics of Cryptography
Basics of Cryptography
 
Memory forensics
Memory forensicsMemory forensics
Memory forensics
 
n|u Dharamsala Humla : Memory Forensic by Tenzin Chokden
n|u Dharamsala Humla : Memory Forensic by Tenzin Chokdenn|u Dharamsala Humla : Memory Forensic by Tenzin Chokden
n|u Dharamsala Humla : Memory Forensic by Tenzin Chokden
 
Jsonp null-meet-02-2015
Jsonp null-meet-02-2015Jsonp null-meet-02-2015
Jsonp null-meet-02-2015
 
Dt5 varenni win_pcapdosdonts
Dt5 varenni win_pcapdosdontsDt5 varenni win_pcapdosdonts
Dt5 varenni win_pcapdosdonts
 
Nullcon 2011- Behaviour Analysis with DBI
Nullcon 2011- Behaviour Analysis with DBINullcon 2011- Behaviour Analysis with DBI
Nullcon 2011- Behaviour Analysis with DBI
 

Kürzlich hochgeladen

Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 

Kürzlich hochgeladen (20)

Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 

Http2 Security Perspective

  • 2. Who am I? • Not a pen-tester <Not-yet/> • Threat Analysis Engineer • With NULL since 2009. • PC Gamer • https://github.com/sunilkr • @_badbot
  • 3. HTTP Trivia •ISO-OSI Layer ? •Official versions till dates? •Rivaled by? •How old is HTTP?
  • 4. HTTP Trivia •For most of us: HTTP  WWW  Internet.
  • 5. HTTP Evolution • Started by Sir Tim Berners-Lee in 1989. • Originally designed for transferring HyperText (HTML). • The intention was to create links between pages; The “Web”.
  • 6. HTTP/0.9 • Never an official version. • No RFC. • Specification is only a couple of pages. • Clients requests an HyperText document, Server delivers. • Client creates connection. • Client sends GET request. • Server sends HTML document. • Server terminates connection marking end of message. • Requests are idempotent.
  • 7. HTTP/1.0 • RFC 1945 - May 1996. • HTTP became a true messaging protocol. • Defined request and response headers. • Added methods: • HEAD • POST • Added support for other media formats (MIME Types). • Basic Authentication.
  • 8. HTTP/1.1 RFC 2068 in 1997 (obsoleted by RFC 2616 in 1999) • Added more methods • OPTIONS • PUT • DELETE • TRACE • CONNECT • More status codes • Reusable connection. • Virtual Hosts. • Bandwidth Management. • Caching. • Response streaming.
  • 9. HTTP/1.1 Hyper Text Transfer Protocol GET /download.html HTTP/1.1 Host: www.ethereal.com User-Agent: Mozilla/5.0 Accept: text/html;q=0.9 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.ethereal.com/l HTTP/1.1 200 OK Date: Thu, 13 May 2004 10:17:12 GMT Server: Apache Last-Modified: Tue, 20 Apr 2004 13:17:00 GMT ETag: "9a01a-4696-7e354b00" Accept-Ranges: bytes Content-Length: 18070 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html; charset=ISO-8859-1 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html …………
  • 10. Why new HTTP? • Inadequate use of TCP • Not enough data in request/responses. • One transaction per round-trip. • Head of line blocking • Some requests may take longer than others. • Pipelining issues • Few connections per host. • Bloated HTTP headers • Extremely large cookies • Headers are not compressed. Host: cat.hk.as.criteo.com User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Referer: https://cas.criteo.com/delivery/afr.php?ptv=9&abp=1&zoneid=38 8248&cb=84495440049&nodis=1&charset=UTF- 8&dc=3&atfr=0&loc=https%3A%2F%2Fvanwilgenburg.wordpress.c om%2F2015%2F11%2F22%2Fhow-to-capture-and-decode-http2- traffic-with-wireshark%2F Cookie: eid=*1Ap7Pr2f7E5MRKE2nWevBcU%2bbUWL%2fuELr2TfCeknIxMr e7BHXU6sl2NOQ4xTQMmmcE%2fpP%2f%2bjxgjT58Z7cfzeaEgdxXS V8Qz7wMC5KYLeuAsFgza%2bISy%2bAQqOYhm%2bmQaI%2bshaK 0wLrQIDUhYtySDPYgiYB0g7Ncyx%2fbWiN%2fcVQc%2bwBbEN5EV wYHNxqGp16wuoMx%2fBeDaihRV5HTFWsxXUImZAj5bXhai5mB0 9GzaWh%2brUlJ4Nd7hQdTpiZwm3faLd2YHKH1z9ApJQo%2bwpae Z0Us6%2ffjHcleA6Qit5aTkR1HVNbtGU1kaSQarbWS5GGv0k5wp0lk udhKVcSSp4VZQQPoF%2b1R1RM%2bObYZ%2fx71VmxY2iBV9wQLR K7byMp%2fuPDnog7; udc=*1LbahqkXZ3D4c7uvf%2fuPM6w%3d%3d; zdi=*1b4U4KpFuuqNUwsFewyLzxQ%3d%3d; uid=c0789c78-f944- 4ff1-a605-515e662a5088; __gads=ID=31ee0d4ce58ad5f9:T=1475937455:S=ALNI_MYSo0crw SD7kqO6l4QkHSG463W3Fw Connection: keep-alive
  • 11. The big problem of Latency
  • 12. Solving the Latency problem •Spriting • Partial images. •Inlining • data URI. •Concatenation • One big file. •Sharding • Multiple Virtual Hosts • Cache-invalidation issues. • More data transferred than actually required. • Development mess. • Browsers need to wait more. • Server administration issues
  • 13. HTTP/2 - Overview • RFC 7540 published on 15th May 2015. • RFC7541 defines HPACK. • Based on SPDY/3.x by Google. • Retains HTTP/1.x semantics. • Retains http:// and https:// URL formats. • Still using TCP. • No more minor versions. • Next is HTTP/3 • Reduces optional parts of HTTP.
  • 14. HTTP/2 - Features • Binary framing. • Stream multiplexing. • Priorities and Dependencies. • Header compression. • Server push. • Flow control. • Protocol upgrade.
  • 15. HTTP/2 – Binary framing • Total frame header (9 bytes) • Length (3 bytes) • 3 bytes (24 bits) unsigned int value • Can be changed by sending SETTING_MAX_FRAME_SIZE • Does not include header length. • Type (1 byte) • Frame type • Flags (1 byte) • Specific to frame type. • Stream ID (4 bytes) • Reserved (1 bit) • ID (31 bits) • Payload (<length> bytes)
  • 16. HTTP/2 – Stream Multiplexing • One packet may contain many STREAM (Multiplexed) • STREAM can be split over multiple packets/frames • CONTINUE frame • STREAM has multiple frames • HEADERS Frame • DATA Frame • Frame Types: • PRIORITY • RST_STREAM • SETTINGS • PUSH_PROMISE • PING • GO_AWAY • WINDOW_UPDATE
  • 17. HTTP/2 – Priorities & Dependencies • Response may not be served in order of requests. • Creates a dependency tree and assign weight. • Prioritize streams based on weight.
  • 18. HTTP/2 – Header Compression • HPACK (RFC 7541) • Pseudo-headers • Uses 2 tables to map headers to indexes and preserve ordering • Static Table • Used to index fixed list of standard headers. • Dynamic Table • Used to index custom/non-standard headers • Strings and Integer values are represented differently to save space. • Can use Huffman coding for encoding actual values. :method: GET :scheme: http :path: / :authority: www.example.com Byte Decoding Value 82 == Indexed - Add == idx = 2 :method: GET 86 == Indexed - Add == idx = 6 :scheme: http 84 == Indexed - Add == idx = 4 :path: / 41 == Literal indexed == Indexed name (idx = 1) :authority 0f Literal value (len = 15) 15 7777 772e 6578 616d 706c 652e 636f 6d www.example.com 8286 8441 0f77 7777 2e65 7861 6d70 6c65
  • 19. HTTP/2 – Server Push • Server sends data even before client requests. • Client holds extra data in cache. • Server sends a PUSH_PROMISE frame identifying pushed stream • HEADERS frame of pushed stream is not like usual response headers. • Contains :path of pushed stream DATA. • Client can reject pushed data. • RST_STREAM.
  • 20. HTTP/2 – Protocol Upgrade • NPN (Next Protocol Negotiation) • Designed for SPDY. • Server’s offer, Client’s choice. • Over TLS only. • ALPN (Application Layer Protocol Negotiation) • HTTP/2 official. • Client’s offer, Server’s choice. • Part of TLS handshake. • Upgrade header (Upgrade: h2c) • To be used on un-encrypted HTTP. • Requires 1 extra roundtrip.
  • 21. HTTP/2 - Security • Promoted TLS • Minimum TLS version 1.2. • Blacklisted Cipher-Suites. • Minimum key-size requirement. • No TLS renegotiation. • Cross-protocol attacks • TLS+ALPN. • Not much in plain text. • Intermediary Encapsulation Attacks • Invalid header name/values should result in invalid request. • Context aware compressi0n. • BREACH/CRIME • Frame Padding • BREACH/CRIME
  • 22. HTTP/2 – Security/2 • Huge rework for WAFs • HTTP/2 is binary. • Can use a proxy to translate to HTTP/1.1 traffic. • Opportunistic encryption • Alt-Svc header. • Connection Reuse • Action correlation. • Caching of server push • Limits on HEADERS block size • Denial of Service • Slow Read (CVE-2016-1546) • HPACK Bomb (CVE-2016-1544, CVE-2016-2525) • Dependency Cycle Attack (CVE-2015-8659) • Stream Multiplexing Abuse (CVE-2016-0150)
  • 23. The Future : QUIC • Quick UDP Internet Connections • TCP + TLS + HTTP/2 over UDP • Long term enhancements to TCP • No more 3 way handshake. • Reduced Round Trip. • Connection Migration. • Proactive speculative retransmission. • Automatic fallback to TCP.
  • 24. You have a question!? All images are found via Google search. They belong to their respective owners.

Hinweis der Redaktion

  1. It less about security because we don’t know much about HTTP/2.
  2. I have not played any of them.
  3. HTTP/0.9 was not official version, only documented. Gopher came along the same time. Used to present information in catalogs (mostly recipes) First draft in 1989.
  4. Used for Human-Machine interaction as well as machine-to-machine interaction. Not everything we call web uses HTTP. Like DBs, Peripheral devices, Network management etc.
  5. Which protocol at Transport Later? Extremely simple.
  6. Which header is used to declare media type? https://www.w3.org/Protocols/HTTP/1.0/spec.html
  7. Method definitions? CONNECT is generally used by TLS to connect through proxies. CORS? Cache-control: Transfer-encoding: chunked
  8. HTTP stands for? TextFraming DEMO1: Wireshark HTTP1
  9. Response is only 43 bytes. Request length is 1096 bytes Half of that is cookies only.
  10. DEMO2 : FF timing tool. 5 Mbps seems optimal. Latency is more in mobile networks.
  11. Spriting: Download large image, cut into pieces. E.g. national flags. Inlining: critical CSS/JS in HTML Concatenation: Append multiple CSS and JS into one file Sharding: Using multiple host names to parallelize TCP connections
  12. Speed is primary concern.
  13. Note more text framing.
  14. Length is only payload length https://raw.githubusercontent.com/bagder/http2-explained/master/images/frame-layout.png
  15. Handles TCP misuse Less handshakes Bandwidth optimization http://www.slideshare.net/adrianfcole/http2-whats-inside-and-why
  16. Solves the problem of Ahead Of Line Blocking. https://nghttp2.org/blog/2014/04/27/how-dependency-based-prioritization-works/ http://www.slideshare.net/adrianfcole/http2-whats-inside-and-why
  17. Will take a few hours to explain HPACK DEMO3: Wireshark HTTP/2
  18. RST_STREAM frame terminates sending data related to stream from either side
  19. How to start talking HTTP/2? NPN is not standard but supported by most implementation because it existed before ALPN http://image.slidesharecdn.com/0wx7wvsyssixorne6oi4-signature-3e4156dfa5ca73d9c41ffa9d4c46761ec7b02523c13cc2ad1873addb96cbf495-poli-141013224659-conversion-gate01/95/googles-ilya-grigorik-on-http-20-39-638.jpg?cb=1413240588 https://www.linuxbabe.com/nginx/difference-between-npn-and-alpn-plus-how-to-enable-alpn-on-your-site
  20. SNI name is not exactly as DNS name. Endpoints MAY treat negotiation of key sizes smaller than the lower limits as a connection error (Section 5.4.1) of type INADEQUATE_SECURITY 2048 key size for ephemeral finite field Diffie-Hellman 224 bits for cipher suites that use ephemeral elliptic curve Diffie-Hellman (ECDHE) Cross-protocol attacks : an attacker causes a client to initiate a transaction in one protocol toward a server that understands a different protocol. May lead to access to restricted resources. Intermediary Encapsulation Attacks: HTTP Splitting
  21. New problems Opportunistic encryption: There is no was to indicate if Alt-svc endpoint is unencrypted. Un-authenticated data in server push. Same connection to Sub-Domains also. Request may be directed to wrong server by default. Same header may encoded with different values based on order/context.
  22. QUIC is developed by Google. Connection Migration: uses 64bit id. Can use same ID over multiple interfaces.
  23. http://www.http2demo.io/