クリックパッケージと.debパッケージのセキュリティの違いは何ですか?


31

インストール(厄介な?)ランダムの.debは危険なことができ、それはアプリケーションにすべての権限が付与されますので、デーモンの.debは、ユーザが有効な場合は、インストール・プロセスで自分のパスワードを適用するかどうかを確認するいくつかのconfigsを持っているので、インストールされています。

クリックパッケージにはパスワードは必要ありません(私がテストした限り)。

クリックパッケージはシステム/ユーザーデータに対して安全ですか?それとも同じですか?どうして?

答えられるのが素晴らしいいくつかの側面:

  • clickとdebは同じシステム(dpkg)に基づいていますか?
  • apparmorは、パスワードなどを使わずにアプリへのルートアクセスを提供できますか?
  • ユーザーは、インストール時にアプリのアクセス権を受け入れるように求められます(Androidのような例:このアプリは/ homeをスキャンしてネットワークにアクセスできます)、または必要に応じて実行中に(ブラウザーのような例)カムを使用する権利を求める)
  • この質問に近い:.apkとクリックは同じことを言いますか(ポリシーとユーザーストーリーについて)
  • 主に:アプリはクリックでネットワーク上のすべての個人データを明示的に通知せずに送信できますか、それとも少なくともユーザーによって検証される権利がありますか、それともサンドボックスでブロックされますか?
  • 確かに、クリックパッケージはそれほど強力ではありません(より多くのものを制限します)が、より安全ですか?

タグ「クリック」を追加したかったのですが、そうするには評判が足りませんでした。最後の文は斜体であると思われた。
cm-t 14年

タグclick-packagesは既に利用可能です。
パンディア14年

NB:クリックパッケージは開発中です。次の安定したクリックパッケージのターゲットに対する回答が欲しいです。
cm-t 14年

回答:


35

注:私はUbuntuのセキュリティチームに所属し、Ubuntuのアプリケーション制限ストーリーの設計を支援しました。質問をわかりやすくするために書き直しました。

Q:「システムとユーザーデータに関して、クリックパッケージはより安全になりますか、それとも同じになりますか?」

A:一般に、システムおよびユーザーデータに関して、クリックパッケージはdebsより安全です。

クリックパッケージには、debパッケージのようにインストール時にルートとして実行されるメンテナースクリプトは含まれません。クリックパッケージは単に解凍され、クリックで宣言された場合はシステムが提供するフックが使用されます。たとえば、クリックは、デスクトップフックを使用してデスクトップファイルを生成するか、AppArmorフックを使用してアプリのAppArmorプロファイルを生成することを宣言できます。debパッケージングには、ソフトウェアまたはシステムを大幅にカスタマイズできるように設計されたメンテナースクリプトの概念があるため、debパッケージは信頼できるソース(Ubuntuなどのディストリビューションの署名付きアーカイブなど)からのみインストールする必要があります。クリックパッケージは直接インストールされる場合があり、パッケージのインストールによってシステムが損なわれることはないと確信できます。ただし、これはストーリーの一部にすぎません。信頼できないソースからクリックパッケージをインストールした場合、

クリックの真の力は、強力なポリシーを備えたソフトウェアリポジトリと組み合わせて使用​​することです。たとえば、Ubuntu App Storeからインストールされたクリックパッケージのセキュリティは通常、信頼できるアーカイブからインストールされたdebのセキュリティよりも高くなっています。これは、Ubuntu App Storeでは、信頼モデルはアプリが信頼されていない*と見なされ、ストア内のクリックパッケージに適切なセキュリティマニフェストがあり、非常に厳しい制限の下で実行されることを保証するポリシーとチェックが設定されているためです。これとは対照的に、Ubuntuアーカイブ内のパッケージをdebすること-信頼モデルでは、ソフトウェアとdebパッケージは信頼されていると見なされ、一般的にソフトウェアは制限下で実行されません(ただし、AppArmorプロファイルがソフトウェアと共に出荷される場合は例外がたくさんあります)セキュリティバグから保護するため)。

  • 信頼できるパッケージは、Ubuntu App Storeからも配信できます。一般的ではありませんが、それらは通常Canonicalによって開発されており、監禁下で実行される場合とされない場合があります。

特定の質問に答えるには:

Q:クリックはdebと同じシステムに基づいていますか?

A:クリックの低レベルパッケージ形式はdebです。ただし、クリックパッケージングは​​、従来のパッケージングファイルとメンテナースクリプトではなく、宣言マニフェストとフックを使用するという点ではるかに簡単です。

