人生100年!生涯エンジニア人生!

楽しいエンジニア人生!

GitHubは悪くない、ソースコード漏えい事件、ソースコードは正しく管理してる

概要

GitHubに会社の機密情報に該当するソースコードが漏えいする事件があり、多くの報道が出ているので、詳しくは、それらの報道を読んでください。

www.itmedia.co.jp

これらを読んで思うことは、ソースコード漏えい事件でGitHubは悪くないです。
そもそも、ソースコードの扱いは多くの会社で適切に正しく管理しております。
今回の事件の根幹は、当該者のモラル欠如と言っても良いです。

社内ドキュメントの扱い

ソースコードの扱いについて話す前に、社内ドキュメントについて思い出してほしいです。
そうです、社内ドキュメントは閲覧できる権限が設定されています。
どこの会社でも内容を精査して秘密定義を行ったのち秘密分類を行います。
下のような管理分類が定義されていることが多いと思います。
また、管理分類においてデフォルトは秘にすることで判断に困るのを回避できます。

管理分類 内容
極秘 社外に漏れたら会社経営に重大な損害を与えるもの、会社の合併情報や顧客の個人情報などが該当します。
秘(部内秘) 社外に漏れたら会社の信用情報に損害を与えるもの、プロジェクトの内容や議事録が該当します。
社外秘 社外に漏れたら会社の信用情報に損害を与える可能性が低いもの、ハウスルールや座席表などが該当します。
公開情報 一般に公開している情報、会社の住所やWebサイトに公開している情報が該当します。

適用範囲も分類します。
「役員」「正社員」「派遣社員」「委託先従業員」などが該当します。

これらを組み合わせて、社内ドキュメントは管理されています。
※細かな表現の差異などはあります。

ソースコード管理にもレベルを設定している

ソースコード管理にも管理分類を設定しています。
ざっくりですが、社内ドキュメントと同じレベル感で分類すると下のようになります。
また、社内ドキュメントと同様にデフォルトは秘にすることで判断に困るのを回避できます。

管理分類 内容
極秘 認証など、このソースコードが漏れたら直ちにシステムに損害を与える情報があるソースコードが該当します。
秘(部内秘) 各プロジェクトごとのソースコード、直ちにシステムに損害を与えることは無いが、このソースコードを調べることで将来的にシステムに損害を与える可能性があるソースコードが該当します。
社外秘 社内で共有使用するソースコード、社内で横断的に使用するユーティリティに対応するソースコード、認証をカプセル化したソースコードなどが該当し、これらが漏れることは望ましくないです。
公開情報 利用しているOSSなど

GitHubも、Enterpriseプランなら、Repository単位ですが細かな設定が可能になりますし、ソースコードが漏えいした企業もGitHub管理じゃなくても、同様な管理レベルの設定をするだろうと思います。

FYI:Enterprise アカウントで Organization のポリシーを設定する
docs.github.com

厳重に管理されている

このように社内ドキュメントとともに、ソースコードも厳重に管理されています。

情報にアクセスするときは認証を行ったのちにアクセスが可能となります。
その上で、アクセスするときにはアクセスを開始した日時や、サーバーにログインするときなどはVPNを経由したり、キーボードで入力した内容なども記録しています。

会社によっては極秘に該当するものにアクセスするときは、物理的な認証(指紋認証や顔認証など)を行いセキュリティー完備な区画に入室して、そこで作業することもあります。
また、その区画に入室するときは、個人のスマホなどを預けたり、その区画では外部のアクセスが完全に制限されていることもあります。

これぐらい社内ドキュメントやソースコードは厳重に管理されています。

また、社内から外部にアクセスするとき、禁止された場所へのアクセスを禁じているところは多く、外部へ容易に持ち出せない会社も多いです。
この辺りは専門的なツールを使用しているので、持ち出そうとしても持ち出せないと思います。(個人的には試したくない)

ただ、管理コストの面や開発効率などを考えると、極秘以外は認証だけで許可する方が多いです。
そのため極秘以外のソースコードは、モラルがベースとなって管理運用することが多くなっています。

つまり、極秘に該当するものは性悪説で管理する。
それ以外は性善説で管理する。

モラル教育

性悪説での管理は先程述べた通り、予算をかけていくことで脳みそに記憶されること以外の防御ができるようになっていきます。

しかし、性善説での管理はモラルに依存します

社内ドキュメントがきちんと区分されている会社なら、社内教育で機密情報の扱いを教育されています。
これらの教育は社員区分隔たり無く教育することが望ましく、多くの会社でも行っています。
そのため、派遣構造がひどいと言っても、モラル教育や機密情報の扱いについての教育は行われていると思われるし、そもそもソースコードは外に持ち出さないのは常識レベルなので、今回の事件は発生したのは当該者のモラル欠如と言っても良いです。

ただ、残念なことに、モラル欠如による情報漏えいは後をたたないです。
こうなってくると、性善説で扱える業務が狭くなる恐れもありますが、機密情報を適切な管理をしているところは、この管理を継続していくことが大事であり、そして、モラルの教育や機密情報の扱いについての教育を、社員区分の隔たり無く行うことで減らすことは可能だと思います。

性善説の運用は教育でしか向上することはできないのです。
そして、個人のモラルを向上することが我々エンジニアにできる最善策だと私は思います。