X



トップページ開発室
202コメント86KB
書き込みログのIP&リモホを見た目わからなくする方法を考えよう
0001偽FOX ★
垢版 |
NGNG
サーバ乗っ取られて書き込みログを見られてもokにしよう。
IPアドレスとかリモホり部分っすね、

これが出来たら、乗っ取られたっていいジャン! になる。

誰か方法考えてちょ
0135名無しさん@お腹いっぱい。
垢版 |
NGNG
と言うかよく考えたらこのスレの大前提である「書き込みログを見られない様に」って本当に必要なの?

今まで通り基本非開示で裁判所の命令とか荒らし対策とかで開示する、って運営じゃダメなの?
「基本非開示だけど外的要因で2ちゃんねるの意図ではなく開示されてしまうことがある」って書いておけば良いんじゃね。
というか書かなくてもよいんじゃね?あくまでも外的要因だから。「IP非開示は保証の限りではない」位で?

簡単に実装出来てかつ負荷無く動作するんなら有った方が良いんだろうけど・・・
それともやはり匿名性は可能な限り確保したいのかな。それが2ちゃんねるの売りでもあるから
0139名無しさん@お腹いっぱい。
垢版 |
NGNG
use Benchmark;
use Crypt::CBC;
use Crypt::OpenSSL::RSA;

# CBC / Blowfish の準備
my $Blowfish = Crypt::CBC->new({'key' => 'angokey', 'cipher' => 'Blowfish'});
# RSA の準備
my $Rsa = Crypt::OpenSSL::RSA->generate_key(1024);

my $count = 100000;
my $UserInfo = 'user0721.isp.2ch.net<>127.0.0.1<>marumaru<>Monazilla/1.00';

timethese($count, {
'Nama' => sub{$UserInfo}, # 何もしない
'CBC-Blowfish' => sub{$Blowfish->encrypt($UserInfo)},
'OpenSSL-RSA' => sub{$Rsa->encrypt($UserInfo)}
});
0140名無しさん@お腹いっぱい。
垢版 |
NGNG
結果
CBC-Blowfish: 20 wallclock secs (15.98 usr + 3.30 sys = 19.28 CPU) @ 5186.18/s(n=100000)
Nama: 0 wallclock secs (-0.00 usr + 0.00 sys = -0.00 CPU) @ -28147497671065600000.00/s (n=100000)
OpenSSL-RSA: 8 wallclock secs ( 7.94 usr + 0.00 sys = 7.94 CPU) @ 12599.22/s(n=100000)


Blowfishの方が重いのは、

http://perldoc.jp/docs/modules/Crypt-CBC-2.08/CBC.pod
> 暗号と復号の処理は同等の(Cでコンパイルされた)SSLeayプログラムよりも
> 10分の1ほどの速度です。
> これをCで実装することによって改善することができるでしょう。

という部分の差ってことなのかな。
0141名無しさん@お腹いっぱい。
垢版 |
NGNG
OpenSSL::Blowfish もあったので

# CBC / OpenSSL / Blowfish の準備
my $OsslBlowfish = Crypt::CBC->new({'key' => 'angokey', 'cipher' => 'OpenSSL::Blowfish'});

'CBC-OSSL-Blowfish' => sub{$OsslBlowfish->encrypt($UserInfo)}

を追加して試す。

結果

CBC-Blowfish: 19 wallclock secs (15.53 usr + 3.31 sys = 18.84 CPU) @ 5307.01/s(n=100000)
CBC-OSSL-Blowfish: 18 wallclock secs (14.50 usr + 3.28 sys = 17.78 CPU) @ 5623.66/s (n=100000)
Nama: 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) @ 100000000.00/s (n=100000)
OpenSSL-RSA: 8 wallclock secs ( 7.83 usr + 0.00 sys = 7.83 CPU) @ 12774.66/s(n=100000)

大して変わらなかった。
0142名無しさん@お腹いっぱい。
垢版 |
NGNG
>>139
文字数が多くなっただけ重くなるとか?

長いリモホ
CPE00248c15080f-CM0014e82750b2.cpe.net.cable.rogers.com
長いUA
Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10

極端に重くなるようだったら暗号化鯖でも作ってソケット経由で丸投げした方がいいかもしれん
複合化鯖はqb7以外からの接続拒否
0143名無しさん@お腹いっぱい。
垢版 |
NGNG
use Benchmark;
use Crypt::CBC;
use Crypt::OpenSSL::RSA;

