迷惑投稿対策 2016年08月22日 20:11   編集
トレンドマイクロのセキュリティソフトをインストールしていると、アクセスしたWEBサイトのURLがすべてトレンドマイクロに送られてしまうということがわかりました。
パスワードでアクセス制限されたページも、URLにパスワードが含まれているとそれも送られてしまうため、セキュリティ上大きな問題になります。

これは、悪意のあるプログラムが仕掛けられているWebページへのアクセスをブロックするというWebレピュテーションという機能を有効にすると、こうなるようです。

Webレピュテーションの仕組みは、
  1. WebレピュテーションをいれたユーザーがWebを閲覧すると、そのURLがすべてトレンドマイクロのサーバーに送られる。
  2. そのURLへトレンドマイクロのロボットがアクセスして安全かどうか調べる。
  3. URLが安全かどうかの情報がサーバーのデータベースに送られる。
  4. ユーザーがWebにアクセスしようとすると、データベースに問い合わせて、危険と判断されたらブロックする。
というもののようです。

見慣れないドメイン

迷惑投稿というわけではありませんが、もっとたちが悪いかもしれない問題が出てきました。

ここで公開しているCGIではありませんが、限られたユーザーだけアクセスできるようにベーシック認証で制限をかけているCGIがあります。
外部に出したくないデータを扱っているので、変なところからのアクセスがないか、時々ログをチェックしているのですが、末尾に sjdc とか iad1 がついた見慣れないドメインからのアクセスが目につくようになってきました。

IPアドレスからgethostbyaddrでホストを調べてみると、wtp-g4-maya8.sjdcとかwtp-gs-maya7.sjdc、あるいはwtp-g9-maya6.iad1ということになるのですが、sjdcやiad1などというトップレベルドメインは見たことがありません。
webで調べてみるとどうもトレンドマイクロ社の検索ロボットのようです。
トレンドマイクロ社の製品に入っている機能で、悪意のあるプログラムが仕掛けられているWebページへのアクセスをブロックするというWebレピュテーションというサービスがあるようなのですが、そのデータベース作成のためにロボットが調べているようです。

ログを見ると、トレンドマイクロのソフトを入れたパソコンでページにアクセスすると数分後に同じページにロボットからのアクセスがあります。
どうやらブラウザで見たページのURLがトレンドマイクロに送られ、そのURLをロボットが調べるという流れになっているようです。

トレンドマイクロのサイトで、WEBレピュテーションについて説明したページを見てみると
本機能を有効した場合、お客様がアクセスをしようとしているURLの情報を全て送信します。
また、アクセス先のWebサーバ側の仕様が、お客様が入力した情報や環境情報等をURLのオプション情報として付加しWebサーバへ送信する仕様となっている場合は、URLのオプション情報(ID,パスワードが含まれる場合があります)についても、トレンドマイクロのサーバに送信されます。
という記述が見つかりました。
これって、やってることはスパイウェアといっしょでは。
トレンドマイクロに送られたURLデータがどのように管理されているのかは、わかりませんが、URLが安全か危険かという情報をユーザーに公開している以上、当然URLの情報も公開されてしまうと考えた方が良さそうです。
これまでいっさいアクセスのなかったmsnやgoogleのロボットも来るようになったし。
隠したいURLがオープンになってしまうという点では、スパイウェアよりたちが悪いかもしれません。

Webレピュテーションをインストールする際の使用許諾契約書には当然こうしたことは書いてあるのでしょうが、トレンドマイクロの製品のユーザーが、こうなっていることを認識しているかどうか疑問です。
トレンドマイクロの製品のほとんどにこのWebレピュテーション機能は入っているようなので、かなりのユーザーがID、パスワードを含むURL情報をトレンドマイクロに送っていると考えられます。

とりあえず、件のCGIはトレンドマイクロからのアクセスは拒否するようにしましたが、すでにトレンドマイクロにURL情報が送られているので、ほとんど意味のない抵抗です。

ベーシック認証でもアクセス制限していますが、その情報まで送っているのかどうかは、ウチで取っているログではわかりませんでした。
さすがにそこまでやると問題になるとはおもいますが。

いずれにしても、こうしたスパイウェアもどきのものが出回っている以上、URLでログイン情報を渡すのはやめた方が良さそうです。
ウチで公開しているほかのアクセス制限機能付きCGIでも、制限ページにログイン後のアクションは常にパスワードチェックを行うようにしているので、アクションを送るごとにパスワードをサーバーに送っています。URLで送ることが多いので、これは別の方法を何か考えた方が良さそうです。

アクセス制限の改善案

ということで、対応策を考えてみました。

従来

ログインする際にフォームからID、パスワードを入力させて認証。ログイン後も何かアクションするごとに認証を行うが、その都度ID、パスワードを入力するのは手間なので、ページのリンク先などにID、パスワードを保存し、制限ページ内での操作や移動はパスワードを入力する必要が無いようにしている。
ブラウザのアドレス欄にID、パスワードを含んだURLが表示される。

改善案

ログインする際にID、パスワードを入力するフォームを表示。認証が通ったら、ランダムな文字列から成るログインIDを発行。以後ユーザーが制限ページ内での移動、操作する際は常にこのログインIDを保持する。
ログイン時にユーザーのIPアドレス、ログインIDを含むログインファイルを作成し、ログインページ内での認証は、パスワード認証の替わりに、ユーザーが保持するログインID、ユーザーのIPアドレスを含むログインファイルが存在するかどうかで行う。このログインファイル、ログインIDは一時的なもので、ユーザーがログアウトしたり、有効期限(数分)を過ぎると自動的に削除される。一時的な認証データなので万一ログインIDが外部に漏れたとしても、そのIDでログインすることはできない。万一、正規のユーザーがログイン中、あるいはログインファイルが削除される前にこのログインIDを使ってアクセスしようとしても、アクセス元のIPアドレスもチェックしているので、不正にログインすることはできない。

ウチで公開しているCGIをチェックしてみたところ、結構パスワードをURLで送信するスクリプトがたくさんありました。

長期予定表

パスワードを使用するのは管理者による設定画面にログインしたときだけ。設定画面内の操作は基本的にフォームによるPOST送信だけだが、
編集された設定を設定画面に反映させるため、リダイレクトでパスワードを送信する部分があった。
このリダイレクトを廃止し、別の方法で編集結果を反映させることにした。

詳細予定表

長期予定表と同様に管理者による設定画面ログイン時にリダイレクトでパスワードを送信している部分があったので、廃止。
マルチモードの場合、ユーザーが専用の予定表を作ることができるが、この専用ページにログイン中にパスワードをURLで送信する部分があった。
上記の改善案を取り入れ、ログイン時に認証と同時に一時IDを作成し、IPアドレスと一時IPによる認証方式に変更した。

疑似偏差値計算機

プライベートディレクトリにログインしたときにパスワードを使う。プライベートディレクトリ内の操作はすべてフォームによるPOST送信なので、問題ないと思うが、ログイン直後にメッセージを表示するためにリダイレクトする部分でパスワードを送信している。
これもリダイレクトしない方式に変更する予定。

一斉メール送信CGI

パスワードは使用するが、すべてPOST送信なので、パスワードがURL送信されることはない。

Clip Board改造版

管理者用設定画面で編集後にパスワーを含んだURLにリダイレクトする部分があるので、リダイレクトしないように改修。
counter:5,239