WindowsでのSophos DynamicShellcode検出
Sophosのエクスプロイト緩和策により、公式で署名され変更されていないバイナリであっても、.NET Frameworkアプリケーションの起動時にIronPDFがブロックされる可能性があります。 トリガーは、CLR管理メモリからネイティブDLLがどのようにロードされるかです。
Sophos DynamicShellcode / HeapHeapHooray
Sophos DynamicShellcode / HeapHeapHooray は、動作のエクスプロイト緩和ヒューリスティックに依存しています。 .NET Frameworkプロセスでは、LoadLibrary呼び出しは、ファイルに裏打ちされた起源ではなく、匿名のJITコンパイルされたCLRメモリから発生します。 Sophosはそのパターンをシェルコードの動作と読み取り、プロセスを開始する前にブロックします。
これにより、Windows 10 x64上 for .NET FrameworkのIronPDF 2026.3.1 に影響があります。
解決策
オプション1: Sophosの除外を狭める
この検出のためにSophosが提供する最も厳しい除外を作成してください。 Iron Softwareが署名したバイナリに対する証明書ベースの許可ルールが望ましいです。 それができない場合は、Sophos Supportが確認した特定のSophos検出IDを除外してください。
推奨: 除外範囲を狭めに保つ。 Sophosが狭い選択肢を提供せず、セキュリティチームが承認する場合を除き、アプリケーション全体のDynamicShellcode保護を無効にしないでください。
配備する前に、顧客のSophos管理者またはSophos Supportに正確なルールフォーマットを確認してください。
オプション2: gRPCリモートモードでIronPdfEngineを通して実行
エンドポイントの除外が受け入れられない場合、gRPCリモートモードでIronPdfEngineにPDF処理をルートします。 その後、ネイティブDLLは、.NET Frameworkクライアントではなく、別のエンジンプロセス内でロードされ、検出を完全に回避します。

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.