web-dev-qa-db-ja.com

悪意のあるアプリ/ドライバーによる機密データアクセスからPCを保護する方法

私はソフトウェア開発者として、プロトタイプ段階でさまざまなUSB接続周辺機器とそのドライバーを頻繁に使用しています。

周辺機器は、私がよく知らない、または100%信頼できない会社からのものである場合があります。そのため、周辺機器とそのドライバーに悪意のあるコンポーネントが含まれているというリスクが残ります。私はここで産業スパイについて最も心配しています。

具体的には、開発者のマシン(周辺機器を接続してドライバーをインストールする)上のソースコードやその他の機密文書が悪意のあるドライバーやスパイウェアに読み取られたり、インターネット経由で%malicious_organization%に転送されたりしないように保護したいと思います。

通常のアンチウイルス/ Windows Defenderはこれを達成するのに役立ちますか?悪意のあるドライバーがカスタム開発されているため、よく知られたスパイウェアではない可能性があります。

データ保護の目標を最もよく達成するにはどうすればよいですか?

1
rsp1984

悪意のあるアプリ/ドライバーによる機密データアクセスからPCを保護する方法

定義上、ドライバーはオペレーティングシステムの一部です。そのため、誰かが悪意のあるドライバーを配置できる場合は常に、システムレベルの特権でアクセスできます。つまり、コンピュータが持っているメモリのすべてのビットにアクセスできるということです。

ゲームに負けました。

これに効果的に対抗する唯一の方法は、エアギャップセキュリティです。つまり、外部へのリンクのない部屋にマシンを配置します(これには、意図しないRF放射が含まれます。たとえば、PCIeバスをリズミカルにバーストするか、実際にRF =悪意のあるハードウェアの送信)、およびコンピュータにアクセスするユーザーを個人的に監視します。

ハイパービザリングオペレーティングシステムにドライバーがインストールされていないことについて、何か高揚したことを言いたいのですが、特権が低いVM –しかし、現実には、おそらくuse開発しているのと同じコンテキストでデバイスを使用します(そうでない場合は、デバイスを機密性の高い環境にインストールしないでください)。助けにはなりません。

問題はソフトウェアレベルで止まらないことに注意してください。ハードウェアがPCIe、CardBus、PCI、AGP、PCMCIA、ISA、PXI、PCI-X、FireWire、Thunderbolt、または多くのストレージデバイスクラスの1つである場合(Floppy、 IDE、おそらく多くのSataデバイス、M.2、)、HyperTransport、AHBなどの典型的な「密結合」バスの場合、DMA –したがって、まさにそれ、[〜#〜] d [〜#〜] irect [〜#〜] m [〜#〜] emory [〜#〜] a [〜#〜]アクセス、オペレーティングシステム、アンチウイルスソフトウェア、またはCPUだけが干渉する可能性はありません。このメカニズムを使用して、PCの完全なコンテンツを読み取り、盗み出すRAM何度も実証されています。

USBタグを使用していますが、質問では説明していません。USB自体はデバイスにDMA機能を提供しませんが、多くのUSBホストチップセットとデバイスドライバーには、実際には次のようなバグがあります。本質的にメモリアクセスを取得するUSB​​デバイス。これは「悪意のあるドライバ」ドメインを離れ、「バギーホスト統合ハードウェア」および「バギードライバ」ドメインに入ることに注意してください。これまでに消費者向けWindowsドライバを読んだことがある人なら誰でも同意するでしょう。このクラスのドライバーが支配的なものです。

全体として、悪意のあるハードウェアをマシンにインストールすることは、ほとんど「悪意のあるメイド」のシナリオであり、あなた自身が悪意のあるメイドであるということだけです。

3
Marcus Müller