年末年始に遊ぼうかと秋月電子でSeeed StudioのGrove Wio NODEを買ってきました。ESP8266が搭載されていてWi-Fiに接続でき、各種Groveモジュールを接続することができます。価格も1100円とお手頃です。
ちゃんとくさんの記事「Wio Node」で半田付けなしの電子工作!温度計作りでIoTはじめの一歩を参考にしながらセットアップして、Seeed StudioのWio NODEのAPIをたたくと温度センサーの値が取得できたり、7セグメントLEDに好きな数字を表示することができました。
7セグメントLEDに数値を表示するAPIはこんな感じで簡単に使えます。
$ curl -k -X POST https://us.wio.seeed.io/v1/node/Grove4DigitUART0/display_digits/表示開始桁位置/表示したい数字4桁?access_token=登録したWio NODEにアクセスするための文字列
例えば、このAPIを私のVPSで動かして、VPSのロードアベレージの数値を自宅の7セグメントLEDに表示するということもできてしまいます。
このとき、APIの仕様を見ながら、いろいろ試してみたのですが、うっかりAPIのドメインを間違えてしまいました。タイムアウトでエラーとなったのですが、タイムアウトで返ってきたということは、ドメインが存在して接続までできたということになります。
間違えたドメインは以下の通りです。
- 正しいドメイン us.wio.seeed.io
- 間違ってアクセスしたドメイン us.wio.seed.io
このように非常にドメインが似ており、このus.wio.seed.ioは実際に存在しました。もし、私のようにうっかりタイプミスをしてしまった場合、このサイトのWWWサーバのログに呼び出したAPIのURLやWio NODEに割り当てられたアクセストークンが記録されてしまいます。APIのURLからどんなGroveデバイスが接続されているのかもわかるでしょう。
このため、今登録したアクセストークンは漏洩した可能性があると判断し、一度Wioデバイスの登録を削除したあとに、再度登録して新しいアクセストークンを作成しました。
このサイトはそのような目的は無いのかもしれませんが、悪意があれば、IoTデバイスのアクセストークンを入手し、意図しないWio NODEの制御が行われてしまう可能性があります。アクセストークンによる認証だけでは危険だなと再認識しました。
コメント