アプリケーション ルールの個別のシグネチャ機能 (「個別のシグネチャ」を参照) を使用すると、リバース シェル悪用攻撃を防ぐことができます。リバース シェル悪用は、攻撃者がゼロデイ (Zero-day) 悪用によってシステムへの侵入に成功した場合に使用される可能性があります。ゼロデイ悪用とは、そのシグネチャがまだセキュリティ ソフトウェアで認識されない攻撃のことです。
まだ知られていない初期の段階では、悪意のあるペイロードは防御の最前線、つまりインターネット ゲートウェイで実行されている IPS やゲートウェイ アンチウイルス (GAV) を通過できます。さらに、ホストベースのアンチウイルス ソフトウェアなど、その次の防御線まで通過して、攻撃対象のシステムで任意のコードを実行できます。
多くの場合、実行されるコードには、攻撃者がリモートから (悪用するサービスやログオン ユーザの権限を使用して) コマンド プロンプト ウィンドウを開き、そこから侵入に着手するために必要な最小限の命令が含まれています。
NAT/ファイアウォールがあると、悪用するシステムに能動的に接続できないことがあるので、それらを迂回する一般的な手段として、攻撃者は脆弱なシステムにリバース シェルを実行させます。リバース シェルでは、攻撃対象のホストから攻撃者のアドレスに対して接続が開始されます。しかも、厳格な送信ポリシーをうまく回避するために、既知の TCP/UDP ポートが使用されます。
この使用事例は、Windows システムをホストしている環境で、すべての TCP / UDP ポートを介した暗号化されていない接続をインターセプトする場合に適用できます。
暗号化されていない Telnet サービスを使用しているネットワークでは、それらのサーバの IP アドレスを除外するポリシーを設定する必要があります。
この使用事例では、リバース シェル ペイロードの特定の事例 (送信接続) を扱っていますが、受信接続に対しても有効になるようにポリシーを設定すると安全性が向上します。これにより、実行されたペイロードが脆弱なホストにリスニング シェルを生成し、攻撃者が誤って設定されたファイアウォール経由でそのサービスに接続するような事例を防ぐことができます。
実際の設定では、次の作業を行う必要があります。