TOPセキュリティ > ネット接続機器の検索エンジンShodanを防御に活用すべき理...

セキュリティ

ネット接続機器の検索エンジンShodanを防御に活用すべき理由(前)

2019/12/10

J.M. Porup CSO

 「Shodan」は、インターネットにつながっているあらゆる機器の情報を調べることができる検索エンジンだ。Google検索などの一般的な検索エンジンがWebの情報のみをインデックス化しているのに対し、Shodanは、ネット上のさまざまな機器の情報をインデックス化している。

Credit: Shodan

 どのような機器や設備であれ、インターネットにつながっていれば、Shodanによる探索の対象になり得る。ネットワークカメラ、水処理施設、ヨット、医療機器、信号機、風力タービン、ナンバープレート読取装置、スマートテレビ、冷蔵庫など、なんでもだ。その中には、インターネットにつながっていてはまずそうな機器や設備も少なくない。

 Shodanの仕組みを理解するには、創設者のJohn Matherly氏が執筆した電子書籍「Complete Guide to Shodan」を読むのが一番だ。基本的なアルゴリズムは次のとおりで、極めて単純である。

1. IPv4アドレスをランダムに1つ決める
2. Shodanが理解するポート番号の中から、テスト対象のポート番号をランダムに1つ決める
3. そのIPv4アドレスとポートに接続し、応答(バナー情報)を取得する
4. 1に戻る

 これだけだ。インターネットにつながっているあらゆる機器を見つけ、あらゆる情報をインデックス化し、検索できるようにする。それがShodanだ。

Shodanの仕組み

 ネット上の機器のオープンポートで動いているサービスの種類は、返って来るバナー情報から判断できる。例えば、Shodanのヘルプページでは、FTPのバナーの例を次のように示している。

------------------------------------------------
220 kcg.cz FTP server (Version 6.00LS) ready.
------------------------------------------------

 Webコンテンツはインデックス化しないが、80番や443番のポートから返るバナー情報はインデックス化している。例えば、CSOonline.comのHTTPSのバナー情報は次のとおりだ。

------------------------------------------------
$ curl -I https://www.csoonline.com
HTTP/2 200
server: Apache-Coyote/1.1
x-mod-pagespeed: 1.12.34.2-0
content-type: text/html;charset=UTF-8
via: 1.1 varnish
accept-ranges: bytes
date: Fri, 25 May 2018 14:16:18 GMT
via: 1.1 varnish
age: 0
x-served-by: cache-sjc3135-SJC, cache-ewr18125-EWR
x-cache: HIT, MISS
x-cache-hits: 2, 0
x-timer: S1527257779.808892,VS0,VE70
vary: Accept-Encoding,Cookie
x-via-fastly: Verdad
content-length: 72361
------------------------------------------------

 それ以外のポートからも、サービス固有のバナー情報が返って来る。その中身に嘘偽りがないという保証はないが、多くの場合は正しい情報だ。それに、嘘のバナー情報を意図的に返すというのは、隠蔽によるセキュリティにほかならない。

 企業によっては、Shodanにネットワークをクロールされないようブロックしているところもある。だが、企業のネットワークにつながっている脆弱な機器を見つける方法はShodan以外にも存在する。Shodanのクロールをブロックすれば、一時的な恥さらしは避けられるかもしれないが、その企業のセキュリティ態勢の強化にはつながりそうにない。

↑ページ先頭へ