トップページに戻る
tokix.netはネットワーク・セキュリティ周辺から半径rな雑文を垂れ流す不定期更新個人サイト>>このサイトについて

セキュリティの実情と考察

<<トップカテゴリー「NewsCryer」に戻る

フィッシング詐欺をなくすために (>>この記事のみを表示)

フィッシング詐欺は非常に効率がいい。・・・誤解を恐れずに書くと「効率がいい」のです。

そもそもフィッシング(Fishing)詐欺とは、その名の通り「釣り詐欺」で「釣り糸を垂らして餌に引っかかるバカを待つ」という意味。・・・というのは大嘘でそもそもスペルが違いますが意味的には大体合ってるのが不思議です。

で、正しいスペルの「Phishing」が何故か辞書に載っていないので厳密な意味は知りませんが(造語なのかしら)、僕の理解している範囲で説明すると「第三者になりすましてその第三者の信頼性を利用して情報を引き出す」という詐欺です。例えば有名ショッピングサイトと全く同じダミーサイトを利用してそこにユーザーを誘導しクレジットカード番号を入力させる、とかが王道ですね。


では、何故フィッシング詐欺は効率がいいのか。これはもう簡単な理屈で、初心者から大きな利益を得る詐欺だからです。

「ハッカー論」みたいな文章だと必ず登場する理論なんですが、手に入れるモノが同じであれば簡単な場所から手に入れた方が良い。例えば、あるユーザーの接続パスワードを抜くためにサーバーを狙うよりはマイドキュメント内の「パスワード.txt」を狙った方が良い。

PCユーザーが増えれば増えるほど、仮に「初心者」の割合が同じであれ、その数は増えていく。PCユーザーの一定割合が初心者だとすれば、ユーザー数が10倍になれば初心者数は10倍になる。実際にはユーザー数が増えれば「初心者率」は確実に上がりますから更に増えますけどね。しかし、普通の理屈で言うと、初心者から手に入れられるモノは少ない。「パソコン買ったんだけどメールを多少やりとりするくらいだなぁ」という人間のマシンにトロイ仕込むよりはそれなりのサーバーにトロイ仕込んだ方が色々なモノが手に入る。初心者から手に入るモノなど「踏み台」としての存在しかなかった、というのが正直に言うところの実情な訳です(もちろんそれはそれで重要な問題だけれども)。

つまり、オンラインショッピングやらオンライン証券やらオンラインバンクやらが普及し初心者から「金」を引き出すことが可能になった現在、フィッシング詐欺は最も少ないスキルで大きな利益を手に入れることが出来る、効率がいい詐欺なのではないだろうか。という理屈です。フィッシング詐欺で「PC上級者」を引っかける方が「PC初心者」を引っかけるより大きな利益がある、等ということはない。手に入るモノ(金)が同じであれば簡単な場所(初心者)を狙った方が良い。つまり、90%の「非初心者」が一切引っかからなくたって構わない。残り10%の「初心者」から十分な利益を回収できる。むしろヲタは金持ってないので上10%の「上級者」を引っかけるより下10%の「初心者」を引っかけた方が美味い。


・・・さて、ここまでの文脈を踏まえて「フィッシング詐欺を無くすには」ということを考えてみましょうか。

AllAboutの中妻穣太さんの記事では、気を付けるべきポイントにhttpsの鍵マークの話が出ています。簡単に説明すると、フィッシング詐欺は自前のサーバーを有名サイトに偽装しユーザーを誘導する手法であるため、ユーザーに対し「現在自分がアクセスしているサーバー」を錯覚させる必要があります。で、アドレスバーのない窓を開いて利用する方法等が主流だったのですが先日JSを使ってアドレスバーを偽装する手口が出現したのです。ただ、その手口では鍵マークを偽装することは出来ないのでそこに注目すれば偽装を見破れる、という話ですね。あとメールヘッダの読み方とかについても言及されています。

しかし、こういった方法は確実に「フィッシング詐欺被害を少し減らす方法」でしかない(いや、上記の文章は「読んだ人が引っかからないように」という文章なのでそれで良いんですが、今回のテーマとは違う、という意味です)。そもそもAllAboutでわざわざ「フィッシング詐欺を防ぐにはどうすれば?」と思う人の大半は元々「引っかからない」人だと思われますし、更に言うと「SSLでなければ重要な情報は送信しない」というポリシーを持っている人の大半はそもそも「引っかからない」人だと思うので、フィッシング詐欺をするにあたってアドレスを「https://〜」に偽装する必要があるのかすら僕には分かりません(「http://〜」でもいいと思う)。ここまで読んで貰えば分かると思いますが、大体にして現在のフィッシング詐欺はあり得ないサーバーにユーザーをアクセスさせないと成立しないです。90%の「非初心者」は引っかからない、引っかける必要すらない詐欺なのです。最初から10%の「初心者」をターゲットにした詐欺なのです。

・・・ということで当サイトが提案する「フィッシング詐欺防止策」は下記です。


WindowsOSかノートンインターネットセキュリティは主要ショッピングサイト/証券サイト/オンラインバンクと提携し、各サイトに対してユーザーがユニークなパスワードを設定するよう仕向けろ。各サイトに対するパスワードの頭四文字くらいのみを内部に記録し、別のサイトで同じ頭文字が登場するパスワードは設定できないようにするのだ。んでその四文字を含むパスワードが別のサーバーへ向けて送信されようとしたらアラートアラート。


逆に言うと、WindowsOSかノートンあたりがこういった対策を取るまでは、SSLに関して知識のある人が何を言おうがフィッシング詐欺は確実に「効率のいい詐欺」のままだと思われます。

そういった意味で現在唯一現実的/ある程度の実行力を持つと思われる対策(と数行前に書いた文章を全否定してみる)を書かれている高木浩光@茨城県つくば市の日記さんの事業者が今すぐできるフィッシング詐欺対策を紹介してみます。

100匹の魚が釣れた時、「海の中には一万匹いるのに」とは思わない。100匹の収穫で満足して帰るだけです。と綺麗にまとめてみました(あんま綺麗でもないです)。

BSDとMacOSは安全なOSなのか (>>この記事のみを表示)

