Sophos在Windows上的动态Shellcode检测

This article was translated from English: Does it need improvement?
Translated
View the article in English

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 保护。

警告在部署之前,与客户的Sophos管理员或Sophos支持确认确切的规则格式。

选项2:通过gRPC远程模式运行IronPdfEngine

当端点排除不被接受时,将PDF处理路由到gRPC远程模式下的IronPdfEngine。 然后,本机DLL在一个独立的引擎进程中加载,而不是在.NET Framework客户端中,从而完全避开了检测。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,296,129 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。