「オープンソースの方が安全」という神話はOpenSSLの致命的な脆弱性問題で変わるのか 116
ストーリー by hylom
そんな神話あったっけ 部門より
そんな神話あったっけ 部門より
あるAnonymous Coward 曰く、
本家slashdot「How Does Heartbleed Alter the 'Open Source Is Safer' Discussion?」より。
先日明らかになったOpenSSLの脆弱性「Heartbleed」はオープンソース界にとって大きな打撃と言えるだろう。
ソースコードが公開されており日々手が入れられているフリーソフトウェアやオープンソースソフトウェア(FOSS)ではHeartbleedのような脆弱性は起こらないと信じられてきた。エリック・レイモンドがかつて述べたように「十分な目ん玉があれば、全てのバグは洗い出される」はずであった。
「セキュリティ面においてFOSSはより優れている」との主張にうんざりしているプロプライエタリソフトウエアのユーザーの多くはHeartbleedによってこの神話が崩壊したことを喜んでいるだろうが、読者諸氏はこの問題をどう見る?
オープンソースの方が安全 (スコア:5, すばらしい洞察)
そんな神話は最初からなかった
Re:オープンソースの方が安全 (スコア:2)
というか、神話は最初から神話でしかなかった、というか。
Re:オープンソースの方が安全 (スコア:2)
クラッカーの大半は営利目的だから、攻撃が成功した場合のリターンが大きければ、OSSだろうとクローズドだろうと安全じゃない。
脆弱性市場というものが既にある。 http://cpplover.blogspot.jp/2012/06/blog-post.html [blogspot.jp]
なのでクローズドが安全というのも同じくナンセンス、
攻撃しても大したリターンがないようなマイナーなソフトでないかぎり、脆弱性情報の取引価格の上昇要因にしかならない。
Re: (スコア:0)
OSSの方が見つけやすく直しやすいというだけで、網羅的に安全を保障しているわけではない。
そもそも (スコア:0)
プロプラの方が安全という嘘を誰も信じなくなっただけだし。
Re: (スコア:0)
安全、という話じゃなくて、脆弱性が発見されたら公開される、って方じゃないっけ?
プロプラだと脆弱性を某ハッカーが見つけた場合、繰り返し悪用されるだけで、その実態をどのように公開するか?の道筋がわからん。
Re:オープンソースの方が安全 (スコア:3, 興味深い)
どこにレスつけようかと思ったけど、ここに。
>安全、という話じゃなくて、脆弱性が発見されたら公開される、って方じゃないっけ?
ですね。
そもそも「オープンソースに危険性がない、ぜい弱性がない」っていう話ではない。
プロプラに脆弱性があった場合
「ぜい弱性の公開がされるかわからない。対策、パッチがいつ出るか、提供されるかはメーカーの胸先3寸、
そもそも会社がなくなってればどうしようもない。」
オープンソース
「基本的に公開される。パッチは基本すぐに作られる(テスト不足であっても。)。 誰も作る人がいなければ最悪自分で(何処かに頼んでも)つくればいい・ソースはあるのだから。」よってパッチの公開速度が速いし、対策できない事は理論上あり得ないので、(プロプラよりは)総合的に安全度を高くすることが可能。
これは、=危険性のある時間が短いという意味で、時間で鳴らした場合の危険度の問題だと思ってます。
この辺の”時間”とか”総合”とかの前提を全く考えず、”主文”のみ取り出す人が最近多い気がしますね。
(この件に限らず、日常でも)
Re:オープンソースの方が安全 (スコア:2, 興味深い)
オープンソースだとソースから脆弱性を発見されるってリスクもあります。
クローズソースならトライアンドエラーで穴探しするしかないわけで。
(バイナリから探すってレベルだとどっちも同じなので除くとして)
問題が既知になってから修正されない危険度合いはオープンソースのが確実に低いですけども
時間に関してはどっちに限らず開発のアクティブさによるとしか言えない気がします。
Re:オープンソースの方が安全 (スコア:1)
>時間に関してはどっちに限らず開発のアクティブさによるとしか言えない気がします。
この認識自体が間違い。
「その既知のぜい弱性に対する開発の時間が遅い(アクティブさがたりない、動かない)と思えば、
自分でそこの部分は自分の気に入る速度で修正しろ。
そうすれば自分のとこは自分の気に入るように常に安全だ。
(いつでも塞げるから安全性は高い)」
それがオープンソースでしょ。 その前提を無視して「パッケージングされたディストリ」
そのもので比べるからおかしい。
パッケージングされたディストリのみで比べるならプロプラもオープンソースも対して変わらん。
Re:オープンソースの方が安全 (スコア:2, 参考になる)
> 安全、という話じゃなくて、脆弱性が発見されたら公開される、って方じゃないっけ?
いや、オプソ教信者は、皆が監視してすぐに直されるから安全と主張していた。
ところがだ、memcopyの境界チェックすっ飛ばしなんか、調べようと思えばソースを簡単にチェックできるものなのに、長期に渡って、そして広範囲で使われるようになっても、誰も気づかなかった。
いや、気付かなかったわけではなかった…。
> プロプラだと脆弱性を某ハッカーが見つけた場合、繰り返し悪用されるだけで、
> その実態をどのように公開するか?の道筋がわからん。
オープンソースなので、OpenSSLで混入した脆弱性は容易に知ることはできたし、実際にすぐに発見されていた。
ところがだ、発見者は脆弱性を公開・指摘することをせずに悪用していた。
具体的な一例をあげると、NSAはこの脆弱性を利用していたと関係者からの証言があると報じられている。
まさに、君がプロプラの問題点と言っている点が、OpenSSLの脆弱性で発生していたわけ。
この攻撃がNSA以外でも、どの範囲でどれくらい行われていたか見当もつかないくらい検知不能なものだった。
しかも過去のデータにさかのぼってクラックできるという致命傷すぎる大きな怪我だ。
この件で、プロプラと比較してオープンソースは脆弱性が発見されやすいが、公表されるとは限らず、悪用されやすいという事実を証明してしまった。
Re:オープンソースの方が安全 (スコア:3, 興味深い)
>ところがだ、発見者は脆弱性を公開・指摘することをせずに悪用していた
この悪用していたのは”オープンコミュニティに参加していた本人なの?”
違うでしょ。
「発見者(悪意あるハッカー)が通報せずに悪用する」リスクそのものはプロプラでも、オープンソースでも同じ。
どちらが安全か?という議論は「善意の発見者が通報した後、どういうシナリオになる(なりうるか)」で議論すべき事では?
ただ、それ以外に「ソースが公開されているからパッチが誰でも作れる=(安全係数)」だけでオープンソース優位と見るのは間違いだと私も
思います。それ以外に
「今回のように”ソースが公開されているからこそ悪用可能な不具合をみつけ悪用する人”」もいるわけで。
こうだろ (スコア:5, すばらしい洞察)
× オープンソースは安全
× オープンソースは危険
× クローズドソースは危険
○ モノカルチャーは危険
Re:こうだろ (スコア:1)
これに一票。
第一、ニヤニヤしながら馬鹿みたいにマイクロソフト等のプロプラなソフトを批判する人って、口先だけで実際にオープンなソース読んだ事も修正した事も無い人が大半でした。(私の周りでは)
オープンだろうがプロプラだろうが別に出自は関係なくて、それを使いこなせるか、使いこなすに値するか、ただそれだけですよ。
私はWindows好きですし、オープンソースも好きですよ。オープンソースなライブラリ使って、ソースみて自分で修正したりしてますよ。
めっ (スコア:4, おもしろおかしい)
見る目が無かった。
Re:めっ (スコア:1)
「十分な目ん玉があれば」の前に「数・質ともに」が要るわな。
Re:めっ (スコア:1)
そもそも見る事に対してのモチベーションが無いってのが、オープンソースで長期間放置されていたバグの典型例だという。
そりゃ仕事でも無く、目新しくも無い物を面白くも無い他人のポカを探す為に時間を使う位なら、もちっと面白そうな物に手を出すだろうってのは判り易い。
アクティブな製作者であればなおの事。
Re: (スコア:0)
節穴だった。
Re:めっ (スコア:1)
悪意に満ちた賢者よりも、善意に満ちた愚者を恐れよ。
前者が何をしでかすかは予測できるが、後者は予測できぬ。
(引用元はとあるfjの教祖様のプロフィール [srad.jp])
予測不可能な何かが起きのだろうと思います。
Re:めっ (スコア:2)
数はアテにならないので、普通に考えて品質、意外なところで大きさかもしれない。
安全の意味が違う気がする (スコア:3)
ブラックボックスで見えないことで危険なのではなく、公開されているからブラックボックス的なことがないという意味で安全
と理解していたのだが違ってるのか?
Re:安全の意味が違う気がする (スコア:1)
まさにそこを取り違えている人が「安全安心」と勘違いしていただけだとおもう。
自分の周囲にも「ソースも公開されていない市販コンポーネントなんて信用ならない」という人が
いましたが、そういう人の大半は自分でソースも見られないし、それができる部下も持ってない。
だけど、そういう人の発言だけを拾った周囲の同じような人は
「ソースがあるから安全」→「市販品より安全」→「オープンだから安全」
と勘違い伝言ゲームで安全神話の出来上がり。
ま、実際そういう人はオープンソースに行くより、「市販品を使わない」→「自力で作った方が安全」
路線になって泥沼になるんですけど(全部自作しようとしてバグとメンテで死ぬ)。
全く面白くないけど (スコア:2)
ケースバイケースでしかないと思う。
ソフトウェアの安全性なんて、それを決定するためには考えるべきことが多すぎる。
例えば利用者が多いソフトウェアは狙われやすい等、ソフトウェアの品質や開発者の対応以外の要因もたくさんあるし。
ソースがオープンであるかどうかっていう一点だけで優劣が判断できるわけがない。
新機能を搭載するとバグやセキュリティホールが入り込みやすい (スコア:2)
うちは、オープンソースだから、自分で新機能のないレガシーな v1.0.0lの最新版 ソースをダウンロードして
コンパイルして使えてたので安全だったわけなんだけど…。
というか、1.0.1も1.0.2も出てから単独でぽつぽつセキュリティホールやバグがあったから 0.9.8からそろそろ乗り換えるとしたら、
1.0.0かなって考えだったんですけどねぇ…。
(前回のセキュリティホールは 0.9.8zは影響を受けるけど、セキュリティホールにはならなかったので0.9.8z2が出なかったわけですし)
新機能を搭載した最新のバージョンはオープンソース関係なく、脆弱性があることが多いってわからない人が多いらしい・ω・
トピックの趣旨とは違うかもしれないけど (スコア:1)
バグを作った開発者個人が袋だたきになっているのを見ておっかないと思いましたよ。
あれ見て参加する意欲を失った人がいたら、それこそ打撃だと思う。
Re: (スコア:0)
この件で袋叩きになってるかどうかは解からないけど
コードが杜撰だったとしたらそれはどうこう言われることはあるんではないだろうか
もしかしたらオープンソースにしたならコード書いた人は責任は発生しないのだという考えなのかな
私個人は無償だったらそれを利用した結果の責任は利用者が追うと思ってるけど
オープンソースかどうかは関係ないと思ってるよ
Re:トピックの趣旨とは違うかもしれないけど (スコア:1)
> コードが杜撰だったとしたらそれはどうこう言われることはあるんではないだろうか
> もしかしたらオープンソースにしたならコード書いた人は責任は発生しないのだという考えなのかな
なんかやたらと責任を追及したがる人が多いですが、責任云々言うのであれば、そういうコードを受け入れたレビュア側にも責任あるのでは?
プルリクエストされたら無条件で受け入れてOKなんですか?
#元いた職場でトラブル時の責任の所在が希薄、という事を理由にオープンソースなライブラリの利用を却下されましたが、その癖Linuxの利用は推進してて「馬鹿じゃねぇの?」って思った事があります。
> 私個人は無償だったらそれを利用した結果の責任は利用者が追うと思ってるけど
> オープンソースかどうかは関係ないと思ってるよ
こっちには同意します。
結局、使った人の責任です。
製造者の責任云々言う時点でお門違いだと思ってます。
というか、無数の目からくる安全なんて、ケン・トンプソンがとっくの昔に無意味だと証明してると思ってます。
Re:トピックの趣旨とは違うかもしれないけど (スコア:1)
コミュニティ側の問題(問題コードがレビュー通過とか)そっちのけで、個人のつるし上げに走ることがあるという実例が示されただけで個人の参加者にとっては十分脅威だと思いますよ。
とばっちりだろうが、きっかけさえあればこうなると。
コードを書かない人にはどっちも一緒 (スコア:1)
開発元から修正が提供されない場合、OSSだと自分で該当部のコードを読んだり、有志がメーリングリストとかに投稿した
パッチとかを自分で適応してビルドし直して使い続ける事が出来るが、
プロプラだと、どのファイルの何処に該当部分があるのかをリバースエンジニアリングなりで見付け出して修正するしかない。
だが、それはライセンス違反になる事が多く、開発元が修正を提供しない場合使い続けるのはほぼ無理と言う事になる。
OSSならば、自前で修正してもライセンス違反の心配はほぼない。
とは言っても、それはコードを書ける人の話であって、コードを書かない人にとってはOSSでもプロプラでも違いなんてないって事。
自分で出来なくても技術者に金を払ってやって貰うって手もあるけどね。
プロプラに言える事は、ライセンスで禁止されてるから部外者が勝手に直せないって事かな。
安全神話なんて (スコア:0)
信用してはいけないということは日本人なら既知の筈
Re: (スコア:0)
新エネルギー庁に委託されたネット検閲業務受託業者から、クレームが入りませんか、それ。
Re: (スコア:0)
民主党都政?
Re: (スコア:0)
都合の悪いことは民主党ってことにせい! というネトウヨスラングなのでは?
Re: (スコア:0)
日本語が不自由なネトウヨって、街宣右翼に在日が多いみたいに、ネトウヨを語った非日本語話者ってこと?
Re: (スコア:0)
民主批判=ネトウト 意味がわからん。
Re: (スコア:0)
認定厨・連呼厨ってのはそんなもんだろ。
#ネトウトってなんだよ、ってのはさておく
Re: (スコア:0)
> #ネトウトってなんだよ、ってのはさておく
ネット舅かな。
goto fail; (スコア:0)
goto fail;
神話が崩壊してユーザーが喜ぶ? (スコア:0)
>「セキュリティ面においてFOSSはより優れている」との主張にうんざりしているプロプライエタリソフトウエアのユーザーの多くはHeartbleedによってこの神話が崩壊したことを喜んでいるだろう
どちらかというとユーザーより企業側じゃないですかね。喜ぶのは。
ユーザーは、安全であれば開発方法は問いませんよ。
Re:神話が崩壊してユーザーが喜ぶ? (スコア:1)
>セキュリティ面においてFOSSはより優れている」との主張にうんざりしているプロプライエタリソフトウエアのユーザーの多くは
そんな人ひとりも見たことないんだけど、どこにその「多く」がいるの?
Re: (スコア:0)
>ユーザーは、安全であれば開発方法は問いませんよ。
美味しければ、どんな食材でも問題ない。
自分は調理、食材等こだわりますけどね
Re: (スコア:0)
そうですね、美味しくても調理や食材等にこだわりたいですね。だから美味しさと安全は別物ですよね。
Re: (スコア:0)
(#2583699) さんの書き方だと
調理、食材等こだわります。味はどうだってかまいません。 と読めます。
つまり、これを「安全であれば開発方法は問いません」と比べると
「開発方法にこだわります。安全はどうだってかまいません。」って言ってるのでは?
とまぁ冗談はさておいて
親コメの「ユーザーは、安全であれば開発方法は問いませんよ。」はおかしいですね。
そもそもユーザーって何のユーザーのことを言ってるのかで話は変わってしまいます。
#プロプライエタリソフトウエアってあると開発の話じゃなく提供というか権利の話のような気がするのだが・・・
Re: (スコア:0)
うんざりするような主張を黙らせる為の根拠は、正常な感覚を持つ全てのユーザーにとっても大きな恩恵となるでしょう。
オープンソースでなかったら (スコア:0)
バグがそもそも見つけられない、
見つけた人が黙って悪用放題、とかの反論に答えないと無駄です。
Re:オープンソースでなかったら (スコア:3, 参考になる)
今回のバグは静的解析のCoverityでも見つけられてませんでした。なので、今回の件については、OSSかプロプラかは関係ない気がしますね。
Heartbleed and Static Analysis
http://blog.regehr.org/archives/1125 [regehr.org]
Re: (スコア:0)
オープンソースなのに3年間もバグが見つけられず、
見つけた人が黙って悪用し放題だったという事実が今回最大の問題なのでその主張は無理筋。
ついでにいうと、ソースの該当箇所を見れば一発で攻撃手法が考案できるレベルのバグなので
今回に限ってはオープンソースの方が危険という主張につながるわけで。
オープンソースだからと言って見られているとは限らない (スコア:0)
オープンソースだからと言ってメンテナンスする人がいるとは限らない。
プログラマーが無償で働いてくれるという前提で動いているプロジェクトがほとんどなんだから当然だな。
1行1行疑ってかかる偏執病者が必要だ (スコア:0)
if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
retval = -EINVAL;
書いてくれる人は有り難いからするっと通しそう
安全神話を信じているから危険 (スコア:0)
「XXだから安全」みたいなのは、そもそも狭い範囲の少数例での観測に基づいていたりするだけで状況がかわったりそもそも違うものに対しては同じ性質を持っているからといってあてはまるとはかぎらない。にもかかわらずあっちが大丈夫だったからこっちも大丈夫みたいに信じ込んでしまうことが神話化であり、それを信じて安全性の確認の手が抜かれてしまうと危険になる。
Re:オプソの言い訳遍歴 (スコア:1)
MS製のオプソは使っていいの? 使っちゃ駄目なの?