Recommended
PDF
PDF
PDF
UnboundとNSDの紹介 BIND9との比較編
PDF
HTTP2 時代の Web - web over http2
PDF
PDF
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
PDF
PDF
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
PDF
PDF
PDF
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
PDF
PPT
PDF
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
PDF
PDF
PPTX
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
PDF
Hokkaido.cap#10 実践パケット解析まとめ
PDF
ゆるふわLinux-HA 〜PostgreSQL編〜
PDF
Hokkaido.cap#7 ケーススタディ(セキュリティ解析:前編)
PDF
PDF
PPTX
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
PDF
OpenFlowをXenServerで試してみよう
PDF
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
PDF
PDF
PDF
Hokkaido.cap#3 ケーススタディ(基礎編)
PDF
Mickey threats inside your platform final
PDF
Jonathan attacking IoT with Software Defined Radio pacsec-2015-japanese (fin...
More Related Content
PDF
PDF
PDF
UnboundとNSDの紹介 BIND9との比較編
PDF
HTTP2 時代の Web - web over http2
PDF
PDF
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
PDF
PDF
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
What's hot
PDF
PDF
PDF
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
PDF
PPT
PDF
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
PDF
PDF
PPTX
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
PDF
Hokkaido.cap#10 実践パケット解析まとめ
PDF
ゆるふわLinux-HA 〜PostgreSQL編〜
PDF
Hokkaido.cap#7 ケーススタディ(セキュリティ解析:前編)
PDF
PDF
PPTX
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
PDF
OpenFlowをXenServerで試してみよう
PDF
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
PDF
PDF
PDF
Hokkaido.cap#3 ケーススタディ(基礎編)
Viewers also liked
PDF
Mickey threats inside your platform final
PDF
Jonathan attacking IoT with Software Defined Radio pacsec-2015-japanese (fin...
PDF
James Forshaw, elevator action
PDF
Maxim Goncharov, BPHS pac_sec
PDF
Adam Laurie, Blue Toot -pacsec-2015
PDF
Kochetova+osipv atm how_to_make_the_fraud__final
PDF
Martin UPnP - pacsec -final-ja
PDF
Hyperchem Ma, badbarcode en_1109_nocomment-final
PDF
Georgi Geshev, warranty void if label removed
PDF
James Windows10 elevator action final-jp
PDF
PDF
Richard high performance fuzzing ja
PDF
Mickey pac sec2016_final_ja
PDF
Andersson hacking ds_mx_with_sdr_pac_sec_2016_english
PDF
Akila srinivasan microsoft-bug_bounty-(publish)
PDF
Qinghao vulnerabilities mining technology of cloud and virtualization platfo...
PDF
Hyperchem bad barcode final_ja
PDF
Maxim Bullet Proof Hosting Services pac_sec_jp
PDF
Filippo, plain simple reality of entropy ja
PDF
Mickey, threats inside your platform final
Similar to Stuart attacking http2 implementations truefinal-jp
PDF
PDF
PPTX
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
PPTX
PDF
PDF
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
PDF
PPTX
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
PDF
PDF
PPT
PDF
PPTX
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
PDF
PDF
PDF
Learn Http Requests & Responses for Test Engineer
PPTX
PDF
PyCon APAC 2013 Web Secure Coding
PDF
これからHTML5を書く人のためのセキュリティ - HTML5など勉強会
PPTX
More from PacSecJP
PDF
Kavya racharla ndh-naropanth_fin_jp-final
PDF
Ryder robertson security-considerations_in_the_supply_chain_2017.11.02
PDF
Ryder robertson pac-sec skeleton 2017_jp
PDF
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-j
PDF
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final
PDF
Rouault imbert view_alpc_rpc_pacsec_jp
PDF
Rouault imbert alpc_rpc_pacsec
PDF
PDF
PDF
PDF
PDF
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
PDF
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
PDF
Yunusov babin 7sins-pres_atm_v4(2)_jp
PDF
Yunusov babin 7 sins pres atm v2
PDF
Shusei tomonaga pac_sec_20171026_jp
PDF
Shusei tomonaga pac_sec_20171026
PDF
Kavya racharla ndh-naropanth_fin
PDF
Lucas apa pacsec_slides_jp-final
PDF
Stuart attacking http2 implementations truefinal-jp 1. 2. 3. 4. 5. 6. HTTP/1.1からのアップグレード
▪ http:// および https:// というURIのスキームを維持
▪ TLS はオプションとしての位置づけ
› Chrome と Firefox では必須としている
› Internet Explorer と curlを含む他のクライアントはオプションのまま
▪ http:// のヘッダーをアップグレード
› ラウンドトリップの原因になるが、HTTP/2 接続はより安定している
▪ マイナーバージョン番号は無し
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: h2c
GET /index.html HTTP/1.1
Host: example.com
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: <SETTINGS payload>
7. HPACK
▪ HTTP はステートレス
› リクエストのサイズ (cookies その他のヘッダー) は大きな影響を与える
› 圧縮は自然な解決策
▪ “Hpack was designed to make it difficult for a conforming implementation to leak information, to make encoding and decoding
very fast/cheap, to provide for receiver control over compression context size, to allow for proxy re-indexing (i.e. shared state
between frontend and backend within a proxy), and for quick comparisons of huffman-encoded strings.”
› Roberto Peon, http://lists.w3.org/Archives/Public/ietf-http-wg//2014AprJun/1044.html
▪ レシーバが使用メモリサイズの最大値をコントロール
› 最少が0 で最大が 2^32
› SETTINGS フレームで指定
▪ SPDY は圧縮アルゴリズムを使用
› CRIME(Compression Ratio Info-leak Made Easy)攻撃に対して脆弱
8. HPACK
▪ name:value のペアをインデックスに
割り付け
› 双方のエンドポイントにおいてダイナミッ
クテーブルを作成
▪ 差分符号化
› スピードとサイズ圧縮に大きく寄与
› リファレンス・テーブルはヘッダーのため
につくられる
› 現在のヘッダーと直前のものの差分のみが
符号化される
› 無駄を除去
▪ ハフマン符号化
› 固定ハフマンテーブル
› 文字列リテラル
9. HPACK 攻撃の可能性
▪ インデックス・テーブルのサイズとオフセット
▪ 文字列リテラルの例
› 1つのビットがハフマン符号化されているかどうかを決定
› 整数はサイズを示す
› 文字列データが続く
› オクテットの境界まで積み重ねていく
▪ コンテキスト更新
▪ ヘッダーテーブルのサイズ変更
› デフォルトでは、動的テーブルのサイズは4k
▪ https://tools.ietf.org/html/rfc7541
10. 11. ATS 2
▪ RFCより - http://tools.ietf.org/html/rfc7541#section-4.3
› 4.3. 動的テーブルサイズ変更時のエントリの削除
動的テーブルの最大サイズが減少するたびに、動的テーブルのサイズが最大サイズ以下になるまで動的テーブルの末尾
からエントリが削除されます。
▪ 予期しないパケットの順序のために、 headers テーブルが空の時に
テーブルサイズを更新するバグが発生
12. 13. フレーム
▪ 通信の基本ユニット
Length (24 bits)
Type (8 bits) Flags (8 bits)
R Stream Identifier (31 bits)
Payload (0+ bits)
▪ フレームタイプ
› Headers
› Data
› Priority
› Reset
› Settings
› Push
› Ping
› Goaway
› Update
› Continuation
14. 15. HTTP/2 の新しい攻撃の可能性
▪ HPACK
▪ アップグレード・ダウングレード
▪ つじつまの合わないマルチプレキ゚シング
▪ 不正なフォーマットのフレーム
▪ クライアントに任意のデータをプッシュ
▪ サーバに任意のデータをプッシュ
▪ ストリーム依存
▪ 無効なフレームの記述
16. 17. 18. 19. 20. 21. 22. 23. 24. ストラテジ
WindowUpdateFuzzer:
▪ Window Update Frameにランダムな streamId とincr valueを設定して
送信する
RawFrameFuzzer:
▪ ランダムなframeType (0-12)、randomFlags (0-256)、
streamId(2**31)、および、 0から10000までの長さのランダムなバイ
配列を生成
▪ 上記によって構成された異常なフレームを送信
25. ストラテジ
DataFuzzer:
▪ Data Frameにランダムな streamIdとendStream bool、そして、0か
ら10000バイトのランダムな長さのペイロードを設定して送信
PushPromiseFuzzer:
▪ PushPromise Frameに0から10000バイトのランダムな長さのペイロ
ード、streamId、promiseId、endHeaders bool、およびpadLengnth
(0-256)を設定して送信
26. 27. 28. 29. 30. 31. 32. 33.