ハッカーが誰かのPCにトロイの木馬を置くとき、それらのプログラム(定義上、いくつかの...追加機能を備えたステルスRATです)は、何らかの形でそれらと通信する必要があります。最近のほとんどすべてのネットワークにNATがインストールされているため、自分のPCへの直接のピアツーピア接続は明らかに不可能です。ポートフォワーディングやUDPホールパンチングなどのあいまいな手法を使用していたとしても、攻撃されたPCを調査している誰にでもIPアドレスが即座に明らかにされます。
したがって、私の理解では、彼らはある種のサーバーを使用する必要があるでしょう。彼らが追跡できないように匿名でサーバーを購入する方法はありますか?または、被害者のPCでプロキシ/ VPNを使用し、自分のネットワークでポート転送を使用して、ISPに対してターゲットのIPを隠すだけでなく、被害者のPCを調査している人に対しても自分のIPを隠すことができますか? IPはバイナリ内のどこかに保存する必要があるので、これは確かに不可能なはずです。
マルウェアの通信は今日、マルウェアと攻撃者の両方が接続する中央サーバーに対して行われることが多く、通信チャネルを構築できます。バリエーションには、複数のサーバーまたはマルウェアと、異なるシステムに接続する攻撃者が含まれ、それらが互いに接続を構築します。したがって、これはある種のプロキシアーキテクチャであり、直接接続ではありません。しかし、マルウェア通信用の 使用中のP2Pアーキテクチャ もあります。
IPはバイナリ内のどこかに保存する必要があるので、これは確かに不可能でなければなりません。
ターゲットIPアドレスを保存する必要はありませんが、それを決定する方法が必要です。 IPアドレスを直接使用することは柔軟性に乏しく、このターゲットIPアドレスを検出してブロックするだけで、マルウェア通信を簡単に検出してブロックすることもできます。
攻撃者は自分が所有するドメイン名の現在のアドレスを切り替えることができるため、DNS名を使用するとより柔軟になります。しかし、感染したシステムが防御側によって制御されているネームサーバーを使用している限り、簡単に検出してブロックすることもできます。したがって、一部のマルウェアは別のネームサーバー(どちらも検出するのは難しくありません)を使用し、一部のマルウェアは検出と分析がはるかに難しいHTTPS経由のDNSに切り替えます。
他の方法には、ドメイン名の決定論的な動的生成( DGA-ドメイン生成アルゴリズム )が含まれるため、単一のドメイン名のブロックでは不十分です。多くの場合、DGAのアルゴリズムを再構築したり、構文や動作(通常は統計分析と機械学習を使用)に基づいて生成されたドメイン名の使用を検出したりするために、マルウェアをリバースエンジニアリングする必要があります。
そして、一見不審な通信チャネルを使用して、ピアの現在の場所を見つけたり、 Twitter または Instagram または [〜# 〜] dns [〜#〜] 。この一見無害なターゲットへの通信は、特に暗号化されている場合は検出とブロックがはるかに困難ですが、TLSハンドシェイクのトラフィックパターンまたは特殊性を分析することによって行われる場合があります。ただし、これには前の場合よりも防御側によるさらに多くの努力が必要です。これは、パフォーマンスが高くなり、必要な機器がより高価になることも意味します。