Détection de shellcode dynamique Sophos sous Windows
L'atténuation des exploits de Sophos peut bloquer IronPDF au démarrage dans les applications .NET Framework, même lorsque les binaires sont officiels, signés et non modifiés. Le déclencheur est la manière dont la DLL native est chargée à partir de la mémoire gérée par CLR.
Sophos DynamicShellcode / HeapHeapHooray
Sophos DynamicShellcode / HeapHeapHooray repose sur des heuristiques d'atténuation d'exploit comportementale. Dans un processus .NET Framework, l'appel LoadLibrary pour IronInterop.dll provient d'une mémoire CLR compilée en JIT anonymement plutôt que d'une origine soutenue par un fichier. Sophos lit ce modèle comme un comportement de shellcode et bloque le processus avant qu'il ne puisse démarrer.
Cela affecte IronPDF 2026.3.1 sur Windows 10 x64 sous .NET Framework.
Solution
Option 1 : Ajouter une exclusion étroite Sophos
Créez l'exclusion la plus stricte que Sophos propose pour cette détection. Une règle d'autorisation basée sur un certificat pour les binaires signés d'Iron Software est préférée ; à défaut, excluez l'identifiant de détection Sophos spécifique confirmé par le support Sophos.
Recommandé : gardez le champ d'exclusion étroit. Ne désactivez pas la protection DynamicShellcode sur l'ensemble de l'application à moins que Sophos ne propose aucune option plus étroite et que l'équipe de sécurité ne l'approuve.
Vérifiez le format exact de la règle avec l'administrateur Sophos du client ou le support Sophos avant de le déployer.
Option 2 : Exécuter via IronPdfEngine en mode distant gRPC
Lorsque les exclusions de point de terminaison ne sont pas acceptables, redirigez le traitement PDF vers IronPdfEngine en mode distant gRPC. La DLL native est alors chargée dans un processus moteur séparé au lieu du client .NET Framework, ce qui contourne complètement la détection.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.