メモリ内Webシェルとは、メモリ内でのみ実行され、ディスク上に痕跡を残さない悪意のあるプログラムです。 これらのWebシェルは検出が難しく、従来のアンチウイルスソフトウェアのスキャンなど、従来のウイルス検出方法を回避できます。 アプリケーション保護機能は、Runtime Application Self-Protection(RASP)テクノロジーを使用して、メモリデータを分析することによりメモリ内Webシェルを検出し、それらの挿入と実行をブロックします。 このトピックでは、メモリ内Webシェル防止機能の使用方法について説明します。
前提条件
Java アプリケーションと関連 ミドルウェアがアプリケーション保護機能に追加され、アプリケーション インスタンスが「承認済み」状態になっています。 詳細については、「アプリケーション構成」をご参照ください。
メモリ内Webシェルの検出と遮断ロジック
メモリ内Webシェル防止機能は、必要な アプリケーショングループ内の承認済み アプリケーション インスタンスにメモリ内Webシェルが存在するかどうか、およびメモリ内Webシェルが挿入および実行されているかどうかを確認できます。 この機能は、次の検出エンジンを使用して保護を提供します。
メモリ内Webシェルの検出: このエンジンは、メモリをスキャンして悪意のあるコードを探し、隠れた脅威の検出を支援し、Security Center コンソールで検出されたメモリ内Webシェルに対して生成されたアラートを表示します。 アプリケーショングループに対してこのエンジンを有効にするには、[メモリ内 Webシェルの検出] をオンにします。

