web-dev-qa-db-ja.com

PATH変数内の一部のフォルダーは、誰でも書き込み可能です。危険かどうか?

PATH環境変数のいくつかのフォルダー(例:C:\ Python)は、管理者権限のないユーザーを含め、マシン上のすべてのユーザーに書き込み権限を付与していることに気付きました。 Python実行可能ファイルとそのフォルダにあるものを変更できると思います。ただし、Pythonを使用しないとどれほど危険ですか?また、WindowsのほとんどのプログラムはGUIまたは絶対パスを使用しても、この問題はSystem32など、PATH内の他のより機密性の高いフォルダーに影響を与える可能性がありますか?

20
Shao Kun Deng

Pythonを使用しない場合、どれほど危険ですか?

Pythonの使用はリスクとは無関係です。

PATH変数は、完全なパスを入力せずにプログラムを呼び出す手段を提供します。 Unixの人々は、公的に書き込み可能なディレクトリ(または。)をPATH変数に入れることを検討しますが、それは基本的な罪です。リスクは、攻撃者がユーザーが実行しようとするプログラムを自分の邪悪なコードに置き換え、それによって被害者をだまして実行させる可能性があることです。

MS Windowsの場合、リスクは低くなりますが、軽減するのはより困難になります。

  • ほとんどの人はMS Windowsでコマンドラインを使用しません
  • 通常、プログラムは、実行可能ファイルへのフルパスを使用するエクスプローラーから開始されます
  • MS Windowsは常に実行可能ファイルを%PATH%にチェックインする前に、常に現在のディレクトリを最初に検索します(つまり、リスクは設計によりMS Windowsに組み込まれています)。
27
symcbean

免責事項:OPの質問はWindowsのexplicitelyなので、この回答はこのシステムにのみ焦点を当てています。 UnixまたはUnixのようなシステムでは、答えは異なります。

問題は、PATHの一部のフォルダがだれでも書き込み可能であるということではありません。 PATHは、単純な名前でコマンドを開始できるフォルダのリストにすぎず、フルパスではありません。

しかし、コマンドが含まれているフォルダ(PATHにあるかどうかに関係なく)は誰でも書き込み可能であるという事実isはセキュリティ上のリスクです。

マシンにアクティブなサーバーサービスがなく、1人のユーザーだけで物理的に保護されている場合、リスクは許容できる可能性があります。システムファイルまたはその他の実行可能ファイルを消去/書き換えする場合は、その理由を知っている必要があります。非難すること。しかし、とにかく(Windowsの指示に従って)ベストプラクティスでは、潜在的に危険なタスクを実行する前に警告が表示されることをお勧めします。したがって、systemフォルダーには書き込み権限が必要です。 。

ただし、複数の人(管理者はここに含まれていません)がマシンにアクセスできる場合、深刻なセキュリティ問題になります。 Pythonスクリプトを実行するときに、実行可能ファイルまたはDLLを自発的または代替せず、不要なプログラムを起動する可能性があります。アクションが予期しない結果につながる可能性があるため、System32がパブリックに書き込み可能である場合、発言しません。

TL/DR:マシンの唯一のユーザーでない限り、Pythonフォルダーはすべてのユーザーが書き込み可能であってはなりませんが、管理者権限が必要です。


UnixまたはUnixライクなシステムでは、問題は異なります。最初のデフォルトのインストールでは、通常、実行可能ファイルを含むフォルダーが公開で書き込み可能になることはなく、PATHが頻繁に使用されます。もちろん、PATHにフォルダをパブリックに書き込み可能にすると、それ自体が重大なセキュリティ問題になります。しかし、Windowsにはさまざまな用途があります...

7
Serge Ballesta

はい、適切なGPO実行中の外部実行可能ファイルに対する保護が適切でない場合、それ自体が重大なセキュリティリスクです)場合、セキュリティリスクになる可能性があります。

1つのPATHフォルダーを別のPATHフォルダーに交換することにより、ユーザーをだまして、実行しようとしているものとは異なる実行可能ファイルを実行させることができます。ただし、適切なGPOポリシーが適切に設定されている場合、これは、「プログラム」が実行されないため、ユーザーが数分間テクニカルサポートに迷惑をかけることを意味します。バッチスクリプトまたはコマンドラインを使用します。ほとんどのユーザーは使用しません。

0
520