web-dev-qa-db-ja.com

VM vsシステムコール割り込みvsソフトウェア障害分離

信頼できないexeファイルがあります(マルウェアに感染している可能性があります)。 VMで実行すると、システムからexeファイルが分離されますが、システムコール割り込みやソフトウェア障害分離などのメカニズムを使用するとどうなりますか?

それらのいずれかはexeファイルをサンドボックス化するのに適していますか?それらとVMの使用の間に長所または短所はありますか?

5
Zorx

これは、何をしようとしているのかによって異なります。バイナリを分析して、本当にマルウェアであるか、システムに影響を与えずにコードを実行するかを判断します。

SFIでは、疑わしいマルウェアが文書化されていないオペコードを使用し、SFIがコードを分析できないため、コードの実行を拒否するという問題に遭遇する可能性があると思います。

システムコールの割り込みを使用すると、オペレーティングシステムコールを書き換えることができますが、interpositonを使用して完全なコンテナーを作成しない限り、どのシステムコールが通過するかを特定する必要があります。これは明白ではないかもしれません。コードが微妙なカーネルバグを悪用すると、Interpositionを使用してコンテナを作成することもできません。

VMはOSカーネルよりも攻撃対象が小さいと思います。最新のCPUはハードウェアサポートを提供しているため、文書化されていないオペコードからも保護する必要があります。

Spectre、Meltdown、Rowhammerの時代には、まだ注意が必要です。

1
William Hay