web-dev-qa-db-ja.com

人が誤ってそれを許可された場合、プライベートレポへのアクセスを取り消してこれに気づくことが緊急ですか?

興味深い状況を説明する人気のあるInfoSecブログ Niebezpiecznik.plへの投稿 がありました。

ある会社がランダムなプログラマに誤ってBitBucketリポジトリへのアクセスを許可しました。このプログラマーはその後、会社のさまざまな従業員に警告し、できるだけ早くアクセスを取り消すように促しました。彼はこれらの従業員が低迷していることを発見し(たとえば、休暇から戻ったときにのみアクセスを取り消すだろうと述べた)、そのため後に会社に連絡するNiebezpiecznikブログに警告した。その後、アクセスは取り消されました。

プログラマーがアクセスの即時取り消しの欠如を会社のセキュリティポリシーに代わって非常に重大な監視であると見なしたことは明らかです。そして、ここが私が驚いたところです。

それでは、会社の観点から考えてみましょう。誰かが彼らに連絡を取り、彼が自分のプライベートリポジトリへの偽のアクセスを許可されたと主張し、このアクセスを取り消すように彼らに促しました。さて、この人はこのリポジトリの内容に興味があるか、興味がありません。彼はまた、それをダウンロードすることを控えるほど強い道徳的価値を持っているか持っていません。彼がリポジトリの内容を検査する用意がある場合、彼はすでにこれを行う十分な時間を持っています。彼がまだこれを行っていない場合は、従業員が休暇から戻ってくるまでに、まだこれを行っていない可能性があります。言い換えれば、牛乳はすでに流出しており、すでに起こっている以上に悪いことは将来起こる可能性が高いです。

その結果、緊急ではなくなり、休暇から帰るまでしっかり待つことができると思います。

どこが間違っているのですか?

60
gaazkam

理由はいくつかあります。

  • それが一人に起こったなら、それはより多くに起こったかもしれない。これらの他の人々は親切ではないかもしれません。
  • 誰が知っているか、この人は彼らの心を変えるかもしれません。彼らがあなたに連絡する努力をして、見返りに「メハ」を手に入れたら、彼らは少しイライラしてあなたを罰することに決めるかもしれません。
  • あるいは、楽しみのために少しぶらぶらして誤って何かを壊したいだけかもしれません。
  • ログをチェックして、この人が本当のことを言っていることを確認する必要があります。多分彼らはあなたに連絡する前にあなたの暗号化キーを静かに盗みました。おそらく、念のためにすべての秘密をローテーションしたいと思うでしょう。
  • そして、最も重要なのは、これがBig F * cking Deal™であることです。ショックや恐怖に反応せず、代わりに別のピニャコラーダを注文する人は、状況の重大さを明確に理解していません。

コメントと この答え には非常に優れた点がいくつかありますが、特定の状況(たとえば、読み取り専用アクセス、コードにシークレットがないなど)ではすべて問題ない可能性があります。それは正しいですが、これはもっと真剣に取られるべきだと私はまだ主張します。あなたは本当にあなたのリポジトリの古いコミットに秘密がないことを100%確信していますか?システムにアクセスできないはずの誰かがとにかくそれを入手したという事実自体が、それ自体悪い兆候です。

109
Anders

現場の人々の心を読むことは不可能ですが、私は独立したプログラマーが

A)不適切であると非難されたくない-急いでアクセスを取り消すためにキックして叫ぶと、IPの盗難で非難されるのがはるかに難しくなります。

B)プライベートリポジトリを管理する会社のセキュリティ態勢に驚いており、責任がある場合は通知を受けたいと考えています。

注意すべき点の1つは、追加のユーザーにリポジトリへのアクセス権を与えると、まったく新しい可能性のある攻撃経路が開かれることです。悪意のある他の誰かが、元のアカウント所有者に気付かれずにリポジトリへのアクセスが許可されているアカウントにアクセスできる場合、その人は簡単にソースコード全体をダウンロードできます。

19
Nzall

大多数とは異なる視点を提供するために、それは実際にはセキュリティリスクであってはなりませんiffプロジェクトは適切に処理されています。

基本的に、満たさなければならないことが2つあります。まず、それ

  • 他の人がサインオフしなくても、コードをリリースブランチに導入することはできません。これは通常、リリースブランチに入るすべてのコードに対してプルリクエストとコードレビューを要求することで達成されます。この場合、その人がリポジトリへの読み取りアクセス権しか持っていなければ、これについて心配する必要はありません。しかし、それでも、とにかくこれを配置する必要があります。

