David Wagner, Jeffrey S. Foster, Eric A. Brewer and Alexander Aiken, A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities, Network and Distributed System Security Symposium, Feb 2000.
David Larochelle and David Evans, Statically Detecting Likely Buffer Overflow Vulnerabilities, 2001 USENIX Security Symposium, Aug 2001.
中村豪一, 村瀬一郎, 静的解析によるCプログラムのバッファオーバーフロー検出, 情報処理学会プログラミング研究会, Jun 2002.
バッファオーバーフローについて(識者に質問) (スコア:0)
Re:バッファオーバーフローについて(識者に質問) (スコア:1)
そうした汎用ライブラリを使うと、文字列格納のためのメモリがヒープ領域にとられ、文字列を連結したりするたびにデータのコピーが発生することになりがちなため、昔気質のプログラマは、実行性能が悪くなること危惧するのかもしれませんが、本当にその部分の遅さがシステムの性能に影響を及ぼすほどのものなのかを考えてみて欲しいところです。(もちろん性能に影響を及ぼす部分はチューニングのため注意深くバッファを操作するのでしょう。)
とは言ってもね… (スコア:0)
なんて知りませんがな。
無学なモンで、Win上で使える汎用文字列操作ライブラリっつーたら、
STLのbasic_string (ロケール対応が貧弱) か
MFCのCString (色々貧弱) しか思いつきません。
…きっと素晴らしいライブラリを教えてくれるんだろうと願いつつ。
Re:とは言ってもね… (スコア:1)
Re:とは言ってもね… (スコア:0)
Re:とは言ってもね… (スコア:1)
コード中のバッファオーバーフローの可能性のある箇所を列挙するようなプログラムってないんですかね。
Re:とは言ってもね… (スコア:1)
Re:とは言ってもね… (スコア:0)
間違ってませんね。大元のコメント [srad.jp]は
「なのになぜこんなに?」という質問です。それに対しあなたは
と、固定長バッファを使用したコードはあたかも必ずバッファオーバーフロー
Re:とは言ってもね… (スコア:1)
Re:とは言ってもね… (スコア:0)
単に固定長のプログラムが多いから、バッファオーバーフローを指摘されるプログラムも固定長が多いというだけかもしれませんよ?
そうではないというのであれば、具体的な統計データなり何なり出してください。
Re:とは言ってもね… (スコア:1)
Re:とは言ってもね… (スコア:0)
>なんて知りませんがな。
入念かどうか、汎用かどうかは別としてD.J.Bernsteinのおっさんみたいに
人のライブラリを基本的に利用せずに書くっていうポリシもありますね。
#私はそのポリシって好きではないですけど。
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
練習として作ってみましたとかいうオモチャじゃなくて、毎日何万アクセスも受けて365日何年も動き続ける事を前提としたヤツ。
文字列処理のためにいちいちヒープ取ってやってたら、メモリのスラシングが起きてコピー回数云々とかと比べ物にならない性能低下が発生する。
ガベージコレクションすればいいって?
あんなもんは「ゴミ撒き散らしても後で掃除しとけば文句ないんだろう」という下品でだらしない発想の元に用意されたフールプルーフ(バカ避け)機能でしかない。
実際ガベージコレクションが使われているのはB
Re:バッファオーバーフローについて(識者に質問) (スコア:1)
>毎日何万アクセスも受けて365日何年も動き続ける事を前提としたヤツ。
こんなWindows環境が欲しい!ってちょっと思っちゃった:-)
-- yuno
Re:バッファオーバーフローについて(識者に質問) (スコア:1)
プロジェクトや、プログラムの規模が大きくなると、バッファオーバーフローの知識を十分に持っているプログラマだけでメンバを構成することが不可能になると思うが。
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
bugが取れなくって徹夜でもしてあせっているんでしょう。
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
煽りってのは正論が含まれてナイト。
フツーの人はそんなこと言わない (スコア:0)
なるほど、では文字列を含むほとんどのメモリ管理をヒープ(pool)で行うApacheも練習用として作ってみましたとかいうオ
Re:フツーの人はそんなこと言わない (スコア:0)
スラッシングや処理効率などの心配が在るからメモリアロケータ
をオーバーライドして使うのが普通だと思ふ。
Apacheも、そうしていると思うけど?・・・
Re:フツーの人はそんなこと言わない (スコア:0)
Apacheって最初からスラッシングが起きたりする事の対策を半ばあきらめて、スラッシングが起きる前にそのプロセスを放棄して再フォークするという、まさに
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
日にたったの数万件程度なら、1アクセスあたり数百ミリ秒~数秒ほどの時間がありますよね。仮にヒープ管理が重いとしても、めちゃめちゃ余裕だと思うのですが。
あと、「動き続ける」という
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
処理の平均サイクルと応答速度とは別のもの。
mallocとfreeのようなオブジェクトのサイズによる管理を行う場合、効率の良い断片化の
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
などとよく言われますが、問題の本質は、
「今、そこにあるコードが、そのような考慮がされずに、書かれている」ということではないでしょうか? 新しく作るコードがどうのこうのじゃなくて、今見つかっているバッファオーバーフロー脆弱性は、いままでそのような考慮がなされずに作られているからでしょう。だから、これからも次々と「発覚」すると思われます。
Re:バッファオーバーフローについて(識者に質問) (スコア:1)
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
なんでこんなヘタクソな・・・とか思うことはありますから、
どこにでも質の悪いコードなんて潜んでいるものじゃないですかね。
#人のこと言えないのでAC
Re:バッファオーバーフローについて(識者に質問) (スコア:1)
リーダーズ英和辞典第2版より:
hacker
2 《何をやっても》うまくいかない人, 不器用なやつ, ダメな人, 並の人; #《俗》 ずさんな[しろうとの](コンピューター)プログラマー.
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
コーディング量が多くなればなるほどバグが潜在する可能性は高くなるし。
もっとも、初期のBoFの原因はコンパイラのバグが原因だったことも多かったけどな。
Re:バッファオーバーフローについて(識者に質問) (スコア:1)
あと、「o」だけ小文字なのは「Birds of a Feather」かなにかの略だからでしょうか。
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
Re:バッファオーバーフローについて(識者に質問) (スコア:0)
#初めてアセンブラでプログラム動かしたらバグってて自身を上書きしやがった!
Re:バッファオーバーフローについて(識者に質問) (スコア:1)