メモリ内Webシェルの挿入: このエンジンは、メモリ内Webシェルの挿入や実行など、メモリ内Webシェルによって引き起こされる動作をリアルタイムで監視およびブロックします。 アプリケーショングループの保護ポリシーで指定された脅威タイプに [メモリ内 Webシェルの挿入] が含まれている場合、アプリケーショングループに対してこのエンジンを有効にできます。 このエンジンを有効にして、アプリケーショングループの [保護モード] パラメーターを [監視] に設定すると、このエンジンは脅威が検出されたときにアラートを生成しますが、脅威をブロックしません。 このエンジンを有効にして、アプリケーショングループの [保護モード] パラメーターを [ブロック] に設定すると、このエンジンは疑わしい呼び出しが検出されたときにアラートを生成し、呼び出しをブロックします。 さまざまなタイプの ミドルウェアをメモリ内Webシェルから保護するために、このエンジンは次のメソッドを提供します。
メモリ内Webシェルが挿入される前のブロック: アプリケーション保護機能は、機密性の高い API 関数を監視して、挿入の試みをリアルタイムで識別およびブロックします。 たとえば、攻撃者が式を実行したり、デシリアライゼーション攻撃を開始したりすると、この機能は攻撃をブロックします。 これにより、メモリ内Webシェルがアプリケーションコンテキストに侵入するのを防ぎます。
メモリ内Webシェルが実行される前のブロック: メモリ内Webシェルが最初のブロックフェーズをバイパスしてメモリ内で実行しようとすると、アプリケーション保護機能は ディープ ラーニングと動作認識テクノロジーを使用して、メモリ内Webシェルの実行を検出してブロックします。 これらのテクノロジーは、既知の悪意のある特性の データベースと比較することにより、メモリ内Webシェルのアクティブ化と実行を正確に識別して防止します。 このプロセス中に、通常の ビジネス運用は中断されません。 メモリ内Webシェルがシステムに挿入されても、攻撃者はシステムを制御できません。
アラートの表示と処理
デフォルトでは、アプリケーション保護機能はすべての アプリケーショングループに対してメモリ内Webシェルの検出を有効にします。 アプリケーションを機能に追加した後、次の操作を実行して、メモリ内Webシェルに対して生成されたアラートを表示および処理できます。
WAF 3.0 コンソール にログインします。 上部の ナビゲーションバーで、WAF インスタンスの リソースグループと リージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側の ナビゲーションウィンドウで、 を選択します。
アプリケーション保護 タブをクリックし、[メモリ内 Webシェルの防止] を選択して、必要な アプリケーショングループと時間範囲を指定します。
トロイの木馬警告トレンド セクションと トロイの木馬のタイプの分布 セクションで統計情報を表示し、次のタブでアラートを表示します。
[メモリ内 Webシェルの検出アラート]: メモリ内Webシェル検出エンジンによって検出された静的メモリ内Webシェル ファイルに対して生成されたアラートを表示します。 次のリストは、アラート ステータスについて説明しています。
[未処理]: メモリ内Webシェル検出エンジンによってメモリ内Webシェル ファイルが検出されたことを示します。できるだけ早くアラートを手動で処理する必要があります。
[自動]: ブロック済みとしてラベル付けされています。 この ステータスは、メモリ内Webシェル挿入エンジンがメモリ内Webシェル ファイルの実行を検出し、メモリ内Webシェルの実行をブロックしたことを示します。 アプリケーション保護機能は、メモリ内Webシェルを正確にブロックし、後続の実行をブロックします。 影響を受ける アプリケーションを再起動して、検出されたメモリ内Webシェル ファイルをクリアできます。
[未処理]: 監視済みとしてラベル付けされています。 この ステータスは、メモリ内Webシェル挿入エンジンがアラートをトリガーするメモリ内Webシェル ファイルの実行を検出し、アプリケーショングループに指定された保護モードに基づいてメモリ内Webシェルの実行をブロックしたことを示します。 アプリケーショングループに対してメモリ内Webシェル防止機能を有効にできます。
次のリストは、アラートのアクティブ状態と非アクティブ状態について説明しています。
アクティブ: アラートが生成された アプリケーション インスタンスは オンラインです。
非アクティブ: アラートが生成された アプリケーション インスタンスは オフラインです。
[メモリ内 Webシェルの挿入アラート]: メモリ内Webシェル挿入エンジンによって検出された脅威のアラートを表示します。
管理するアラートを見つけ、[操作] 列の [詳細] をクリックして、検出されたメモリ内Webシェルの [詳細] と [アラート分析] を表示し、メモリ内Webシェルを処理する必要があるかどうかを決定します。
[詳細] タブでは、メモリ内で実行されている Java プログラムの ソースコードを表示するには、[逆コンパイルされた Java ファイル] スイッチを有効にする必要があります。 このスイッチがオフの場合、Security Center は逆コンパイルされた コードを表示しません。
[アラート分析] タブでは、メモリ内で実行されている コードの AI 駆動分析と、メモリ内Webシェルの存在の明確な証拠を見つけることができます。 この情報は、識別されたメモリ内Webシェルが重大な脅威をもたらすかどうかを正確に評価できるため、検出機能と応答効率が向上します。
重要[アラート分析] タブにアクセスするには、[逆コンパイルされた Java ファイル] スイッチを有効にする必要があります。 アラート分析機能は、逆コンパイルされた Java ファイルを処理する場合があります。
メモリ内Webシェルアラートを処理します。
検出されたメモリ内Webシェルを手動で処理する: 影響を受ける アプリケーションをオフピーク時に再起動して、メモリ内Webシェルをクリアします。 メモリ内Webシェルをクリアした後、アラートの処理方法を 処理済みの表示 に設定します。
数回クリックするだけで保護を有効にする: 影響を受ける サーバーが属する アプリケーショングループの保護モードを [ブロック] に変更します。 ブロック保護モードを有効にすると、システムは後続の検出で アプリケーショングループ内のメモリ内Webシェルのすべての挿入と実行を自動的にブロックします。
無視: アラートを処理したくない場合は、Security Center コンソールでアラートの処理方法を [無視] に設定できます。
アラートを ホワイトリストに追加する: 攻撃アラート タブに移動し、必要なアラートを見つけて、[操作] 列の [処理] をクリックして、アラートを ホワイトリストに追加します。 詳細については、「攻撃アラートをホワイトリストに追加する」をご参照ください。
説明メモリ内Webシェルの検出アラートは ホワイトリストに追加できません。
メモリ内Webシェル防止機能の有効化または無効化
アプリケーショングループに対してメモリ内Webシェル防止機能を有効または無効にできます。 機能を有効および無効にするには、次の操作を実行します。
WAF 3.0 コンソール にログインします。 上部の ナビゲーションバーで、WAF インスタンスの リソースグループと リージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側の ナビゲーションウィンドウで、 を選択します。
アプリケーション保護 ページの アプリケーションの設定 タブで、管理する アプリケーショングループを見つけて、[操作] 列の 保護ポリシー をクリックします。
保護ポリシー パネルの [保護ポリシー] タブで、脅威検出タイプに [メモリ内 Webシェルの挿入] が含まれる保護ポリシーグループ、または脅威検出タイプにメモリ内 Webシェルの挿入が含まれない保護ポリシーグループを選択します。
[メモリ内 Webシェルの挿入] が含まれる保護ポリシーグループを選択すると、メモリ内Webシェル挿入エンジンが有効になります。 [保護モード] パラメーターを [監視] に設定すると、システムはアラートを生成しますが、脅威をブロックしません。 [保護モード] パラメーターを [ブロック] に設定すると、システムはメモリ内Webシェルの挿入と実行に関するアラートを生成してブロックします。

保護ポリシー パネルで、[検出ポリシー] タブをクリックします。 トロイの木馬の検出 をオンまたはオフにして、OK をクリックします。
メモリ内Webシェルの検出をオンにすると、システムは アプリケーショングループ内のメモリ内Webシェルを検出できます。