「ウインドウズは危険だ」「ゲイツはクソだ」というのは非ウインドウズユーザーの口癖であるのと同時にウインドウズユーザーの口癖でもあって、ここらへんがウインドウズユーザーの不健全さだと思われます。別にウインドウズユーザーをバカにしてる訳ではなくて

  • ウインドウズユーザー→またウインドウズにセキュリティホールが!というニュースを楽しんでいる
  • マックユーザー→またMacOSやらApple製品やらに素晴らしい要素が!というニュースを楽しんでいる

双方が異なるベクトルで不健全なので色々と面倒なのですよ。


で、ITMediaの記事によると、最もセキュアなOSはBSDとMac OS Xなんだそうです。

世界で最もセキュアなオンラインコンピューティング環境はオープンソースプラットフォームのBSDとMac OS Xであることが実証された

最もセキュアなOSはBSDとMac OS Xより

さて。こういう調査というのは大体にして「つーかそれはマックがユーザー少ないからじゃないのか」という話になり、でもそういった論調も特に盛り上がることなくWin/Mac両ユーザーを適度に楽しませてスルーされている訳ですが、今回の調査方法も

世界で常時接続されているコンピュータに対して仕掛けられた攻撃23万5907件を分析。さらに、今年に入ってから世界で拡散したウイルス、トロイの木馬といったマルウェア459種類についても調べた。

その結果、マニュアル攻撃を受けて被害に遭う件数が最も多かったのはLinuxで、全体の65.64%に当たる15万4846件に達した。次いでWindowsが25.19%に当たる5万9419件。これに対し、Mac OS X/BSDに対する被害は減少傾向にあり、4.82%の1万1370件にとどまったという。

だそうで全く例外にあたらないです。そういう意味では何も珍しくない、日常茶飯事的な調査と調査結果なんですが普通と違うのは、ここに「Linux」「BSD」を入れて、「Win対Mac」の構図を広げていることでしょう。端的に言うと、今回の記事は「MacはLinuxより安全である」と言ってしまった。しかもマックより更にユーザーの少ないBSDまでもを持ち出して「Linuxは危険である(Winもね)」と言ってしまった。


引用記事内の「マニュアル攻撃」というのは、つまり「ウイルスとかが勝手に行った攻撃は含まない」「悪意のある人間による攻撃だけをカウント」という意味でしょうね。何故Linuxが多いかというとLinuxサーバーが多いからでしょう。

「でしょう」という表現を使ったのは、この調査の具体的方法が不明だからです。原文(は有料なので未登録ユーザーは読めないようになってます)いわく「基本的なセキュリティ対策を行っている」サーバーが「悪意のあるハッカーによる」手動攻撃を受け「損害をこうむった」件数のみを集計しているらしいんですがいまいち各言葉の定義が分からない(例えばIISサーバーがワームに進入されたケースすらカウントしてないのだろうか)。「先に結論ありき」の方針が見え隠れする調査だし、まともに運営されているLinuxサーバーは決して危険ではない。安全なLinuxサーバーを運営できる人間なら安全なBSDサーバーを運営できるし、その逆も同様。「OS単位で安全性を議論する」という事自体がおかしい。

・・・と、いった(割とマジな)論調が、現在Linux系コミュニティで続出しています。どこだったかの掲示板では「Linuxを『我々のOS』と思うならばこの数字を厳粛に受け止めるべきだ」と怒りに震える同志をなだめてる方もいました。


つまるところ、この記事がもたらしたモノは

  • おお、またウインドウズが貶されてるよ!正直ね、マジでゲイツはどうかと思うよね!とWin叩き記事を喜んで読むウインドウズユーザー
  • おお、またMacOSが褒められてるよ!やっぱウインドウズって初心者の貧乏人のタコばっかなんだよなぁ。とMac万歳記事を喜んで読むマックユーザー
  • っていうかLinux対BSDってのは、単に初心者吸引力の差じゃねーかよ。BSDなんか滅多に使う人間いないんだから被害少なくて当たり前だし、Linuxだってまともに運営してれば安全なんだよ!と「Win対Mac」の構図と別の場所で怒りに震えるLinuxユーザー

の三種類です。OSに対する「思い入れ」というスタイルは確実にコミュニティごとに差があって、だからこそクロスプラットフォームの話をする場合は気をつけなくてはいけないようですよ。「MacはWinより素晴らしい」という文章はマカーの盲信とウインドウズユーザーのアイロニーの両方に上手く合致しても、もしその逆の文章を書けばマカーは怒りウインドウズユーザーは呆れるか笑う。今回の調査も、そういったレベルで「書いてはいけない文章」だったように思えます。「稼働しているIISサーバーとMac OSサーバーの比ってどのくらいなんだ?」という突っ込みは割とスルーされても、「IIS」「Mac OS」を「Linux」「BSD」に置換すると話は変わってくる。

別の言い方をすれば、「Win対Mac」という記事(がスルーされている日常)を読んで喜んでいるマカーと、Winを使っていながらそうした記事を喜ぶ&そうした記事に慣れすぎたWinユーザーが不健全なのかもしれないし、こうした記事に不慣れなLinuxユーザーが「子供」なのかもしれない。


それと、この調査方法ならば、明らかに一番セキュアなOSは「その他(100-65.64-25.19-4.82=4.35)」だと思うのですがどうなんでしょうか。

スパムメール撲滅は可能なのか (>>この記事のみを表示)

迷惑メールことスパムメールを撲滅するためにはどうすれば良いのだろうか。

と、いうテーマが(非PCユーザーやライトユーザーにも)広まったのはごく最近だと思います。最初に書いておきますが、僕自身は「これがベスト」という方法論を提示できません。この記事で書きたいことは「スパムメール対策」として現時点で挙げられている全ての方法には弊害がある、という話です。いまだに非PCユーザーには「スパムメール」という単語が浸透していない(リアルで周りにいる非PCユーザーに聞いてみて下さい)以上、今後この言葉が浸透する頃には「スパムメールを何とかしなければいけない」という論調はますます強くなっていくのでしょうし、その時に効力のない対策を進めようとする人間や大いなる弊害のある対策を進めようとする人間に対してどのように対応すべきか、というアウトラインです。


現時点で「スパムへの対抗策」として挙がるのは下記のような方法論だと思います。

