情報通信研究機構の合法不正アクセスの事前調査っぽい接続を調べる

 総務省所管の情報通信研究機構(NICT)が調査のため合法不正アクセスを実施するという趣旨の報道が出ています。
総務省 IoT機器に無差別侵入し調査へ 前例ない調査に懸念も | NHKニュース

 ざっくりとした趣旨としては、ネットワークに接続された機器に(脆弱なアカウント・パスワードの組み合わせで?)ログインを試行して、ログインできちゃった機器をセキュリティ対策が不十分として洗い出すということだと理解しました。
 

発信元IPアドレス

 ところで、上記NHKの記事中では、NICTが調査に使うIPアドレスを公表しているとあります。

今回の調査に当たって、情報通信研究機構は、調査に使う発信元の「IPアドレス」を事前に公表しています。

 NICTのトップページにはそれらしき情報は見当たりませんし、「プレスリリース」にも見当たりません。が、「プレスリリース」ではなく「お知らせ」の方を探したところ、昨年以下の発表があったようです。
日本国内でインターネットに接続されたIoT機器等に関する事前調査の実施について(2月13日更新) | NICT-情報通信研究機構

 これによると、以下のように記載されています。

〇事前調査の概要
・日本国内のIPv4アドレスを対象に、22/TCP(SSH)、23/TCP(Telnet)、80/TCP(HTTP)などの宛先ポートに対してポートスキャンを実施し、ポート開放状態のアドレス数の規模などの調査を行います。
・ポート開放状態のアドレスに対してバナー情報※の取得を行い、サービス種類やバージョン情報、機器種別などの状況調査を行います。
〇事前調査の実施時期
11月14日(水) に開始し、来年1月末までを目途に実施予定です。
○事前調査に使用するIPアドレス
以下のIPアドレスから実施します。
・210.150.186.238 、122.1.4.87、 122.1.4.88(2018年11月14日より使用)
・150.249.227.160/28(2018年12月17日より使用)

 すなわち以下の19個のIPv4アドレスが調査元ととして使われるようです。

  • 210.150.186.238
  • 122.1.4.87
  • 122.1.4.88
  • 150.249.227.160
  • 150.249.227.161
  • 150.249.227.162
  • 150.249.227.163
  • 150.249.227.164
  • 150.249.227.165
  • 150.249.227.166
  • 150.249.227.167
  • 150.249.227.168
  • 150.249.227.169
  • 150.249.227.170
  • 150.249.227.171
  • 150.249.227.172
  • 150.249.227.173
  • 150.249.227.174
  • 150.249.227.175

 

根拠法

 前述のNICTの「お知らせ」からは、「平成30年5月23日 電気通信事業法及び国立研究開発法人情報通信研究機構法の一部を改正する法律(平成30年法律第24号)」が根拠法であると解釈できます。
総務省|新規制定・改正法令・告示 法律
 その概要の図が解りやすいと思ったので、以下に引用します。
f:id:kachine:20190126000132j:plain
 この図中の「①機器調査」をNICTが実施しようとしているのだということが判ります。
 そして、冒頭にリンクを張ったNHKの報道中で「25日、国の審議会をへて実施計画が認められました。」というのが、図中の「※総務大臣が調査の実施計画を認可」に該当するのだと思われますので、NICT不正アクセスに近い行為を行っても合法ということになるのでしょう。

 ところで、先のNICTの「お知らせ」では2018年11月14日から事前調査として日本国内のIPv4アドレスに対してポートスキャンが行われていることが判ります。これは、今回の実施計画の認可(2019年1月25日)より前ですが、すでに実施されています。ポートスキャンだけではIDとパスワードを入力しないため、そもそも不正アクセス禁止法に抵触しないから合法という判断になるのでしょうかね?
 

NICTにポートスキャンされたか調べる

 固定回線を引いている国内の多くの一般家庭がそうだと思いますが、インターネット回線はルーターを経由して家庭内LANに繋がっています。
 ポートスキャンを受けても、ルータでポート開放設定などをしていなければ、家庭内LANに接続された機器にポートスキャンが及ぶことは(個別のセキュリティホールなどが無い限り基本的には)ありません。逆に言えば、ルーター自身はポートスキャンや不正アクセスのリスクに常に曝された状態となっているわけです。
 安価な家庭用ルーターにはロギング機能が無かったり、ログ出力内容が貧弱だったりしますが、家庭用ルーターでもLinuxベースで十分にログが取得できるモデルであれば、容易にNICTからポートスキャンを受けたか識別することができます。

 例えば、以下のようなログが記録されます(時刻やIPアドレスなど、NICTが私を特定できそうな情報は伏せています)。

