[Winny]Winnyネットワークをダウンさせる方法の提案
第2回DHT勉強会の講師として、DHT(分散ハッシュテーブル)のセキュリティ対策についてレクチャーを行ったが、オーバーレイなシステムについては、セキュリティの研究をもっと積極的に行うべきだと思った。意外にこの分野で研究をしている人が日本では少なかったりする。
ところで、DHTのセキュリティ対策を考えている際にWinnyのネットワークをダウンさせる効率のよい方法も考えたので、皆様の意見を聞きたいと思う。
□悪意のノードの混入でシステムダウンは可能か?
そもそもの考察の発端はDHTにおいてどの程度悪意のノードが混入した場合、システムがダウンするかを検討したことである。実は相当数の悪意ノードが混入しない限りシステムはダウンしない。この結論に従うと、たとえWinnyに悪意のノードを混入しても相当数の悪意のノードがない限りシステムはダウンしないことになる。
上流のノードを選択的に悪意のノードに置き換える攻撃方法を検討している人がいる。しかしながら上流ノードにおける隣接ノード数を考えてみると、ネットワーク全体レベルでのダウンを実際に実行しようとすれば、相当のリソースが必要となるだろう。このようなリソースが確保できるのは現状国家レベルの機関しかないだろう。
□P2Pならではの特徴を利用したアタック
ところが、P2Pならではの特徴を利用すると、一人のスーパークラッカーがいればオーバーレイ系、例えばWinnyのネットワークをダウンできる可能性がある。
ヒントはeEye社の鵜飼氏によるWinnyのプロトコル、脆弱性に関する講演である。
Winnyの解析とそのセキュリティ脅威分析セミナー概要
http://toremoro.tea-nifty.com/tomos_hotline/2006/05/winnywinny_21c2.html
鵜飼氏は上記講演にてWinnyにおける脆弱性について説明するとともに、近い将来P2Pネットワークを使ったワームが発生した場合、きわめて短時間でワームがP2Pネットワーク全体に蔓延するだろうと予測している。
Winnyのシステムをダウンさせるには、このようなP2Pワームを利用することとなる。
具体的にはスーパークラッカーが次のようなワームを作成すればよい。
☆ワームの機能
ワームの機能として
・特定時間以降はWinnyにおいてすべてのノードと接続しない機能
・アプリを常駐させ特定時間以降はWinnyのプロセス立ち上がりを妨害するorプロセスをダウンさせる機能
・P2Pシステムのメッセージ機能を利用してワームをP2Pシステムに拡散する機能
等が挙げられる。
この「特定時間」の設定が大切である。特定時間の設定の狙いはワームをP2Pシステム全体に可能な限り蔓延させ、ある時間に「一気に」P2Pシステムが崩壊させることが狙いである。このようにすれば、ある特定時間以降はWinnyの各ノードは、他のノードと接続できる可能性が極端に低下する。つまり、Winnyネットワークは1から立ち上がる必要があり、そのネットワーク成長は非常に遅いと考えられる。Winnyネットワークが現状のような規模に復活するには時間がかかるだろうし、それまでにワームの亜種が発生すれば、現在のようなネットワークサイズまで回復しないかもしれない。
もちろん、このようなワームが本当に現在のWinnyで作成可能かどうかは注意深い検討が必要だろう。
□終わりに
オーバーレイのネットワークにおいては、非常に短期間でワームが蔓延する恐れがある。特にDHTのようなホップ数が低いシステムではそのような特徴が顕著になる。
P2Pアプリを作成する際には、脆弱性について細心の注意が払う必要があると考えられる。
「P2P」カテゴリの記事
- [P2P]Websocketでブラウザ間P2P通信は実現できるか?(2011.10.30)
- TwitterをP2Pで実現する方法をもう少し考えてみる(2010.05.03)
- オフィスツアー(ビットメディア)を振り返る(2009.10.25)
- [開催日変更]オフィスツアー(株式会社ビットメディア)参加者募集のご案内(2009.08.14)
- [NAT]NAT越え入門1-NATとは何か?(2009.04.11)

Comments