□1:不用意にメール送信元サービス業者を儲けさせない

例えば、宣伝メールを送ってくるような出会いサイトに金を払ったり通販サイトで物を買ったりしない、という話ですね。

実はこの記事を書こうと思ったのは、IT media LifeStyleでコレを結論にしている記事を発見したからなんですが。

そして筆者は、メールを受け取る側がスパムメールの内容に乗せられて、サービスを利用したり何かを買ったりしないといったことが、最も大きな抑制につながるという点を強調しておきたい。広告とは、効果がないところには資本投下されないものなのである。

IT media LifeStyle内「いよいよ始まるスパムメールへの反撃 (3/3)」より

単純化して言えば「行政やら技術やらには限界がある、市民一人一人が〜」という例の論の延長線にあるこうした論理は、対スパムメールに関して言えば全く機能しない、ということを最初に書いておきたい。この論理は「郵便や電話を使った宣伝への抑制」では一定の意味を持つけれど、その理由は「発信元が資本を投下している」という一点に過ぎない。1,000人に葉書を送れば50,000円。電話をかければ10.000円。

1億件程度のメール・アドレスは100ドル以下で入手できる。コストもかからない。スパムに対する返信率がわずか0.001%でも採算が取れるほどだ。

IT Pro内「スパム送信業者はもうかる,だからスパムは増える

アドレスはbotで収集し放題。メールを送るコストはニアリーイコール0円(電気代)。「効果がないところには資本投下されない」は正しいが、「スパムに対する返信率」が0にならない限り「効果はある」のだ。そして僕は前にフィッシング詐欺に関しても同じことを書いたけど、「スパムに対する返信率」は決して0にならない。

□2:行政による規制

だからこそ、スパムを規制する場合は「市民の力」とか「市場論理」に頼ることができない。ならば行政に、というのが普通の順序だと思いますが

おそらくスパムメールを発信することで荒稼ぎしている者にとっては、50万円ぐらいの罰金など屁でもない金額だろう――というかその程度の罰金でピイピイする儲けしかない商売なら、そもそもこんなに増えるハズはないのである。

IT media LifeStyle内「いよいよ始まるスパムメールへの反撃 (3/3)」より

スパムメールは、必ずしも「出会い系サイト管理人」や「ショッピングサイト管理人」の手によって送信されているものではない。いわゆる「スパムメール送信業者」と呼ばれる第三者が(出会いサイトやショッピングサイトからの受注で)送信する場合が多い。元々海外鯖で運営されている出会いサイトやショッピングサイトの話をせずとも、送信業者は海外にも存在する(というかむしろほとんど海外)。あるいは出会い系サイトに雇われたバイト(ほとんど♂)がバイトの一環として送信している、いわゆる「友達や間違いメールを装った」メール。行政は「何処に」「どのように」介入するのだろうか?即ち、「効果」という話をする前に「行政介入」という方法論自体が一定の限界を持っている。

□3:ブラックリスト型フィルタリング

簡単に言うと「このメールアドレス(メールサーバー)からのメールはスパムなので弾く」というフィルタリングをプロバイダーや個人が行う方法です。ここらへんはネットワーク系に興味がない人は本当に興味がない話だと思うので簡単に説明しますが、「メール送信サーバー」というのは別に特殊なマシンではありません。RadishとかSMTPサーバーツール入れれば僕のマシンも「メール送信サーバー」です。そして、メールアドレスは送信者が任意に偽装可能な代物です。故に、「ブラックリスト」という方法は原理的に限界を持っている。単純な話をしますが、仮に僕が自分のマシンからtokix.net宣伝メールを送りまくったとしましょう

  • 自分のマシンからメールを送りまくってブラックリストに入ったら回線再接続でIPアドレスを変更すればよい
  • 送信元にしていたアドレスがブラックリストに入ったら「送信元アドレス」を変更すればよい

「メール」というシステムでは原理的にブラックリスト型フィルタリングは根本的な対策にはならない。

上で書いたのは「原理論」であって「現実論」では無いです。現実にはスパム送信業者は第三者を中継してメールを送信することが多いのです。故に「スパム業者に目を付けられ中継に利用されまくっているサーバー」をリストに追加することが「無意味」とは言いませんが(業者に「新しい中継鯖探さなくちゃ」と思わせる効果はある)、□1で書いたのと同じ論理で、「中継に利用できる鯖」が無くなることはない。

□4:受信サーバー上でのヘッダフィルタリング

携帯電話の「ドメイン詐称メール拒否」が、この方法論が(大々的に)用いられた最初の例なんじゃないでしょうか。これに対しては「無意味」と言うつもりはありません。一定の効果を挙げることが可能でしょう。ただし、この方法は「プライバシーの侵害(個人から個人へのメールの内容がチェックにかけられフィルタリングされる)」「情報流出の危険性」といった話に繋がるだけでなく、「お前ら俺が想定する『普通の方法』を使えよ」という傲慢であることを、僕は2004年の間にもう一度言っておこうと思います。

自前SMTPでFromを転送アドレスとかにすると普通に弾かれる時代なような気がします。結局それもまた「お前ら俺が想定する『普通の方法』を使えよ」という傲慢であり「うちのサイトはIEでActiveXオンにしてないと一切見れませんが別に問題無しだろ?」というのと何も変わらないことに気付いて欲しいと思う。

携帯電話が「ドメイン詐称メールを削除」という設定を付けて以来、携帯メールに対する返事をPCから(Fromを携帯アドレスにして)送る時に「こいつ詐称メール切り設定してるのかなぁ」と不安にならなければいけなくなった。何で家にいてPCの前に座っている時に携帯でメール打たなくちゃいけないのさ。と、いう、これがつまり、ある人間にとっての「お前ら俺が想定する『普通の方法』を使えよ」なんだ。

よい子のためのスパムメール除去講座

「電子メール」は、少なくとも登場期〜現在(の携帯以外)は□3で述べているような代物です。□4の方法論というのは「スパムメールを消すために『メール』を変質させる」という論であることを、2004年において当サイトを読んでいる暇人インターネットユーザーは考えて欲しいと思うのです。

□5:クライアントによるヘッダフィルタリング

現時点で最も効果を上げていると思われる対策ですが詳しくは「よい子のためのスパムメール除去講座」に書いてます。ただし、この方法では決して「100%」スパムを除去することはできない。

