情シスは何度でも甦るさ。

OracleDB/Ruby好きの情シス部員がお送りします

会社のiPhoneの通信量が激増して○○○万円追加請求された話

「え、なんでこんな請求高なってんの!?」

部長のその叫びから始まったこの事件。

うちの会社では、店頭用にiPhoneを数百台規模で使っている。

契約上、通信量の上限が決まっており、その上限を超えると追加料金がかかる。

で、先月の通信量が、上限の倍ほど使い込んでて、○○○万くらいの追加料金がかかってしまった。

このままじゃ、毎月毎月莫大な経費かかるから、至急対策せよ!

ということで、白羽の矢が立つ。

とりあえず、MDMの設定で以下の対策を打つ。

  • 店頭のiPhoneから、動画サービスへの通信を停止。
  • 個別に見て通信量が激しい店舗の検索系サービスへの通信を停止。

いわゆる、店頭のスタッフが遊んでんじゃねーかという対策。

ただ、どう考えても全ての店舗がそんなに遊びに使っているとは考えにくい。

そこで、ヘルプデスク担当者が問い合わせ時に使用するiPhoneの通信量を調べてみることに。

Akamai!!貴様なぜそんなことを

「会社休みの日に80MBの通信量て!?」

ある端末の日曜日の通信量が、多いのである。もちろん担当者は出社してない。

つまり、iPhoneがスリープしている間に、80MBとかの通信をしていることが判明したのである。

さらに、その通信をうちのネットワークのログでもって調査(弊社の店頭用iPhoneは閉域網を経由して社内N/Wからインターネットに接続される)すると、いくつかの特定のIPアドレス先に通信量が多いことが判明した。

そこで、そのIPアドレスに全体でどれだけの通信を行っているかを調べると、あるIPアドレスhttpsの通信を 月間455GBもしてることがわかった。

IP: 23.35.196.166

どこのサーバーやねんと調べると、

IP address : 23.35.196.166
Hostnamea : 23-35-196-166.deploy.static.akamaitechnologies.com
Country : United States (US) (99% confidence)
Continent : North America (NA)
Time zone : America/Chicago

AKAMAIさん!」

アメリカのAkamaiのサーバに、iOSが何らかの通信を行っている。ただ、その内容は全く謎。

念の為に、でかいアプリでも配信してしまったかと思って調べたが、iOSへのアプリの配信は、http(80)の通信みたいで、それも該当しない。

一体、これは何の通信なんや。

この時点で、この問題が簡単ではないことを覚悟し、まずはキャリアへ連絡。

「うーん、該当のiPhoneを送ってください。検証してみます」

とのことで、iPhoneと業務用アプリで使用するバーコードリーダーアクセサリーをセットで送る。

数日後、回答があり、

「このiPhoneの外部アクセサリーを付けた場合のみ、発生するので、うち関係ありません」

まじかよ!!

いやいや、iOSのバグかもしんないから、もうちょっと調べてよと言うも、「iOSはうちの保守範囲ではないんで」ということで、キャリアには、逃げられる。

社内で検証する

自社で通信テストを本格的に実施。

  • 外部アクセサリー付ける/付けない
  • 業務アプリあり/なし
  • キャリア専用の閉域サービスあり/なし

ということで、10台ほどのiPhoneを並べて、通信テスト。

で、結果としては、

「キャリアの言うこと、あってる!」

なぜか、外部アクセサリーを付けた端末がスリープに入った時に大量の通信を発生させている。

というわけで、外部アクセサリーの製造メーカーへ問い合わせ。

「え、でも、うち、普通にAppleの認証取ってますし、Appleフレームワーク(External Accessory Framework)に則ってiOSと接続してるだけですよ・・・」

でしょうね!

一応、認証取ってるか確認したけど、ちゃんと取ってた。当たり前か。

該当のアクセサリは、物流系や小売系の大企業にも何千台と導入されているので、アクセサリ側が悪いわけじゃなさそう。

というわけで、自社での検証のログを解析を続けると、ある法則が。

iOS11.4のバグ!?

iOSバージョンが11.4の時だけ発生しません、これ?

いろんな組み合わせでやってみたが、iOS11.4でしか発生しない。謎の通信が発生していた端末のiOS上げると収まる。

絶対iOSのバグだろこれ。と思いきやApple様には逆らえないので、別件の対応もあり、iPhoneを回収して、iOSのバージョンアップを実施。

徐々に通信量は下がっていき、無事上限を下回り、原因は謎のまま事件は収束したのであった。

追記:

今回の件で、気になったのは、2019年3月のある日を起点にして、全体の通信量が爆発的に増加しており、そのタイミングまでは、iOS11.4でも通信量は落ち着いていたこと。

なので、iOSではなく、そのタイミングで、Appleのサーバ側で、何らかの変更があったのではないかと考えるのだが、原因は謎。

もしかして、バージョンアップしない輩へのApple様からの天罰なのか。いや、言うても1つ前のバージョンでっせ。

原因がわからないから、また再発しないか心配でござる。