Bluecoveライブラリを使用する Java プロジェクトがあります。このライブラリには、プロジェクトで必要な特定のアクションを実行するためのルート権限が必要です。プロジェクトは Java ベースですが、Linux 専用であることに注意してください。
プロジェクトには、root 権限を必要としない多くの機能があり、そのうちのいくつかは root 権限機能と対話する必要があり、いくつかはそうではありません。
さらに、プロジェクトはroot 権限でユーザーが入力したデータを使用してhciconfigなどのプログラムを実行します。
このすべてのルート アクティビティにより、システムのセキュリティが心配になりました。ターゲットマシンはユーザー自身のコンピューターであり、このシステムを公共の端末で実行するつもりはありませんが、未知の外部 Bluetooth デバイスがこのシステムと対話できるため、セキュリティは依然として重要です。
これまでのところ、私のセキュリティ対策には、ユーザー入力を大幅にフィルタリングし、外部の Bluetooth デバイスがシステムに実行させるすべてのアクションに細心の注意を払うことが含まれていましたが、これにはますます不満が募っています。
人々は何を勧めますか?1 つ考えられるのは、システムを 2 つまたは 3 つのモジュールに分割することです。1 つには GUI と非ルート バックエンドが含まれ、もう 1 つには Bluecove ルート バックエンドと、場合によっては hciconfig のルート ラッパーと使用されるその他のツールが含まれます。
Apache などの一部のプログラムが、一度実行すると特権を「ドロップダウン」することに気付きました。これはどのように達成され、効果的ですか?