seccomp(2)
getrandom(2)
などの非決定性を導入するシステムコールを含む、特定のプロセスが作成できるシステムコールを厳密に制限するために使用できますgettimeofday(2)
。プロセスを強制的に実行する方法はありますか?完全確実性?
少なくとも私が見つけたプロセスがRDTSC
。この古いブログ投稿prctl(PR_SET_TSC)
x86_64の実際の損傷を説明します。この問題を解決する現代的な方法はありますか、それとも完全に決定論的な実行を実施することは不可能ですか?
答え1
非決定論には、RDTSCだけでなく多くのソースがあります。一方、プログラムがマルチスレッドの場合、特にSMPシステムでスケジューリング決定でエントロピーを取得できます。 IPCが厳しく制限されているシングルスレッドプログラムについて話している場合、限られたseccomp刑務所はその効果を発揮します。
いつでもカーネルにパッチを適用してRDTSC障害を修正できます。 @Gillesが述べたように、ASLRを無効にする必要があるかもしれません。