スパムを振り分けている「ゴミ箱フォルダ」を時々覗いてみるというのが日課になった。結局はフィルタリングしたはずのスパムを、いちいち見ているのである。まったく何のためのフィルターなのかわからない。

IT media LifeStyle内「いよいよ始まるスパムメールへの反撃 (1/3)」より

さらに、「電子メール」の普及は「メールを様々なクライアントで受信することができるようになる」ということでもあり、早い話現状携帯電話でフィルタリングを行うのは不可能だ。携帯電話が常時接続当たり前/Javaあたりを使ってフィルタリング可能になったとしても、その頃には冷蔵庫でメールが読めるようになっているかもしれない。


と、いうことで結論のない文章を書くのは酷いなぁ、とも思うんですが、2005年にますます盛り上がるであろう「スパムを何とかしよう」という世論の中でこの記事を一瞬でも思い出し「スパムのない明るい世の中を作ろう」と思って貰えれば嬉しいです(誰だ俺は)。

Torは「串弾き」を潜れるのか (>>この記事のみを表示)

今注目の匿名化技術「Tor」2004年フリーソフト10選に入れたりネトランで紹介したりしたのですが、このソフトウェアの本質的な疑問について書いてみたい。・・・本来こういうテキストは、ある程度Torがメジャーにならないと全く意味が無いのですが計算してみたので自己満足的に掲載します(ぇ?)。一応「Torとは」という話も書くので「Torって何だ」という方もどうぞ。

一応書いておきますと、僕はTorという技術を評価(というと偉そうだけども要は「すげぇ!」の意)していますし今後にも期待しています。ただ、Torの方法論はある用途・あるレベルにおいて原理的な限界を持っている、という話です。あらゆるものがそうであるように、その「用途」「レベル」を知った上で今後への期待や(役に立たない)応援や活用などを行うべきだ。


Torとは、世界中に点在する「Torサーバー」と呼ばれるマシンを介してあらゆるネットワークツールを動作させる仕組みです。「匿名化のための串」というのと原理的に似ている(というか分かる人向けに書くと、TorはSocksプロキシとして動作する)んですが、つまるところ、例えばある人間が「tokix.netサーバーに匿名アクセスしよう」と思った場合、自分のマシンとtokix.netサーバーの間に「Torサーバー」を挟むことで自分の情報をtokix.netに渡さずアクセスすることが可能なのです。さらに、自分のマシンが接続するTorサーバーは、無数のTorサーバーの中から一定時間毎に変更される。


・・・既に「この記事に必要のない話は省略」ということで上の動作概要もかなり省略があるんですが、まぁ要はそういうシステムです。

※参考

【Tor】の導入方法

原理についても書かれているので興味のある方は参考にして下さい。

で、Torサーバーは「無数に」存在します。例えば僕が「Tor経由のアクセスは弾く!(匿名だとアレだし)」と思った場合、自分が探し出したTorサーバーを「ブラックリスト」型のフィルタリングにかけて遮断すれば良いのですが、「無数に」存在するTorサーバーを弾くことは可能なのだろうか。と、いう話です。

自分が探し出したTorサーバー

どうやって探すか、というと、例えば下記のような方法が最も簡単でしょう。

  1. 自分でTorを利用し自分のサーバーにアクセスする
  2. 接続元(=Torサーバー)を取得する
  3. 取得したサーバーをブラックリストに記録する/既に記録していたら無視
  4. 1に戻る

これはCGIなりPHPなりとReadMe!不正投票マニュアルの原理を組み合わせれば最低限のプログラミング能力で可能なので、まぁ「たいていの人にできるTor探し方」ということにしておきます。そして「個人でTorを探す」というテーマなので同時接続数は3にしておきます(単純なことを言えば三台のマシンで上記の方法を行えば良いし、本当はTorが利用するポートを変えれば一台でも何とでもできるけどそこらへんは省略)。

で、ちと高校数学の話を使います。「世界中のTorサーバー」が全部でA個、上記作業をN回行うとすると

  • あるサーバーがある時に選ばれる確率:1/A
  • あるサーバーがある時選ばれない確率:1-1/A
  • あるサーバーがN回選ばれない確率:(1-1/A)^N
  • あるサーバーがN回の中で一度でも選ばれた確率:1-(1-1/A)^N
  • A個のサーバーが全てN回の中で一度でも選ばれた確率:(1-(1-1/A)^N)^A
  • N回の作業後、一個でも「一度も選ばれなかったサーバー」が存在する確率:1-(1-(1-1/A)^N)^A

Torはデフォルトでは60秒で接続先を変えるので同時接続数が3なら「20秒ごとに接続先が変更される」。ということで

  • ある試行回数において
  • Tor鯖がある個数だとした時に
  • 「一回も選ばれなかった鯖」が一つでも存在する確率(%表示)

を求めます。つまりこれは「そのブラックリストで行うフィルタリングが完璧でない確率」。ついでに「その回数試行するために(上記条件下で)必要な日数」も併記します。「必要時間」が「1」「03」とかなってるのは「1日と3時間」の意味。

試行回数 鯖数 必要時間

