http://lepidum.co.jp/blog/2014-06-05/CCS-Injection/ [lepidum.co.jp] >正しい実装の容易さ・困難さ > >ChangeCipherSpecを正しく実装するのは実は容易なことです。上に挙げたフローの順番通りのメッセージだけを送信し受信すればよいだけです。ただし、少しだけ>落とし穴があって、ChangeCipherSpecは他のハンドシェークのメッセージとは異なるレコードを使います。RFCにはその理由が以下のように書いてあります。 > > Note: To help avoid pipeline stalls, ChangeCipherSpec is > an independent SSL Protocol content type, and is not > actually an SSL handshake message. > > draft-ietf-tls-ssl-version3-00 §5.5より引用 > >個人的にはこの一文が今回の脆弱性の最大の原因ではないかと思っているのですが、これによると、ChangeCipherSpecが独立したレコードになっているのはパイプラインストールを防ぐためだそうです。
誰? (スコア:0)
この機能をコーディングし実装した人は。
さらにいうなら、レビューして許可した人は。
Re:誰? (スコア:4, すばらしい洞察)
問題を矮小化し悪い者探しをしてその人たちを槍玉に挙げて満足していたんじゃ
何の問題解決にもならず同じ失敗が繰り返されるだけです。
問題が起きた根本の原因を突き止めてそれを改善するのが
プログラム開発のみならずビジネスの基本かと思います。
Re: (スコア:0)
個人評価を避けたいなら個人という概念がない社会を作らないと上手くいかないよ
アリとかハチみたいな社会
Re:誰? (スコア:1)
そうだね。何より重要なのは、オープンソースを使うなら自己責任で使えって事だね。
Re: (スコア:0)
ここはソフト屋さんが多いからマイナスモデされてるけど、本質は突いている。
オープンソースに限らずすべてにおいて自己責任ってね。
Re:誰? (スコア:1)
能力の高い人だけで構成された夢のようなプロジェクト・現場などありえません。
人の問題に終始して能力の低い人を切ることで解決した気になっていると
別の能力の低い人がまた同じ間違いをするだけという極々当たり前のお話です。
Re: (スコア:0)
一人ひとりが完璧であることはありえないからこそプロジェクトとしてのレビュー等が必要になるんですよ?
Re: (スコア:0, すばらしい洞察)
おしい、最後の三行が余計だよ。
Re: (スコア:0)
あの一級建築士って能力が不足してたから基準に満たない設計をしたんでしたっけ?
Re:誰? (スコア:1)
・能力がある者が強度不足になると知りつつ行った設計
・能力不足(しかし本人は能力があると思っている)による設計
どちらが悪いのでしょう?
Re:誰? (スコア:2, おもしろおかしい)
この後Theoが
料理セキュリティの基本を教えて美食倶楽部オープンソース界に帰らせる流れですね。Re:誰? (スコア:3, 興味深い)
もう教えるとかゆーレベルじゃない。あいつらはダメだ。 [libressl.org]
なんで外人はWebページのフォントにComic Sans MSを指定するのか (スコア:0)
日本人が創英角ポップ体を指定したがるようなもの?
Re:なんで外人はWebページのフォントにComic Sans MSを指定するのか (スコア:1)
一番下をよく読めばいいと思うな
Re:なんで外人はWebページのフォントにComic Sans MSを指定するのか (スコア:1)
http://security.srad.jp/story/14/04/24/1756212/OpenBSD%E3%81%8COpenSSL... [srad.jp]
Re: (スコア:0)
<blink>タグをまだサポートしているような古いブラウザを未だに使ってるセキュリティ意識ゼロのやつを煽って何がしたいの?
(Geckoはこの案が通って [srad.jp]廃止、Prestoはエンジン自体が開発終了、そもそもNetscape独自タグだったのでWebKit/Blink/IEは最初から非サポート)。
# 前のストーリーで誰も言及していないことに驚愕
Re:なんで外人はWebページのフォントにComic Sans MSを指定するのか (スコア:2, すばらしい洞察)
少しでもセキュリティ意識のある人なら,blink が CSS アニメーションで実装されていることに気づくからじゃなかな。
Re:誰? (スコア:2, 興味深い)
今回の件、実装がと言うよりRFCそのものに問題があったのではと、
本件を発見した技術者が報告しているのでは?
http://lepidum.co.jp/blog/2014-06-05/CCS-Injection/ [lepidum.co.jp]
>正しい実装の容易さ・困難さ
>
>ChangeCipherSpecを正しく実装するのは実は容易なことです。上に挙げたフローの順番通りのメッセージだけを送信し受信すればよいだけです。ただし、少しだけ>落とし穴があって、ChangeCipherSpecは他のハンドシェークのメッセージとは異なるレコードを使います。RFCにはその理由が以下のように書いてあります。
>
> Note: To help avoid pipeline stalls, ChangeCipherSpec is
> an independent SSL Protocol content type, and is not
> actually an SSL handshake message.
>
> draft-ietf-tls-ssl-version3-00 §5.5より引用
>
>個人的にはこの一文が今回の脆弱性の最大の原因ではないかと思っているのですが、これによると、ChangeCipherSpecが独立したレコードになっているのはパイプラインストールを防ぐためだそうです。
本件、HeartBleedの件の後ということで、敏感になっているので、
大げさに取り上げられたり、取り上げた記事が煽り気味だったりと、ちょっとした騒ぎになってますけど
そもそも、発生する条件が限定的で、そこまで騒ぐような問題でも無いように感じるのは
セキュリティ意識が低いでしょうか?
Re:誰? (スコア:3)
あなた自身はわかって書いているのかもしれませんが、誤解を招く書き方だと思ったので念のため。
菊池氏のブログ記事に対する僕の理解が正しければ、あくまでも OpenSSL の実装に脆弱性があるのであって、 RFC に定められた仕様に脆弱性があるわけではありません。菊池氏は、今回の OpenSSL の脆弱性が生じた最大の原因は RFC に書かれた注釈 (note) の中の一文だろうと分析していますが、 RFC に定められた仕様自体に脆弱性があるとは書いていません。それどころか、「ChangeCipherSpec は必ずこの位置で行うことになっています」と、仕様通りに実装されていれば防げた脆弱性であると書いています。
「実装というより RFC そのものに問題があった」という言葉の解釈によっては、間違ったことは何も言っていないとも受け取れますが、今回の状況は「仕様そのものに脆弱性があった」という (これまた割とよくある) 状況とは違うので、誤解を招く書き方だと感じました。
Re: (スコア:0)
>>それどころか、「ChangeCipherSpec は必ずこの位置で行うことになっています」と、仕様通りに実装されていれば防げた脆弱性であると書いています。
「OpenSSLもChangeCipherSpecをこのタイミングで送信します」
Re:誰? (スコア:1)
だから何?
OpenSSL は送信時には仕様を守っているけれど、受信時には仕様と異なるタイミングでも ChangeCipherSpec を受け付けるから問題になったわけ。わかる?
Re: (スコア:0)
>>受信時には仕様と異なるタイミング
そんなこと、仕様書のどこに書いてありますか?
Re:誰? (スコア:2)
ChangeCipherSpec メッセージの正しいタイミングは RFC 5246 の 7.1 節 [ietf.org]に書いてある。また、不適切なメッセージは致命的エラーとして扱えと 7.2.2 節 [ietf.org]の unexpected_message の項目に書いてある。
相手に手間を掛けさせてイライラさせるだけのために自分でも意味のわかっていない質問をするのは、あなたは楽しいかもしれないけれど迷惑だからやめてほしい。
Re: (スコア:0)
いや、だからね、RFC見て言ってるんだけどさ、
7.1節だというなら7.1節でいいんだけど、どの文章を読んで「受信のタイミングが規定されてる」と主張してるわけなのさ?
そのタイミング以外は不適切なメッセージとして扱えという主張だとお見受けする以上、MUSTで規定されてるってことだよね?
Re:誰? (スコア:2)
条件は限定的でも、MITM attackを許すってのがまずいなと思っています。ご存じの通り、MITM attackを許すことは、SSL/TLSの信頼性をまるっと否定されるってことです。
これがDoSとかだったら、たとえ多少攻略しやすいものでも問題の度合いは低くなるかなと。
Re: (スコア:0)
致命的な物も含めてバグが短期間に複数見つかれば「他にもまだ残っているんじゃないのか?これは使って大丈夫なのか?」と疑うのは不思議ではありません。
Re: (スコア:0)
NSAの可能性を考慮するよりも、検証方法を改善した方が有益。
Re:誰? (スコア:1)
検証方法はCoq [inria.fr]
Re: (スコア:0)
無能で十分説明されることに悪意を見出すな
Re: (スコア:0)
いや、だから
「この機能をコーディングし実装した人」と「レビューして許可した人」
が無能だなぁと言っているんだと思うよ。
Re: (スコア:0)
他人の成果を無料で使って文句だけは言うような連中の
1%でもいいから、コードレビューに貢献してれば
15年は前に見つかったかもしれないな。
Re: (スコア:0)
最終的にレビューして許可した人はユーザ自身でしょ。
Re: (スコア:0)
じゃあセキュリティ専門家とやらは単なる給料泥棒だからみんなクビにしよう。
Re: (スコア:0)
あなたがセキュリティ専門家にOpenSSLの安全性についての調査依頼したことがあるなら、それでも良いんじゃない?
Re: (スコア:0)
元コメの質問を何でそこまで飛躍できるのかよくわかりません。
ユーザ自身が最終的にレビューして許可するのにセキュリティ専門家の意見だって参考になるでしょ。
Re: (スコア:0)
> この機能をコーディングし実装した人は。
コミットログを調べれば分かるのではないでしょうか。
> さらにいうなら、レビューして許可した人は。
個々のプロジェクトでOpenSSLを使うということを決めた人ですね。