委託先システムエンジニアによるgithub経由のソースコード流出について私見
プロジェクトメンバーによるgithub経由のソースコード流出について
気になって調べたことのメモ&私見です。作成は2021年1月30日です。
気になったこと
以下のニュースです。
本来非公開の情報である企業のシステムのソースコードを開発メンバーがGithubで公開してしまいソースコードの流出となった件です。
メモ、考えたこと
究極的には企業のソースコードの個人による流出を防ぐことはできない?
例えば、アナログかつ手間な方法ですが、ソースコードを個人所有の端末や紙などにメモして、Webサイト上に公開することは可能です。
そういった不正が発生しないよう、開発は職場で実施させ、他者によって監視させることで不正の機会の低減する、契約により罰則(損害賠償請求)を設けることで不正の正当化ができないようにする等対策をしているのだと思います。
余談ですが、今回事件を起こしてしまった本人は転職サービスで利用するために本来公開していけない企業のソースコードを公開してしまったとのこと。本当か分かりませんが年収が300万円とも言われており、年収を上げたいという本人の状態が不正の動機となったとも考えることができます。
人が不正をする仕組みをモデル化した「不正のトライアングル」については以下ページを参照ください。
そういった積極的にソースコードの流出を意図している場合を除くと、管理者側でできる対策としては開発メンバーが意識しているか否かに関わらず開発メンバーのgithubの設定が公開となることを防ぐことになるかと思います。
Githubのリポジトリの公開・非公開(public/private)の説明は以下参照のこと。
リポジトリの可視性を設定する - GitHub Docs
例えば以下のような仕組みにすることで上記の状態は防げるかと思います。
1.プロジェクト、開発チームの管理者がOrganizationを作成
Organizationについて - GitHub Docs
2.メンバーをOrganizationに参加させ、リポジトリの可視性の変更を制限
Organization 内でリポジトリの可視性の変更を制限する - GitHub Docs
とはいえ、冒頭に申した通り流出を完全に防ぐことはできないのではと考えてます。
例えばローカルコンピュータにクローンされたリポジトリ内のソースコードの内容をコピペしてWebサイト上に公開することは可能です。今回はソースコードでしたが、データについても、業務用PCで顧客情報を調べてスマホで写真撮影し、SNSにアップすることも可能は可能です。(たいてい懲戒となりますが)
別にこれはソースコードに限らず、従前から対策を取られているインサイダー情報の流出も同様であり、業務従事者による内部情報の流出の対策は従業員のセキュリティ意識を高めることと罰則を設けることしかないのではないかと考えています。
インサイダー情報=重要情報については以下サイト内「インサイダー取引のFAQ」の項番4を参照