50 200 1000 3000 30000 300000 日数 時間
50 99.99 100.00 100.00 100.00 100.00 100.00 0 00
100 99.91 100.00 100.00 100.00 100.00 100.00 0 00
200 58.82 100.00 100.00 100.00 100.00 100.00 0 01
250 27.47 100.00 100.00 100.00 100.00 100.00 0 01
300 11.02 100.00 100.00 100.00 100.00 100.00 0 01
500 0.20 99.99 100.00 100.00 100.00 100.00 0 02
1000 0.00 73.69 100.00 100.00 100.00 100.00 0 05
1200 0.00 38.67 100.00 100.00 100.00 100.00 0 06
1500 0.00 10.28 100.00 100.00 100.00 100.00 0 08
1800 0.00 2.38 100.00 100.00 100.00 100.00 0 10
2000 0.00 0.88 100.00 100.00 100.00 100.00 0 11
2500 0.00 0.07 100.00 100.00 100.00 100.00 0 13
3000 0.00 0.00 100.00 100.00 100.00 100.00 0 16
5000 0.00 0.00 99.88 100.00 100.00 100.00 1 03
8000 0.00 0.00 28.40 100.00 100.00 100.00 1 20
10000 0.00 0.00 4.41 100.00 100.00 100.00 2 07
15000 0.00 0.00 0.03 99.99 100.00 100.00 3 11
20000 0.00 0.00 0.00 97.79 100.00 100.00 4 17
30000 0.00 0.00 0.00 12.71 100.00 100.00 6 22
40000 0.00 0.00 0.00 0.48 100.00 100.00 9 08
50000 0.00 0.00 0.00 0.01 100.00 100.00 11 13
60000 0.00 0.00 0.00 0.00 100.00 100.00 13 21
250000 0.00 0.00 0.00 0.00 99.92 100.00 57 20
350000 0.00 0.00 0.00 0.00 22.67 100.00 81 00
500000 0.00 0.00 0.00 0.00 0.17 100.00 115 17
600000 0.00 0.00 0.00 0.00 0.00 100.00 136 21
3000000 0.00 0.00 0.00 0.00 0.00 99.99 694 10
4000000 0.00 0.00 0.00 0.00 0.00 38.48 925 22
5000000 0.00 0.00 0.00 0.00 0.00 1.71 1157 09
7000000 0.00 0.00 0.00 0.00 0.00 0.00 1620 08

この数字をどう捉えるかなのですが、「Tor鯖」とは「Torプロジェクトに賛同し提供されているサーバー」です。現在50個程度らしい(少し前に聞いたのでもうちょい増えてるのかも)ので、二時間ほどマシンを回せば現実的には「全ての」Tor鯖をリストアップし「Tor経由のアクセスを完全遮断」することが可能でしょう。これが200個になると半日/1000個になると数日程度/3000個になると二週間弱。これが、「Torネットワーク」というものが一個人に対して粘れる時間です。・・・つまり「一個人」でない大規模な「Tor潰し」はこれよりも明らかに早い時間でTorを「ブラックリスト」に登録しうる。

どこだったかで読んだ話なんですけど

Tor鯖は増加している。Tor弾きを行っている掲示板などもあるが、いずれ「Tor弾き」はTor鯖の増加に追いつかなくなる。

こういった言論は、少なくとも現状を考えると「楽観的」と言わざるを得ない。少なくとも少し前まで三桁にも満たず、爆発的な増加が見込めないTorサーバーは「本気の」ブラックリストフィルタリングを潜れない。


・・・ということで下記二点でこの記事を締めておきます。

  • Torは「本気のブラックリストフィルタリングを潜ることの出来る匿名化技術」にはなり得ない。つまり原理的に「ある用途」では「あるレベル」の限界があるので、それを踏まえた上で期待と応援と活用を行うべき技術である
  • 本気でブラックリストフィルタリングを潜ろうとするのならば、「原理」を変えるしかない。例えばそれは「ユーザー同士が形成するP2Pネットワークによるネットサーフィン」。たとえて言うなら「Winnyでファイルを交換するように他人のマシンを踏み台にしあってネットへアクセス」。上の表で「鯖数」30,000や300,000を併記したのは例えばその意味です(Winnyのユーザー数がピークで30万弱)。・・・もちろんコレは「自分と関係のない(自分が中継者に過ぎない)アクセスのせいで犯罪に巻き込まれる」可能性のある技術なんですけど、そこらへんはほら、Winnyでの違法ファイル中継にも(2005年1月現在)有罪判決は出ていないし、サイバーノーガード戦法が有効な世の中だし。・・・実は既にこういうツールが登場しかけているのですがここらへんは書くにしても別の記事で書きます。

FAQ: ***で使える串を探しています」をアップした直後なのでその責任の意味でも書いておくけど、現状Torは2ちゃんねるでは使えませんし、おそらく今後も使えないでしょう。「だからTorなんて役に立たない」のではなく、「それはTorの用途/活用術ではない」という意味です。

・・・あと、上の計算が間違ってたら優しくして下さい(「小学生が難しいこと書かない方がいいよ」とか)。

DNSポイゾニングを評価する (>>この記事のみを表示)

セキュリティにおいて「これにだけ気をつければ良い」という台詞は全て嘘である。

「良い攻撃」とは、「これにだけ気をつければ良い」という、その「これ」の外にある攻撃だ。


フィッシング詐欺とは、ユーザーを偽のサイトに誘導してパスワードやクレジットカード情報などを入力させ盗む詐欺。その具体的手段として考案されてきたのは

  • 本物ソックリのHTML・画像を用意する
  • ステータスバー偽造
  • HTTPS鍵マークの偽造
  • SSL証明書の偽造
  • アドレスバー偽装

などなど。そして、その後に続く「DNSポイゾニング」という攻撃方法・・・は技術的な観点からはあまり評価されていない・・・を当サイトは評価します。DNSポイゾニングは、フィッシング詐欺を「DNSポイゾニング以前」「以後」に分断したと言っても良い。


それが良いことかどうかは別として、パスワードなどを扱う全てのサイトがHTTPSを利用しているかと言えば答えは「NO」だ。だから例えば「鍵マークが外れているときは何も情報を入力してはならない」という対策は「これだけ気をつければ良い」にはなり得ない。「HTTPSを使っていたはずのサイトで鍵マークが外れているときは」という条件は初心者にとって分かりやすいか?「HTMLメール」「JavaScript」といったキーワードもその範疇にあり、「ブラウザのJavaScript設定は常にオフで必要に応じてオンにする」なんてことを初心者に求めるなら、そもそもその「必要に応じて」を判断することに必要な知識を与えることから始めないといけない。


目的のために最も簡単な手段を選ぶことが「攻撃」の基礎であるならば、その「手段」には一対一対応の「対策」が存在する(ことが多い)。そしてそれが一対一対応に過ぎないが故に、ある「目的」を封じるためには多数の対策が必要となり、冒頭に戻る。即ち、「これにだけ気をつければ良い」という対策が求められる。全ての手段を覆い隠すように防ぐ対策。そしてそれは多くの場合「存在してしまう」んだ。

フィッシング詐欺に関して言うと、僕はDNSポイゾニング以前は以下の「対策」を推奨していた。


