トップページ⇒tech
67コメント13KB

バッファオーバーフロー=セキュリティーホール

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
本当に任意のプログラムを実行させられる?
0002デフォルトの名無しさんNGNG
rubyを使う限りそんなことはできません。

=begin
         終了
=end
0003デフォルトの名無しさんNGNG
>>1
セキュリティ初心者質問
http://pc5.2ch.net/test/read.cgi/sec/1090222322/
0004マイク ◆yrBrqfF1Ew NGNG
Perlのopenにコマンド渡せば実行できる。
0005デフォルトの名無しさんNGNG
P・N・G!P・N・G!
0006デフォルトの名無しさんNGNG
バッファオーバーフロー
↓
バッファオーバーラン
0007マイク ◆yrBrqfF1Ew NGNG
>>6
してその差は?
0008デフォルトの名無しさんNGNG
ageるな馬鹿
0009デフォルトの名無しさんNGNG
PNGなら可能
0010デフォルトの名無しさんNGNG
探せば一瞬で見つかるのに何でわざわざスレ立てるかね
0011デフォルトの名無しさんNGNG
夏厨だからさ
0012マイク ◆yrBrqfF1Ew NGNG
>>9
別にPNGに限ったことじゃねーよ。
0013デフォルトの名無しさんNGNG
夏だな
0014マイク ◆yrBrqfF1Ew NGNG
俺は引き篭もりだから別に夏は関係ないがな。
0015デフォルトの名無しさんNGNG
このスレ即死するな
0016マイク ◆yrBrqfF1Ew NGNG
>>1
実行できるけど2chネラはアレだからわからないよ。
0017デフォルトの名無しさんNGNG
http://www.ipa.go.jp/security/awareness/vendor/programming/b06_01.html
0018デフォルトの名無しさんNGNG
バッファーオーバースローしたあとにダンプしてどこのアドレスに飛んだかを見れば一発!!
0019デフォルトの名無しさんNGNG
バッファサイドスローやバッファスリークオーターはどうでしょうか?
0020デフォルトの名無しさんNGNG
バッファローマン≠ラーメンマン
0021デフォルトの名無しさんNGNG
stackをガードしとけ
0022デフォルトの名無しさんNGNG
ネイティブコードじゃ避けられない問題。
VM上なら同じバグでもDoSで済む。
まあ、何だ、そこでManaged C++ですよ。
0023デフォルトの名無しさんNGNG
>>22
XPSP2から避けられるようになったんだろ。
明示的に実行可能属性を指定してないヒープとスタックにあるコードは
実行する事が出来なくなる。
0024デフォルトの名無しさんNGNG
>>23
それってAthlonだけだろ
0025マイク ◆yrBrqfF1Ew NGNG
ページ毎に実行コントロールできるAlphaプロセッサがいいんだよ。
PPCは嫌だが。

>>22
そんならJavaでいいだろ
0026デフォルトの名無しさんNGNG
>>24
それもAthlon64の32bitモードだけ
0027デフォルトの名無しさんNGNG
NoconaもNXbit対応してるし
0028デフォルトの名無しさんNGNG
おまいらlibpng1.2.6rc5になりますたよ。
chrisがquite seriousな脆弱性を発見したそうだ。
http://www.libpng.org/pub/png/libpng.html
0029デフォルトの名無しさんNGNG
オーバーフローエクスプロイットのこと?
0030デフォルトの名無しさんNGNG
バッファローマン
0031デフォルトの名無しさんNGNG
>>23
ちょっと待った!
>明示的に実行可能属性を指定してないヒープとスタックにあるコードは
>実行する事が出来なくなる。
こんなもん当たり前だと思ってたんだけど
PC のプロセッサは当たり前じゃないの!?
0032デフォルトの名無しさんNGNG
あるけどOSが使ってなかった
0033デフォルトの名無しさんNGNG
>>31
IA32 というかインテル系のCPUにはそういう機能が最近までなかった。
0034デフォルトの名無しさんNGNG
プロテクトモードセグメントに実行可能フラグなかったっけ…?
もしかしてCS=DS=SSとか。
0035デフォルトの名無しさんNGNG
>>34
無かったと思うよ。んだから今回のXP SP2の機能も、
AMD64 とか一部のCPUでしか使えない。
(新らしめのPen4にもあるんだっけ?)
0036デフォルトの名無しさんNGNG
>>34
セグメント(セレクタ)にあってもしようがないような・・・
だってデータのつもりの領域も「jmp 後(実行するとき)」は CS
でアクセスするんだから、実行されちゃうでそ。
0037デフォルトの名無しさんNGNG
>>35
最新コアのXEONのみ>P4
0038デフォルトの名無しさんNGNG
>>36
そもそもDSやSSに割り当てられている領域へのjmpを禁止するのでは?
0039デフォルトの名無しさんNGNG
NXビット付きのCPUが普及したら、オーバーフロー対策は必要なくなる?
0040デフォルトの名無しさんNGNG
んなわけない。
0041デフォルトの名無しさんNGNG
>>36
CSのリミットを小さくしてデータはそれより上位のアドレスに配置するという
技が最近のLinuxでは使われてるらしい
0042デフォルトの名無しさんNGNG
>>41
ページ毎に実行可、不可のフラグがつけられるわけだから(新しめのCPUだけね)、
CS / DS / SS で論理アドレスを分けておくのは必須なんだろうけど、>>36 が言ってるのは、
far jmp (or FRET) すると cs 自体が書き換わっちゃうから意味無くないか、ということでは?

