目次
経緯
2021年1月28日に、Twitterでとある単語がトレンドになりました。
- GitHub
- SMBC
- 艦これ
一見、全然関係のなさそうな単語ですが、これは艦これユーザがSMBCなどのソースコードをGitHubにパブリックで公開してしまったということでした。
艦これとは
「艦隊これくしょん-艦これ-」 DMM GAMES公式ページ - DMM GAMES
新しいタイプの艦隊育成シミュレーションゲーム「艦隊これくしょん-艦これ-」DMM GAMES公式ページです。DMM GAMES と「艦これ」運営鎮守府の強力タッグで誕生!駆逐艦や軽巡洋艦、重巡洋艦など擬人化された100隻以上の「艦娘(かんむす)」たちを編成、育成、強化しながらあなただけの無敵連合艦隊を作り上げろ!もちろんソーシャルならではの共闘、戦闘など熱いバトルも可能!提督の着任をお待ちしています。
出典:「艦隊これくしょん-艦これ-」 DMM GAMES公式ページ - DMM GAMES(http://www.dmm.com/netgame/feature/kancolle.html)
ブラウザやAndroidでプレイできるゲームです。アニメ、映画、クラシックオーケストラ、遊園地コラボ、三越、コンビニなど社会現象を起こしているゲームです。
GitHubとは
GitHubは、ユーザのみなさんからヒントを得て作成された開発プラットフォームです。オープンソースプロジェクトやビジネスユースまで、GitHub上にソースコードをホスティングすることで数百万人もの他の開発者と一緒にコードのレビューを行ったり、プロジェクトの管理をしながら、ソフトウェアの開発を行うことができます。
出典:GitHub(https://github.co.jp/)
私も普段から愛用しています。これからエンジニアになる方は、Gitは必ず携わります。GitHubはGitが扱えるホスティングサービスの1つです。
他には
- Bitbucket
- GitBucket
- GitLab
など多数あります。
自社サーバに構築が可能なものもあるので、その場合はセキュリティも高く、安全に利用することも可能です。今回は、インターネットで、誰でもアクセスが可能なGitHubが対象となりました。
SMBC
三井住友銀行です。
説明は不要ですね。普段からお世話になっている人もたくさんいるでしょう。
年収診断とは
エンジニア転職のFindy(ファインディ)| GitHubからスキル偏差値を算出
上記のサービスを利用すれば、自動で年収診断をしてくれます。
しかし、パブリックジポジトリが対象です。
タイプ | 公開範囲 |
---|---|
パブリック(Public) | インターネット上の誰でもこのリポジトリを見ることができます。 |
プライベート(Private) | このリポジトリを表示できるユーザーを制限します。 |
査定をするために、パブリック設定をしたと思われます。
Twitterで例えるならば
タイプ | |
---|---|
パブリック(Public) | 通常アカウント |
プライベート(Private) | 鍵アカウント |
で、パブリックは誰でも閲覧・ダウンロードなどが可能です。プライベートは許可されたユーザしか閲覧ができません。
GitHubの注意点
GitHubでリポジトリを作成する時、デフォルトでパブリックになります。これは気をつけないと、漏洩してはいけない情報を公開して作成してしまいます。
必ず気をつけましょう。
情報漏洩・流出は可能なのか?
結論:可能
情報漏洩を100%防ぐことは、ほぼ不可能に近いです。
情報漏洩とは、内部に留めておくべき情報が何らかの原因により外部に漏れてしまうことを言う。 ウィキペディア
まず、会社外で情報漏洩する流れとしては
- 従業員が機密情報を得る
- 従業員が外部へ公開する
という流れになります。
特に、1つ目は仕事をしている限り得てしまいます。対策としては、得た情報を簡単に持って帰られないようにすることとなります。持ち帰られると、会社では防いでいても、漏洩のリスクとなります。
もちろん、会社内でも過失によって情報漏洩することもあります。
開発現場のセキュリティは会社によって様々
以前、紹介した記事ですが、この記事に紹介をしているものを全て導入しても、絶対に持ち帰られないようにすることは厳しいです。
その様々な持ち帰る手段を紹介します。
紙での流出
印刷物を持ち帰ることで、流出が可能です。
紙での流出を防ぐには
- 紙にしない
印刷をしないようにします。しかし、あまり現実的ではありません。全員がノートパソコンやタブレットを所有しているのであれば可能ですが、そういう会社は少ないです。デスクトップPCの方が安価のため、開発端末はデスクトップが多いです。
- 回収・持ち出せないようにする
紙を持ち出せないようにします。プリンタに対する権限や、ファイルバインダーの管理が必要です。アナログな作業が増えるため、監査部門やコストが必要です。
電子媒体での流出
電子媒体を利用して流出が可能です。
- CD/DVD
- SDカード
- USB機器
などが考えられます。
電子媒体での流出を防ぐには
- 持ち込み不可
現場入りする時、荷物を全て預けなければならない現場があります。しかし、電子媒体は小さいのでポケットに入れることは簡単です。
- 荷物検査
何かしらの探知機を利用して、見つけることは可能ですが、膨大なコストがかかります。ここまでしている現場はほとんどないでしょう。
- 利用不可の環境にする
監視ソフトウェアを導入し、電子媒体やソフトの利用を検知する仕組みを利用します。また、電子媒体を利用できないPCでの作業とするなどがあります。
しかし、開発をするものによっては、Apple製品のようにUSBが存在するPCを利用するため、完全に利用できない環境にするのは厳しいです。また、ソフトウェアの監視は、バグや無効にする手段があれば、検知することができません。
ネットでの流出
インターネットを利用しての流出が可能です。
- メール
- メッセージサービス
- ファイルストレージサービス
など、ファイルを添付できるものであれば送信が可能です。
ネットでの流出を防ぐには
- 監視ソフトで利用できるサービスを制限
監視ソフトウェアを利用すれば、ソフトウェアやWebサービスの制限が可能です。
しかし、エンジニアからすると利便性が下がったり、監視されているということがストレスになったりします。また、膨大な数のサービスが世の中には存在しています。そのため、ブラックリストを作成するのは厳しく、ホワイトリストを作成することになります。エンジニアは追加して欲しいホワイトリストの申請をすることになりますが、利用できるまでのタイムラグが生産性の損失となります。
- IPアドレスで制限
利用しているサービスをIPアドレスで制限をします。
例)GitHub
Organization に対する許可 IP アドレスを管理する - GitHub Docs
自社の固定IPで制限をすることで、外部からアクセスができません。
しかし、全てのサービスが対応しているわけではないので、制限できないサービスは利用できてしまいます。また、リモートワークでは固定IPを利用している社員はほとんどいないので、制限はできません。
- オフライン環境
銀行や証券などのお金に関するシステムを開発する場合、オフラインの現場もあります。マニュアル化されているようですが、わからないことはお昼休みに自分のスマホで調べたりするようです。なんとめんどくさいことでしょう。
※私はオフライン環境は未経験なのでヒアリング内容
暗記して流出
記憶力がいい人は、資料の内容やソースコードを覚えてしまいます。覚えて、家に帰ってコピーすることも可能です。
まれに「〇〇クラスのn行の、xxxメソッドが〜」と会話中に話す人がいます。バケモノです。
暗記して流出を防ぐには
人に仕事をさせないことです笑。
AIに任せましょう笑。
写真撮影で流出
スマホやデジカメで写真をとることで流出が可能です。
特にスマホやデジカメは容易で、持ち込み制限がないと誰でもできてしまいます。
写真撮影で流出を防ぐには
持ち込み不可にすることで可能です。しかし、リモートワーク(在宅勤務)をしている場合、通信の管轄外なので、検知することができません。Webカメラを常時起動し、監視しておく必要があります。しかし、カメラの範囲外から撮影されると分かりません。
結論:情報漏洩は防げない
以上の理由から、必ず防げる方法はありません。
また、セキュリティと生産性は天秤になっており、
セキュリティ力 | ストレス | 生産力 |
---|---|---|
高い | 大きい | 低い |
低い | 小さい | 高い |
どちらかを高めると片一方が下がります。
セキュリティ力を高めると、余計な手間が増え、非効率となるからです。また自由にできず束縛されるため、ストレスがたまります。
みなさんも嫌でしょう。
- 監視カメラで画面を見られている
- 監視ソフトでブラウザやソフトの利用履歴をチェックされている
- 何かをするときに申請・許可が必要
- 全員が同じ部屋
- マネージャが資料を配布
- 仕事終わりに全て回収
めんどくさくないですか笑。
最悪、退職理由にもつながります。試験の時みたいな空気感を毎日ずっと味わうのです。私は5秒で退職届を出します。
よって、経営者はポリシーや就業規則、誓約書関連で会社の身を守る必要があります。
守ることしかできません。やろうと思えばどんな会社でも情報漏洩はできてしまいます。
経営者は常に漏洩のリスクを背負っています。エンジニアも、私物端末で仕事をする場合、故意による漏洩のリスクを背負います。SNSの誤爆などもその一種です。
防ぐための方法をみなさん考えましょう。
端末 | 方法 |
---|---|
パソコン | ユーザを分ける |
スマホ | 利用しない、アプリを分ける、ユーザを分ける |
Slack | 背景を分ける |
など、プライベートと会社のアカウントを人目見て、誤って漏洩しないように気をつけましょう。