[過去ログ] bbs.cgi 再開発プロジェクト (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
677
(1): cheshire-cat ◆CATBCJABLA 03/08/28 20:05 ID:z667ML2h(1) AAS
はじめまして。
ネットワークセキュリティ板の住民で、cheshire-catと申します。

現在ネットワークセキュリティ板では、2chスクリプトにおけるID生成についての議論を重ねています。
その関連で沸いた話なのですが。
2chスレ:sec
2chスレ:sec

要約いたしますと。
IDの生成は、十分なランダム性という点をクリアしているのか否かという点です。
#あまり安全な設定にしすぎると、bbs.cgi全体への負荷が重くなるという点は想像できますが。

現在利用しているbbs.cgiの公開は難しいとは思います。
省4
678: 未承諾広告※ ◆aiY4htt2.2 03/08/28 21:30 ID:03zJD51Q(1/2) AAS
#MD5版ID導入
#last modified 2001年 10月 14日 by ばっきー

これ以降いぢっていないような悪寒(w
679: 動け動けウゴウゴ2ちゃんねる 03/08/28 21:48 ID:V4m9CjRl(1) AAS
どこかでマヴさんが中身載せてたような。>ID生成
680: 動け動けウゴウゴ2ちゃんねる 03/08/28 21:57 ID:S5Fg6RYs(1) AAS
ていうか現在のランダムさではだめな理由と
「十分なランダム性」を満たす要件を言えよ。
どうしたいのかがさっぱり見えない。 アホだろお前。
681
(3): 動け動けウゴウゴ2ちゃんねる 03/08/28 23:31 ID:VuzrSZs9(1/2) AAS
外部リンク[txt]:age.s22.xrea.com
これが2chのID算出方法みたいだけど、
これを今も使ってるのなら問題ないと思うが>十分なランダム性
>2chのID→IPアドレスの解析
どころか
>IPアドレス→2chのIDを推定
も(実際に書き込むまでは)不可能みたいだが
682
(1): 未承諾広告※ ◆aiY4htt2.2 03/08/28 23:43 ID:03zJD51Q(2/2) AAS
# /dev/randomを開き、先頭から16バイト読み出したランダムな値。
ここで失敗したときのことを議論しているんじゃなかったかな?石油板
手元の資料ではエラートラップしていないもより。。。
sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16); # ここ
close(RANDOM);
683
(2): 動け動けウゴウゴ2ちゃんねる 03/08/28 23:50 ID:VuzrSZs9(2/2) AAS
>開けない場合は、ランダムな数字
らしいから開くのに失敗したとしても大した違いはないような気もする
684
(1): 未承諾広告※ ◆aiY4htt2.2 03/08/29 00:03 ID:cWj9IOgI(1) AAS
>>683
sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
この部分以外にエラートラップが施していないので、
最悪、乱数を拾ってこられずに ID 生成する恐れがあるみたいです。ニヤリ

といっても自分の所持している bbs.cgi の ID を生成している部分が、
以後に改竄(wされていなければという前提ですけれど。。。
685
(1): 動け動けウゴウゴ2ちゃんねる 03/08/29 01:03 ID:RLTQJrlY(1) AAS
>>677
俺の記憶が正しければ、IDは、IPアドレスの下数桁しか使っていないはず
だから、ランダム性に関係なく、全桁は求まらないはず
686
(1): 動け動けウゴウゴ2ちゃんねる 03/08/29 03:13 ID:VojWUM5C(1) AAS
記憶っていうか>>681に書いてるわけだが

# IPアドレスからMD5を算出する。(16進数形式)
# 返ってきた文字列の"後ろから4バイト"を求める
$ipmd5 = substr(md5_hex($ip),-4);
687: cheshire-cat ◆CATBCJABLA 03/08/29 06:42 ID:/j6Qpjr7(1/3) AAS
>>681
こちらも難しいとは思うんですが。

>>承諾広告※ ◆aiY4htt2.2様
そうですね。
結局は、今利用しているbbs.cgiの2chスクリプトがわからないと判断できません。

>>685-686
うーん。それであっても。
もしその板で活動している人達が、日頃からメールなりメッセなりQでやりとりしていれば。
匿名の投稿をどれが誰なのか特定できるかも、です。
688: 動け動けウゴウゴ2ちゃんねる 03/08/29 10:10 ID:eEmYHqu7(1) AAS
「かも」。 アホか。
セキュ板住人なら実際特定してから話もってこいよ。

ていうかスレ違いじゃんかよ。
689
(1): 動け動けウゴウゴ2ちゃんねる 03/08/29 10:39 ID:pLsilB4y(1) AAS
>>681のサイトの管理人ですが、それを書くのに参考にしたのは
bbs.cgi ver 0.31 (02/04/06)
と思われるスクリプトです。

>>682-684
"開けない場合"というのは"/dev/randomを使わない設定にしている場合"
と読み置いてください。。(説明がまずかったです。)

# 該当部分のソース
$RANDOM= 1;
if($RANDOM == 1){
    sysopen(RANDOM, "/dev/random", 'O_READ') || DispError("/dev/random が開けない!");
省5
690
(1): 未承諾広告※ ◆aiY4htt2.2 03/08/29 18:26 ID:9vO/PFe2(1/3) AAS
>>689
sysread(RANDOM, $data, 16);
ここで 16 バイト読めなかったときのことです。
if (sysread(RANDOM, $data, 16) != 16) { 読み込めなかったときの処理; }
とする方が良さそうですね。
691
(1): 未承諾広告※ ◆aiY4htt2.2 03/08/29 18:32 ID:9vO/PFe2(2/3) AAS
話は変わって。。。
bbs.cgi が吐き出すエラー類。
2chブラウザの時(User-Agentが「Monazilla」を含むとき。)には、
特別なレスポンスヘッダ(エンティティ)だけを返すっていうのはいかがでしょう?
html返すよりかは多少は転送量が減りそうな。

凡例:
2ch-response: 200\n # 書き込み成功。
2ch-response: 300\n # 連投規制 ERR593みたいなの。
などなど。
692
(1): cheshire-cat ◆CATBCJABLA 03/08/29 19:34 ID:/j6Qpjr7(2/3) AAS
>未承諾広告※ ◆aiY4htt2.2さん

そこで素朴な疑問なんですが。
16バイト揃わなかったからどうする、ではなくって。
例えば「8バイトをrandから作成して、それを2回繰り返して、得られた乱数を掛けて16バイトに」とかではダメなんでしょうか。
もしくは1バイトずつ作成して16回繰り返して組み合わせる、とか。

#スクリプトへの負荷は大きくなりそうですが。
#さほど問題が無い範囲の回数で処理するなら、この手の問題はあっけなく簡単にクリアされそうな感じです。
693: 未承諾広告※ ◆aiY4htt2.2 03/08/29 20:17 ID:9vO/PFe2(3/3) AAS
>>692
2ch と同じ値を出す目的でなければどんな方法でも良いかと。
単に石油板での懸念に対してそういえばこういうこともあり得るなぁと呟いてみただけでして(^-^)
694
(2): cheshire-cat ◆CATBCJABLA 03/08/29 21:43 ID:/j6Qpjr7(3/3) AAS
>未承諾広告※ ◆aiY4htt2.2 さん

そですよね。。。。
であれば「16バイトじゃなくって、もっと少ないバイト数の乱数しか作成できないかもしれないケース」は回避できますよね。
現在のbbs.cgiを公開は難しい(と言うか無理)でしょうが。
これらのレスを見た上で、管理サイドの人がそれとなーく改造してくれるのを切に願います。

石油板、後で見てみますねん(らぶ

おまけ。

このような脆弱性?を含む(かもしれない)ケースにおいて、対処する事はですね。
2chの運営において、セキュアな環境であるように積極的に取り組み、心がけているというポジティブなアナウンスになりますし。
省8
695
(1): 動け動けウゴウゴ2ちゃんねる 03/08/29 23:30 ID:TE88n6mm(1) AAS
>>691
この要望は昔からあるけど、実装してくれないんだよなぁ。
696: 未承諾広告※ ◆aiY4htt2.2 03/08/30 00:08 ID:Jw7oTfGC(1) AAS
>>695
やはり今までにもありましたか。
でも今はそれどころじゃないようですよね(w

♪おはようございます(w
1-
あと 305 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.014s