2018-11-16T**:**:**+09:00 router.asus.com kernel: DROP IN=ppp0 OUT= MAC= SRC=210.150.186.238 DST=***.***.***.*** LEN=40 TOS=0x00 PREC=0x00 TTL=243 ID=***** PROTO=TCP SPT=***** DPT=22 SEQ=********* ACK=0 WINDOW=1024 RES=0x00 SYN URGP=0
2018-11-16T**:**:**+09:00 router.asus.com kernel: DROP IN=ppp0 OUT= MAC= SRC=210.150.186.238 DST=***.***.***.*** LEN=40 TOS=0x00 PREC=0x00 TTL=243 ID=***** PROTO=TCP SPT=***** DPT=23 SEQ=********* ACK=0 WINDOW=1024 RES=0x00 SYN URGP=0
2018-11-16T**:**:**+09:00 router.asus.com kernel: DROP IN=ppp0 OUT= MAC= SRC=210.150.186.238 DST=***.***.***.*** LEN=40 TOS=0x00 PREC=0x00 TTL=243 ID=***** PROTO=TCP SPT=***** DPT=80 SEQ=********* ACK=0 WINDOW=1024 RES=0x00 SYN URGP=0

 このログからはNICTが事前調査に使うと公表したIPアドレス(210.150.186.238)から、22,23,80番ポート(それぞれssh, telnet, http)に対して接続が試行されたが、ルーターが遮断した(DROP)ということが読み取れます。
 

NICTからの接続遮断履歴を調べる

 私事ですが、セキュリティ観点から不正な攻撃にさらされていないかをモニタリングするため、過去6か月分程度のルータのログを保存しており、DROPについてはDB管理していたり、日次でグラフを生成して可視化したりしています。
 というわけで、過去データはそれなりに豊富にあるのでNICTからの接続を遮断した履歴を整理してみると、以下のようになりました。

LOGGED_DATE HOUR FROM_IP_ADDR DEST_PORT PROTO SERVICE_NAME*1
2018-09-22 00 210.150.186.238 23 TCP telnet
2018-09-22 04 210.150.186.238 80 TCP http
2018-09-22 05 210.150.186.238 22 TCP ssh
2018-09-22 20 210.150.186.238 23 TCP telnet
2018-09-22 21 210.150.186.238 80 TCP http
2018-09-22 23 210.150.186.238 22 TCP ssh
2018-09-23 16 210.150.186.238 23 TCP telnet
2018-09-23 20 210.150.186.238 22 TCP ssh
2018-09-24 01 210.150.186.238 80 TCP http
2018-09-24 16 210.150.186.238 23 TCP telnet
2018-09-25 13 210.150.186.238 80 TCP http
2018-09-25 17 210.150.186.238 22 TCP ssh
2018-09-25 18 210.150.186.238 80 TCP http
2018-09-26 00 210.150.186.238 23 TCP telnet
2018-09-27 15 210.150.186.238 22 TCP ssh
2018-11-16 00 210.150.186.238 22 TCP ssh
2018-11-16 01 210.150.186.238 23 TCP telnet
2018-11-16 04 210.150.186.238 80 TCP http
2018-11-16 15 210.150.186.238 23 TCP telnet
2018-11-16 16 210.150.186.238 22 TCP ssh
2018-11-16 20 210.150.186.238 80 TCP http
2018-11-19 13 210.150.186.238 80 TCP http
2018-11-19 14 210.150.186.238 23 TCP telnet
2018-11-19 14 210.150.186.238 22 TCP ssh
2018-11-19 16 210.150.186.238 80 TCP http
2018-11-20 22 210.150.186.238 23023 TCP UNKNOWN
2018-11-20 23 210.150.186.238 5555 TCP personal-agent
2018-11-21 00 210.150.186.238 8000 TCP irdmi
2018-11-21 06 210.150.186.238 52869 TCP UNKNOWN
2018-11-21 07 210.150.186.238 22 TCP ssh
2018-11-21 12 210.150.186.238 8080 TCP http-alt
2018-11-21 18 210.150.186.238 8080 TCP http-alt
2018-11-22 01 210.150.186.238 23 TCP telnet

 このデータからは以下のことが読み取れます。

  • 複数日に跨って、同一ポートに対して何度もポートスキャンされているように見えるが、実際には私のIPアドレスの割り当てが異なる
    (NICTから見ると、異なる調査対象(IPアドレス)に対してポートスキャンを行っている)
    • 大多数の固定インターネット回線契約者は固定IPアドレス契約ではないことから、ルーターの電源を入れなおしたり再起動したりなどの理由でIPアドレスは変わる
      • すなわち、(私のルーターのように)同一機器が複数回スキャンされていたり、スキャンされない機器が存在することになり網羅性は担保できない
  • (自分のIPアドレスが)同一IPアドレスで異なるポート番号に対してスキャンを受ける場合、その間隔は1時間から数時間程度あり、NICTのポートスキャンが原因でDDoSのような事態にはならない
  • 昼夜を問わずスキャンされており、作業は人力ではなく自動化されていると考えられる
    • 事前調査(ポートスキャン)だけではなく、今後の合法不正アクセスも自動化されると考えられる(そのツールが悪用されると…)
  • NICTは2018年11月20日からWell-knownポート以外もスキャンし始めたことが判る
  • NICTは2018年11月14日から事前調査を行うと公表したにもかかわらず、それ以前の2018年9月22日から密かにポートスキャンを行っていたことが判る
    • 公表前からポートスキャンを行っている理由は何なのか???

 

