web-dev-qa-db-ja.com

Windowsファイアウォールで.exeファイルをブロックする場合、それが使用する.dllファイルもブロックしますか、それとも個別に実行する必要がありますか?

このシナリオを考えてみましょう:

  • 1つの.exeファイルといくつかの.dllファイルを含むインターネットからダウンロードされたXソフトウェアがいくつかあります。
  • .exeファイルは、Windowsファイアウォールを使用してインターネットにアクセスできなくなります。
  • プログラムの.dllファイルの1つがマルウェアに感染しています。

.exeファイルをブロックすることにより、.dllファイルから呼び出す実行可能コードもブロックされますか?または、実行可能コンテンツがあるように見えるすべてのファイルを手動でブロックする必要がありますか?より一般的には、このような場合、Windowsファイアウォールはどのように機能しますか?

ありがとう!

6
s_a

Windowsが実行可能ファイルを実行すると、いくつかの.DLLがインポートされる場合があります。後で.DLLをインポートする場合もあります。

実行可能ファイルをブロックすると、通常インポートされる.DLLをインポートできなくなります。

ただし、他のアプリケーションがそれらの.DLLをインポートするのを妨げることはありません。

一部のアプリケーションには独自の.DLLが付属し、一部のインストールされた共有.DLLが付属しています。また、Windowsには多数の.DLLがあり、WindowsAPIの一部として任意の.exeで使用できます。

また、.DLLは、実際には実行可能であり、rundll32.exeを使用して、またはWindowsAPIの他のメカニズムを介して呼び出すことができます。

.exeをホワイトリストに登録する場合は、.DLLもホワイトリストに登録する必要があります。

1
LawrenceC

ライブラリは動的にリンクされているため、共有されます。この場合、アプリケーションをブロックすると、実際にはシステムの他の部分で問題が発生する可能性があります。実行可能ファイル自体の実行をブロックしているだけなので、そのベクターポイントからの悪意のあるコードをブロックしているだけです。

0
Vaughan Hilts