web-dev-qa-db-ja.com

非rootユーザーがコードを直接実行できるLinuxシステムはほとんどありますか?

簡単に言えば、ボックスでコードを実行できる場合、ルートを取得するのは通常簡単です。

引用ソース

この引用の直接的な影響(正確な場合)は、マルチユーザーシステムを実行していて、すべてのユーザーがx権限セットを使用してファイルを作成できないように注意を払っていない場合、システムは妥協するのと同じくらい良い。必然的に、大学で一般的に見られるようなマルチユーザーシステムを操作しても、すべての学生がC、C++、アセンブリなどの演習を行えるように設計されていても、どのシステムの学生もこのシステムを直接利用できるため、無意味です。

所有者よりも多くの人が使用することを目的としたコンピュータシステムを実行することは無意味であるとは見なされず、特権制限機能(ユーザーの権限管理、サンドボックス化など)は無用であると見なされないので、私はどういうわけかこれらの種類のコメントを疑っています。しかし、私は何を知っていますか?

ほとんどのLinuxシステムは、コードを実行できる人なら誰でも簡単にルート化できるというのは本当ですか?

64
gaazkam

いいえ、これは正しくありません。ローカルアクセス、セキュリティアーキテクチャを使用している場合、Linuxの0day脆弱性を見つけて悪用することの相対的な難しさについて議論するかもしれません最新のLinuxシステム自体( [〜#〜] mmu [〜#〜] を使用)は、異なるユーザーを分離し、特権の昇格を防ぐように設計されています。 root以外のユーザーは、現在の脆弱性を悪用せずに適切な承認なしにrootを取得することはできません。このような特権昇格の脆弱性は、発見されるとすぐにパッチされます。*

ただし、human因子を乱用し、sysadminの専門家に偏在する誤解を悪用することで、根を張ることは可能です。もちろん、これはシステム管理者が維持しているシステムのセキュリティアーキテクチャを誤解しているシステム管理者に依存しています。例の完全なリスト:

  • 権限のない信頼されていないユーザーからのSudoまたはsuによる権限の昇格。1

  • システム管理者をだまして、ルートとして悪質な静的実行可能ファイルでlddを実行させます。2

  • 安全にインストールされていないバイナリを悪用する。

  • ルートから下位ユーザーにドロップダウンし、TTYプッシュバック攻撃を許可します。45

*これは表面的には真実ですが、多くのデプロイメントは頻繁に更新されないため、ライブの本番システムは既知のバグに対して脆弱です。利用可能なアップデートは、インストールされているアップデートを保証するものではありません。

90
forest

引用を言い換えると、特権昇格の脆弱性が存在し、引き続き発見または作成されます。

先週、私たちは SystemDでのこの少しおかしなこと ;を持っています。私たちは来週何をするつもりですか、それは時間内にパッチされますか、そしてあなたのパッチ体制はどれくらい良いですか?

ボックスで実行できる攻撃者が、実行中のOSに関係なく、ある時点でOSインスタンスへのrootアクセス権を取得できる可能性があることを想定する必要があります。そのようなタスクがいかに「単純」であるかはおそらく議論の余地がありますが、ユーザーが任意のコードを実行できる場合は、十分なスコープが与えられます。

26
James Snell

権限昇格の脆弱性を悪用することはすでに十分に困難ですが、痕跡を残さないことを確認しながら行うことははるかに困難です。 Androidユーザーがスマートフォンをルート化しようとすると、痕跡を隠したり心配したりすることなく、次々とエクスプロイトを試行し続けることができます。生徒はSudoを繰り返し悪用しようとしたり、拡散したりしますファイル共有全体の魚のような実行可能ファイルは、おそらく気づかれ、懲戒処分または追放されます。

ちなみに、マルチユーザー設定でrootアクセスを取得する#1の方法は、特権ユーザーがワークステーションから出てロックを忘れるまで待つことです。私が通っていた大学は3つのうち2つです。ただし、捕まらないことについての同じ発言が適用されます。

14

「まっすぐ」とは、「人の手口やその他のソーシャルエンジニアリングなし」を意味すると思います。答えは-はい、システムにパッチが適用されていない0-dayが含まれていて、特権の昇格につながる場合。

これは、アプリケーションレベルの0日になる可能性があります。たとえば、任意のファイルに影響を与える可能性があるsetuidアクセス権を持つrootが所有する実行可能ファイルがある場合。最新のリファレンスは Xorg です。次のような潜在的なベクトルを探すことができます:find / -user root -perm -4000 -print 2>/dev/null。別の例-上記のsystemdのようなシステムサービス。

または、カーネルレベルの0日である可能性もあります。それらはかなりまれですが、カバレッジがはるかに広いため、ノイズが多くなります。適切なリファレンスは dirty COW です。

上記は、一部のエクスプロイトの実行を防止できる 必須のアクセス制御 が有効になっていない場合に当てはまります。

または、otはブートレベルの攻撃でさえあります。 セキュアブート があなたの友達です。

5
odo