そして第二に

  • 誰も秘密をリポジトリに含めません。はい、あなたは秘密のAPIキー、コード署名証明書などを持っているかもしれませんが、本当のものは[〜#〜] never [〜#〜]誰もがアクセスできるメインリポジトリにあるべきです。コードが機能するためにいくつかのシークレットが必要な場合は、ダミーの開発/テストバージョンをリポジトリに含めます。ただし、実際のファイルは個別に保管し、少数のユーザーだけがアクセスできるようにする必要があります。できれば、手動で関与することなく、ビルドシステムにそれらが自動的に含まれるようにします。

これらの両方に当てはまる場合、セキュリティの観点からは害はありません。競合他社に漏洩する可能性があるコードに重要な企業秘密があるかどうかは、別のトピックです。

あるいは、これについて考える別の方法:ここでの状況は特別なものではありません。 従業員が退職するたびに、同じ問題に対処する必要があります!リポジトリに秘密が含まれている場合、外部の人はそれらのすべてを知っています。

10
Voo

物が盗まれた場合は、最初に金庫の鍵を持っている人を探します。

私は過去に蹴ったり叫んだりしましたが、それキーを持たないようにしています。

したがって、これはそのプログラマにとっては同じであったかもしれません。彼はthatキーを持ちたくありませんでした。

7
Pieter B

あなたは状況がまったく緊急ではないかもしれず、従業員の緩慢な反応が正当化されるかもしれないことは正しいです。問題のコードがもう使用されていないか、そこに秘密がないため、従業員は問題を気にしなかったのかもしれません。

4
Booser

私はかつて、誰かが同じことをSSHキーを使用しているスタートアップで働いたことがあります。誰かが愚かなことをした方が1つのキーを削除/交換する方が簡単だと思ったからです。

また、開発者が自分の鍵を大学のコンピュータのような公開されているアクセス可能なマシンに保存している可能性もあります。これは非常に安全ではないように思えるかもしれませんが、「Hello World」や「Practice Papers」に適しています。

この場合、あなたが述べたように、事件を報告した人が会社を傷つけようとしないことを会社は比較的確信することができます。しかし、事件を報告していた人のアカウント/キーに誰がアクセスできるかは決してわかりません。

3
Felix

私はポーランド語を読んでいないので、すでに対処したことは何でも許してください:

BitbucketはgitとMercurialリポジトリをホストしています-どちらも分散CVSです。これらは一般に、知的財産の保護/ IP出力の防止のための技術的制御と互換性がありません。既存のクローン/フォークは、中央監査証跡を表示せずにクローンできます。

リポジトリを変更する場合は、適切なセキュリティ管理を実施する必要があります。

  • すべてのコミットのPKIサインオフ
  • プルリクエスト付きの読み取り専用リポジトリ

したがって、可能性のある損傷はすでに行われています。

1
CGretski

結局のところ、セキュリティはプロセスと手順のセットであり、考え方です。これはではなく難しくて速いルールのセットです。 oneの重大な違反が原因でシステムが脆弱であると思われる場合、セキュリティの考え方全体にせいぜい欠陥があり、 Henny Penny/Chickenにのみ役立つ可能性があります少し

  • 資格情報が公開されない場合、誰が気にかけますか?コーダー、Linuxシステム管理者、およびセキュリティクリーンアップ/修正担当者としての私の経験では、コードの最大の問題リポジトリで公開されるのは、単に資格情報が公開されるリスクです。現実はほとんど正気なコーダーは、資格情報をコードにハードコーディングせずにコーディングする方法を知っています。しかし、ほとんどのプログラマーはただ怠惰であり、コアコードから資格情報が分離されているシステムを誰かがなぜ、またはどのように構築できるのかを知っています。

    したがって、このシステムが正気のコーダーによって実行されていて、リポジトリが資格情報を公開していない場合は、何を知っていますか?誰も気にしない。しかし、私たちの多くがすでに知っているように、資格情報をコアコードに押し込むだけの粗末な「モール警官」レベルのコーダーがそこにいます。あなたは耳でそれを再生する必要があります。

  • トレードシークレットエクスポージャーはリスクです。これは、コードが作成された業界および要件によって異なります。コードがブログまたは単純なWebサイト用かどうか。なんでも。 eコマースサイトであっても、Magnetoなどのローカライズされたコピーであれば、それはオープンソースソフトウェアであるため、それほどリスクはありません。しかし、このソフトウェアが独占的であり、公開するのにリスクがある場合(金融記録を公開する可能性のあるものや、ゲームに新しいコードを公開する場合など)は、リスクになります。

しかし、結局のところ、「ハットハット」ハッカーの仕事は、問題について他の人に知らせることです。彼らが「誰が気にするか」をとるつもりなら露出に対する態度、それが彼らの問題です。多分彼らは本当にリスクがないと思いますか?多分彼らは本当に気にしないし、露出は他人を傷つけるでしょうか?多分彼らは馬鹿ですか?おそらく、それらは非常にスマートなコードエクスポージャーであり、リスクを制限するために数日間のリファクタリングを意味するだけでしょうか?しかし、結局のところ、誰かが自分を傷つけないようにするためにできることはたくさんあります。

1
JakeGould