web-dev-qa-db-ja.com

管理者権限を必要としないWindowsインストーラーは危険ですか?

私はWindowsで Atlassian SourceTree を使用していますが、インストールまたは更新するために管理者権限を必要としないという点が気に入っています。私はたまたまISSO(情報システムセキュリティ担当者)にこれについて言及しましたが、彼はファンではありませんでした。彼は、(言い換えれば)「承認を求めていないのであれば、バックグラウンドで何が起こって何が変わるのかは決してわかりません!」という理由で、管理者を必要としないことは危険だと述べました。

さて、この人は慎重すぎる傾向があるので、私は彼の評価に懐疑的です。私は、プログラムが管理者権限を要求しない場合、それはそれらを必要とするほど十分に深い変更を加えていないためだといつも思っていました。それに加えて、私たちの仕事用コンピューターは極端にロックダウンされているので、すべてのインストーラーがセキュリティを確保するためにやらなければならないことは信じられない機能は許可を求めないことです。

それで、実際の状況は何ですか?管理者権限なしで実行できるインストーラは本当に危険なのでしょうか?

132
David K

管理者権限を必要とせずに何かをインストールすることは、標準のユーザー権限で非インストールプログラムを実行することと同じくらい危険です。これはless管理者特権で何かをインストールする(または実際、管理者権限で何かを実行する)よりも危険です。

もちろん、インターネットからダウンロードされたランダムなプログラムを実行することは、たとえ管理者を必要としなくても、潜在的に危険です。

ISSOの懸念が「ランダムなインターネットコードを実行していて、そのコードの作成者が私にそれを精査するように頼むのを怠けるのを簡単にしている」なら、これは非常に有効で事実です。 (あなたはコスト/利益について議論するかもしれませんが、それは有効です)

懸念が「このインストーラーは他のインストーラーやインストールしないプログラムよりも危険で、アクセスレベルを上げることがないため」である場合、いいえ、これは事実上正しくありません。

268
Ethan Kaminski

まあ、それは管理者権限を必要としない場合、それはそれが通常のユーザーができることしかできないことを意味します。もちろん、あなたはインストーラーが何をしているのか本当にわかりません(しかし、あなたは本当に知っていますか?)しかし、権限のないユーザーができないことはできないので、私はしません。ソースを信頼できる場合は、問題を確認してください。

82
Jordi

Windowsプラットフォームでは、アプリインストーラーがUAC(ユーザーアカウント制御)をトリガーするかどうかはアプリ次第であり、アプリはUACを回避できません。アプリのインストールで管理者が必要な操作を行う必要がある場合、UACがトリガーされます。これには、システム全体のシステムディレクトリまたはレジストリ設定への書き込みが含まれます。

アプリのインストールでUACがトリガーされない場合は、アプリが管理者以外のユーザーのプロファイルディレクトリにインストールされ、ユーザー自身のプロファイルの下にのみレジストリが設定されていることを示しています。ユーザーがマルウェアをインストールすることは確かに可能であり、マルウェアはそのユーザーのファイル/設定をいじるようにのみ設計されているため、システム全体に被害が及ぶことはありません。

ランサムウェアの脅威のコンテキストでは、これは、ユーザー自身のファイルのみを対象とするランサムウェアがUACレーダーの下を飛行することを意味します。

これを保護し、ISSOの懸念を満たすには、会社が提供しておらず認定されていないアプリの実行を防ぐためのポリシーと保護ツールが必要です。これを効果的に行うことは信じられないほど困難であり、そのためには、ビジネスニーズに応じてアプリを認定するためのスタッフへの非常に大きな投資が必要になります。

明らかに、上記はUACが無効になっていないか、改ざんされていない場合にのみ当てはまります。本当に煩わしかったので、ユーザーがUACを無効にすることはかなり一般的でした。本当に管理を必要としないはずのアプリがトリガーするからです。たとえば、ゲームを実行するたびにゲームが自動更新されるため、ゲームの実行には昇格が必要な場合に一般的でしたが、今でも発生しています。最近では、アプリの動作が改善され、UACを無効にすべきではありません。

良いコメントに続く明確化のために更新:

ローカル管理者のユーザーとしてログインした場合、UACを回避する方法があることに注意してください。最善の保護を行うには、日常のアカウントに対する管理者権限を持たせず、管理者権限を持つ別のアカウントを作成する必要があります。 UACは、システム全体の設定が変更されたとき、またはソフトウェアがインストールされたときに、その管理者資格情報を要求しますが、UACが有効になっている場合、UACを完全に回避することはできません。

27
Thomas Carlisle

