AppArmor はシステムのパフォーマンスを低下させますか?

AppArmor はシステムのパフォーマンスを低下させますか?

AppArmor はシステム パフォーマンスを低下させますか? デフォルトでインストールされたため AppArmor が組み込まれた低速システム (900 MHz CPU) を使用していますが、これを削除したら速度が速くなるかどうか知りたいです。そのシステムではセキュリティよりもパフォーマンスの方が重要です。

答え1

もちろん、システムの速度は低下します。どの程度遅くなるかは、アプリケーションの動作によって異なります。ファイル システムへのアクセスは遅くなります (チェックする必要があるため)。その他、設定できるものはすべて遅くなります。ただし、プロセスがファイルやソケットなどを開かない場合は、まったく影響を受けません (初期化後)。

私はお気に入りの検索エンジンをちょっと調べてみました (なぜしなかったのですか?)。結果は、ほとんどの場合、影響は無関係であるということです。

答え2

それはあなたのプログラムが何をするかに依存します:ファイルにアクセスする頻度、新しいプログラムを起動する頻度、実行時間など...AppArmorは[LSM]1インターフェイスは、すべてのシステム コールをチェックします。AppArmor には、同じプロセスからの繰り返しのファイル アクセスや、すでに開いているファイルへの後続の要求を高速化するためのアクセス キャッシュがありますが、最も顕著なオーバーヘッドは初期化中にあります (プログラムのプロファイルをロードする必要があり、コンテキストの初期化を行う必要があります)。最悪のケースについて、非現実的な判断をしたい気分なら、次の図は、他の LSM ベースのフレームワーク (CMCAP-Linux) の調査中に AppArmor と DAC (従来の権限モデル) を比較したものです。システムは、8GB の RAM を搭載した 3GHz で動作する Intel Core2 Duo E8400 で起動された Linux 4.4.6 でした。マイクロベンチマークは、open+close テストの場合は 1,000 万回の操作、他の 2 つの場合は 1 万回の操作を 10 回平均して実行 (タイトなループ) したものから構成されています。現実世界では、これほど高いレートでプログラムを生成する人はいませんが、私の言いたいことはおわかりでしょう。 システムコールのオーバーヘッド: DAC vs. CMCAP-Linux vs. AppArmor

答え3

特に明記されていない限り、おそらく「目立った効果なし」は 1.8 GHz 以上の CPU と約 512 MB 以上のメモリを前提としているはずです。私のマシンの 1 つは 800 MHz、512 MB のメモリです。すべてのプロセスの効果は目立ちます。価値があるかどうかは、あなただけが判断できます。

関連情報