毎週木曜日に配信している「データサイン・ランチタイムトーク」の模様をレポートします。
当記事で取り上げるのは以下の配信です。
- 配信日:2021年12月9日
- タイトル: LINE Pay 漏えい
- 発表者:データサイン 代表取締役社長 太田祐一
個人を識別可能な情報が閲覧できる状態に
2021年12月6 日、LINE Payが「一部ユーザーのキャンペーン参加に関わる情報が閲覧できる状態になっていた件のお知らせとお詫び」と題するニュース投稿を自社サイトに公開しました。どのような事象が発生していたのでしょうか。データサイン 代表取締役社長 太田祐一が話題に取り上げました。
投稿されたニュースによれば、LINE Payの委託先であるグループ会社の社員が2021年1月および4月に、ポイント付与漏れの調査を行いました。2021年9月12日に、「調査を行うためのプログラム」および「対象となる決済に関する情報」を同社として意図せずに「GitHub」上にアップロードしてしまい、それが閲覧できる状態に置かれていたということです。
閲覧できる状態にあったことが検知されたのは2021年11月24日18時27分。社内のモニタリング業務を通じて、でした。そして同日18時45分に当該情報を削除。つまり2021年9月12日から2カ月ほど、閲覧可能な状態にありました。11月30日13時5分に当該情報に対するアクセス状況および二次拡散状況の調査を完了し、部外者からのアクセスがあったことを確認しました。12月6日に該当するユーザーへの通知を実施したそうです。
対象アカウント数は51,543アカウント(日本国内のLINE Payユーザー)で、海外のグループ会社で展開されているLINE Payユーザーを含めると133,484アカウント。2020年12月26日から2021年4月2日までの情報で、その内訳は対象ユーザーの識別子、加盟店管理番号、キャンペーン情報とのこと。氏名・住所・電話番号・メールアドレス・クレジットカード番号・銀行口座番号等は含まれていないそうです。
情報が閲覧可能になっていたGitHubって何?
ニュース投稿にはLINE Pay が事象の再発防止につとめることが記されています。ただ、今回情報が開示できる状態になっていた詳しい原因については触れられていません。
「原因は定かではないですが、GitHubを用いたソースコード管理を一般に行なっている企業が留意しなければならないことの1つにGithubの誤操作があります」と太田。対岸の火事ではないことを呼びかけます。
Githubはソースコードのバージョン管理を行う「Git」を用いたSNSです。たとえば社内でシステム開発をする場合に、システムの開発・運用に関わる複数の担当者でソースコードをクラウド上にあるリモートリポジトリで共有し、共同編集する環境を提供します。世界中のエンジニアが参画するオープンソースプロジェクトの多くでも標準的に用いられ、開発やメンテナンスなど共同作業が効率よく進められています。マイクロソフトが2018年にGitHubを買収したときには業界で話題となりました。
社内環境においてGitHubを利用する際には、エンジニアなど担当者がそれぞれGitHubの個人アカウントを作成します。するとウェブ上に自分のリモートリポジトリが表示されます。そして各自の開発用PC(ローカルリポジトリ)にその環境を複製(clone)します。複数のエンジニアが開発を分担する場合は、プロジェクトの責任者が配布するソースコードやデータなどあらかじめ責任者が用意するリモートリポジトリに準備された環境を、各自のローカルリポジトリに複製してから作業します。
「個人エンジニアがちょっとしたスクリプトなどを自分しか使わないようなコードを作成・管理する場合には、自分のローカルリポジトリで編集し、変更内容をまずはクラウド上にある自分のアカウントのリモートリポジトリと同期します。ただし、個人アカウントが初期状態のパブリックなモードのままで作業していることに気づかないと、ソースコードやスクリプト実行後のデータ(テキストファイルなど)がウェブ上で第三者から丸見えになってしまいます」(太田)
GitHub を使うときに注意したいこと
GitHubでは開発用PC(ローカルリポジトリ)で行った更新内容を自分のリモートリポジトリと同期する場合、開発環境にもよりますが末尾に「.un~」などが付く不要なバイナリファイルや、git add -Aコマンドなどで一括アップロードされる、普段ユーザーの目に触れない不可視ファイルなども表示してしまうことがあります。
「それを防ぐために、『.gitignore』という名称の設定ファイルをローカルリポジトリに作成しておくと、表示不要なファイルをリモートリポジトリ側で無視するように設定することができます。たとえば、aaa.txtといったテキストファイルをすべて表示したくなければ『*.txt』という正規表現を用いた文字列を.gitignoreファイルに1行追記したのちに同期します。簡単できちんと機能します」(太田)
GitHub側も、秘匿すべきAPIキーなどがアップロードされたならばユーザーに警告する機能や、コードの脆弱性を教えてくれる機能などを提供しています。利便性の高いGitHubですが、ユーザー側でも担当者個人がパブリックな状態のままで大事なファイルを放置していないかダブルチェックしたり、プライベートな環境での開発に見直したりと運用面での配慮は欠かせません。