それともFRET って特権命令か何かでトラップできたっけ・・・
0043デフォルトの名無しさんNGNG
RETF自体は特権命令じゃないけどディスクリプタのロードは
DPLとかCPLとかRPLで制限できるでしょ
0044デフォルトの名無しさんNGNG
VC限定だけど
GSオプションつけてコンパイルするだけじゃダメなんですか?
0045デフォルトの名無しさんNGNG
トッカータとフーガ
0046デフォルトの名無しさんNGNG
なんかこう、セキュアなプログラミングのスレって無いんですかね
ここも寂れてるし
0047デフォルトの名無しさんNGNG
質問があるならここですればいいし
盛り上げたければネタ振ればいいだけだろ。
0048マイク ◆yrBrqfF1Ew NGNG
malloc chunkがわけわからんな
0049デフォルトの名無しさんNGNG
外部から入力された内容を
固定長バッファにコピーする時にレングスチェックを怠ってると
バッファオーバーフローが起こると考えていいわけですよね?


それとも他のパターンがあったりするんですか?

識者の方々はその辺りどう気をつけてるのかなと思って
0050デフォルトの名無しさんNGNG
Javaならあり得ない。
0051マイク ◆yrBrqfF1Ew NGNG
>>49
integer overflowはどうなる
あとformat string bugも
0052デフォルトの名無しさんNGNG
>>49
1バイトだけでバッファーオーバーフローがどうとかいう文書見た気がする
理解できなかったけど
0053デフォルトの名無しさんNGNG
これ関係ある?
http://www.netbsd.org/Documentation/kernel/non-exec.html
0054マイク ◆yrBrqfF1Ew NGNG
>>53
NetBSD最強!ってことだな。
0055デフォルトの名無しさんNGNG
そういえばPS2のバッファオーバーフロー(メモリーカードの処理だっけな)の
エクスプロイトコードをどこかでみたな
0056マイク ◆yrBrqfF1Ew NGNG
>>52
i386みたいなアーキテクチャ+sfpのoverwrite+ずらしたsfpの位置周辺に上手いこと入力したバッファがある
という条件が普通は必要じゃねえか?
0057マイク ◆yrBrqfF1Ew NGNG
俺はできるがgoodを表示させられる奴いるか?

//bcc32 5.5.1 on win2k
#include <iostream>
#include <iomanip>
int main()
{
volatile int n = 0;
char buffer[128];
cin.get(buffer, 132, '\0');
std::cout<<(n == 4276545 ? "good" : "bad")<<std::endl;
return 0;
}
0058マイク ◆yrBrqfF1Ew NGNG
やはり誰もいないな(▽
0059デフォルトの名無しさんNGNG
VCの/gsオプションつけても防げないバッファオーバーランのバグをついたセキュリティーホールって作成可能?
0060マイク ◆yrBrqfF1Ew NGNG
そもそもgsオプションはどういう仕組みでバッファオーバフローを防ぐ?
スタックフレームに改竄検知用のカナリア入れるのか?
0061デフォルトの名無しさんNGNG
そうみたいだ
http://codeguru.earthweb.com/columns/Kate/article.php/c8361/
0062デフォルトの名無しさんNGNG
バッファオーバフローのって入力に固定バッファじゃなくて
必要なだけその都度メモリ確保すれば防げるの?
0063デフォルトの名無しさんNGNG
>>62
違います。
0064デフォルトの名無しさんNGNG
セキュアなプログラムのノウハウが集約されているサイトってないかな
Webプログラム板の方がいいのかな
0065マイク ◆yrBrqfF1Ew NGNG
>>59
改竄チェック用のカナリアを正当な値で上書きすれば
チェックを擦り抜けられるだろ。
0066デフォルトの名無しさんNGNG
ttp://www.ipa.go.jp/security/awareness/vendor/programming/intro.html
定番
0067デフォルトの名無しさん05/02/05 10:39:13
age
■ このスレッドは過去ログ倉庫に格納されています