個人ユーザー情報を保存する大企業Xがあるとします。たとえば、電子メールプロバイダーやソーシャルネットワークプロバイダー。私は主にGMailとFacebookを念頭に置いています。そのため、会社には数千人の従業員がいます。さらに、XがすべてのマシンにLinuxを使用していると仮定しましょう(私の理解では、これは実際にサーバーマシンにGoogleとFacebookの場合です)。
さて、私の理解では、Xには通常、多くのサーバーマシンを含むいくつかのデータセンターがあり、ユーザーデータはそれらのマシンに保存されます。ユーザーデータを搭載したマシンがあるとしましょう。保存時に暗号化される場合がありますが、ある時点でユーザーに返される場合は復号化できる必要があります。したがって、十分なアクセス権を持つシステム管理者がそのユーザーデータにアクセスできるように見えます。
さて、そのような会社では、ほとんどの従業員がユーザー情報へのアクセス権を持たず、アクセス権を持っている従業員はリソースへのアクセスのログに記録されることを理解しています。ただし、特定のマシンへのスーパーユーザーアクセス権を持つ人/システム管理者が常に少なくとも1人いるとは限りませんか?そのような人はユーザー情報にアクセスでき、そのマシンのログ機能を制御できるので、トレースなしでそれを行うことができるでしょうか?
私の分析は正しいですか?私は主に、ユーザーデータを保存するそのような会社に、ユーザーデータとログへのスーパーユーザーアクセス権を持つそのようなシステム管理者がいて、トレースを残さずにユーザーデータを取得できるかどうか疑問に思っています。
この分析が正しければ、通常誰がそのような許可を持っているでしょうか?それはただの低ランクのシステム管理者でしょうか?多分最高情報セキュリティ責任者だけですか?
分析が正しくない場合、私が説明した方法でユーザーデータを悪用できる単一の人物/インサイダーがいない状況をどのように設定しますか?これをどのように行うことができるかについて私が持っているいくつかのアイデア:(1)複数の人からの認証が必要です。 (2)1台のシステム管理者がいる1台のマシンにユーザーデータを保持し、別のシステム管理者がいる別のマシンに復号化キーを保持します(したがって、データを悪用するには2人の内部関係者の共謀が必要になります)
まず、ほとんどの企業は、ユーザーがアクセスできないはずのデータにアクセスできないようにするために必要なすべての手順を採用(または従う)していません。
X社が必要な手順に従っていると仮定すると、これらの手順はいくつかの基本原則に基づいて構築されます。
アクセスが必要
すべてのユーザーは、職務上必須の情報にアクセスできます。この原則が適切に守られていることを考えると、システム管理者でさえ、職務を超えてユーザーデータにアクセスするべきではありません。
職務の分離
すべてのユーザーには、利益相反が回避されるように重複しない職務が割り当てられます。たとえば、ユーザー権限を変更できるシステム管理者はログファイルを表示できますが、ログエントリを削除できません。
4つ目の原則または 2人のルール
重要な手順は、実行する前に2人の個人が確認する必要があります。これにより、悪意のある内部関係者が単独で行動することはありません。たとえば、システム管理者がユーザーのアクセス許可を変更したい場合、追加のシステム管理者またはユーザーからの承認が必要になります。
データ 仮名 または 匿名化何らかの理由で機密データがユーザーに提示される場合(つまり、機密データと非機密データの両方を表示するスプレッドシート)、職務に関係のないデータは、仮名化(つまり、仮名に置き換えられる)または匿名化(つまり、編集または暗号化)されます。
つまり、基本的にあなたの質問は、「個人(ユーザー)データの乱用と誤用を制限するために、企業はどのような行動/ポリシーを制定できるか」ということです。
実際、これにはいくつかの業界標準のアプローチがあります。私はそれらが何を求めているかについての簡単な説明とともに以下にいくつかリストします:
倫理的ルール。
4つの目の原則(または2人のルール)は、基本的に、アクションを実行するには、2人でそのアクションを実行する必要があることを意味します(1人が実行し、1人が制裁する)。
シャミアの秘密共有 は「共有」秘密を分割する方法であるため、1人が完全な秘密を持っていることはなく、n人の秘密保持者が協力して秘密を再構築する必要があります。
多要素アクセス制御は単純で、認証と承認の基礎となる複数の要素を意味します(2faが一般的に使用されますが、より多くの要素を使用できます[あなたが持っているもの、あなたが知っているもの、あなたがいるもの、どこかにいる、あなたが実行するアクション])
スマートカードキーまたはその他のシークレットストレージデバイスを使用して、シークレットの漏洩を制限できます。 NitrokeyとYubicoには、それを実行できるいくつかの優れた製品があります(2の例として)。
NDAは、技術的な制限よりも法的な制限であるため、適切な使用として指定されている場合を除き、個人データを悪用しないように強制することができます。
倫理的なルールは、世界中のいくつかの法制度に存在し、他の誰かのデータに対して合法的に行うことが許可されていることを制限しています。他の理由ほど具体的ではありませんが、法制度の一部である場合、裁判所によって同様に厳格に執行される可能性があります。
暗号化キーをストレージシステムから分離するというアイデアについては、これはすでに一般的に行われていますが、このような悪用を制限するものではありません(管理者が何らかの方法でシステムからデータを抽出できるため、このようなユースケースでは役に立ちません)。 HashicorpのVaultは、それを可能にするそのようなオープンソースプロジェクトの1つです。
これは組織によって大きく異なります。
私は以前、金融セクターの大規模なテクノロジーベースの企業の開発者として働いていました。読み取り専用アクセスのために本番データベースにアクセスするために、特別なツールがありました。これにより、アクセスできるデータベース(アクセスが必要な理由のあるデータベースのみ)からほとんどすべてのものをプルできましたが、実行したすべてのことを完全にログに記録しました。
実稼働マシンでコマンドを実行する必要がある場合は、リスクが関係していると思われるものを選択し、実行したいものとその理由を正確にリストするチケットを入力する必要がありました。私が正確に言うとき、私はコマンドを入力するためのフィールドがあったことを意味します。このチケットは、承認または調整するためにマネージャーに送られます(通常、選択したリスクを上げたり下げたりします)。リスクによっては、管理チェーンとデータセンターの運用室の両方で上位の1人以上の人を選択した場合にチケットを承認する必要があります。リスクの低いアクションの場合、これらはマシンに対して自動的に実行されます。リスクの高いアクションの場合、データセンターのオペレーターは手動で各行の実行と出力の監視を許可します。繰り返しますが、絶対にすべてがログに記録されます。
実稼働マシンでルートシェルを取得するためのツールが用意されていましたが、これらは絶対に必要な場合にのみ承認されます。通常は「深刻な破損」の状況です。また、そのアクセスを取得できるシステムを介してすべてがログに記録されます。
データセンターの内部では、スタッフがより良い選択肢を持っていると思います。しかし、これらはどこにでもカメラを備えた非常に安全な施設です。マシンへの物理アクセスとそれらへのルートアクセスに必要な資格情報の両方を持っているスタッフはごくわずかであり、複数の人が物理アクセスの取得に関与します。一方、データストアと通信している本番マシンにアクセスしたり、ストレージラックと暗号化キーを使用できる場所の両方にアクセスしたりするには、非常に良い言い訳が必要です。また、データセンターのスタッフは通常、どのデータベースにどの情報が含まれているか、またはどのように構成されているかを知ることはありません。
抜け穴がありました。たとえば、開発者として、テスト/デバッグの目的で本番データベースをベータ環境にコピーするのは比較的簡単で、そこで自由に使えるツールが増えました。リクエストのログはまだありますが。次に、サーバー環境からローカルPCに大量のデータを取得するという課題があります。これは簡単なことではありません。また、企業環境から抜け出すこともできません。USBポートとディスクドライブが無効になり、HTTPSを含むすべてのインターネットトラフィックが監視されました。
では、大量のデータを取得できますか?はい。しかし、それはあなたにさかのぼることができます。