web-dev-qa-db-ja.com

/ proc / interruptsが誰でも読み取り可能である理由はありますか?

読書 this/proc/interruptsからの情報を使用してシステムを攻撃する方法に関する最近の研究論文で、/proc/interruptsが世界中で読める特定の理由があるかどうか疑問に思いました。実際、私のArch Linuxマシンのレポート

ls -al /proc/interrupts 
-r--r--r-- 1 root root 0 24. Mai 18:03 /proc/interrupts

このファイルをrootのみが読み取り可能にすることは害になりますか?

5
Florian

20年ほど前に作成されたときに世界中で読めるようになったので、今では世界中で読めるようになっています。私は歴史を調査していません(とにかくLinus Torvaldsの頭にのみ存在する可能性があります)が、このファイルを作成する明確な理由がないため、このファイルは世界中で読める可能性があります。結局のところ、機密情報は含まれていません。いくつかのシステム構成といくつかのパフォーマンス統計だけです...

微妙なのは、/proc/interruptsのスナップショットを1つ撮っても無害ですが、タイトループでそれを読み取っても害はないということです。

アプリマーケットが主流になり、みんなとその祖母がApp StoreやGoogle Playなどの怪しげなサイトからダウンロードしたコードを実行する数年前まで、サイドチャネルは暗号化の外ではあまり注目されませんでした。そのため、そのような問題(1990年代の典型的なマルチユーザーシステムに既に存在していた)が、スマートフォンのコンテキストでより広く公表および研究されていることには驚かされません。

Linuxカーネルには非常に強力な下位互換性があるため、状況の変更は簡単な決定ではありません。 /proc/interruptsの情報は、アプリケーションまたはドライバーのコードやシステムパフォーマンスの問題をデバッグするときに役立ちます。

/proc/interruptsへのアクセスを制限しても、サイドチャネルは完全にはブロックされません。サイドチャネルを監視するための比較的便利な方法の1つにすぎません。キーストロークのタイミングを観察することもできます。それを読み取るプロセスがスケジュールされるタイミングを観察し、攻撃者がそれを実行するために何をする必要があるかは、topプログラムが必要とするものです(デフォルトを増やすだけで表示されます)。 1Hzのリフレッシュレート)。

問題が報告されたようです 2011年に戻って 。さらに、ルートのみが/proc/interruptsを読み取り可能にするために提案されたパッチ。

スレッドを読むと、彼らは ディストリビューションは変更する必要があります/proc/interruptsの許可を考慮したようです。 問題が提起されました procfsをマウントするすべてのユーザーにアクセス許可の変更を強制するのは面倒なことがあるという事実について。パッチの作成者も 質問 これがデフォルトではない理由ですが、(私の知る限り)回答がありませんでした。

4
Ronny