【ヤバイ】艦これユーザの個人GitHubに年収診断のためにSMBCなどのソースコードが流出!のパターンを考えてみた

経緯

2021年1月28日に、Twitterでとある単語がトレンドになりました。

  • GitHub
  • SMBC
  • 艦これ

一見、全然関係のなさそうな単語ですが、これは艦これユーザがSMBCなどのソースコードをGitHubにパブリックで公開してしまったということでした。

艦これとは

「艦隊これくしょん-艦これ-」 DMM GAMES公式ページ - DMM GAMES

新しいタイプの艦隊育成シミュレーションゲーム「艦隊これくしょん-艦これ-」DMM GAMES公式ページです。DMM GAMES と「艦これ」運営鎮守府の強力タッグで誕生!駆逐艦や軽巡洋艦、重巡洋艦など擬人化された100隻以上の「艦娘(かんむす)」たちを編成、育成、強化しながらあなただけの無敵連合艦隊を作り上げろ!もちろんソーシャルならではの共闘、戦闘など熱いバトルも可能!提督の着任をお待ちしています。

出典:「艦隊これくしょん-艦これ-」 DMM GAMES公式ページ - DMM GAMEShttp://www.dmm.com/netgame/feature/kancolle.html

ブラウザやAndroidでプレイできるゲームです。アニメ、映画、クラシックオーケストラ、遊園地コラボ、三越、コンビニなど社会現象を起こしているゲームです。

GitHubとは

GitHub

GitHub

GitHubは、ユーザのみなさんからヒントを得て作成された開発プラットフォームです。オープンソースプロジェクトやビジネスユースまで、GitHub上にソースコードをホスティングすることで数百万人もの他の開発者と一緒にコードのレビューを行ったり、プロジェクトの管理をしながら、ソフトウェアの開発を行うことができます。

出典:GitHubhttps://github.co.jp/

私も普段から愛用しています。これからエンジニアになる方は、Gitは必ず携わります。GitHubはGitが扱えるホスティングサービスの1つです。

他には

  • Bitbucket
  • GitBucket
  • GitLab

など多数あります。

自社サーバに構築が可能なものもあるので、その場合はセキュリティも高く、安全に利用することも可能です。今回は、インターネットで、誰でもアクセスが可能なGitHubが対象となりました。

SMBC

三井住友銀行です。

説明は不要ですね。普段からお世話になっている人もたくさんいるでしょう。

年収診断とは

エンジニア転職のFindy(ファインディ)| GitHubからスキル偏差値を算出

上記のサービスを利用すれば、自動で年収診断をしてくれます。

しかし、パブリックジポジトリが対象です。

タイプ公開範囲
パブリック(Public)インターネット上の誰でもこのリポジトリを見ることができます。
プライベート(Private)このリポジトリを表示できるユーザーを制限します。

査定をするために、パブリック設定をしたと思われます。

Twitterで例えるならば

タイプTwitter
パブリック(Public)通常アカウント
プライベート(Private)鍵アカウント

で、パブリックは誰でも閲覧・ダウンロードなどが可能です。プライベートは許可されたユーザしか閲覧ができません。

GitHubの注意点

デフォルトがパブリック

GitHubでリポジトリを作成する時、デフォルトでパブリックになります。これは気をつけないと、漏洩してはいけない情報を公開して作成してしまいます。

必ず気をつけましょう。

情報漏洩・流出は可能なのか?

結論:可能

情報漏洩を100%防ぐことは、ほぼ不可能に近いです。

情報漏洩とは、内部に留めておくべき情報が何らかの原因により外部に漏れてしまうことを言う。 ウィキペディア

まず、会社外で情報漏洩する流れとしては

  1. 従業員が機密情報を得る
  2. 従業員が外部へ公開する

という流れになります。

特に、1つ目は仕事をしている限り得てしまいます。対策としては、得た情報を簡単に持って帰られないようにすることとなります。持ち帰られると、会社では防いでいても、漏洩のリスクとなります。

もちろん、会社内でも過失によって情報漏洩することもあります。

開発現場のセキュリティは会社によって様々

【キングダム】咸陽のようにセキュリティが高いSES現場

#SES#IT業界#駆け出しエンジニア#現場#セキュリティ#キングダム

難攻不落の咸陽をご存知ですか?今回はまるで咸陽のようにガッチガチの現場をレベル別で紹介します。

以前、紹介した記事ですが、この記事に紹介をしているものを全て導入しても、絶対に持ち帰られないようにすることは厳しいです。