管理者権限を必要としないプログラムインストールのもう1つの脅威は、インストールがユーザーレベルのコードによって変更される可能性があることです。これにより、サイレント(管理者アクセスは不要)の更新が可能になります。つまり、プログラムの動作は警告なしに変更される可能性があります。これにより、攻撃者はコードを挿入し、プログラムをサイレントに改ざんすることもできます(管理者アクセスは必要ありません)。

15
AstroDan

承認を求めていない場合、バックグラウンドで何が行われ、何が変更されるかは決してわかりません!

インストーラが管理者権限を必要とするかどうかにかかわらず、システムの変更を追跡/監視しない限り、インストーラが何をしているのかわかりません。

ただし、管理者権限を要求しない場合、管理者権限を必要とする変更(システムファイルの変更、システムレジストリ、ドライバーなど)を実行できないことを知っています。

管理者権限を必要としないインストーラーは危険ですか?

それは可能かもしれませんが、管理者権限を必要とするインストーラにすぎません。実際、理論的にはless危険です。

ただし、どちらの方法でも、管理者権限が必要かどうかに関係なく、賢明な環境では信頼できないanyインストーラを実行しないでください。

12
zakinster

アプリケーションは、インストーラーとは別に、さらに権限が必要な場合は昇格を要求する必要があります。一方、アプリケーションがマルウェアである場合、有害なコードをインストーラで実行する可能性があります。

したがって、実際にはそれは逆です。インストーラもアプリケーションも昇格を要求しない場合、どちらかが特権を要求する場合よりも害は少なくなります。

インストーラーを作成するときは、必要最小限の特権を使用しようとします。通常、これにより、プログラムをユーザーごとにのみインストールできるか、すべてのユーザーにインストールできるかが決まります。

したがって、レジストリブランチ[HKEY_CURRENT_USER]に書き込むだけで十分な場合は、昇格を要求する必要がないことがよくあります。インストーラが[HKEY_LOCAL_MACHINE]への書き込みや、管理者のみに許可する必要があるその他の操作を実行するための権限が必要な場合、尋ねます。

6
martinstoeckli

意味

インストーラーが管理者権限を必要としない場合、システム全体ではなく、現在のユーザーのみにソフトウェアをインストールします。

セキュリティへの影響は何ですか?

インストールするソフトウェアは自分のユーザーアカウントでのみ実行できるため、スーパーユーザー/管理者レベルでシステムを変更または損傷したり、他のユーザーやシステムサービスに影響を与えたりすることはできません。この点で、管理者権限を必要とするソフトウェアインストーラーを実行するよりももっと安全です。

ただし、これは、ソフトウェア自体がスパイ行為をしたり、不要なネットワークトラフィックをスパムしたり、アカウント内のファイルをいじったりするなど、ソフトウェア自体が悪いことをすることができないことを意味しません。ただし、これは特定のものではありません。ソフトウェアをインストールする方法に。

システム管理者が気に入らない理由

承認プロセスなど、ユーザーがソフトウェアをインストールする際のポリシーを回避します。

彼らの懸念は正当化されますか?

はいといいえ。これは、ユーザーアカウントで既に実行できること(スクリプトの記述、独自のバイナリの実行、独自のソフトウェアのコンパイルなど)よりもシステム自体に対するセキュリティリスクではありませんが、IT部門が何らかの理由でとにかく通知または相談を受けたい。

一部のIT部門は、監査の目的でユーザーのコンピューターに存在するソフトウェアの記録を保持したいと考えています。ユーザーがITに気付かれずにソフトウェアをインストールした場合、そのソフトウェアは、ネットワークを介したコンピューターへの攻撃、スパムの送信、マシン上の大量のリソースの使用、機密文書の漏洩などの悪意のあることを実行できます。そのため、そのシステム上の他のユーザーに対してシステムの整合性を危険にさらすことはできないかもしれませんが、それでも望ましくないことを実行する可能性があります。

適切に機能するソフトウェアであっても、最新の状態に保たないと問題が発生する可能性のある脆弱性が存在する場合があります。 IT部門がユーザーのシステムにインストールされたソフトウェアについて知っている場合、IT部門は最新の状態に保つことができます。

概要

つまり、単一のユーザー用にインストールし、管理者権限を使用しないインストーラーには、固有のセキュリティリスクがないということです。 IT部門が懸念する可能性があるのは、通知せずにソフトウェアをインストールする行為だけです。

4
thomasrutter

管理者権限を要求しないインストーラーは、要求するインストーラーより安全です...

でない限り、あなたには管理者権限があり、それらをインストーラーに付与します。

例として、私のMacBookにインストーラーがあり、/ use/local/binにアプリケーションをインストールできますなし私の管理者パスワード(好奇心のために「醸造」)。可能な唯一の方法は、brewがインストールされたときに管理者権限を与えられていることです。現在MacOSには [〜#〜] sip [〜#〜] と呼ばれるものがあり、管理者でさえある種の変更を加えることができません。私の知る限り、Windowsには同等のものはありません。 (しかし、私はほぼ4年間Windowsを使用していません。)

つまり、管理者特権がなくても、インストールしたプログラムはyouに対して厄介なことを行う可能性があります。別の答えはそれらのいくつかについて述べています。しかし、anyプログラムは、インストーラーだけでなく、それらのいくつかを実行できます。

1
WGroleau

多数のインストーラーは、ユニバーサルエクストラクターなどのサードパーティツールを使用して、管理者権限なしで簡単に抽出でき、実際に管理者権限を必要としません。インストーラーに管理者モードへのアクセス権を与えることで、コンピューターのすべての部分へのアクセス権を与えることができます。これらの権限なしで実行されるインストーラーは、管理者権限を必要としないファイルへのアクセス権のみを持ちます。

ただし、自分で確認しない限り、サードパーティのプログラムが何をするかは決して知りません。あなたができることは、プログラムが信頼できるソースからのものであり、既知のウイルスがないことを確認することです(アンチウイルス/ウイルストータルを使用)、そして最後に、ユニバーサルエクストラクターのようなものを使用して、スクリプトが何をするかを確認するか、それを使用して抽出することさえできますインストーラーから直接ファイル。そして、明らかに、上司があなたが実行/インストールしているプログラムに問題がないことを確認してください。

すべてのインストーラーがこの方法で抽出できるわけではなく、一部のインストーラーは実際にはドライバーなどをインストールしたり、レジストリーに入力したりするために管理者権限を必要とすることに注意してください。

1
HiddenKnowledge

既存の回答に追加するには、管理者権限を必要としないインストーラーに裏側の欠点がありますインストールされているソフトウェアを実行するために管理者権限が必要な場合

インストーラーが管理者権限を使用しない場合、ソフトウェアは(保護された)Program Filesフォルダーにインストールできない可能性があります。グローバルではなくローカルにインストールすることで、悪意のあるアクターがプログラムを変更したり、管理者アカウントではなくローカルアカウントからカスタムアドインをインストールしたりする可能性があります。これにより、誰かがそのプログラムを管理者として実行すると、特権が昇格する可能性があります。

ただし、これを実際に実現するために必要な条件は非常に遠く離れています。これは、現実の脆弱性というよりは、理論上の脆弱性です。

0
niemiro

ISSOは明らかに間違っています。

まず、管理者権限を必要としないが実際にはマルウェアであるインストーラーを作成した場合(たとえば、すべてのドキュメントを私に送信するなど)、管理者権限を要求するのは簡単です。管理者権限を要求すると、そのインストーラーがどのように安全になるのか、本当に疑問に思っています。

承認を求めなくても、インストーラが好きなことを実行できるわけではありません。 必須承認しないことのみを実行できます。承認なしにこれらのことを行うことはできません。管理者権限を持つインストーラーは、コンピューター上でanythingを実行し、完全に台無しにすることができます。管理者権限のないインストーラーは、ユーザーディレクトリでanythingを実行して完全に混乱させることができます。これは、管理者権限を持つインストーラーが実行できるものよりも少なくなります。

現在、ダメージは必ずしも悪意によって行われているわけではありませんが、多くの場合愚かさ(インストーラーのバグ)によって行われています。管理者権限がある場合、インストーラーはコンピューター全体を意図せず混乱させる可能性があります。管理者権限がなければ、そのリスクは大幅に軽減されます。

(前述のように、最近のMacOSシステムでは、「管理者特権」と「ルート特権」はまったく同じではなく、管理者権限を持つコードからでもオペレーティングシステムを保護するために使用されます)。

0
gnasher729

それは単に、管理者が実行できることを実行できないことを意味します。一部のアクションに管理者権限が必要な場合、プロセスの実行にはElevationが必要です。 SourceTreeは標高を要求しないので、システムに害を及ぼす可能性のあることは何もしません。

たとえば、cannot

  • Windowsサービスをインストールする
  • サービスを開始または停止する
  • 昇格されたプロセスを停止する
  • デバイスドライバーをインストールします(署名されているかどうか、それは重要ではありません)。
  • 保護されたレジストリの読み取り/書き込み
  • ドライブをフォーマットする
  • ディスクパーティションを変更する
  • システム時間を変更する
  • マシンをシャットダウンする
  • システム全体のプロセスプロファイラーを開始する
  • 保護されたディレクトリを読み取ります。
  • ブート構成を変更します。
  • セキュリティポリシーを変更する
  • 。 。 。

したがって、インストーラー(または任意のプログラム)が管理者モードの実行を要求するではないほうがより安全です。

0
Ajay