メール内のリンクは一切信用しない。URLを手入力するか、ユーザー登録時に届いたメール・登録したブックマークなどを利用せよ(検索エンジンを過信するな)。


つまるところ、別にHTTPSだろうがアドレスバー偽装だろうが、「DNSポイゾニング以前」のフィッシング詐欺において全ての攻撃手段は

  1. 相手側が用意したリンクなどを使ってサイトにアクセスする
  2. ブラウザ内の各種表示により「それが正しいサイトである」と誤解させられる

というように「アクセス先URLをユーザーに誤解させる」仕組みで行われていた。故に

  1. 相手の求めに応じてサイトへのアクセスを行う
  2. 相手が用意したリンクなどではなく、自分が用意している方法を使ってサイトにアクセスする

という方法を取ればいい。雑誌などに掲載されている「確実に本物なURL」を手入力すれば良いし、ユーザー登録時などに登録したブックマークを使えば良い。正しいURLにアクセスすれば、そこは正しいサイトだった。DNSポイゾニング以前は。


DNSポイゾニングとは、簡潔に書くと下図のような仕組みの攻撃です。普段「www.tokix.net」といったホスト名に対してアクセスする時も、内部処理ではIPアドレスベースの接続が行われている。ホスト名とIPアドレスを対応させているDNSサーバーを攻撃して情報を書き換えることでユーザーを偽のサイトに誘導する、と。

DNSポイゾニングに対して使われる形容詞って多くの場合「強引な」とか「大胆な」とかそういう感じで、HTTPSやSSLの偽装のような「手の込んだ」「高度な」攻撃と比べるとDNSポイゾニングって一般的に評価が低いと思うのです。なのですが、まぁ「僕の場合だけ」かもしれないですが、DNSポイゾニングは「全ての手段を覆い隠すように防ぐ対策」の外にあった。URLを手入力しようが安全なブックマークを使おうが、DNSやhostsファイル自体を書き換えられていれば意味がない。アクセス先URL(ホスト名)は間違いなく本物サイト(なのにフィッシングサイトのIPアドレスであり実際接続している相手はフィッシングサイト)なのだから。


「良い攻撃」とは「これにだけ気をつければ良い」という、その「これ」の外にある攻撃であり、当サイトはDNSポイゾニングを評価します。「攻撃」とは必ずしも(例えばHTTPSとか)セキュリティヲタ知識の延長線にある物ではない。「良い攻撃」とは必ずしも「強固な壁に高度な技術で穴を空ける攻撃」ではない。

フリーPFWは何処に向かうのか (>>この記事のみを表示)

一ヶ月ほど放置ですみません。ようやく時間ができつつあるのでコメントとかの対応も順次行います。


2004年フリーソフト10選

今後PFWは「帯域制限」のように「需要に応える機能」を搭載していかないとXP標準との差別化ができなくなっていくと思いますし、現時点でも既に「対初心者」というレベルでは「オススメできるサードパーティーPFWがない)」という状態は始まっていると思います。

と書いたんですが、「フリーパーソナルファイアーウォール」という市場が縮小に向かっている。その意味が昨年末より大きくなっていると言うのに。


「XP標準PFWの限界性」という話はネットランナー9月号でも書いてるので省き気味に書きますが、簡単に書くと、PFWとは二つの役割を担うツールです。

  • 外部から内部への不正なアクセスを遮断
  • 内部から外部への不正な通信(スパイウェアによる情報漏洩など)を遮断

「セキュリティ」という観点から最初に話題になったのは前者だったように思います。いわゆる「繋いだだけで感染するウイルス(故にインストールCDを改造してSPを当てておかないと〜」というテーマは極めて2004年的だった)」とかそこらへんの話ですが。ただ、誤解を恐れずに書けば、前者は例えばルーター環境なら不要ですし、WindowsUpdateを欠かさず行っていれば不要です。・・・「不要です」と書くから乱暴なんであって「必要性が大きく下がります」と書けばいいのか。

そして、おそらく現在注目度が高い・・・というのはとても不適切な表現かもだが・・・テーマは、後者なんだ。数年前なら「割れたアプリはPFWで通信遮断しないと捕まるぜ」くらいしか書きようがなかったが、例えばクレジット番号を盗むスパイウェアなどシャレにならない被害を及ぼすマルウェアが蔓延する現在では。なのに、XP標準PFWが前者の機能しか持っていない現在では。

さて、では、「XP標準PFWしか使ったことがない」という人に勧めるにあたり、どのPFWが最良なのだろうか。

  • NEGiES
    最近2のβ版が公開されたんですが、主なテーマは64bit版Windowsへの対応。つまるところPFW機能は、搭載されるにしても優先度の低い機能であり、「PFWと併用することで柔軟なネットワーク制御ができるツール」としての完成度を目指すようです。
  • Sygate Personal Firewall
    Symantecに買収されます。今後の展開は不明ですが、おそらくSygate Freeのバージョンアップは止まるでしょう。また、「内部から外部への不正な通信を遮断」という面では性能に問題があります。
  • Jetico Personal Firewall
    フリーPFWの中では、現時点では最も高機能高性能なツールでしょう。ただXP標準PFWからの乗り換えで使いこなせるかと言うと疑問が残るのと、いずれシェアウェアに移行する予定のようです。
  • Kerio Personal Firewall
    「内部から外部への不正な通信を遮断」という面では性能に問題があり、また2バイトに非対応です。今年年末で開発を停止し買収されるという噂も(未確認情報)
  • Outpost Personal Firewall
    「無料版のver.1系と有料版のver.2系」という形でリリースされているんですが、ver.1は既に開発が終了しています。性能は標準的なので「今後バージョンアップが無い」という点を「まぁいいか」と思えるのであれば、バランス的に一番オススメかもしれません。

と、いうように、極めて決定打のない状況が続いている。特に目立つのが開発停止。「フリーパーソナルファイアーウォール」という市場は、おそらく縮小に向かっている。

  • XP標準PFWが(例えばXP SP3やVistaで)高機能化し、シェアウェアや市販PFWを使わない人にとって必要十分となるので「基本的にXP標準でOK」
  • 「PFWは無料じゃ無理」が一般的になり「XP標準はヤバいのでPFWだけは買おう」

