web-dev-qa-db-ja.com

Skypeは、自分のすべての個人ファイルとシステムリソースにアクセスできる制限のないアプリケーションであると主張する

状況

Ubuntu 18.04 LTSデスクトップが駆動するラップトップにSkypeをインストールしようとしていました。ソフトウェアインストールヘルパーから、Skype

閉じ込められていません。すべての個人ファイルとシステムリソースにアクセスできます

以下のスクリーンショットに従って。

screenshot software installer ubuntu 18.04

どうやら、この警告を必要としないアプリケーションと区別する理由があるはずです。

リアリティチェック

  • Skypeは、ファイルやディレクトリに設定された権限に関係なく、ホームディレクトリにあるものを本当にスキャンできますか?それは一種のスーパーユーザーのようになりますか?
  • そこでのシステムリソースの意味は何ですか?それは、ブロードバンドやメモリなどの機能リソースに関するものですか、それともすべてのアプリケーションを制御するための控えめな表現ですか?

緩和

  • 平均的な「パワーユーザー」がそのような制限のないアプリケーションを制限することはどのようにして可能でしょうか。

単なる回答のほかに、興味深い読み物を指摘することも歓迎されます。

45
XavierStuvw

なぜこのメッセージが表示されるのですか?

snap の考え方は、「Linuxのアプリストア」になることであり、iOSやAndroidなどの他のプラットフォームのアプリストアとほとんど同じ利点があります。大きな利点の1つは、ユーザーが特定の権限を与えない限り、アプリケーションが制限され、OSと対話できないことです。

スナップでは、いくつかの異なる「閉じ込め」設定があります ここに記載

  • 厳格

    ほとんどのスナップで使用されます。厳格に制限されたスナップは、常に安全と見なされる最小限のアクセスレベルまで完全に分離して実行されます。その結果、厳密に制限されたスナップは、インターフェースを介して特定のアクセスを要求しない限り、ファイル、ネットワーク、プロセス、またはその他のシステムリソースにアクセスできません(以下を参照)。

  • クラシック

    従来のパッケージとほぼ同じ方法で、システムのリソースにアクセスできます。不正使用を防ぐために、クラシックスナップを公開するには手動による承認が必要であり、インストールには--classicコマンドライン引数が必要です。

  • Devmode

    スナップの作成者と開発者のための特別なモード。 devmodeスナップは、システムリソースへのフルアクセスを持つ厳密に制限されたスナップとして実行され、指定されていないインターフェイスを識別するためのデバッグ出力を生成します。インストールには、--devmodeコマンドライン引数が必要です。 Devmodeスナップは安定したチャネルにリリースできず、検索結果に表示されず、自動的に更新されません。

Skypeアプリは「クラシック」スナップである可能性が高いため、厳密な制限から得られるのと同じメリットを得られません。

Skypeは本当に私のシステムで何かをすることができますか?

Skypeは、apt経由でインストールされたものなど、他の従来のバイナリと同じように実行できます。通常は「ある種のスーパーユーザー」になることはありませんが、Sudoまたは他の手段を使用して特権プロセスになることを要求できます。これを行う最も簡単な方法は、root以外での実行を拒否することです。

ただし、バイナリ機能を特別に指定しない限り、Skypeは魔法でファイルのアクセス許可をバイパスすることはできません。

システムリソースとはどういう意味ですか?

スマートフォンのアプリについて考えてみましょう。アプリケーションは、ファイル、連絡先、マイク、カメラ、場所などへのアクセスを要求する必要があります。

厳密な制限設定でのスナップにより、アプリケーションはこれらにアクセスできますが、個々のアプリケーションはこれらのインターフェースへのアクセスを要求する必要があります。もちろん、ユーザーとしてのあなたは、アプリケーションがそれらにアクセスすることを禁止することができます。おそらく、ネットワーク対応の機能を使用したくないので、アプリケーションからネットワークにアクセスしたくないでしょう。

インストーラーが言っていることは、Skypeは「クラシック」なスナップなので、Skypeがこれらすべてのリソース(ネットワーク、カメラなど)にアクセスするのを止めることはできないということです。

