Rika_Roxyを一時公開停止にしました。
理由は、Rika_Roxyの運用についてはまだ技術的、法的課題が多数あり、それらが確実にクリアできるまでは単なるチキンレースになってしまうと判断したためです
まず法的課題についてですが、Rika_Roxyを踏み台として犯罪行為が行われた場合、責任関係が非常に怪しいという点があります。
これについての詳細は後述しますが、いずれはネット関係に強い弁護士の方に相談して刑事・民事上の法的課題を解消したいと思っています。
技術的課題については、前述した法的課題をカバーするための技術が不足していたことです。
簡単に説明すると、法的なリスクを消滅させられるほどの技術がなかったということです。
これについては全て解消して、また次のバージョンを出そうと思っています。
これ以降はRika_Roxyの仕組みを説明するので、興味がない方はここで読むのをやめてくださって結構です。
[利用者]
↓
↓[1]書き込み
↓
┌────────┐
│[レンタルサーバー]│
│Rika_RoxyのCGI │
└────────┘
↓ ↑
↓[3]FTPで ↑[2]FTPで
↓ダウンロード ↑ファイル要求
↓ ↑
┌────────┐
│[外部サーバー] │
│書き込み部 │
└────────┘
↓
↓[4]投稿先に書き込み
↓
┌────────┐
│[掲示板など] │
└────────┘
一つ一つ順を追って説明します。
Rika_Roxyの本来の目的は、「書き込みを中継すること」です。
それを自分は不特定多数の人に公開することも目的にしました。
レス代行の自動版という認識もできます。
不特定多数に公開する上で問題になってくるのが、利用者が問題ある書き込みをした場合、誰が責任を負うことになるのかということです。
通常のプロキシサーバーであればこれは完全に利用者の責任になると思いますが、Rika_Roxyの場合は「誰でも簡単に使える」利便性を重視したため、
プロキシサーバーとしての運用はしていません。
その代償として、書き込みという動作がかなり主体性を持った動作になっています。
主体性があるということは、責任が発生するということです。
主体性なく受動的姿勢で悪用されたプロキシサーバーとはわけが違います。
責任が発生する以上何らかの対策をしなければなりません。
そのため、万が一問題ある書き込みであっても法的に違反することがない限りはまず責任を問われないように、書き込みの際は必ずプロキシサーバーを経由するようにしています。
そしてさらに匿名性を上げるために、Rika_Roxyは書き込み部と利用者が直接触れるCGI部の物理的なサーバーの分離をしました。
これはプロキシサーバーを追跡する上での基本的な考え方である入口と出口という概念から言うと、入口をわからせないためです。
また利用者用のCGI部が能動的に書き込み部にアクセスすることはありません。
能動的なアクセスは二つのサーバーの紐付けの証明になる恐れがあるためです。
一番責任を追求されやすい書き込み部の入口は隠す方針です。
運用の上で一番考えたのは、いかにして悪意ある利用者を排除するか、です。
今回のサービス一時停止にも悪意ある利用者の排除が完全でなかったことが大きな原因です。
基本方針としては、入口と出口の両方にキツめの関門を用意し、悪意ある者を排除するのではなく安全な人だけを入れる、です。
入口の関門については、「責任能力のない回線を拒否する」です
責任能力のない回線と言うのは、例えばオープンプロキシ、匿名で契約した回線、他人の回線の不正利用などです。
簡単に実装できるものとして今回使ったのは
・\.jp$以外全て拒否
・プロキシは拒否
・リファラーがおかしいものは拒否
です。リファラーについてはCSRF対策なのでそれ以上でもそれ以下でもありません。
上の二つについてはプロキシ対策です。
プロキシ判定は基本的に串迎撃部隊@2ch掲示板を使っていますが、それでも海外のプロキシには把握出来ていないものも多いので、
海外回線を可能な限りすべて拒否する意味で\.jp$以外全て拒否しています。
入口の対策はこのくらいです。
これ以上の精度を求めるとなると、会員制などにする必要が出てきて利用者側の手間を増やすので、サーバー側で出来る限界はこのくらいだと思います。
出口の対策は、問題ある書き込みをフィルタで防ぐことです。
問題ある書き込みとは、
・犯罪予告
・個人情報の公開
・名誉毀損
など、一般的な掲示板の利用規約を読めばわかると思います。
今回のアキレス腱はここでした。
単純なNGワード指定で「殺」や「爆」などを禁止するだけでは、平仮名などで回避可能です。
というより文字列の一致だけで判定するのはかなり無理があります。
「殺」一つとっても、今回の試運転でもかなりの誤認識(というか全部誤認識でしたが)がありました。
なので、確実にやるとなると高精度な自然言語処理の技術を使う必要があると思います。
単純なもので言うと郵便番号や電話番号などにマッチしたらブロックしたり、個人名と思しき文字列の認識など。
今後一番伸びしろがあるのもここだと思います。
そして、Rika_Roxyへの投稿の際にはRika_Roxyが管理する閲覧承認制掲示板への投稿も同時に行うようにする。
これはレンタルなどで知名度のある掲示板を借りた方がよいと思います。
万が一犯罪予告などの投稿が合った場合は、書き込み部で防ぎながらも、本人にはRika_Roxyの掲示板に投稿させる。
そうすることで、犯罪予告をフィルタで不正防いでも確実に責任追及をすることができます。
要するに、フィルタに引っかからないように手当たり次第犯罪予告をされることを防ぐということです。
とりあえず以上のことが今回見つけた問題点であり、改善すべき点でもあります。
次は問題投稿をブロックするフィルタを強化したいと思います。
それまで時間がかかるかもしれませんが、お待ちください。
裏2ch支援組合より