# CBC / Blowfish の準備
my $Blowfish = Crypt::CBC->new({'key' => 'angokey', 'cipher' => 'Blowfish'});
# RSA の準備
my $Rsa = Crypt::OpenSSL::RSA->generate_key(1024);
# CBC / OpenSSL / Blowfish の準備
my $OsslBlowfish = Crypt::CBC->new({'key' => 'angokey', 'cipher' => 'OpenSSL::Blowfish'});

my $count = 100000;
my $UserInfo = 'user0721.isp.2ch.net<>127.0.0.1<>marumaru<>Monazilla/1.00';
timethese($count, {
'CBC-Blowfish' => sub{$Blowfish->encrypt($UserInfo)},
'OpenSSL-RSA' => sub{$Rsa->encrypt($UserInfo)},
'CBC-OSSL-Blowfish' => sub{$OsslBlowfish->encrypt($UserInfo)}
});

$UserInfo = 'CPE00248c15080f-CM0014e82750b2.cpe.net.cable.rogers.com<>127.0.0.1<>marumaru<>
Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10';
timethese($count, {
'CBC-Blowfish' => sub{$Blowfish->encrypt($UserInfo)},
'OpenSSL-RSA' => sub{foreach($UserInfo =~ /.{1,86}/g){$Rsa->encrypt($_)}},
'CBC-OSSL-Blowfish' => sub{$OsslBlowfish->encrypt($UserInfo)}
});
0144名無しさん@お腹いっぱい。
垢版 |
NGNG
結果

短い方
CBC-Blowfish: 19 wallclock secs (15.73 usr + 3.00 sys = 18.73 CPU) @ 5337.89/s(n=100000)
CBC-OSSL-Blowfish: 17 wallclock secs (14.39 usr + 3.24 sys = 17.63 CPU) @ 5673.76/s (n=100000)
OpenSSL-RSA: 8 wallclock secs ( 7.83 usr + 0.00 sys = 7.83 CPU) @ 12774.66/s(n=100000)

長い方
CBC-Blowfish: 27 wallclock secs (23.77 usr + 3.20 sys = 26.97 CPU) @ 3707.96/s(n=100000)
CBC-OSSL-Blowfish: 25 wallclock secs (22.19 usr + 3.16 sys = 25.34 CPU) @ 3945.71/s (n=100000)
OpenSSL-RSA: 24 wallclock secs (23.95 usr + 0.00 sys = 23.95 CPU) @ 4174.67/s (n=100000)

まあ大きくなれば遅くなるわね。
RSAでは、一回分の大きさを超えてしまったので、分割して暗号化。
差が縮まったのは、このせいで padding が増えて、効率が下がったせいかな。
0145名無しさん@お腹いっぱい。
垢版 |
NGNG
サーバ侵入に備えての暗号化で、復号鍵(とか復号に必要なもろもろ)を
サーバに保存するには、復号作業用サーバの安全性が問題になるわけだけど、
ここのところの各機能の開発状況を見ていると、qb7 が一般サーバより
安全になるとは思えないんだよねえ。
この先変わるのかな。

作業者に復号鍵を持たせるのは面倒じゃないか、
暗号化の重さに見合う利益はあるか、
侵入対策が侵入されたら解読される程度でいいのか。

何をしても費用対効果は悪いねえ。
0147名無しさん@お腹いっぱい。
垢版 |
NGNG
やっぱりログファイル丸ごと負荷の少ない時間に暗号化するのが現実的なのかな
OSの機能で暗号化するとおそらくハッキングに対しては無力だし、書き込みのたびにログを暗号化すると負荷がどれ位掛かるのか判らない
0148名無しさん@お腹いっぱい。
垢版 |
NGNG
>>147
書き込みログの形式にもよるけどな

apacheのようなログであれば(時間毎などで)分割すればいいけど
2chブラウザが取得してるようなdatファイルに追記してるならファイル丸ごとなんてことは不可能

それに負荷が低い時にまとめてとあるけど
負荷が高いまま数十時間やられたらどうしようもないな
特に、実況板(ログとって無いとかほざくやつは実況板で犯罪予告してこいや)
0149名無しさん@お腹いっぱい。
垢版 |
NGNG
(A)
投稿時には、1294604913_20110123.log のようなスレ・日単位で生ログファイルを作成。
暗号化時には、ファイルごと暗号化し、生ログを削除。