Q:AppArmorは、ユーザーの操作なしでアプリへの特権アクセスを提供できますか?

A: AppArmorは強力なルートであり、定義されたセキュリティポリシーに基づいてシステムリソース(ファイル、DBus、ネットワークなど)へのアクセスを許可または拒否できます。クリックパッケージ自体は、AppArmorセキュリティマニフェストを出荷したり、「安全」なAppArmorセキュリティマニフェストを出荷したりする必要はありません。システムを安全にするのは、クリックと、クリックパッケージを配信するストアのポリシーの組み合わせです。Ubuntu App Store経由で配信されるクリックパッケージは、非常に制限が厳しく、舞台裏で特権アクションを許可しないAppArmorポリシーを使用します(たとえば、このポリシーで実行されているアプリは舞台裏のシステムでプログラムを実行できず、Facebookアカウントにアクセスします、gpgキーまたはsshキーを盗む、ネットワークを操作するなど)

Q:インストール時に、Androidのようにアプリへのアクセス権を付与するようユーザーに求められますか?(例:「このアプリは/ homeをスキャンしてネットワークにアクセスできます」)

A:いいえ。低レベルのツールを使用すると、プロンプトなしでクリックパッケージ自体をインストールできます。Ubuntuでは、クリックパッケージはUbuntu Appストア(上記を参照)を介してインストールする必要があります。クリック機能とUbuntuシステムを組み合わせたUbuntu Appストアポリシーのため、クリックスルーのコンテキストレスインストールプロンプトは不要です。Ubuntuは、Ubuntu Appストアからインストールされたアプリが制限された閉じ込めの下で実行されるため(つまり、舞台裏で悪いことを行えないため)、アプリが追加のアクセスを必要とするときに、プロンプトを含む制御されたAPIを使用してこれを行うことができます。

特権APIの場合、ユーザーがアクセスを許可または拒否するためのコンテキストプロンプトを表示するという信頼できるヘルパーの概念があります((オプションの)取り消し可能なキャッシングにより、ユーザーは毎回確認されません)。たとえば、アプリが位置情報サービス(信頼できるヘルパー)にアクセスする必要がある場合、アプリが位置情報サービスを使用しようとするときにアクセスを許可するように求められます。情報に基づいた決定。ビデオとオーディオの録音でも同じことが起こります。多くの場合、セキュリティプロンプトをまったく必要とせず、アプリとのユーザー主導の対話に基づいてアクセスを許可できます。たとえば、アプリが写真をアップロードする場合、写真を選択するダイアログが表示されます。舞台裏では、アプリが〜/ Picturesディレクトリへのアクセスを許可されていないため、コンテンツハブAPIを使用し、ユーザーがギャラリーファイルセレクターを起動して、アップロードする画像を選択します。その後、コンテンツハブはギャラリーから写真を取得し、アプリに提供します。この方法では、セキュリティダイアログはありません。ユーザーにとっては自然なやり取りしかありませんが、裏では暗黙の信頼決定があります。

Q:この質問に関連して:.apkとclickはポリシーとユーザーエクスペリエンスに関して同様の言語になりますか?

A:いいえ、上記の理由でインストールを促すプロンプトはありません。Ubuntuに定義されているクリックパッケージのAndroidのアクセス許可とセキュリティのアクセス許可にはいくつかの類似点がありますが、実装方法が異なります。

Q:具体的には、クリックすると、アプリは私に知らないうちにすべての個人データをネットワーク経由で送信できますか、またはこれを防ぐために何らかの方法で制限されますか?

A:信頼できないソースからクリックをインストールすると、はい、何でもできます。Ubuntu App Storeからクリックをインストールした場合、いいえ、アプリはすべてのデータをネットワーク経由で送信できません。これは、アプリにアクセスできないためです。もちろん、アプリは何かをするように見えますが、ユーザーが位置情報サービスへのアクセスを許可したり、アプリに写真へのアクセスを許可したりすると、アプリはそのデータを悪用する可能性がありますが、それは評価です/レビューとApp Storeセキュリティポリシーが有効になります。このようなアプリが報告された場合、調査されます。必要に応じて、アプリはストアから削除され、インストールされているすべてのデバイスからアプリが削除され、開発者のApp Storeへのアクセスが取り消されます。

Q:クリックパッケージはdebsよりも安全であると言えますか?

