SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
俺とHeartbleed
Report
Masayuki KaToH
Follow
Owner at PhalanXware
Apr. 19, 2014
•
0 likes
•
1,309 views
1
of
17
俺とHeartbleed
Apr. 19, 2014
•
0 likes
•
1,309 views
Download Now
Download to read offline
Report
Masayuki KaToH
Follow
Owner at PhalanXware
Recommended
Php7 on Docker on tekitoh-memdhoi.info
侑弥 濱田
1.3K views
•
24 slides
sqldf for pandas
airtoxin Ishii
9.1K views
•
60 slides
Heartbleedについて
yskn
706 views
•
12 slides
Heartbleed
Yutaka Hiroyama
522 views
•
16 slides
Heartbleed脆弱性について
deflis
999 views
•
10 slides
DNSのRFCの歩き方
Takashi Takizawa
7.4K views
•
195 slides
More Related Content
Similar to 俺とHeartbleed
Reproducebility 100倍 Dockerマン
Nagi Teramo
4.3K views
•
25 slides
初心者がOpenIndianaで自宅サーバを作ったよって話
Masataka Tsukamoto
6.9K views
•
40 slides
Emscriptenと不思議のダンジョン
兎 伊藤
2.5K views
•
19 slides
Osoljp201204
Masataka Tsukamoto
616 views
•
40 slides
IT業界における伝統芸能の継承 #hachiojipm
鉄次 尾形
2.3K views
•
25 slides
composer-scriptsについて
Hiraku Nakano
2K views
•
22 slides
Similar to 俺とHeartbleed
(20)
Reproducebility 100倍 Dockerマン
Nagi Teramo
•
4.3K views
初心者がOpenIndianaで自宅サーバを作ったよって話
Masataka Tsukamoto
•
6.9K views
Emscriptenと不思議のダンジョン
兎 伊藤
•
2.5K views
Osoljp201204
Masataka Tsukamoto
•
616 views
IT業界における伝統芸能の継承 #hachiojipm
鉄次 尾形
•
2.3K views
composer-scriptsについて
Hiraku Nakano
•
2K views
俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病
Masayuki KaToH
•
382 views
とある Perl Monger の働き方
Yusuke Wada
•
15.5K views
FOLIOのコードを動かしてみた
Futoshi Tanuma
•
460 views
WordPress on PHP7 on CentOS7 on Saraku-VPS
Ryo Shibayama
•
3.9K views
VPSやめてHerokuに移行したお話
Hiroyuki Hayashi
•
7.4K views
動画共有ツール
tamtam180
•
6.9K views
4th tokushimaapp
健一 辰濱
•
650 views
Photon Webhooks & IPv6対応の最新情報
GMO GlobalSign Holdings K.K.
•
1.5K views
Webクローリング&スクレイピングの最前線 公開用
Lumin Hacker
•
78.4K views
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
Katsuya Shimizu
•
4.5K views
Code igniterを初めて使うときにはまった4つのポイント(ノーマル版)
noldor
•
4.5K views
⑮jQueryをおぼえよう!その1
Nishida Kansuke
•
11.2K views
WebRTCとHoloLens
daisuke yamanaka
•
994 views
DLR言語によるSilverlightプログラミング
terurou
•
1.1K views
More from Masayuki KaToH
APAC Community Summit DevOps Breakout 部屋.pptx
Masayuki KaToH
15 views
•
46 slides
LINE × AWSの可能性や事例について語り合う夕べ
Masayuki KaToH
232 views
•
35 slides
俺と Active Storage + CloudFront
Masayuki KaToH
447 views
•
17 slides
俺とオープンデータ
Masayuki KaToH
141 views
•
45 slides
Capacitor
Masayuki KaToH
125 views
•
17 slides
俺と最近のクラウドAI系サービス
Masayuki KaToH
464 views
•
87 slides
More from Masayuki KaToH
(20)
APAC Community Summit DevOps Breakout 部屋.pptx
Masayuki KaToH
•
15 views
LINE × AWSの可能性や事例について語り合う夕べ
Masayuki KaToH
•
232 views
俺と Active Storage + CloudFront
Masayuki KaToH
•
447 views
俺とオープンデータ
Masayuki KaToH
•
141 views
Capacitor
Masayuki KaToH
•
125 views
俺と最近のクラウドAI系サービス
Masayuki KaToH
•
464 views
俺と超高速リアルタイム検索APIをたぶん支えているAWS
Masayuki KaToH
•
284 views
俺と AWS Summit 2019 振り返り
Masayuki KaToH
•
241 views
俺と ha4go と Civic Tech Application & Open Data Catalog
Masayuki KaToH
•
221 views
俺 と JAWS DAYS 2019
Masayuki KaToH
•
182 views
俺と otoya
Masayuki KaToH
•
258 views
クラウドを用いるIoT開発における実費レポート
Masayuki KaToH
•
272 views
俺と 2017 Code for Kanazawa Civic Hack Night運営
Masayuki KaToH
•
840 views
俺とキーボード
Masayuki KaToH
•
564 views
俺とディスプレイ
Masayuki KaToH
•
239 views
俺と通知
Masayuki KaToH
•
426 views
JAWS DAYS 2018 行ってきた & スタッフした
Masayuki KaToH
•
411 views
JAWS DAYS 2018 行ってきた & スタッフした
Masayuki KaToH
•
266 views
俺とGitHubとcodeシリーズ
Masayuki KaToH
•
482 views
ラズパイでネット対応 学習リモコンをつくろう!
Masayuki KaToH
•
520 views
俺とHeartbleed
1.
俺とHeartBleed 2014-04-19 PhalanXware ふぁらお加藤
2.
Profile • Name • ふぁらお加藤
/ PharaohKJ • Job & Works • PhalanXware (Freelancer) • OCR system .com / .net • ISDB-T MFC / Linux C++ • Social Game PHP / Java • SNS • twitter - @PharaohKJ • facebook - pharaohkj
3.
最近やってます VisualStudioはMicrosoftのTM/登録商標です OpenGLはKhronosのTMです しばらくC++やってなかったら どこまでが標準ライブラリなのやら・・・。
4.
HeartBleed概要 • SSL実装のひとつであるOpenSSLで実装ミスがあり、セ キュリティホール。大騒ぎに。 • HeartBeat
死活確認の実装ミスで 64kのメモリを問い合 わせ者に返事してしまう。 • 今日は、HeartBleedとSSLを理解するために、SSLにつ いて自分でまとめてみた。
5.
About SSL /
TLS • SSL? TLS? 詳しい経緯はwikipediaでも参照 • RFC2246 Transport Layer Security • 「認証」「暗号化」「改ざん検出」の機能を提供
6.
SSL / TLS
Layer • OSI参照モデルでいう セッション層でこれより 上位に機能提供できる • https とあったらSSLを 用いた http というこ と。ftps とか telnets と か ircs とか pops とか 図はシマンテック社さまより 下記ページより引用 http://www.symantec.com/ja/jp/ page.jsp?id=how-ssl-works
7.
共通 暗号 • 普通の
といえばコレ。 • 1つの 穴があれば、1 つの 。 • この で、開け閉めを行 う。 • の形がバレたらみんな バレる。 バレ禁止
8.
公開 暗号 • 1つの
穴につき、開け るよう・閉めるよう2つ ペアの 。 • 閉 で閉めたら、ペア開 で開ける。 • 閉 の形がバレても開け ることができない! • 両方バレたらバレる。 片方はバレOK
9.
サーバ証明書 • 俺は北斗神拳伝承者 ケンシロ ウ様だ。マジ? •
「胸に7つの傷」を持ってるし 本人だ。(みんな知ってる公開 情報だけど) • この人がケンシロウかは信頼で きる人にきけばよい。 • つまり渡された閉 が、ご本人 の かどうかは信頼できる第三 者が証明しておくということ。 http://www.hokuto-no-ken.jp/hokuto_archives/jagi.htmlより引
10.
SSL/TLS Protocol 1. いまからAmazonさんで通販をしましょう。 2.
Amazonさん、インターネットという犯罪者の巣窟に私のデータが流れ るので秘密の会話 https を希望します。 をかけて送るので閉 くださ い。 3. わかりました。閉 +証明書もつけます。 4. 閉 +証明書を受け取りました。ベリサインさん、この証明書有効です かね? 5. 有効です。私のところに登録あります。 6. 確認できたので、閉 使って今回限りの共通 、閉めて送ります。 7. 開 を使い 共通 受け取りました。それではよろしくお願いします。
11.
TLS Heartbeat • RFC6520
の 死活確認プロトコル。 • さっきの例の Amazonさん と お客さん の通信間で、「まだつ ながってる?元気?」というのを双方で確認するプロトコル。 • プロトコルとしては「死活確認!のあとに送った言葉をオウム 返しせよ」という内容。 • お客さん「死活確認!元気ですか?」 → Amazonさん「元気 ですか?」こんな流れ。
12.
その実装 • OpenSSHでは、死活確認!と言われたら送られてきた データをmemcpy でコピーすることでオウム返しをす る。 •
memcpyというのは 読んで字のごとくメモリーのコピー を行うこと。 !
13.
Heartbleed • メモリーのコピーするとき何バイトコピーするかは実は プロトコルで言うことになっている。 • 「死活確認!元気ですか?以上6文字!」 •
ここでお客さんが「死活確認!元気ですか?以上100文 字!」と言ったら・・・ • memcpyで「元気ですか?」のあと、残り94文字をメ モリのどこかからコピーし、返事してしまう。
14.
Heartbleed • HeartbeatMessage::payload_le ngthはuint16と定義されてい る。 • uint16
は 16bit 整数、最大値は 65,535 = 64k • なので、お客さんのフリをした 人が、「死活確認!あ!以上 65,335文字!」と言い続ける と・・・ • 「あ!」のあと65,334文字返事 してしまう。という大出血。
15.
Heartbleed • 漏れたデータの先に、ペア開 があったとしたら・・・。 • 両方バレたってことやん!オ ワタ •
それどころか、http応答してい るプロセスの読み込んでいる ものが全バレの可能性がある。 • ていうかバレてる前提で動く べき。
16.
まとめ • 死活確認という単純で失敗することがあるある前提なプロトコルの実装 にバグがあった。 • その結果、問い合わせに対して応答するアプリのメモリをuint16分相手に 送っていた。たいていの場合、応答するアプリは秘密情報満載。 •
暗号方式でバレていない前提のものがちゃぶ台返しになってしまったの で、大変なことに。 • memcpyとか気をつけましょう。Microsoftならmemcpy_sとかあるんや で? • 今回はOpenSSLという実装の問題であり、ソレ以外のSSL実装は対象 外。
17.
ふぁらお加藤 ご清聴ありがとうございました。