どちらに向かうのか何とも言えませんが、「フリーPFW」は、初心者に何を勧めればいいか非常に難しい分野である、という雑談でした。

Winny脆弱性速報と解説 (>>この記事のみを表示)

正直今すこぶる接続時間が短くどの程度自分が情報を仕入れているのか微妙なんですが需要ありそうな感なのでWinny脆弱性について。

米eEye Digital Security(以下,eEye)は現地時間4月21日,ファイル共有ソフト「Winny(ウィニー)」に見つかったセキュリティ・ホールの概要を公表した。

(中略)

セキュリティ・ホールを突いて任意のプログラムを実行することは容易であるという。

「Winnyのセキュリティ・ホールは危険」,発見者が警告

と、いうことで、これまで言われていた(僕も言っていた)「Winnyにはセキュリティホールはない」「ページを開いただけでウイルスに感染するブラウザ、みたいな脆弱性がない以上、Winnyを使うことそれ自体に危険性はない」という話が崩れるか?という感じなんですが、さて、という記事です。


先に書いておくと、「Winny Remote Buffer Overflow Vulnerability」を読む限り、正直僕には「任意のプログラムを実行することは容易」というのが分からないんだよなぁ・・・。公表されている&僕が入手している「情報」からのみ、いわゆるハッククラック周辺の知識がない方向けにかなり噛み砕いて書きます。

□1:確定している点

  • 外部からWinnyに対し特殊なデータ(パケット)を送りつけることで、Winnyに対して「バッファオーバーフロー」という現象を起こさせることが可能です。
    • 全てのデータは「ルーター→PC→PC上で動作しているツール」という経路でツール(Winny)に届けられます。「ルーター」や「PC(Winnyなどのツールに届く以前にパーソナルファイアーウォールなどで、という意味)」でこれを止めることができる可能性はあります
  • 「バッファオーバーフロー」とは、噛み砕いて言うと以下のような現象です。
    • 通常、ツール(Winny)は一度に受け取れる命令の文字数が決まっています。たとえて言うなら、原稿用紙一枚分しか処理できません。複雑な命令は「原稿用紙一枚目、二枚目」みたいに何度かに分けて受け取っている。
    • では、原稿用紙の余白に文字が書かれていたら?
    • ツールは、この余白文字を無視しなければならない。Winnyも通常は無視する。
    • しかし特殊な状況において、余白文字が無視されない。簡単に言うと、その部分に書かれている命令を問答無用で実行してしまう(例えば破壊活動なりトロイなりの埋め込みといった命令でも守ってしまう)(と一度書いておきますがまだ結論ではない)
      • 正確に言うと、「そのツールと同じ権限で」です。例えばXPには「管理者ユーザー」「制限付きユーザー」という二種類のユーザーが存在します。ツールは「そのツールを起動したユーザーと同じ権限で」動いているので、つまるところ、「管理者/制限ユーザーが起動したWinnyにバッファオーバーフローを起こさせれば管理者/制限ユーザーができる全ての行動を外部から行わせることが可能」ということになります
  • また、Winnyは「バッファオーバーフロー」という現象が起きたとき、自身を強制終了させる仕組みです
    • 故に、「バッファオーバーフローが起きる→強制終了される」です。この「→」は100%確定
      • Winny起動監視ツールみたいなのは存在しますから、強制終了される度に再起動させることは可能っちゃ可能です
    • 逆に言うと「バッファオーバーフローさせたら終わり」でもあります。一度バッファオーバーフローを起こさせたら、それ以上の攻撃はできない

□2:現在の注目点

  • 「バッファオーバーフローを起こさせることができる=何でもできる」ではありません
    • 乱暴に言うと、余白のスペースが決まってる。つまり、そこに書き込める文字数は決まっている
    • そして、今回のケースでは余白のスペースが非常に小さい。このスペースで何ができるのか?
  • 金子氏が開発した全てのバージョン(最終版がb7.1)が脆弱性を抱えていることは確定的ですが、2004年にlark氏が開発した改造版Winnyではどうなのか?
    • 公開されている通りの方法では一切問題が生じません
      • 同質の脆弱性(例えば「この脆弱性を自分で発見した際と同じ考え方で簡単に具現化できる、同じ結果を招く脆弱性」)が存在する可能性はある
      • 改造版Winnyには脆弱性は一切存在しない

□3:今後の可能性

まず、この「脆弱性(=バグ)」の今後に関してですが

  • 金子氏が脆弱性修正を行えない以上、脆弱性を修正した公式新バージョンが登場する可能性はありません
  • 第三者が「勝手に」脆弱性を修正した新バージョンを開発できるかどうか、なんですが、正直僕には何とも言えません

次に脆弱性そのものに関してですが

  • 「小さいスペース」を使って致命的な破壊活動/乗っ取り活動を行う「テク」が開発される
    • 致命的です。こうなった場合は「Winnyが攻撃データを受け取る=破壊活動を行われる」になります
  • というか既に開発されている
    • 「任意のプログラムを実行することは容易である」という文章を素直に受け取ればこういうことになるんですかね・・・
  • 結局そんな「テク」は開発されない
    • 微妙です。強制終了はされるけど、それ以上の被害は生じない

そして、そもそもWinnyが問題のデータを受け取ることになるかどうか、ですが

  • 「ルーター→PC→PC上で動作しているツール」という経路上、ルーターで遮断されればそもそもWinnyに届きません(問題は一切生じません)。ただ基本的にルーターで止めるのは不可能(だと思われます)(※4/23にご指摘いただき編集済)
  • 同様に、PCに届いてからWinnyに届くまでに何らかのツールがデータを横取りして遮断すれば問題は一切生じません。パーソナルファイアーウォールとかNEGiESとかみたいな動作原理です。こうした動作を行う専用フィルタリングツールが登場する可能性はあります。この場合、そのツールさえ起動していれば問題は一切生じません。

・・・正直どの程度合ってるか何とも言えないんですが、僕が入手している情報からは以上です。結論を一文で言えば「机上の論理としては問題だし実際の被害に通じる糸口となる可能性が十分あり得るがまだ確定的なことは何とも言えない」という感じです。

うーん、時間ができたら月末とか来月あたりに再度書くかもしれませんが、その頃には他の方も書いてるような気もします。

Winny崩壊ウイルスを待ちながら (>>この記事のみを表示)

