Asia
Europe
Africa
Oceania
Americas
Other
Mejiroの説明
はじめに
インターネット上にはWebサービスを停止させる様々なリスク要因が存在しています。 Mejiroでは、インターネット上のリスク要因に関するデータをデータプロバイダから収集し、 これらのデータを元に国・地域別の指標を計算して可視化しています。 Mejiroでは客観的で比較可能なリスクの指標を作成し、さまざまな角度から分析を行うことで、より正確に状況把握を行うことができます。 データ取得の具体的な方法や指標を計算する具体的な方法については以下説明をご参照ください。 Mejiroの解析では、「Mejiro指標」を用いています。 Mejiro指標は、国・地域別のリスク要因の数と当該国・地域に割り当てられたIPアドレスの数(以下「IP アドレス数」。)を両対数グラフによる回帰直線からの乖離を偏差値として計算し、 指標としています。(IP アドレス数は国・地域によって数百から十数億まで大きく異なります。 リスク要因の数は IP アドレス数に比例して増えることが推測できますので、リスク要因の数も同様に何桁も異なるような範囲にまたがるものと思われます。 そこで、サイズの大小によらず同じ土俵での議論を行うために両方の数について対数を取って「桁数」での比較検討を行っています。) この指標によって、 当該国・地域における各種リスク要因が世界全体の水準に比べてどの程度存在するか、リスク要因間でどちらがどの程度世界水準と異なるのかを知ることができます。 また、国・地域を跨いだリスク要因の深刻度合いを比較して対策実施の優先順位を決める際の参考にしたり、相互に対策の手法や経験を共有したりすることにつなげられると期待しています。 JPCERT/CC では2014年度から「サイバーグリーンプロジェクト」を実施しています。 Mejiroはサイバーグリーンプロジェクトの基本理念を踏襲していますが、JPCERT/CC独自のアプローチによりインターネットリスクを可視化しています。対象とするリスク要因
Mejiroでは、インターネットのさまざまなリスク要因の中から、「Open UDP Server」を対象としました。 (ここでは、UDP プロトコルを用いて要求メッセージを送ると何らかの応答を返し、かつ、その応答のサイズが要求に比べて大きいものを「Open UDP Server」としています。)
Open UDP Server はリフレクションDDoS攻撃に悪用されており、JPCERT/CC を含めた情報セキュリティ対策コミュニティを挙げてその減少に取り組んでいます。
Mejiro では、Open UDP Server から数の多いものを基本に次の6種類を計測・解析の対象としました。
* DNS (Open Resolver)
* NTP
* RPC
* SIP
* SNMP
* SSDP
また、Mejiro では DDoS攻撃 に悪用され得るリスク要因だけではなく、WannaCryといった他の攻撃で悪用され得るリスク要因として、今回はmicrosoft-ds (445/tcp)も対象としました。
Mejiro では、今後も計測・解析の対象とするリスク要因を増やしていく予定です。
データ・ソース
Mejiro では、データプロバイダからデータを取得しています。- リスク要因のデータ
- SHODAN Mejiro では、SHODAN [1]のサービスからインターネットアクセス可能なUDP Server や microsoft-ds(445/tcp) の数を取得しています。 Open Resolver の国・地域別計数の取得例:
$ shodan stats --facets country:500 "recursion: enabled before:DD/MM/YYYY""recursion: enabled" は Open Resolver を検索するために用いるキーであり、"--facets country:500" で国・地域別の計数を返す[2]ように指定しています。 "before:DD/MM/YYYY" は検索当日の日付を指定して「それ以前」について計数するように指定しています。 これは検索する時刻が多少ずれても計数に影響が出ないようにするためです。[3] [1]:SHODAN ® (https:/www.shodan.io) [2]:SHODANで使われる国・地域の識別子は ccTLD であり、すべての ccTLD について計数を返すことを担保するため、多めの 500 行を指定しています。同様に --facets asn: で ASN 番号別の数を得ることができます。 [3]:SHODANのデータベースでは、当日のデータはデータの取得タイミングによって、リスク要因の数がかなり変動しています。 Mejiroでは変動を最小限にするため、過去およそ30日間に見つかったリスク要因の数を調べています。 Open Resolver を含め、SHODANからデータを取得する際に用いている検索キーは次表にあるとおりです。
| プロトコル | リスク | SHODANに対する検索キー |
|---|---|---|
| DNS | Open Resolver | recursion: enabled |
| NTP | Open NTP Server | NTP stratum: |
| RPC | Open RPC Server | port:111 portmap |
| SIP | Open SIP Server | SIP/ /UDP |
| SNMP | Open SNMP Server | port:161 |
| SSDP | Open SSDP Server | upnp location: |
| microsoft-ds | Open microsoft-ds Server | port:445 |
SELECT count(1), location.country_code FROM `censys-io.ipv4_public.YYYYMMDD` WHERE p53.dns.LOOKUP.open_resolver Group By location.country_codeとすることで Open Resolver について国・地域別の計数を得ています。
[4] censys:Copyright 2017 Regents of the University of Michigan
- 国・地域に割り当てられたIP アドレス数
- MaxMind MaxMindの "GeoLite2 Country" のデータに含まれる IP アドレス帯域(CIDRブロック)と ccTLD の対応を利用して、各国・地域に割り当てられた IP アドレスの数を算出しています。
リスクの可視化
①時系列グラフ(期間でのノード数の増減)
- スキャンするノードの IP アドレスの違い
- スキャンの際の要求内容の違い
- スキャンのタイミング・頻度の違い
- 応答の取捨選択の閾値や解釈の違い
- スキャンされるノードの側の ACL の違い
- パケット到達性の経時的変化による違い
②散布図(リスク要因の数と IP アドレスの数)
指標の計算
指標導出の計算方法:③ヒストグラム(指標の分布を見る)
④レーダーチャート(指標を比較する)
⑤ワールドマップバブル(世界地図上での指標値)
おわりに
Mejiro は検証用のため、多くの改良の余地を残しています。 より良い観測データ・より多くの観測データからより良い描像を得られるシステムとなるように、 指標計算においてもより良い計算方式となるように引き続き開発を進めていく予定です。 また、Mejiro から引き出される新たな課題にも取り組んで参ります。 Mejiro についてご意見・ご感想・ご質問等をお寄せください。 国際部 サイバーメトリクスライン メールアドレス:mejiro-info@jpcert.or.jp更新履歴
| 2018年8月6日 | 英語版Mejiroを公開しました。 |
| 2018年3月13日 | 時系列グラフ、レーダーチャートに凡例を追加しました。 散布図で選択した国を色分けして表示するようにしました。 |
| 2018年1月29日 | 公開 |
時系列グラフの使い方
リスクとなる可能性があるノード数の増減を期間で表してみました。ノード数を把握する際にお使いください。
- メイン画面
- 国・地域の選択
- グラフの拡大
- 印刷、画像ダウンロード選択ボックス
| 1.時系列のグラフ表示 | 16.OpenNTP(*1)の時系列データを表示 |
| 2.散布図のグラフ表示 | 17.OpenRPC(*3)の時系列データを表示 |
| 3.ヒストグラムのグラフ表示 | 18.OpenSIP(*3)の時系列データを表示 |
| 4.レーダーチャートの表示 | 19.OpenSNMP(*3)の時系列データを表示 |
| 5.マップバブルの表示 | 20.OpenSSDP(*3)の時系列データを表示 |
| 6.時系列グラフについての詳細説明を表示 | 21.ポート番号445(*3)がオープンな端末の時系列データを表示 |
| 7.集計日の変更(*1) | 22.OpenDNS(Censysデータから)の時系列データを表示 |
| 8.アジア地域の国・地域の選択(*2) | 23.15~22のリスクがあるノード数(*3)合計の時系列データを表示 |
| 9.ヨーロッパ地域の国・地域の選択(*2) | 24.縦軸リスクがあるノードの数 |
| 10.アフリカ地域の国・地域の選択(*2) | 25.横軸日付(日.月) |
| 11.オセアニア地域の国・地域の選択(*2) | 26.グラフカーソルを重ねるとccTLD、日付、ノード数の表示 |
| 12.アメリカ地域の国・地域の選択(*2) | 27.リスク毎に変わるグラフのタイトル |
| 13.その他地域の選択(*2) | 28.印刷、画像ダウンロード選択ボックスの表示 |
| 14.すべての選択を未選択にする | 29.凡例 |
| 15.OpenDNS(*3)の時系列データを表示 |
*1:2年間分のグラフを表示しています。データの取得開始は2017年10月5日です。2019年10月6日以降で過去のデータを見る場合に使用します。 *2:一度に5か所の国・地域まで選択ができます。 *3:SHODANからのデータを利用します。
地域をまたがって5か所の国・地域を選択できます。 選択後、メイン画面にには左上の×印もしくはポップアップ画面外の灰色の部分をクリックしてください。
グラフ上を左クリックしながら左右になぞると横軸に対しグラフが拡大します。
Reset zoomボタンを押下することにより元の倍率に戻ります。
印刷画面の表示、PNGファイル、JPEGファイル、PDFファイル、SVGファイルをダウンロードできます。
散布図の使い方
ccTLD、リスク毎の密度とバラつきを表してみました。ccTLD毎で割り当てられているIPアドレスの数とリスクの要因となりうるノードの数が平均からどれくらい離れているか確認する際にお使いください。
- メイン画面
- 国・地域の選択
- グラフの拡大
- 印刷、画像ダウンロード選択ボックス
| 1.時系列のグラフ表示 | 16.OpenNTP(*2)の散布図を表示 |
| 2.散布図のグラフ表示 | 17.OpenRPC(*2)の散布図を表示 |
| 3.ヒストグラムのグラフ表示 | 18.OpenSIP(*2)の散布図を表示 |
| 4.レーダーチャートの表示 | 19.OpenSNMP(*2)の散布図を表示 |
| 5.マップバブルの表示 | 20.OpenSSDP(*2)の散布図を表示 |
| 6.散布図についての詳細説明を表示 | 21.ポート番号445(*2)がオープンな端末の散布図を表示 |
| 7.集計日の変更 | 22.OpenDNS(Censysデータから)の散布図を表示 |
| 8.アジア地域の国・地域の選択(*1) | 23.15~22のリスクがあるノード数(*3)合計の散布図を表示 |
| 9.ヨーロッパ地域の国・地域の選択(*1) | 24.縦軸リスクがあるノード数の常用対数 |
| 10.アフリカ地域の国・地域の選択(*1) | 25.横軸IPアドレスサイズの常用対数 |
| 11.オセアニア地域の国・地域の選択(*1) | 26.リスク毎に変わるグラフのタイトル |
| 12.アメリカ地域の国・地域の選択(*1) | 27.各リスク毎の回帰直線式 |
| 13.その他地域の選択(*1) | 28.ccTLDリスト |
| 14.すべての選択を未選択にする | 29.印刷、画像ダウンロード選択ボックスの表示 |
| 15.OpenDNS(*2)の散布図を表示 | 30.マウスカーソルをポインタに乗せるとccTLD、横軸の値、縦軸の値の表示 |
*1:一度に5か所の国・地域まで選択ができます。 *2:SHODANからのデータを利用します。
地域をまたがって5か所の国・地域を選択できます。 選択後、メイン画面にには左上の×印もしくはポップアップ画面外の灰色の部分をクリックしてください。 選択された国は色付けされて表示され、選択されていない国は黒いドットで表示されます。
グラフ上を左クリックしながら左右になぞると横軸に対しグラフが拡大します。
Reset zoomボタンを押下することにより元の倍率に戻ります。
印刷画面の表示、PNGファイル、JPEGファイル、PDFファイル、SVGファイルをダウンロードできます。
ヒストグラムの使い方
指標化によって取得できたスコアをヒストグラム上で可視化しました。各ccTLD、各リスク毎でどのクラスに入っているか把握する際にお使いください。
- メイン画面
- 印刷、画像ダウンロード選択ボックス
| 1.時系列のグラフ表示 | 12.OpenSIP(*1)のヒストグラムを表示 |
| 2.散布図のグラフ表示 | 13.OpenSNMP(*1)のヒストグラムを表示 |
| 3.ヒストグラムのグラフ表示 | 14.OpenSSDP(*1)のヒストグラムを表示 |
| 4.レーダーチャートの表示 | 15.ポート番号445がオープンな端末(*1)のヒストグラムの表示 |
| 5.マップバブルの表示 | 16.OpenDNS(Censysデータから)のヒストグラムを表示 |
| 6.ヒストグラムについての詳細説明を表示 | 17.9~16のリスクがあるノード数(*1)合計のヒストグラムを表示 |
| 7.集計日の変更 | 18.縦軸同じ指標の値を持ったccTLDの数 |
| 8.地域の設定はできません。 | 19.横軸指標の値 |
| 9.OpenDNS(*1)のヒストグラムを表示 | 20.リスク毎に変わるグラフのタイトル |
| 10.OpenNTP(*1)のヒストグラムを表示 | 21.印刷、画像ダウンロード選択ボックスの表示 |
| 11.OpenRPC(*1)のヒストグラムを表示 | 22.マウスカーソルをグラフに乗せるとccTLD、縦軸の値を表示 |
*1:SHODANからのデータを利用します。
印刷画面の表示、PNGファイル、JPEGファイル、PDFファイル、SVGファイルをダウンロードできます。
レーダーチャートの使い方
指標化によって取得できたスコアをレーダーチャート上で可視化しました。複数のccTLDとの間でリスクを比較する際にお使いください。
- メイン画面
- 国・地域の選択
- 印刷、画像ダウンロード選択ボックス
| 1.時系列のグラフ表示 | 10.アフリカの国・地域の選択(*1) |
| 2.散布図のグラフ表示 | 11.オセアニアの国・地域の選択(*1) |
| 3.ヒストグラムのグラフ表示 | 12.アメリカの国・地域の選択(*1) |
| 4.レーダーチャートの表示 | 13.その他の国・地域の選択(*1) |
| 5.マップバブルの表示 | 14.すべての選択を未選択にする |
| 6.レーダーチャートについての詳細説明を表示 | 15.リスクの選択はできません。 |
| 7.集計日の変更 | 16.グラフカーソルを重ねるとccTLD、指標の値を表示 |
| 8.アジアの国・地域の選択(*1) | 17.印刷、画像ダウンロード選択ボックスの表示 |
| 9.ヨーロッパの国・地域の選択(*1) | 18.凡例 |
*1:一度に5か所の国・地域を選択できます。
5か所の国・地域を選択できます。 選択後、メイン画面には左上の×印もしくはポップアップ画面外の灰色の部分をクリックしてください。
印刷画面の表示、PNGファイル、JPEGファイル、PDFファイル、SVGファイルをダウンロードできます。
ワールドマップバブルの使い方
指標化によって取得できたスコアをワールドマップバブル上で可視化しました。各リスクの大きさをccTLD別で比較する際にお使いください。
- メイン画面
- 印刷、画像ダウンロード選択ボックス
| 1.時系列のグラフ表示 | 12.OpenSIP(*1)のワールドマップバブルを表示 |
| 2.散布図のグラフ表示 | 13.OpenSNMP(*1)のワールドマップバブルを表示 |
| 3.ヒストグラムのグラフ表示 | 14.OpenSSDP(*1)のワールドマップバブルを表示 |
| 4.レーダーチャートの表示 | 15.ポート番号445(*1)がオープンな端末のワールドマップバブルを表示 |
| 5.マップバブルの表示 | 16.OpenDNS(Censysデータから)のワールドマップバブルを表示 |
| 6.マップバブルについての詳細説明を表示 | 17.9~16のリスクがあるノード数合計(*1)のワールドマップバブルを表示 |
| 7.集計日の変更 | 18.地図の倍率 |
| 8.地域の設定はできません。 | 19.マウスカーソルをポインタに乗せると指標の値を表示 |
| 9.OpenDNS(*1)のワールドマップバブルを表示 | 20.各リスク毎のタイトル名 |
| 10.OpenNTP(*1)のワールドマップバブルを表示 | 21.印刷、画像ダウンロード選択ボックスの表示 |
| 11.OpenRPC(*1)のワールドマップバブルを表示 |
*1:SHODANからのデータを利用します。
印刷画面の表示、PNGファイル、JPEGファイル、PDFファイル、SVGファイルをダウンロードできます。