雑感

 総務省がやろうとしていることは、好意的に解釈すればセキュリティの底上げに寄与すると思われます。一方で、適当な法律を準備さえすれば国(の機関が)が合法的に不正アクセスできるという前例が出来たわけで、立法府の監視の重要性も高まったのではないかと思います(そもそも、なんで国がこんなのやってんだという気もします。前掲の図の電気通信事業者(プロバイダ)が、顧客の同意を得たうえで自社ネットワーク内の機器調査をする方が自然だと思うのですが)。

 前掲の図に従えば、この活動の結果、検出された脆弱なID・パスワードが設定された機器のIPアドレスのリストはNICTから第三者機関に引き渡され、第三者機関から電気通信事業者に引き渡され、電気通信事業者から一般の利用者に注意喚起がなされる流れになっています。このリストが漏洩したら大惨事になることは容易に想像できますが、どうやって安全に情報を引き渡すのか気になるところではあります。
 また、一般の利用者が注意喚起されたところで対策できるのでしょうか。危険性を認識していない、あるいは対策を行う知識・能力が無いからこそ、不正アクセス可能な状態で機器を運用してしまっているという場合も多いと考えられます。
 そういえば、対象は国内のIPv4アドレスのみのようですが、IPv6で接続された機器はこの施策から対象外としてよいのでしょうか。古くから製造されているIPv4対応機器とは異なり、IPv6対応機器ならデフォルトパスワードがpasswordやpassなんて機器は少ないだろうし、そもそも総当たりするにはアドレスが多すぎるから対象外とかそんな感じなのでしょうか?

 といった感じで、やること自体は必ずしも悪いことではないけど、他に方法はなかったのかとも思います。また、網羅性にも疑問が残りますし、本質的には検出した脆弱な機器をどうやってセキュアな状態に持ってくのかまで担保することがゴールのはずですが、課題は多そうです。
 

おまけ

 NICTが事前調査を実施すると公表した期間以前からポートスキャンを15回もしている。けしからんという見方もできるのですが、そもそも日々どれだけポートスキャンを含め不審な接続が試みられているか、意識している一般ユーザーはどれくらいいるでしょうか?
 参考までに2018年12月に私のルーターに向けて試みられた不審な接続を可視化・整理すると以下のようになります。

  • 時間帯別不審な接続を試みられた回数
    Suspicious connection attempt by hour

 時間帯によって不審な接続が試みられる回数は明らかな違いがある日が多いのですが、1か月通してみると固有の傾向があるわけではないことが判ります。
 また、合計して毎日数千回の不審な接続が試みられていることが判ります。NICTの15回なんてかわいいものです。

  • ポート別不審な接続を試みられた回数
    Suspicious connection attempt by port

 どのポートが多く狙われるかは日によって異なりますが、傾向はありそうです。ざっくりとTelnet, SSH, HTTPといったWell-knownポートに加え、Windows関連ポートや、個別のルーターなどの機器で脆弱性が検知されているポートが多く狙われていると言えるでしょう。

  • 信国別不審な接続を試みられた回数
    Suspicious connection attempt by country

 自分でデータを取得・分析し始める前は、中国・ロシアあたりが多いのだろうと思っていましたが、日によってバラバラです。アメリカや日本からの不審な接続が最多となる日も少なからずあります。

 なお、ここで不審な接続と言っているのは必ずしも攻撃目的ではない可能性があります。NICTがやろうとしているような調査目的だったり、学術研究目的かもしれない*2ものも含まれています。
 
 私が利用しているのは国内の普通のプロバイダで、私自身もこの回線でサーバーを公開しているわけでもない普通のユーザーです。要するに、あなたの回線でも同様の規模で不審な接続が試行されている可能性が高いと予想されます。脆弱なアカウント名・パスワードだったり、セキュリティアップデートを適用しないなど不適切な状態の機器があれば、NICTに合法不正アクセスされるまでもなく、真の攻撃者に不正アクセスされるリスクはそれなりに高いと言えるでしょう。NICTによる合法不正アクセスの賛否は意見が割れるかもしれませんが、いずれにせよ日ごろからネットワーク接続された機器の維持管理を怠らないようにすることが大事です。
 

(追記)
情報通信研究機構の合法不正アクセスの接続元等 - 記憶は人なり
総務省・情報通信研究機構のNOTICEが始まった - 記憶は人なり
 



以上。

*1: Service Name and Transport Protocol Port Number Registry

*2:海外の大学のIPアドレスからの接続試行も少なからずあります。それが正規の研究なのか、大学のマシンが乗っ取られているのかは判りませんが。