Fox on Security

セキュリティリサーチャー(インシデントアナリスト)で、セキュリティコンサルタントのキタきつねの独り言。専門はPCI DSS。

COCOAは甘すぎた

緊急事態宣言が発出されている中、感染拡大を抑える重要なツールである接触確認アプリ(COCOA)のAndroid版は、昨年9月のバージョンアップ以降の約5か月間、濃厚接触があってもリスクが低いと判定されて通知がされてなかった事が判明しました。

www.asahi.com

昨年9月28日にCOCOAのバージョンアップをした。それ以降の1月までは基本的な動作テストしかしていなかった。そのなかではちゃんと動いていると業者が判断した。年明けに拡張してテストしたら動いていないと判明した」

 「9月28日は、(iPhone〈アイフォーン〉向け基本ソフト)iOSで濃厚でない接触でも(通知が)来てしまうことの不具合を直した。その時に、時間、距離とかのパラメーターに変更を加えた。iOSはそのときうまくいったが、アンドロイドは濃厚接触があっても低いリスクと判定されて通知がいかない、ということになってしまった」

――問題発覚の経緯は。

 「(業者からの)一報は(今年)1月25日。どうも不具合あるらしい、と。それで調査をお願いして最終的にきょうに至った」

――どれくらいの規模の問題なのか。

 「アンドロイドの割合は、ダウンロードされていることとアクティブかは別。ダウンロードでみると約31.4%。2月2日現在で、全体で約2450万ダウンロード。アンドロイドは約770万ダウンロードに該当する」

朝日新聞記事より引用)

 