現在、Winnyネットワークは喉元に刀を突きつけられている。「主導権」はWinnyユーザーの元から去っていった。現在主導権を持っているのは、一に資本力、二にウイルス作者だ。

Winny脆弱性に関する当サイトの現段階での認識は「Winny脆弱性速報と解説」にまとめてあります。この記事はその認識を元にした現状の把握と未来予想、みたいな感じなので、認識が間違っていたらこの記事も影響を受けます。

常に問題としているのは、例えば「主導権を持っているのが誰か」だ。一ヶ月前、Winnyネットワークに関する主導権を持っているのはWinnyユーザーだった。つまり、警察でも政府でも会社の方針でも「道徳を説く人間」でも何でもなく。唯一Winnyユーザーより上位の主導権(変な表現だけど)を持っているのがISP(Winny規制というか潰し)であり、故に僕は「ISP主導のWinny殲滅」を書いたのだが、さて。


簡単にまとめれば、Winny脆弱性とは(現在確定している範囲で)

  • Winnyを強制終了させることが可能
  • それ以上のコントロール(破壊活動や乗っ取り)が可能かどうかは微妙
  • 改造版Winnyが影響を受けるかは微妙

という問題であり、これは、一Winnyユーザー(金子版ユーザーの話ね)にとっては小さく、Winnyネットワークにとっては大きな問題である(即ち、喉元に突きつけられた刀である)。


まず、五時間に一度のWinny強制終了は現実的にはダメージのない被害(起動監視ツールで再起動させられるから)であり、十分に一度の強制終了は個人にとっても、ネットワークにとっても大きなダメージのある被害である(例えば現実的に一晩で落とせる量に大きく影響する)。

□1:特定個人への攻撃

例えば、tokixという人間がWinnyユーザーであることを知っている、かつ僕を恨んでいる人間がいたとして、その人間は僕のWinnyを落とすために

  • 僕のIPアドレス
  • 僕のポート番号

の両方を知る必要がある。現実的に特定個人のWinnyポート番号を知ることは不可能に近いので順番に打っていくとして、どの程度の時間で僕のWinnyを落とせるだろうか(実際には僕は何度か落とされたところで「おかしい」と気付きIPアドレスを変えるだろうし)。OS自体を落とす攻撃でない以上、Winny強制終了は特定個人へのアタック方法としては現実的な脅威ではない。

□2:個人によるネットワークへの攻撃

では、ターゲットが特定個人ではなくネットワークであればどうか。現時点で公開されている情報だけでも、以下のような攻撃ツールを作ることは可能です。

  1. Winnyの接続先を監視
  2. 新しい接続先を検知したらN秒ストック(即潰してしまうと自分のWinnyがネットワークから隔離されてしまう)
  3. 強制終了パケットを送信

Winnyと同時起動しておくことで、Winnyネットワークから「適当に」接続マシンを潰していく。

Nが実際動かしてみないと何とも言えないんですが、このNってのは、つまり「Winnyを起動しているとN秒に一個くらいは新規ノードと接続できる」という意味です。実際には、少し前に話題になっていた「Winnyノードを高速でリストアップする」みたいなアレが用いられるでしょうし、物量作戦を行えば「ネットワークの破壊」が可能でしょう。・・・いや「情報漏洩ウイルスで被害を受けた企業が裏で結託して」だか「国の予算で」だか知りませんし、ぶっちゃけそれは当サイトにとって果てしなくどうでもいいことなので触れませんが、現実的に資本力はWinnyネットワークを潰しうる。

□3:不特定多数によるネットワークへの攻撃

まだ現実味がないって?なら話を変えよう。攻撃ノードが「不特定多数の個人」であればどうか?不特定多数のゾンビPC、つまり、ウイルス感染ノードであれば。

これはウイルス作者にとって非常に「面白い」ネタだと思う。単純に攻撃するだけだと面白くない(自己満足的に)ので、例えば「撃墜数」を埋め込んだSSを画像掲示板にアップするってのはどうだ?

つまり、以下のような動作を行うウイルスだ。

  1. Winnyの接続先を監視
  2. 新しい接続先を検知したらN秒ストック(即潰してしまうと自分のWinnyがネットワークから隔離されてしまう)
  3. 強制終了パケットを送信
  4. かつ「撃墜数」を埋め込んだSSを画像掲示板にアップロード

きっと、アップロードされたSSから感染ノードを割り出しメールなどで除去を勧める「善意のWinnyユーザー」が大騒ぎを始めるはずだ。

・・・ほら、作ったら楽しいかなって一瞬思っただろう?


刀を喉元から外すには、フィルタリング系の防衛ツールかパッチが登場するしかない。攻撃パケットを検知しWinnyに渡さない防衛ツール(パッチ)。逆に言えば、この「刀」を外せるのはそれしかない。

結局現在「nyで違法ファイルを交換してるけど親書き込みで放流宣言をしていない」という人間の中で捕まった人間は0なんです(そして「nyで違法ファイルを交換してる」という人間のほとんどは「親書き込みで放流宣言をしていない」と思われます)。

Winny京都府警の捜査方法

率直に本音を言えば、Winnyユーザーは「自分が主導権を持っている」という状態に慣れすぎた。


と、いうことで、当サイトの考えは「一Winnyユーザーにとっては致命的でないがネットワークにとっては喉元に突きつけられた刀である」という感じです。

ただ、これはあくまで「脆弱性が本当に認識通りであれば」の話でもありますし、最後に書き足しておきますが、個人的には、現時点で金子版Winnyを利用している人には、最低限改造版Winnyへの移行を推奨します。「次の一手」が

  • 改造版Winnyにおける強制終了パケット
  • 金子版Winnyにおける破壊活動/乗っ取りパケット

のどちらになるか(もしくはどちらも登場しないか)は何とも言えませんが、二つが同時に来る可能性は低い(その可能性にも備えるならShareなどへ移行するしかないが)。「同時」でなければ、片方が来た段階でShareなどに移行すればよく、片方が来るまでは改造版Winnyを利用し続けることができるでしょう(繰り返すが「二つが同時に来る可能性は低い」と見なせば、の話)。

dammy

Credit

SeeAlso

OtherSubCategory

Footprint

Navigation