SMBCのソースコード流出で考える「自覚の無い情報漏洩」。企業が認識すべき新たなリスク。
三井住友銀行(SMBC)が行内で利用していた業務システムのソースコードの一部が「GitHub(ギットハブ)」で公開されていたとして話題になっている。
本騒動でSNS上では「Githubの利用が規制されるのではないか」と危惧する声があがっているが、本騒動を受けて「Githubを禁止する」のは、問題の本質から外れており、本質的な対策とはならないだろう。
むしろ、本件を「個人の問題」や「Githubの問題」と決めつけず、自社にも起きうる新たなリスクとして認識し、研修等に教訓として組み込むべきだろう。
■他企業でも起こり得る「自覚の無い情報漏洩」
本件を知った直後に筆者が感じたのは「個人の問題が大きく、他企業での再発の可能性は低いのではないか?」と感じていた。しかし、本件の経緯を調べてみると、他企業でも十分に起こり得る事象であると考え方が変わってきた。
流出騒動についてネット上でまとめられた過去ログには、流出に関わる動機や手法について以下のように述べられている。
Q:Githubにソースコードを投稿した理由。
A:なんかgitにコードをアップするとそれから推定年収を計算してくれるサイトがありまして、転職する準備のために、現在あるコードをチェックせずにすべてアップしました。
Q:非公開ではなく、なぜ公開にしたのですか?
A:デフォルトで公開になっているとかんがえていなかったので、完全に見落としです。
Q:どういう風にアップロードしたんですか?
A:Javaフォルダに入っていたファイルをすべてアップしたから、まぁそんな感じですね。あと、ロジックはちょっと確認したけどパッケージは確認できていなかったですね。
Q:守秘義務は無かったんですか?
A:おそらく、ゆるいコンプライアンスしかなかったとおもいます。
契約書とか覚書したときに、著作権には触れらていませんでした。記憶も曖昧ですが、仮に流出したとしたら、通常、コードを持ち出した人間はわかる仕組みになっているので、6年以上なにもないことを考えるとだいじょうぶかと
上記の内容から再発防止を検討する上で重要な点は以下の点である。
・動機:
ソースコードで応募者のスキルを判定する転職サイトがあり、そこで査定してもらいたかった。
・認識不足:
- 契約書や覚書を交わした記憶はあるが、Githubへのアップロードは問題無いと考えていた。
- Githubに投稿した内容が「公開」されているとは知らなかった。
・方法:
ソースコードを選別したわけではなく「Javaフォルダ」のファイルを全てアップロードした。
動機としては「転職活動に伴うソースコードの査定」であり、Githubや契約に対する認識が不足していたために、請負で作成したソースコードをアップロードすることに何の問題意識も持っておらず「情報漏えいの自覚が無かった」ことが読み取れる。
これらの動機や認識が本心だとした場合には、再発防止として「Githubの利用禁止」は殆ど効果がない。Githubは「査定のために必要なツール」でしか無いからだ。
■企業と転職希望者が認識すべき新たなリスク
本件の動機となった「ソースコードで応募者のスキルを判定する転職サイト」だが、Findyというエンジニア向け転職サービスが、GitHubをAIで解析して“スキル偏差値”を算出するサービスを提供している。
もちろん、Findyには何の落ち度も無いが、今回の事例が生まれたことで、企業と転職希望者が認識しなければならない新たなリスクが生まれたと、筆者は捉えている。
・企業が認識すべきリスク
Github等を利用してソースコードを査定するようなサービスが存在し「査定を目的としてソースコードをアップロードされるリスク」があることを認識しなければならない。今回、たまたまGithubだったが、「ソースコード査定」をメールの添付ファイルで受け付けるようなサービスが今後登場しないとも限らない。
新人研修や採用時のセキュリティ教育の一貫として今回の件を題材とし、業務の一貫で作成したソースコードを会社の許可なく外部サイトに投稿しないよう改めて周知する必要があるだろう。
・転職希望者が認識すべきリスク
Findyのようなサービスが対象としているのは通常はOSSであり、企業から請け負ったソースコードを対象としているわけではない。もし誤って、そのようなソースコードを投稿してしまうと、失職するリスクすらある点だ。
また、もし「非公開でソースコードを提出して欲しい」等と要求された場合に、それが本当に査定のためだけに用いられるのか?後日削除されるのか?等も考慮しなくてはならない。「査定」を装って、ソースコードを盗まれたり、競合企業等に販売されるリスクもあるからだ。
■クラウドに情報をアップロードするリスク
今回、大企業のソースコードということで注目を集めたが「自覚の無い情報漏洩」は「少なくは無い」のが実態だ。というのも、普段何気なく利用しているクラウドサービスから、情報が漏洩している可能性は常にあるからだ。
例えば、クラウド上で提供されている翻訳サービスの一部は「翻訳結果」がGoogleの検索インデックスに登録されるものがあり、翻訳結果がインターネット上で誰でも閲覧可能になっているケースがある。
あるいは、セキュリティ担当者が企業内でマルウェアに感染した重要なファイルを「無料のマルウェア解析サービス」にアップロードしたところ、有料会員は「アップロードされたファイルをダウンロード可能」だったために、情報漏えいとなったケースもある。
翻訳サービスの例は「翻訳がしたかった」だけであり、マルウェア解析の件も「マルウェアの解析がしたかった」だけであり、どちらも問題を起こした本人には「情報漏えいの自覚は無く」、「そういうことになるという認識が不足していた」から起きたものだ。
そして、このような「自覚の無い情報漏洩」は企業が気づいていないため報道されることは殆ど無いが、インターネット上には多数放置されたまま残っている。
今回の件も、本人としてはあくまで「転職査定のために、Githubにソースコードをアップロードしなければならない」という目的があっただけで、「Githubにアップロードすることで情報が公開される認識が不足していた」のであり、「情報漏えいをしているという自覚が無かった」のである。今回偶然発見されたが、発見されなければ誰にも気づかれることなく、今なお公開され続けていたかもしれない。
「Githubにソースコードをアップロードしたらどうなるか分かるでしょ」と思う人も居るかもしれないが、「知らない人は知らない」のである。
本件を「個人の問題」や「Githubの問題」と決めつけず、自社にも起きうる新たなリスクとして認識し、研修等に教訓事例として組み込むことを推奨する。