A:上記からわかるように、答えはそれほど単純ではありません。クリックだけで、何でもできるソフトウェアが出荷される場合があります。クリックパッケージの形式は意図的に汎用されており、さまざまな方法で使用でき、Ubuntuに固有のものではありません。Ubuntuの場合、クリック、Ubuntu API、AppArmor、およびApp Storeポリシーの組み合わせは、開発者がユーザーに安全で使いやすい方法でアプリケーションを提供するための非常に強力な環境を提供します。アプリケーション自体のユーティリティは、基盤となるシステムによってアプリケーションに提供されるAPIに依存しています。Ubuntuの最初の出荷時に提供されるAPIの初期セットにより、開発者は豊富なAPIとSDKを使用して、あらゆる種類の楽しくて便利なアプリケーションを作成できます。


1
「アプリはインストールされているデバイスから削除されます」 -それは懸念されるようです。これは、Canonicalがユーザーのデバイスから許可なくリモートでアプリをアンインストールできることを意味しますか?

Ubuntu App Storeにはこの機能があります。この機能は、悪意のあるコードが積極的に関与している場合にのみ実行される可能性があります。まだ検討しなければならない多くの考慮事項があるため、ここでポリシーを指示したくはありませんが、結論としては、これは非常に正当な理由なしに起こるものではないということです。
jdstrand 14

2
私はこれがユーザーのセキュリティのためであることを理解しています(他のアプリストアもこれを行います)が、一部のユーザーはこのような「キルスイッチ」を嫌いますセキュリティ上の理由から。論争を避けるために、開発者はこれをどのように実装するかを慎重に検討すべきだと思います。削除する代わりにアプリを無効にして、ユーザーが自分でアンインストールまたは再有効化できるようにし、提案として非常に顕著な警告を表示することができます。

Clickが独自の依存関係をパッケージ化する場合、依存関係のセキュリティ更新はどうですか?bash debが更新された場合、bashを使用する他のすべてのパッケージは、当然新しいバージョンを使用します。ただし、Clickアプリがbashをパッケージ化する場合、アプリ開発者が更新されたbashを含めるように注意しない限り、バグは依然として存在し、アプリ開発者がパッケージを頻繁に更新すると仮定します。このシナリオでは、bashが基本パッケージではないことを想像してください。
ヘンディイラワン14年

これはとてもかっこいいですね!Androidシステムよりも優れています!Androidのアクセス許可はEULAのようなものになりました。読むことなく「はい」をクリックするだけです。
Galgalesh 14

2

セキュリティおよびクリックパッケージに関する最も重要な質問のいくつかに答えようとします。

  • アプリは、明示的に通知せずに、ワンクリックでネットワーク上のすべての個人データを送信できますか?

    • クリックアプリは監禁下で実行されます。これが意味することは、アプリが悪いことをするのを防ぐことです。つまり、アプリは自分のプライベートディレクトリにしかアクセスできません。
  • アプリをインストールしてからルート権限を取得できますか?パスワードや特定のプロンプトなしで?

    • ...
  • ユーザーはアプリの権利を受け入れるように求められますか?いつ?

    • クリックアプリは、ユーザーがアプリの使用を許可する機能にアクセスします(NB:現在/毎日のUbuntu Touchリリースではまだプロンプトが表示されません)
  • クリックとデバッグの両方で同じシステムに基づいていますか?

    • Debian(.deb)パッケージは完全に異なります。ただし、アプリがUbuntu SDKで作成されている場合は、Debianパッケージを使用する必要はなく、代わりにクリックパッケージを使用できます。クリックパッケージを使用すると、エンドユーザーにとってはるかに簡単で安全です。
  • 上記と同様に、比較するには:.apk(Android)とクリックは同じように機能しますか?

    • AndroidパッケージとUbuntu Clickパッケージは同様に機能します。各アプリケーションにはデータを保存するための独自のスペースがあり、他のアプリケーションのデータに直接アクセスすることは(理想的には)禁止されています。現在、Androidパッケージは、アクセス制限のないSDカードまたは内部ストレージからデータを読み取ることもできます。Ubuntu Clickパッケージも、特定の機能に対する許可を要求する必要があります。
  • 確かに、クリックパッケージはそれほど強力ではありません(より多くのものを制限します)が、安全ですか?

    • ...

これらの理由から、Clickパッケージは非常に安全であり、それらを公開するためのレビュープロセスははるかに簡単です。

ソース:


あなたはそれが最高だと思うように、この答えを記入してください
CM-T
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.