web-dev-qa-db-ja.com

セキュリティのためにファイルシステムの権限にどれだけ依存できますか?

私の質問は、ファイルシステムのアクセス許可(具体的には、Unixスタイルのアクセス許可)と、それらがセキュリティにどのように関係するかについてです。

ゲストユーザーアカウントとBobというユーザーのコンピューターにアクセスできるとします。ボブのパスワードはわかりませんが、ゲストアカウントを使用できます。ゲストアカウントにはボブのすべてのファイルに対する読み取り権限はまったくないため、ゲストとしてログインしている間はボブのファイルを読み取ることができません。

ただし、真の「敵対的」な観点から見ると、私はこの暗号化されていないディスクに完全にアクセスできます。イメージを作成し、後で保存して、他のOSを実行して、ファイルシステムのアクセス許可設定を無視して、ボブのファイルを単に読み取ることができます。

これから、私は質問に行きます:

  1. 暗号化されていないディスクのファイルシステムのアクセス権設定は単なるフラグですよね?そして、私が許可のないファイルを読み取るのを妨げている唯一のことは、OSが「ああ、あなたはそれを読むことができない、あなたは許可がない」と言うという事実です。そのファイルはそのままの形でディスク上にあり、ファイルシステムフラグを無視するだけで読み取ることができます(たとえば、単にアクセス許可を無視する怪しげな起動可能なOSを介して)。これはすべて正しいですか?

ここで、ディスクに直接アクセスすることはできず、マシンにSSH接続しているだけだとしましょう。ボブのファイルを読み取る権限がありません。それについて私が本当にできることは何もないのですよね?

  1. 権限が限られているため、どんなに頑張ってもボブのファイルにはアクセスできません。ルートアクセスを取得するためにエクスプロイトを使用するとどうなりますか? OSの許可フラグをバイパスできますか?これは今までに起こったことですか?
31
bob

より短い答え。

コンピューターシステム(PCまたはデータストレージシステム)に物理的にアクセスでき、ファイルのアクセス許可のみが「保護」されている場合、100%保護することはできません。

暗号化されていないデータは、システムドライブに接続してデータのコピーを作成できる別のデバイスを使用する以外にほとんどツールを必要とせず、最小限の労力でコピーとクローンを作成できます。

そして、はい、潜在的に物理的侵入のいくつかの証拠的側面は、物理レベルでのアクセスに織り込む必要があるかもしれません。指紋が残されていないことを確認したり、「改ざん防止用」のシールも同様に処理されます。しかし正直なところ、世の中の大多数のシステムでは、データの物理的なコピーのためにドライブを物理的に取り外すことができ、エンドユーザーはこれ以上何も知りません。ドライブを所有している場合は、ドライブを所有し、暗号化されていない場合はデータを所有します。

これが、ユーザーごとの暗号化またはディスク全体の暗号化が今日、非常に大きなものになっている理由です。ラップトップ、その他のポータブルコンピューティングデバイスは現在、市場の非常に大きな部分を占めており、デバイスの盗難やPCの偶然の借用によるデータ損失のリスクは、かつてないほど高まっています。

ディスクが暗号化されていない場合、ディスク上のデータは開いたままの状態で、すぐに読むことができます。この概念は、Linux/Unixマシンだけでなく、あらゆるOSに限定されません。暗号化されていないシステムに物理的にアクセスできる場合は、システムがあります。

つまり、ファイルのアクセス許可areは、あらゆる種類のリモートサーバーにとって有用なセキュリティ対策です。

より長い答え。

私の質問は、ファイルシステムのアクセス許可(具体的には、Unixスタイルのアクセス許可)と、それらがセキュリティにどのように関係するかについてです。

まず、コンピュータのセキュリティとすべてのものは、物事を遅くし、必ずしも絶対的なセキュリティを提供するとは限らない、単なる抑止力であることに留意してください。

