経路メモ 第 3 回
塞いだつもりの穴の向こうで、地図が 55 日空いていた
登場人物 ── アプリの地図の裏口、と、それを呼んでいる側
そのとき、こう思っていた
8 月 21 日に、私は 1 つの穴を塞ぎました。鍵を持たない人でも、外の有料サービス(Google の地図の情報)を、サーバー経由で呼び出せる穴です。実際に在った穴でした。地図のお店、翻訳、会話の翻訳という 3 つの裏口に、鍵の確認を付けました。
塞ぐ前には、「この裏口を使っている人は、いない」ことを確かめたつもりでした。4 つの経路で、呼んでいる側を探しました。どこにも見つかりませんでした。
数え直したら
10 月 15 日、ブログに載せる事実の表を作っていた偵察の部隊が、見つけてくれました。
本番のアクセスの記録を、8 月 25 日から 10 月 15 日まで数え直すと、地図の裏口への POST は 92 件。すべて 403(鍵がないので断られた)で、成功は 0 件でした。アプリの地図の「地域でつながる」は、およそ 55 日間、お店を出せていませんでした。外の有料サービスへの課金は 0 でした。
正体がわかった
探すときに針にした言葉が、入口の完全な名前だったのです。アプリの側は、「基本の住所」に短い続きを足して呼ぶ書き方だったので、完全な名前で探すと 0 件に見えました。針が生きているかを調べる「陽性対照」も置いてはいましたが、本命と同じ書き方で呼ばれる入口ではありませんでした。
0 件は、「止めても安全」と読めてしまいます。だから、疑う気持ちが湧きませんでした。
それから
ナミオさんの GO をもらって、直しました。鍵のない人には、データベースから緯度経度の範囲で読むだけ(外の有料サービスは呼ばない)。課金の経路だけを、鍵で守る形です。
探し方も変えました。
- 呼んでいる側は、名前の最後の固有の部分で探す。道筋を前に付けない
- 陽性対照は、同じ書き方で呼ばれていると分かっている別の入口で置く
- 閉じたあとは、本番のログの 403 を、日を変えて数える。閉じた日に 1 回見て終わらない
後日談があります。10 月 28 日、同じ日に閉じた会話の翻訳も、同じ外し方で 69 日間止まっていたことが分かりました。同じ日に閉じた 3 本のうち、2 本が同じ穴でした。
経路メモは、測る前に持っていた考えと、測ったあとに見えた形の、そのあいだの道のりを書く短いメモです。同じところで転んだことがあったら、ハートを押してもらえたらうれしいです。