日曜日, 6月 17, 2007

OptPlusの機能を考える

 バウンシングバック認証を売りにする韓国・ヌリビジョン(Nurivision)社のスパム対策アプライアンス「OptPlus」は、次の4段階のフィルタを備えるという。

(1) ディクショナリアタック(辞書攻撃)チェック
(2) ウィルスパターンチェック
(3) スパムパターンチェック
(4) バウンシングバック認証元チェック

 一見すごそうに見えるが、それぞれのフィルタの特徴と効果はどのようなものか。考えてみた。

(1) ディクショナリアタック(辞書攻撃)チェック
 辞書攻撃とは、ありそうなユーザーIDを片っ端から試すという手口である。存在しないユーザーIDへの送信のアクセスを次々に受けたら、その送信元ホストからの以後のアクセスをブロックする。これにより、偶然当たるユーザーIDへのスパムを阻止することができるというのが辞書攻撃チェックである。
 しかし、橋本大也さんのブログ記事によると、姓の数は、韓国では250、中国では350、ヨーロッパ全土で5万ほどだが、日本では30万ほどあるそうである。だから日本では、辞書攻撃は、当たる確率が低くて割に合わない。私は、日本人のユーザーIDを狙った辞書攻撃を発見したことはない。かつて携帯電話に対する辞書攻撃が起こったのは、携帯電話では一つのドメインに1000万以上ものユーザーIDが収容されているという、一般のインターネットサイトとは違う特性があるからである。攻撃のための辞書は膨大になっても、携帯電話メールのドメインは限られているので、辞書攻撃は割に合ったのである。今では、ユーザーは長いユーザーIDを使うなどして防御し、携帯電話会社でも対策を打ったので、この問題はほぼ解決されている。
 結局のところ、辞書攻撃チェックは、OptPlusの開発国の韓国では有用なのかもしれないが、日本の一般のインターネットサイトにとっては、あってうれしいというほどの機能ではない。
 S25R方式は、辞書攻撃にも強い。仮にユーザーIDが偶然当たったとしても、エンドユーザー回線から送信されているという推定によって、高い確率でスパムを阻止できるからである。

(2) ウィルスパターンチェック
 メールセキュリティアプライアンスにはあって当たり前の機能である。Opt Plusならではの特徴ではない。
 S25R方式は、送信元がエンドユーザー回線らしいと推定することだけによって、ウィルスメールも(未知のウィルスであっても)ほとんど阻止する効果がある。

(3) スパムパターンチェック
 ベイジアンフィルタを使っているようである。OptPlusならではの特徴ではない。判別率は、ベイジアンフィルタの評価について検索してみたところ、90%程度と推測される。
 おそらく、ここでスパム判定されたメールは、捨てずにペンディングキューに入れるのだろう。偽陽性判定された正当なメールをユーザーが拾い出せなければ困るから。

(4) バウンシングバック認証元チェック
 ベイジアンフィルタを通過したメールは、バウンシングバック認証にかけられる。正当なメールのうちバウンシングバック認証済みでないものと、着信したスパムのうち偽陰性判定された10%程度に対して、バウンシングバック認証要求メールが自動返送されることになる。
 バウンシングバック未認証のメールは、ペンディングキューに入る。ペンディングキューに入っているメールの一覧を定期的にメールで知らせてくれる機能があるらしい。ユーザーは、HTML形式の通知メールの画面上で正当なメールを指定すれば、受信すると同時にそのメールの送信者アドレスをホワイトリスト登録することができる。ここまで工夫されているのなら、あまり使いにくくはなさそうだ。
 Opt Plus ASPのページにあるバウンシングバック認証要求メールの文例を見ると、「携帯電話からは認証できません。受信者側で手動認証いたしますので、本メールは無視してください」とある。ん?ということは、送信者に認証手続きを頼まなくても、受信者がペンディングキューから正当なメールを拾い出してホワイトリスト登録すればよいだけのことではないか。どのみちユーザーは、送信者が認証手続きをしてくれない場合に備えてペンディングキュー内のメールをチェックしなければならないのだし。送信者に手間を要求する失礼なメールを自動返送する必要がどこにあるのだろう?

 以上のことから、辞書攻撃チェックは日本ではほとんど不要で、バウンシングバック認証メールの返送はしなくてもよい(返送しない方が、顰蹙を買わずに済むという点で安全である)。したがって、OptPlusの特徴は次のようにまとめられる。

●ベイジアンフィルタでスパム判定されたメール、および受信者が送信者アドレスをホワイトリスト登録していないメールは、ペンディングキューに入れられ、受信者のメールボックスには入らない。
●受信者は、定期的にペンディングキューをチェックして正当なメールを拾い出す必要がある(その操作を容易にする仕組みはある)。正当なメールだと受信者が認めたメールの送信者アドレスはホワイトリスト登録される。
●受信者がホワイトリスト登録しているアドレスを送信者アドレスにかたったスパム(5月27日「バウンシングバック認証の破り方」参照)は、約10%の確率でベイジアンフィルタを突破してメールボックスに入ると考えられる。

 バウンシングバック認証方式やOpt Plusについて調査しようとしてこの記事にたどり着いた人のために、S25R方式の特徴もまとめておく。

●送信元のIPアドレスの逆引き結果からエンドユーザーコンピュータと推定した場合に、受信を拒否して再送を促す(スパムやウィルスメールはほとんど再送されない)。不正メール送信元に対してその推定が当たる確率は約99%(ただし、受信するスパムの減少率は約97%)。スパムやウィルスメールのメッセージ本体の受信が食い止められるので、サーバと回線のリソース負荷が減る。
●正当なメールサーバを経由して送信されたスパムは阻止できない。しかし、メールサーバの処理能力がボトルネックになることや、メールサーバでの流量制限により、そのようなスパムはあまり多くならないことが期待できる。
●偽陽性判定された正当なメールの救済は、メールシステム管理者の手作業または自動救済システム(RgreyStarpittaRgreyなど)によって行われる。ユーザーに追加の作業は発生しない。
●偽陽性判定された正当なメールの受信は、送信元からの再送に頼る。グレイリスティングによる自動救済では数分~数十分、手動救済では数十分~数時間遅延する。ただし、タールピッティング(応答遅延)による自動救済では再送に頼らず、受信の遅延は1~2分である。
●無料で使える。

 なお、5月27日「バウンシングバック認証の実装がヘボだと…」で、バウンシングバック認証メールのループの懸念について書いたが、おそらくそれはOpt Plusでは考慮されていると信じたい。バウンシングバック認証メールの送付先をデータベースに記憶しておいて、同じ送付先に二度送らないようにすれば、メールループは簡単に防げるから。
 それにしても、ペンディングキューといい、バウンシングバック認証メールの送付先のデータベースといい、いろんなデータの管理が必要。リソースを食いそうな、また、開発コストが高そうなシステムではあるわな。

(おことわり:この記事を検索にかかりやすくするために、「Opt Plus」と「OptPlus」の表記を混ぜています。)

(この記事へ直接来られた方は、OptPlusについての最初の記事「バウンシングバック認証という無茶なやり方」をご覧ください。そこにOpt Plusについてのすべての記事へのリンクがあります。)

0 件のコメント: