特定のアプリケーションが管理者として実行されるのを防ぎます


13

バックグラウンド

ほとんどのインストールツールキットには、インストール後に外部プログラムを自動的に起動する機能があります。これは、多くの場合、「readmeを表示」または「プログラムを開始」などのオプションを使用してインストーラーに表示されます。

問題

問題は、これらのインストーラーの多くはコーディングが不十分であり、権限を適切に削除しないことです。たとえば、アプリケーションを自動的に起動したり、ブラウザーでアプリケーションのホームページを開いたりすると、多くの場合、インストーラーの管理者権限または「高い」UAC整合性レベルでアプリケーションまたはブラウザーが起動します。

これにより、インストールされたアプリケーションまたはWebページ(および場合によってはブラウザーアドオン)が開かれ、現在は高い権限で実行されているため、セキュリティ違反が発生する可能性があります。

(これが、ソフトウェアのインストール時に自動起動オプションを選択しないことを強くお勧めする理由です。)

質問

する方法がある防ぐから(Webブラウザなど)特定のアプリケーションを、これまでのプロセス名に基づいて管理者権限、すなわちで起動されて、自動ドロップ特権は?

windows  uac 

2
私はこの質問が本当に好きです。など、パス、ハッシュ、に基づいて、プロセスのための昇給権への製品は、など、chrome.exe、firefox.exeを、私は、たとえば、自動的に権利をドロップ何かを見るためにiexplore.exeをしてみたいがあります
パトリック・シーモア

1
生成プログラムに管理者権限がある場合、思いついたものを元に戻して実行することはできませんか?:)
Ƭᴇcʜιᴇ007

1
私はそれができると思いますが、インストーラーが「ねえ、あなたは管理者として、私たちのホームページを閲覧するつもりだ」と驚いたでしょう。そして、それらの許可を継続的に実施しました。私がそれについて知ることができれば、そのような会社からソフトウェアを買うとは思わない。
パトリックシーモア

回答:


2

原則として、「RUNAS」の回答に同意します。

あなたが望むのは、サブプロセスインスタンスが管理者として実行されている場合に自動制限されることです。

いくつかのアプローチがあります。ただし、オーバーヘッドは煩わしいため、それらは抜本的であり、can病な管理者向けではありません。しかし、彼らは仕事をするでしょう。

さらに要求されない限り、アプローチ1のみを表示します

制限するアプリケーションごとに:

right click the executable and go to **PROPERTIES**
go to the **SECURITY** tab
click **ADVANCED** at the bottom
click **ADD** at the bottom
type **ADMINISTRATORS** for the name. if you have a domain then adjust appropriately
press **OK** to get the custom settings for the administrator's group
check the **DENY** checkbox next to "TRAVERSE FOLDER/ EXECUTE FILE" permission (2nd on the list)
hit OK and so-on until you've closed the properties entry for that file.

現在、管理者グループのメンバーはそのファイルを実行できません。彼らは戻ってアクセス権を変更し、チェックを外して実行できるようにすることができますが、それを故意に行う必要があります。

また、インストーラーでこれが発生することが心配なので、システム「ユーザー」に対して同じ手順を実行することをお勧めします。このアカウントは一部のインストールで使用できるため、管理者としても(事実上)実行されます( Windowsの「ADMIN」アカウント資格情報を使用してSYSTEM資格情報トークンを取得できますが、これはこの質問の対象を超えています。

Windows 7でこれを行う様子をいくつか示します。

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください


1

dropmyrightsまたはpsexecを使用して、より低い権限レベルを達成できるはずです。

トリッキーな部分は、インストーラーがアプリケーションの新しいインスタンスを生成するときにそれを自動的に発生させることにあるようです。

そのためには、少なくとも関連するすべてのファイルタイプとURLのファイルの関連付けを調整する必要があると思います。たとえば、既存のコマンドの前にpsexecコマンドを追加します。

インストーラーが実行する実行可能ファイルを指定するのではなく、関連するアプリケーションでファイル/ URLを開こうとする限り、これは機能します。実行可能ファイルのパスが明示的に指定されている場合、標準の実行可能ファイルを、必要なコマンドを実行するshim実行可能ファイルに置き換える必要があると思います。


1

ここで見逃されていることの1つは、Internet ExplorerとWindows Explorerの権限を昇格させることはできないということです(レジストリのハッキングを行わない限り)。Firefox、Chromeなどについては知りませんが、管理者としてInternet Explorerを実行しようとすると、資格情報を喜んで受け入れますが、実際には権限を昇格しません。これは、Windows Vista以降のセキュリティ機能です。さらに、UACが無効になっている場合を除き、UACが有効でない唯一の方法は、ビルトインの管理者アカウントにログインしている場合です。何かが昇格されたアクセス許可でインストールされたからといって、インストーラがそのプログラムに昇格されたアクセス許可を与えることができるというわけではありません。権限は、プログラムが実行されたアカウントによって決定されます。知らないうちに昇格された権限でプログラムを実行できる唯一の方法は、


1
RUNAS /trustlevel:<TrustLevel> program

/trustlevel       <Level> should be one of levels enumerated
                  in /showtrustlevels.
/showtrustlevels  displays the trust levels that can be used
                  as arguments to /trustlevel.

This requires an elevated command prompt.

説明/ステップバイステップ

  1. [スタート]メニューを開き、検索バーにcmdと入力します
  2. コマンドプロンプトを右クリックして、管理者として実行を選択します。

    RUNAS /showtrustlevels
    
  3. 使用するアプリケーションに適した信頼レベルを選択します。使用するX信頼レベルは次のとおりです。

    RUNAS /trustlevel:X "Application target"
    

私はこれがうまくいくとは思わない。RunAsを使用して結果のブラウザウィンドウを低い権限で実行するには、インストーラを(RunAs経由で)低い権限で実行する必要があります。そうすると、インストーラーが機能しなくなる可能性があります。
パトリックシーモア

ブラウザの環境変数を変更してRUNAS / trustlevelコマンドを含めるようにしたい場合、ブラウザは常に選択した信頼レベルで起動します。高度な状況...考える価値がある
デビッドマッゴーワン

環境変数の変更はちょっとしたミッションです。RUNASコマンドを含む実際の実行可能ファイルへの単純な呼び出しを含む元のファイルを置き換えるには、単純なexeを作成する必要があります。私が言ったように、ちょっとした使命として、ブラウザウィンドウが起動するアドレスをコピーしてから、ブラウザを閉じて再起動し、アドレスを入力することができます
David McGowan

0

私はさまざまなソリューションを検討しましたが、アプリケーションマニフェストまたはappcompatフラグが機能しないことをすでに伝えています(はい、それは本当の答えではありませんが、私はまだこれを共有したかったです;))

探しているものに近いものは、いわゆる整合性レベルです。ファイルシステム(ACL)内で設定でき、プロセスが保持しているトークンに影響します

この記事では、exeを常に「低整合性レベル」で実行する方法について説明します

別のアプローチは、ウイルススキャナーやアプリケーションファイアウォールが使用するリアルタイムプロセスモニターのようなサードパーティツールですが、そのように構成できるものは知りません。


2
あなたは私の答えを無視することができます、私はその方法を試してみましたが
うまくいき

0

AppLockerを使用できます。

これはWindows 7 Enterprise、Ultimate、およびServer 2K8以降で利用できると思います。Windows 8についてはわかりませんが、同じであると仮定します(EnterpriseとUltimate)。

グループポリシーに移動してAppLockerをセットアップできます。

コンピューターの構成-> Windowsの設定->セキュリティの設定->アプリケーション制御ポリシー-> AppLocker->実行可能ルール。

右クリックして「新しいルールを作成...」

ここで、選択したユーザーまたはグループによる特定の実行可能ファイルの実行をブロックできます。この例では、管理者グループによるInternet Explorerの実行を拒否することを選択できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.