その様々な持ち帰る手段を紹介します。

紙での流出

印刷物を持ち帰ることで、流出が可能です。

紙での流出を防ぐには

  • 紙にしない

印刷をしないようにします。しかし、あまり現実的ではありません。全員がノートパソコンやタブレットを所有しているのであれば可能ですが、そういう会社は少ないです。デスクトップ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背景を分ける

など、プライベートと会社のアカウントを人目見て、誤って漏洩しないように気をつけましょう。

セキュリティにオススメの本

図解即戦力 情報セキュリティの技術と対策がこれ1冊でしっかりわかる教科書

決定版 サイバーセキュリティ: 新たな脅威と防衛策

事例に学ぶサイバーセキュリティ-多様化する脅威への対策と法務対応

新着記事

SESエンジニアの引き抜き時の魅力的な高条件

#キャリア#転職#SES

SES(客先常駐)をしていると、優秀なエンジニアは引き抜き行為(スカウト)を他社からいただくことがあります。この引き抜き時の条件提示は衝撃的な高待遇が多く、その内容を紹介します。

エンジニアがノイズキャンセリングイヤホンを使うと劇的に世界が変わった

#ガジェット#イヤホン#Apple AirPods Pro

エンジニアには集中する時間が必須で、その時間を維持するには雑音を消す必要があります。そんな時、ノイズキャンセリングイヤホンのApple AirPods Proを手に入れると世界が劇的に変化しました。

Slack API chat.postMessageで改行を利用する方法

#プログラミング#JavaScript#Slack#API

Slack API「chat.postMessage」を利用して、JavaScriptからSlackへ改行入りのメッセージを送信しました。しかし、上手く反映されないので対応方法をまとめました。

企業は面接で意識高い系エンジニアを採用してはいけない

#経営#ビジネス#採用#転職#面接#意識高い系

会社や組織は、意識高い系エンジニアに内定を出すことはしっかりと考えた方がいいでしょう。もし採用すると会社に悪影響を及ぼす可能性があります。その事例を紹介します。

Gatsby.jsでCannot find module '../build/Release/sharp.node'エラーの解決策

#JavaScript#React.js#Gatsby.js#Node.js#npm#Docker#プログラミング

Gatsby.jsで`Cannot find module '../build/Release/sharp.node'`のエラーが発生したので、その対応方法をまとめました。

オススメの記事

SES(客先常駐)で市場価値が下がるエンジニアの特徴

#SES#転職#給料#キャリア##実態

数々のSES企業を見てきましたが、いくつか共通する、市場価値が下がるエンジニアの特徴を紹介します。

未経験からSES(客先常駐)エンジニアに転職して体験した実態と闇

#SES#転職##実態

未経験からSES(客先常駐)に転職をして、エンジニアになった方々から体験した実態と闇をお聞きしました。

求人で「フラットでアットホーム」なIT企業へ入社する時の注意

#経営#組織#駆け出しエンジニア#就職#転職#SES

「フラットでアットホーム」と宣伝している会社が多く存在します。しかし、その表現には、大きな落とし穴があります。

未経験からエンジニアになるために必要なお金

#駆け出しエンジニア#プログラミングスクール#面接

未経験エンジニア向けのビジネスが最近展開されています。一体どれくらいかければエンジニアになれるのか計算しました。

未経験から独学(スクール)でエンジニアになれる人となれない人の違い

#駆け出しエンジニア#プログラミングスクール#面接

未経験から独学(スクール含む)でエンジニアを目指す人が多いです。しかし、全員がエンジニアになれるわけではありません。なれる人となれない人の違いを説明します。

勉強や開発をするための時間を確保する方法

#駆け出しエンジニア#リモートワーク#在宅勤務#ガジェット#時間#勉強

みなさんは普段開発の時間を確保できていますか?駆け出しエンジニアの方でも、日々、時間の確保に苦労していると思います。今回は、社会人で時間の確保をするための方法を紹介します。

リモートワークエンジニアの平日の1日のルーティーン

#ルーティーン#リモートワーク#在宅勤務

コロナ禍による影響で、会社がフルリモートワークとなりました。その優雅なエンジニアのルーティーンを紹介します。

会社のリモートワークで帰属意識が下がる「してはいけない」こと

#リモートワーク#在宅勤務#離職

最近、リモートワークが導入されることが多くなり、日本でも一般的な働き方となりました。しかし、当記事の内容を続けてしまうと、帰属意識が低くなり、離職率をあげてしまう可能性が高いです。