アカウント名:
パスワード:
そこは技術的能力ではなくモラルとかかと。
以前プライベートで、とある研究所のプロジェクトに関わったことがありましたが、研究者の書いてきたコードにバッファオーバーフロー脆弱性がある事を指摘し修正させたものの、その直後のバージョンアップされたライブラリで同じ部分に同じ穴を再実装して出してきたことがありました。
研究者にとっては研究目的の実装こそが大事で、そういう穴とかはどうでもいいんだってのがよく分かりましたよ。
研究成果自体を一般公開するために書いていたもので、修正自体は char buf[256]; → char *buf; に変更して malloc で割り当ててくれ、という程度のものです。ライブラリのソースも受け取っていたためこの点に関しては差分も付けて送ったのですけどね。
仕様上でも、その項目自体 256byte 以下とは限らない可変長のデータだったりしたため、いろんな意味で char[256] では問題があったのです。
リリース前 1 ヶ月とかではあったので多少急ぎの状態ではありましたが、仕様と利用するためのバイナリライブラリ、ヘッダファイルが公開される都合上、そのヘッダファイルを見たら一瞬で穴が推測できる程度にやばいものでした。
一応市販された商品に添付されるソフトウェアでもあったので、影響範囲が狭いとは、ちょっと言えない物だったのですが、そのまま公開されたのでした。 orz
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
これだけ騒がれていても (スコア:3, すばらしい洞察)
これだけ騒がれる前から (スコア:0, 興味深い)
>ファイル交換用のP2P ネットワークを構成するソフトウェアの開発者は、利用者の意図に反したファイルの
>公衆送信が起きない設計をしてください。
>もし中継機能やキャッシュ機能が必要とされる場合には、正当な一時的蓄積に該当する仕組みとなるよう設計
>してください。
という当たり前のことを理解できずにWinnyを作成・放流した金子勇氏の技術的能力が問題ではないのか。
Re:これだけ騒がれる前から (スコア:1)
そこは技術的能力ではなくモラルとかかと。
以前プライベートで、とある研究所のプロジェクトに関わったことがありましたが、研究者の書いてきたコードにバッファオーバーフロー脆弱性がある事を指摘し修正させたものの、その直後のバージョンアップされたライブラリで同じ部分に同じ穴を再実装して出してきたことがありました。
研究者にとっては研究目的の実装こそが大事で、そういう穴とかはどうでもいいんだってのがよく分かりましたよ。
Re:これだけ騒がれる前から (スコア:0)
> 研究者にとっては研究目的の実装こそが大事で、
> そういう穴とかはどうでもいいんだってのがよく分かりましたよ。
と解釈するのはどうかと……。
ただの研究目的で、限られた範囲の人間しか使わず、かつライフサイクルが短いコードなら、安全性の向上よりも修正コストが掛からないことを重視するでしょう。また、脆弱性を理解していても、例えば納期が迫っている状況で修正を大量発生させてプロジェクト遅延を招いたら元も子もないわけで。
そのプロジェクトの状況を知らないので何とも言えませんが、貴方の指摘がコストに見合わない修正につながるものだったということはありませんか?
Re:これだけ騒がれる前から (スコア:1)
研究成果自体を一般公開するために書いていたもので、修正自体は char buf[256]; → char *buf; に変更して malloc で割り当ててくれ、という程度のものです。ライブラリのソースも受け取っていたためこの点に関しては差分も付けて送ったのですけどね。
仕様上でも、その項目自体 256byte 以下とは限らない可変長のデータだったりしたため、いろんな意味で char[256] では問題があったのです。
リリース前 1 ヶ月とかではあったので多少急ぎの状態ではありましたが、仕様と利用するためのバイナリライブラリ、ヘッダファイルが公開される都合上、そのヘッダファイルを見たら一瞬で穴が推測できる程度にやばいものでした。
一応市販された商品に添付されるソフトウェアでもあったので、影響範囲が狭いとは、ちょっと言えない物だったのですが、そのまま公開されたのでした。 orz
Re:これだけ騒がれる前から (スコア:0)
-- A.C., nothing more, nothing less.