公式発表(厚生労働省

Android版接触確認アプリの障害について

 

キタきつねの所感

2/3現在での接触確認アプリ(COCOA)のダウンロード数は、約2,464万件と発表されています。

TCA(電気通信事業者協会)の2020年度契約者数データでは、携帯電話の国内契約者数は約1.8億台となっており、スマホ普及率MM総研の2020年調査データ=出荷台数ベースだと約9割ですが、H30年の情報通信白書だと、2017年が60.9%ですので伸び率から推測すると現在は65%程度だと思われます。

以上のデータから国内のスマホ端末(=COCOAをインストール可能と推定される)は、ざっと試算すると、

 約1.8億台×65%=約1億1,700万台


この数字を元に、現在の接触確認アプリ(COCOA)のダウンロード数で普及率を試算すると、

 COCOA普及率は約21% となります。

 

私用スマホと社用スマホ等、複数台持ちの方も多いかと思いますので実質的な普及率はもう少し良くなるかと思いますが、約2,464万件というダウンロード数はスマホゲームであればメガヒットですが、接触確認アプリ(COCOA)開始時に当時の安倍首相が「アプリが人口の6割近くに普及できれば大きな効果が期待できる」と言及した水準から考えると、当初の目標を大きく下回っている状況かと思います。

厚生労働省のデータはDL回数なので、再DLがカウントされるケースも含まれます

※DL数をベースにしていても、COCOAがオフになっている(例:Bluetoothがオフ)場合は当然の事ながらソフトは機能しません

 

そうした状況の中で、Android版の接触確認アプリ(COCOA)の不具合を5か月間も誰も気づけなかった。ソフトウェアには不具合(バグ)がつきものとは言え、あまりにもお粗末な話です。

 

厚生労働省の再発防止策を見ると、恐らく一因となったであろう、お役所仕事感(業者丸投げ体質)がよく出ている気がします。

4. 再発防止策
 厚生労働省は、本障害の判明を受け、本アプリ開発・保守運用事業者に対し、品質管理の徹底を指示するとともに、厚生労働省側としても正常に動作するかや不具合がないかを十分に検証した上で本アプリの納品を受けられるように、専門家の増員を図る予定です。引き続き、国民の皆様に広く、安心して本アプリをご利用いただけるよう、利用者からのご意見等を踏まえ本アプリの機能・デザインの改善を行ってまいります。

(公式発表より引用)

発注主(厚生労働省)側が、納品(動作)検証していなかった事が良く分かります。

複雑で大規模なシステムが対象というのであれば分からなくもないのですが、厚生労働省の担当者も導入している(であろう)アプリケーションで、受け入れテスト(実機テスト)をしない、あるいは開発会社に動作検証(実機テスト)の証跡(テスト結果)を要求しないというのは、非常に疑問です。

公式発表では「検証」できるだけの専門家が居なかったと思わしき内容が書かれていますが、「専門家」が必要だったのかと考えると、そこが主要因では無かった気がします。

 

公式発表の経緯部分を見ると、何となくこうしたミスにつながる背景が透けて見えてきます。

3. 本障害の発生及び今回判明した経緯
 本アプリ開発・保守運用事業者からの報告によると、本障害の発生及び今回判明した経緯は次のとおりです。
 本障害は、昨年9月28日のバージョンアップに伴って生じたものです。その後、本アプリ改修時には、テスト環境を用いて必要なテストを実施してきましたが、その際のテスト内容は、本アプリの基盤となっている接触通知APIから出力される接触リスクに関する値を前提とした模擬的な検証を行うものでした
 しかしながら、陽性者と接触しているはずであるが本アプリで通知がこなかった旨の報道を受け、従来の模擬的な検証に加えて実機を用いた動作検証を行ったところ、接触リスクに関する値がAndroid端末については想定と異なる形で接触通知APIから出力され、その結果、接触が正しく通知されないこととなっていることが判明したものです。

(公式発表より引用)

 

テスト環境を使っての模擬的な検証、つまり実機検証は行ってないという、何ともお粗末な改修対応であった事が書かれています。

当然の事ながら、厚生労働省が承認した上で、改修されたソフトが「リリース」されていると思いますので、厚生労働省の運営主体(発注主)としての責任は重く、大臣が釈明するのは当然の事かと思います。

しかし、厚生労働省との委託会社とのやり取りが分かりませんので一般論になりますが、アプリを開発した業者の対応も酷すぎる気がします。

国策と言っても過言ではない、重要な感染拡大防止のソフトであり、このミスによって「緊急事態宣言」に繋がる感染者増に影響を与えたかも知れないと考えると、アプリ開発業者・保守運用事業者の再発防止策(見解)も出てきて当然ではないでしょうか。

※本日時点ではそうしたリリースは見つけられておりません

 

2020年9月17日に厚生労働省は「接触確認アプリCOCOAの現状と課題」という資料を出しており、COCOAの保守運用体制については、パソナHDのパーソナルプロセス&テクノロジー社が担当し、エムティーアイ社、日本マイクロソフト社、FIXER社の3社に再委託している事が分かります。

この体制図を見る限り、ソフトを改修したと思われるのがエムティーアイ、そしてその品質を管理していた(はずな)のがパーソナルプロセス&テクノロジーだったかと思います。

COCOAのベースとなるソースコードは、COVID-19 Radar Japanが開発しましたが、その開発をリードしていた1人が日本マイクロソフト社の廣瀬氏であった事から、体制図の真ん中に日本マイクロソフト社が入っているのはその関係かと推察しますが、開発実績が豊富(そう)な会社がこれだけ入っていて、誰も(実機検証しない事が)問題だと思わなかった、そこに今回のミスの一因がある気がします。

f:id:foxcafelate:20210204111351p:plain

 

FIXER社は運用監視だけを担当していたとすると、Android」から感染者登録データが上がってこない事に気づけた可能性があるのは、テムティーアイ社だけな気がします。

普通でしたらデータ分析目的で、COCOAの重要なデータについて、日時、月次データを報告する体制になっているかと思うのですが、公式発表を見ると、この運用体制の中で「Androidから通知が上がってこない事に気づいた」のは約5か月誰もおらず一部報道(SNS)を受けて調べたら「ミスしていた」事に気づいたという何とも残念な話です。

 

「ココアはやっぱり・・・」森永ではなく、インストールしても意味がないものだと多くの形に思われてしまう、今回の様な運用設計の「甘いミス」 は可能な限り無くす、あるいはミスがあったとしても短期間に修正できる体制を改めて考える必要があるのかと思います。

 

余談です。今回の件を調べていて、直接関係が無いのですが、下記のCOCOA開発に関する経緯記事を読んでいて色々と思う所がありました。

blog.rocaz.net

blog.rocaz.net

 

 

本日もご来訪ありがとうございました。

Thank you for your visit. Let me know your thoughts in the comments.

 

ココアの粉のイラスト

 

更新履歴

  • 2021年2月4日 AM