たとえば、物理的な建物のセキュリティの最も弱い部分は、建物に出入りするときに開く必要があるドア、または空気を入れるために開く必要があるウィンドウです。ええ、ドアとウィンドウをロックしてアラームを設定できますが、本当にwants何かへのアクセス—彼らはそれを追求するための時間、リソース、富、努力を持っています—彼らはそれにアクセスするでしょう。

ゲストユーザーアカウントとBobというユーザーのコンピューターにアクセスできるとします。ボブのパスワードはわかりませんが、ゲストアカウントを使用できます。ゲストアカウントにはボブのすべてのファイルに対する読み取り権限はまったくないため、ゲストとしてログインしている間はボブのファイルを読み取ることができません。

ここでの問題は、アクセスのコンテキストです。コンピュータへの物理的アクセスがある場合、ほとんどすべてが可能です。しかし、リモートネットワーク経由でのみ(ある種のネットワークを介して)接続している場合、ファイルシステムの所有権は間違いなく効果的なセキュリティメソッドです。 Linux/Unixサーバーの場合、権限と所有権はリモート侵入を阻止する効果的なセキュリティの形態です。

そのため、Linux/Unixの世界では、リモートシステムへのrootアクセス権を獲得することは非常に重要な賞と見なされています。リモートシステムにrootを取得すると、データセンターにアクセスしてドライブのクローンを作成する必要なく、より優れたアクセスを提供する何かを本当に実行できます。

ただし、真の「敵対的」な観点から見ると、私はこの暗号化されていないディスクに完全にアクセスできます。イメージを作成し、後で保存して、他のOSを実行して、ファイルシステムのアクセス許可設定を無視して、ボブのファイルを単に読み取ることができます。

はい。丁度。マシンに物理的にアクセスできる場合、最初に説明したように、すべての賭けはオフです。ディスクのイメージを作成することで、またはドライブ自体の生の内容を追跡することで、他のユーザーが所有するファイルやディレクトリにアクセスできます。

たとえば、自分のパソコンを貸して、このシナリオを考えずに自分だけのために新しいアカウントを設定する人は、基本的に、自分のマシンにある個人データを、知らないうちに漏らしています。

わずかな正接ですが、ドライブ上のデータをワイプするためのわずかな努力をせずに、非常に多くのカジュアルユーザーが古いPCを寄付するのはこのためだと思います。ユーザーのパスワードを設定し、ドライブをゴミ箱に捨てて2度考えない程度にデータを安全に保つことを前提としています。真の暗号化やデータワイプが行われていない場合、ゴミ箱に捨てられたドライブや使用済みドライブは、重い作業や深い技術的努力をしなくても、だれでもどこでも読み取ることができます。

31
JakeGould

あなたの3つのポイント:

  1. 通常のユーザーとしてSSHでログインしている場合、RAWディスクデバイスにアクセスできません。通常、RAWおよび論理ディスクデバイスにアクセスするには、rootまたは権限が必要です。

  2. エクスプロイトによってrootを取得した場合、あなたはシステムで最も強力なユーザーであり、デバイスを含むほとんどすべてのものにアクセスできます。 rootなので、Bobのファイルに直接アクセスできるため、ディスクデバイスにアクセスする必要はありません。

  3. 物理的なアクセスはrootに勝ります。ルートは論理層です。ディスクに物理的にアクセスする場合は無視できます。これには、ルートになっている別のOSに上記のディスクをロードすることが含まれます。

もちろん、システムはrootエクスプロイトに対して強化されるはずですが、新しいエクスプロイトが毎日出てきます。 100%安全なシステムはありませんが、アクセスを制限することで、実用的な目的で安全なシステムを作成できます。

ファイルシステムのアクセス許可は、OSが侵害されていない、制限付きユーザーアクセスの状況でのみ機能することが期待されています。これは、自転車のロックのように、「正直な(そして典型的な)ユーザーを正直に保つ」システムです。これは、安全な完全保護を失敗させる以上の「機会の犯罪」を防止するように機能します。

15
cde