(B)
投稿時には、従来通りスレ単位の生ログファイルを作成。
暗号化時には、投稿1件分ずつ暗号化して、暗号化ログファイルに追記、生ログを削除。


Aだと、投稿内容とか暗号化の必要がないものも暗号化することになるし、
復号もファイル全体になるので、効率が悪いかな。

Bなら、ログの内からIPアド等の非公開部分だけ暗号化すればいい。
復号も投稿1件ずつすることが可能。
ランダムデータを付加するとしても、データ量はAよりは少ないか。
0150 ◆A/T2/75/82
垢版 |
NGNG
みんなの意見をいろいろ考えてみた。
まずは一歩踏み出してみることにしよう。

一歩目は、書き込みログが外に漏れても普通の人はよくわからなくする。
IPアドレスとリモホ(●やbeの情報を含む)の部分だけやってみるだす。
漏れても解析にそれなりの時間がかかるような方法にしてみるです
そのサーバが乗っ取られてもすぐには何もできないように他のサーバにアクセスしなきゃ
いけないっていうのもハードルが一つ上がるのでやってみようと思っていまーす
0152 ◆A/T2/75/82
垢版 |
NGNG
myanmar yangon sakhalin @dso が自分でPerlのモジュールを入れられないなぁ
qb5 もかぁ・・・

こりゃちと面倒だなぁ

use Crypt::CBC ;
とかやりたいんだけど、Perlで CBCモジュールが入っていたらとかって
記述できるの?
0153 ◆A/T2/75/82
垢版 |
NGNG
toki , hibari , yuzuru のPerlを再インストールしなきゃならないらしい。
そのときはサーバ止める予定。
0154 ◆A/T2/75/82
垢版 |
NGNG
ふむふむ、こうやればいいのか

sub check_module {
my $module = $_[0];
# モジュールが存在すれば読み込む
eval "use $module;";
if ($@) {
return 0;
} else {
return 1;
}
}
0159 ◆SGypsyBBQM
垢版 |
NGNG?BRZ(10081)
書き込みログを利用しているものが影響するので、
BBM,p2 は問題ないです。 (共に登録するだけ)
0160 ◆A/T2/75/82
垢版 |
NGNG
この改造により修正したもの

1. わたしの芋掘り機
2. 削除人さん用芋掘り機
3. こらこら
4. boo (hatoに改造したのあります、配っていません)

の四つです。
まずこれらを全サーバに配ってきます。 (4は除く)
0161 ◆A/T2/75/82
垢版 |
NGNG
>>160 くばった

ではいよいよbbs.cgiを全サーバにくばりまーす
0162 ◆A/T2/75/82
垢版 |
NGNG
みごとに、ここdsoは500になっちゃった
元に戻した @dso
0163名無しさん@お腹いっぱい。
垢版 |
NGNG
改造前と、改造後の報告は、混同しちゃだめ?
改造前のログは掘れる?
0164名無しさん@お腹いっぱい。
垢版 |
NGNG
qb5もエラー吐いてるな
0165 ◆A/T2/75/82
垢版 |
NGNG
もとにもどした @qb5

このサーバPerlモジュールが足りないのよネ
それで >>154 っぱく作ったつもりなんだけど、うまくいかなかったと。
0166garnet ★
垢版 |
NGNG
がっくしではPerlモジュールの処理をこんな風にしていたり。

sub EnableGzip
{
 foreach (@INC) {
  if (open(LIB, '<' . $_ . '/Compress/Zlib.pm')) {
   my $is_zlib = grep(/sub memGunzip/, <LIB>);
   close(LIB);
   if ($is_zlib) {
    $CONFIG{'enable_gzip'} = 1;
    return(require('Compress/Zlib.pm'));
   }
  }
 }
}
0168 ◆A/T2/75/82
垢版 |
NGNG
てすと用のプログラムではうまく行ったのよ
たぶん speedy_cgi のせいだと思うのだ。
0169 ◆A/T2/75/82
垢版 |
NGNG
pinkにモジュール入れてもらうの忘れてた、
ということでpinkもbbs.cgi元にもどしましたー
0170garnet ★
垢版 |
NGNG
166はSpeedyでも動くコードだったり。汎用っぽくしてみた。

my $is_CryptCBC = &LoadModule('Crypt::CBC');

