Sophos在Windows上的动态Shellcode检测
Sophos漏洞缓解措施可以在.NET Framework应用程序启动时阻止IronPDF,即使二进制文件是官方的、签名的和未修改的。 触发条件是本机DLL如何从CLR管理的内存中加载。
Sophos DynamicShellcode / HeapHeapHooray
Sophos DynamicShellcode / HeapHeapHooray 依赖于行为漏洞缓解启发式方法。 在.NET Framework进程中,LoadLibrary 针对 IronInterop.dll 的调用来自于匿名、JIT编译的CLR内存,而不是文件支持的来源。 Sophos读取这种模式为shellcode行为,并在进程启动前阻止该进程。
这影响了Windows 10 x64下的.NET Framework中的IronPDF 2026.3.1。
解决方案
选项1:添加一个狭窄的Sophos排除
为此检测创建Sophos所提供的最严格的排除。 首选基于证书的允许规则,适用于Iron Software签名的二进制文件; 如果无法做到这一点,请排除Sophos支持确认的特定Sophos检测ID。
推荐:保持排除范围狭窄。 除非Sophos没有提供更狭窄的选项且安全团队同意,否则不要在整个应用程序中禁用DynamicShellcode 保护。
选项2:通过gRPC远程模式运行IronPdfEngine
当端点排除不被接受时,将PDF处理路由到gRPC远程模式下的IronPdfEngine。 然后,本机DLL在一个独立的引擎进程中加载,而不是在.NET Framework客户端中,从而完全避开了检测。

