2019-04-10

IIJに対してマルウェア対策のDNSブロッキングについての質問の回答

私の使っているISPであるIIJmioひかりはマルウェア対策のDNS検閲を開始すると宣言した。

IIJのセキュリティに関する取り組み | インターネットイニシアティブ(IIJ)

IIJの説明を読むと、IIJの提供するDNSサーバーは、マルウェアが指令や通信をするのに使うことが知られているC&Cサーバーのドメイン名の解決を行わないのだという。彼らはこれをDNSフィルタリングと読んでいるが、私はDNS検閲と呼ぶことにする。あるいは少し前に話題になったDNSブロッキングと呼ぶのもよい。

IIJによると、DNS検閲はデフォルトで有効であり、オプトアウトするためには、IIJが用意したDNS検閲を行わないDNSサーバーを使う必要があるという。

しかし、このDNS検閲の実装方法や、マルウェアの定義が疑問なので、IIJに対して質問することにした。

質問「DNSフィルタリングを行うDNSサーバーは、ユーザーを契約単位あるいは何らかのフィンガープリントで識別し、特定のユーザーに対して個別にDNS問い合わせの結果を変える機能を持っていますか?」

この質問はとても重要だ。もしDNSサーバーがこのような機能を持つ場合、きわめて深刻な悪用ができるからだ。

以下のような回答が得られた。

・弊社のDNSサーバでは特定のお客様のみに異なる結果を返す機能は
 設けておりません。
・今回の弊社DNSフィルタリングの仕組みは、弊社側でDNSフィルタリングを
 適用するDNSサーバと適用しないDNSサーバの両方のDNSサーバを用意し、
 お客様の判断で選択(オプトアウト)を可能としています。
・また、フィルタリングが適用されたDNSサーバにおいては、その通信先が
 レピュテーションデータに該当した場合、IIJが別途用意するサーバの
 IPアドレスに宛先を置き換えることで、本来の宛先へアクセスしないように
 しています。
・尚、オプトアウトの方法については、下記弊社ホームページにてお伝えして
 います。https://www.iij.ad.jp/sec-statement/

そのような機能はないという。ただ、興味深いことに、マルウェアが利用するドメインに対しては、IIJが管理するIPアドレスを返すという。情報収集のためのハニーポットかもしれない。しかしこれはよくよく気をつけないと、ミイラ取りがミイラになりかねない。IIJの用意するハニーポットがパーサーを使って通信を解析している場合、マルウェアのふりをして通信し、そのマルウェアからは想定しないデータを送りつけ、パーサーの実装の不備を着くことが可能になるかも知れない。

次の質問は、マルウェアの定義についてだ。

Winnyのような通信はマルウェアではない。利用者の意図通りの動作をしているからだ。たとえその通信の内容が、著作権侵害、薬物取引、マネーロンダリング、児童ポルノ、違法素数などの違法な内容であったとしても、マルウェアのみの対策と宣伝する以上、マルウェア対策以外のことは行うべきではない。

CoinhiveのJavaScriptコードを提供するドメインと、計算結果を受け取るドメインはどうか。兵庫県警はマルウェアだと主張するかも知れないが、私の意見ではマルウェアではないし、C&Cサーバーでもない。

Tor relay/exitノードや、似たようなプロクシー機能を提供するものについてはどうか。これは私の意見ではマルウェアではないし、C&Cサーバーでもない。

pastebin.comのようなユーザーからの任意のテキストをホストするようなサービスは、マルウェアのC&Cサーバーとして使われうる。しかし、pastebin.comは今の所、マルウェアのC&Cサーバーとして利用されているという情を知った時点で迅速な対応を行っている。マルウェアのC&Cサーバーとして使われうる機能を提供しているのと、意図をもってC&Cサーバーとなっているのは別だ。私はpastebin.comのようなサービスは検閲されるべきではないと考えている。これはどうか。

単なるフィッシングサイトでマルウェアのC&Cサーバーとしては使われていないものはどうだろうか。マルウェア対策のDNS検閲という以上、単なるフィッシングサイトは検閲しないはずだ。

そのような考えから以下の質問を送ったところ、回答が得られた。

・IIJmioひかりがDNSフィルタリングを実施する対象に該当すると判断
    するものをお答えください。
 ・Coinhive風のサービスにおいて!JavaScriptプログラムをホストし
    または計算結果を受け取るサーバー
  ・Winny等のファイル共有プロトコルで通信するサーバー
  ・Tor relay/exitノードまたは似たようなプロクシー機能を提供するサーバー
 ・pastebin.com風のサービスを提供するサーバーで、マルウェアが
  指令の受信や情報の伝達に用いるものであって、
  サービスの管理者はマルウェアによって悪用された場合の対応を迅速
    に行う体制を整えているもの
 ・単なるフィッシングサイトであって、マルウェアとは関わりがないもの
----------------------------------------------------------------------
(ご回答2)
・今回ご指摘いただきました対象に関しては、現在、弊社のフィルタリング
 対象に該当するものはございません。しかしながら、複数の条件が重なる
 などして、悪意あるマルウェアの通信先と判断された場合は、フィルタリン
 グ対象となる場合がございます。
 そのような場合には再度分析を行い、対象の見直しを実施いたしますので、
 正常な通信先がフィルタリングによって遮断されている可能性がある場合は、
 弊社窓口 support@iijmio.jp までお問い合わせください。

この回答をみるかぎり、IIJと私はマルウェアについて互換性のある定義を持ち合わせているようだ。

この結果を考えて、私はIIJのDNS検閲をオプトアウトするかどうかを考えなければならない。オプトアウトは簡単だ。IIJが別途用意した自称DNSフィルタリングを行わないと主張しているDNSサーバーを使うようにすればよい。これはルーターにDNSサーバーのIPアドレスを手動で設定するだけでいい。これができないような人間はDNS検閲されていたほうがインターネット全体のためにも安全だ。

ただし問題は、オプトアウトをする人間は圧倒的少数であろうということだ。インターネットにおけるプライバシーを考えるにあたって、少数派はその分余計なフィンガープリントを抱えることになり、目立つのだ。ましてや、国家の諜報機関は、意図的にDNS検閲のオプトアウトをした人間を怪しいとみなし、重点的に秘密裏に通信内容を傍受して捜査するかも知れない。私が国家の諜報機関(緊急避難と称して捜査令状も取らずに秘密裏に違法に捜査する機関を想定している)ならばそうする。

今のところ私はマルウェアを研究しているわけではないので、IIJが回答どおりの運用をするのであれば、今のところはオプトアウトをしなくてもいいかも知れない。悩ましい問題だ。あらゆる検閲は悪であるので当然オプトアウトすべきだが、オプトアウトすると目立って通信を傍受される可能性が高まるので、気軽にオプトアウトすることもできない。

3 comments:

Anonymous said...

CloudflareのDNS(1.1.1.1)を見るのが現実的な気がする、
LAN内にキャッシュも立てとくと吉

Anonymous said...

江添氏は携帯電話も使ってないんだろうし、
LAN内にキャッシュ DNS サーバー建てておけば、Cloudflare使う必要も全くないでしょう。
常時起動しているサーバーマシンがなくても、Linux端末使ってるんだったらその端末でローカルにキャッシュサーバー上げるだけ。
キャッシュサーバーなら設定もほとんど要らないし。
複数端末ある場合でも、メモリの少なかった太古の昔ならともかく今なら、全端末でそれぞれキャッシュサーバーをローカルに上げるようにすれば十分。

Anonymous said...

実際は大して悩んでないだろ。悩んでるポーズを取りたいだけ。