sub LoadModule
{
 my $module = shift;
 $module =~ s/::/\//g;

 if (my ($path) = grep(-f "$_/$module", @INC)) {
  return(require($path));
 }
}
0171garnet ★
垢版 |
NGNG
って、向こうでSunOSさんがやってました。。。orz
0172 ◆A/T2/75/82
垢版 |
NGNG
へへへっ
0173 ◆A/T2/75/82
垢版 |
NGNG
やってもらっちゃった。
そしてdsoでうまく動いた。

再度全サーバに配ってくる
0174 ◆A/T2/75/82
垢版 |
NGNG
配った。
0176garnet ★
垢版 |
NGNG
>175
携帯のcidrやってるので、ついでに見てみますー。
0179garnet ★
垢版 |
NGNG
access板をスルー処理が効いてなかったところがあったので、
スルーするようにコメントアウトしました。
現時点でoperateとaccessでfusianasanしたら書けるはずです。

で、もしaccess板でfusianasanしても書けないのが仕様だったら、
コメントアウトを外してください。。。
0181garnet ★
垢版 |
NGNG
s/accsess/accuse/g で。。。
(素で間違えた
0184 ◆A/T2/75/82
垢版 |
NGNG
よろしくお願いしまーす
0185名無しさん@お腹いっぱい。
垢版 |
NGNG
さっきまで一瞬書き込みからIPアドレス見ようと思えば見れたわけか・・・w

今回Crypt-CBC-2.30は全鯖に入れるのか?というか入るのか?
0186 ◆A/T2/75/82
垢版 |
NGNG
pinkもCBCはいっていませーん
明日入れてもらう予定ではあります
0187garnet ★
垢版 |
NGNG
qb7と同じモジュールが入るのかしら?
use Crypt::Blowfish が有効なら喜び組(qb7では入ってるです)。
0188未承諾広告※ ◆bbq.muteQGCV
垢版 |
NGNG?PLT(23505)
@cobra2245
%perl -e 'use Crypt::CBC'
Can't locate Crypt/CBC.pm in @INC (@INC contains: perlのpathがずらずら) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

%perl -e 'use Crypt::Blowfish'
Can't locate Crypt/Blowfish.pm in @INC (@INC contains: perlのpathがずらずら) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

だす♪

♯以下root貰っちゃいなっていうのは禁止♪
0189 ◆A/T2/75/82
垢版 |
NGNG
よくわからんけど、
0190 ◆A/T2/75/82
垢版 |
NGNG
ぼうはつした。

思想は・・・
0191 ◆A/T2/75/82
垢版 |
NGNG
作成の思想は、各サーバにログフィルをあさって
ipアドレスを探してくるスクリプトがある。
boo.2ch.netはそれぞれのサーバにそのipアドレスを問い合わせる。

私は hatoでその実験をしました。 つまり Cobra2245 にはCBCは入っている必要はないかと、

入っていないサーバはbbs.cgiを見てもらえば分かりますが、Cryptされた部分が
Cryptされずに生々しく入っているという話です。
それでsunOsさんにCrypt::CBCが入っているかどうかで動きを変えるというのを教えてもらいました。
0194今日も雲孤 ◆bKaGbR8Ka.
垢版 |
NGNG

フォレンジック分析から投稿者を守るためには、ログサーバを
海外に置いてログサーバのディスクを暗号化してからそこに
ログを置けばいいと思うのです。
0198名無しさん@お腹いっぱい。(きびだんご)
垢版 |
NGNG
      _
      |O\
      |   \ キリキリ
    ∧|∧   \ キリキリ
ググゥ>(;⌒ヽ    \
    ∪  |     (~)
     ∪∪   γ´⌒`ヽ
     ) )    {i:i:i:i:i:i:i:i:}
     ( (    ( ´・ω・)、
           (O ⌒ )O
            ⊂_)∪
0199名無しさん@お腹いっぱい。(内モンゴル自治区)
垢版 |
NGNG
0200名無しさん@お腹いっぱい。(たこやき)
垢版 |
NGNG
ログを全部平文で保存してたせいで大惨事か…
0201名無しさん@お腹いっぱい。(みかん)
垢版 |
NGNG
てす
0202名無しさん@お腹いっぱい。(ゾウガメ)
垢版 |
NGNG
テス
レスを投稿する


ニューススポーツなんでも実況