このようなアプリケーションをどのように制限できますか?

必要に応じて、自分で完全に限定されたスナップを作成してみてください。これは不可能ではないにしても困難な作業になると思いますが、それ以外の場合はMicrosoftが行っていました。あるいは、それは非常に簡単で、ほとんど不便ではなく、Microsoftは気にしませんでした。

また、制限付きユーザーを作成し、このユーザーとしてアプリケーションを実行するようにシステムを構成してから、その制限付きユーザーがネットワークやWebカメラなどのリソースにアクセスできないように制限することもできます。

64
MechMK1

このコミックのようです

XKCD see https://xkcd.com/1200/ for credits and licensing

一般に、アカウントで実行されるプログラムは、アカウントがアクセスできるリソースにアクセスできます。

Skypeは、ファイルやディレクトリに設定された権限に関係なく、自分のホームディレクトリにあるものを本当にスキャンできますか?それは一種のスーパーユーザーのようになりますか?

MechMK1の回答 で述べたように、いいえ、それはあなたよりも特権になることはありません。ただし、ファイルをchmodに0にしたとしても、そのファイルを所有している限り、(ユーザーIDで実行されている)プログラムは、より寛容なアクセスモードにchmod戻ることができます。

一般的に、マルウェアはあなたのシステムで実行された場合にマルウェアが実行できることをすべて実行できます。たとえば、

  • .bashrc.bash_profile、または同様のファイルを使用して、ログインするたびにそれ(またはそのコンポーネント)を起動します。
  • キーストロークを監視します(この質問の範囲を超える制約がある場合)。
  • たぶんあなたの画面を読む(?)

平均的な「パワーユーザー」がそのような制限のないアプリケーションを制限することはどのようにして可能ですか?

Skype(またはその他のプログラム)isマルウェアに偏執的で、それでも実行したい場合は、自分(およびデータ)を保護するためにできることがいくつかあります。セキュリティの(ほぼ)降順で:

  • Benjamin の提案に従って、信頼できないソフトウェアを何らかの刑務所、サンドボックス、コンテナ、または仮想マシンに隔離します。
    • どれだけ偏執的であるかに応じて、all信頼できないソフトウェア用に1つの分離領域、またはeach信頼できないプログラム用に1つの分離領域を設定できます。
  • MechMK1 の提案に従い、信頼できないソフトウェア用に別のユーザー(異なるUIDを持つ)を作成し、常にそのユーザーとしてソフトウェアを実行します(Sudoまたはsu、または別の仮想端末で他のユーザーとしてログインすることにより)
    • この場合も、all信頼できないソフトウェア用に1人のユーザーを作成するか、each信頼できないプログラム用に1人のユーザーを作成します。
  • 最も機密性の高いデータ用に別のユーザーアカウントを作成します。
    これは上記の箇条書きとほぼ同じですが、反対方向から見ています。
  • 最も機密性の高いデータを暗号化します。 のように、これらのオプションの中で最も安全性が低くなります。
    • ソフトウェアがファイルを削除または上書きするのを妨げることはありません。
    • 信頼されていないソフトウェアがあなたと同じように実行されている限り、おそらくあなたの多くの行動を監視し、おそらくそれを解読してデータを操作するときにあなたのデータを読み取ることができます。

上記のいずれも保証されません。


これに戻る:

それは一種のスーパーユーザーのようになりますか?

完全を期すために、プログラム(制限なく実行できる)は通常の方法で特権を持つことができます。

  • Sudoまたはsuを呼び出して、パスワードを入力することを期待できます。 (アドバイス:それをしないでください!)
  • Sudoまたはsuを呼び出して、パスワードを推測することができます。
  • Sudoを呼び出して、過去5分以内にyoSudo使用したことを期待できるため、認証情報は引き続きキャッシュされます(Sudoersを参照 してください)。マニュアル )。
  • オペレーティングシステムの権限昇格の脆弱性を悪用する可能性があります。

など。上で説明した制限手順により、これらの攻撃の一部を軽減できます。

15
Scott