Detekcja DynamicShellcode Sophos w systemie Windows
Zabezpieczenie przed exploitami Sophos może blokować IronPDF przy uruchomieniu w aplikacjach .NET Framework, nawet jeśli binaria są oficjalne, podpisane i niezmodyfikowane. Wyzwalaczem jest sposób ładowania natywnej biblioteki DLL z pamięci zarządzanej przez CLR.
Sophos DynamicShellcode / HeapHeapHooray
Sophos DynamicShellcode / HeapHeapHooray opiera się na heurystykach łagodzenia eksploatacji behawioralnej. W procesie .NET Framework wywołanie LoadLibrary dla IronInterop.dll pochodzi z anonimowej, JIT skompilowanej pamięci CLR, zamiast pochodzić z pliku. Sophos interpretuje ten wzorzec jako zachowanie shellcodu i blokuje proces, zanim zostanie uruchomiony.
Dotyczy to IronPDF 2026.3.1 na Windows 10 x64 w ramach .NET Framework.
Rozwiązanie
Opcja 1: Dodaj wąski wyjątek w Sophos
Stwórz najszczelniejszy wyjątek, jaki Sophos oferuje dla tej detekcji. Preferowane jest reguła zezwalania na podstawie certyfikatu dla podpisanych binariów Iron Software; jeśli to zawiedzie, wyklucz konkretne ID detekcji Sophos potwierdzone przez wsparcie Sophos.
Zalecane: utrzymuj zakres wyjątku wąski. Nie wyłączaj ochrony DynamicShellcode w całej aplikacji, chyba że Sophos nie zapewnia węższej opcji i zespół ds. bezpieczeństwa to zatwierdzi.
Opcja 2: Uruchom przez IronPdfEngine w trybie zdalnym gRPC
Gdy wyjątki punktu końcowego są nieakceptowalne, skieruj przetwarzanie PDF do IronPdfEngine w trybie zdalnym gRPC. Natywna biblioteka DLL ładuje się wtedy wewnątrz osobnego procesu silnika zamiast klienta .NET Framework, co całkowicie omija detekcję.

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.