IP Library Granted Patent US 12,554,852
Granted Patent B2
US 12,554,852 · App. 18/536,826 · Granted Feb 17, 2026

Method and a system for detecting malware activity in a .net platform

Inventors: Ilya Konstantinovich Sachkov (Moscow, RU); Yury Alekseevich Tretyakov (Moscow, RU)
Assignee: GROUP-IB GLOBAL PRIVATE LIMITED
G06F21/566G06F21/54G06F21/568
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,554,852
App. No.
18/536,826
Granted
Feb 17, 2026
Kind
B2
Abstract

A method and a system for detecting malware activity in a .NET platform are provided. The method comprises: determining an architecture of the .NET platform; modifying contents of a given .NET method by adding thereto an executable payload, thereby generating a respective modified .NET method, the executable payload being configured for logging and storing data of current activities in the .NET platform; storing the respective modified .NET method in the .NET platform; in response to calling, by a .NET application, the respective modified .NET method: executing the executable payload to cause the logging the current activity in the .NET platform to generate an activity log; and transmitting the activity log for analysis to determine presence of the malware activity in the .NET platform.

Claims (66)

1 . A computer-implemented method for detecting malware activity in a .NET platform, the method comprising:

during a preparation stage:

determining an architecture of the .NET platform, the determining comprising:

identifying a plurality of libraries in the .NET platform;

determining, for each version of each library of the plurality of libraries, a respective class from a set of predetermined classes;

determining, for each class of the predetermined set of classes, a respective .NET method of a set of predetermined .NET methods;

modifying contents of a given .NET method of the set of predetermined .NET methods by adding thereto an executable payload, thereby generating a respective modified .NET method;

storing the respective modified .NET method in the .NET platform;

in response to determining, in a native image directory of the architecture of the .NET platform, at least one native image library of one of the predetermined set of classes, hiding the at least one native image library in the native image directory;

generating, for each one of the at least one native image library, a respective modified native image library having the executable payload,

the executable payload being configured for logging and storing data of current activities in the .NET platform;

the logging comprising: (i) logging input parameters of the at least one of the respective modified .NET method and a respective modified native image library .NET method of the respective modified native image library; and (ii) logging metainformation of a respective process having caused execution of the executable payload; and

adding respective modified native image libraries to the native image directory to be used instead of the at least one native image library; and

during an operation stage, following the preparation stage:

in response to calling, by a .NET application, at least one of: the respective modified .NET method and the respective modified native image library .NET method of the respective modified native image library in the .NET platform:

executing the executable payload to cause the logging the current activity in the .NET platform to generate an activity log,

the activity log including: (i) the input parameters of the at least one of the respective modified .NET method and the respective modified native image library NET method of the respective modified native image library; and (ii) metainformation of a process of the .NET application having caused the execution of the executable payload; and

transmitting the activity log for analysis to determine presence of the malware activity in the .NET platform.

2 . The computer-implemented method of claim 1 , wherein the set of predetermined classes comprises:

Assembly;

Process; and

WebRequest.

3 . The computer-implemented method of claim 1 , wherein the set of predetermined .NET methods comprises:

Load;

GetProcesses; and

Create.

4 . The computer-implemented method of claim 1 , wherein, prior to the modifying the contents of the given .NET method, the method further comprises accessing the respective class of the given .NET method.

5 . The computer-implemented method of claim 4 , wherein the accessing the respective class comprises executing a takeown utility.

6 . The method of claim 1 , wherein, the modifying the contents of the given .NET method comprises modifying a behavior thereof.

7 . The computer-implemented method of claim 1 , wherein, prior to the hiding the at least one native image library in the native image directory, the method further comprises accessing the at least one native image library.

8 . The computer-implemented method of claim 7 , wherein the accessing the at least one native image library comprises executing a takeown utility.

9 . The computer-implemented method of claim 1 , wherein the generating the respective modified native image library comprises executing an ngen.exe utility.

10 . A system for detecting malware activity in a .NET platform, the system comprising:

at least one hardware processor; and

at least one non-transitory computer-readable medium storing executable instructions, which, when executed by the at least one hardware processor, cause the system to:

during a preparation stage:

determine an architecture of the .NET platform, by:

identifying a plurality of libraries in the .NET platform;

determining, for each version of each library of the plurality of libraries, a respective class from a set of predetermined classes;

determining, for each class of the predetermined set of classes, a respective .NET method of a set of predetermined .NET methods;

modify contents of a given .NET method of the set of predetermined .NET methods by adding thereto an executable payload, thereby generating a respective modified .NET method;

store the respective modified .NET method in the .NET platform;

in response to determining, in a native image directory of the architecture of the .NET platform, at least one native image library of one of the predetermined set of classes, hide the at least one native image library in the native image directory;

generate, for each one of the at least one native image library, a respective modified native image library having the executable payload,

the executable payload being configured for logging and storing data of current activities in the .NET platform;

the logging comprising: (i) logging input parameters of the at least one of the respective modified .NET method and a respective modified native image library .NET method of the respective modified native image library; and (ii) logging metainformation of a respective process having caused execution of the executable payload; and

add respective modified native image libraries to the native image directory to be used instead of the at least one native image library; and

during an operation stage, following the preparation stage:

in response to calling, by a .NET application, at least one of: the respective modified .NET method and the respective modified native image library .NET method of the respective modified native image library in the .NET platform:

execute the executable payload to cause the logging the current activity in the .NET platform to generate an activity log,

the activity log including: (i) the input parameters of the at least one of the respective modified .NET method and the respective modified native image library .NET method of the respective modified native image library; and (ii) metainformation of a process of the .NET application having caused the execution of the executable payload; and

transmit the activity log for analysis to determine presence of the malware activity in the .NET platform.

11 . The system of claim 10 , wherein the set of predetermined classes comprises:

Assembly;

Process; and

WebRequest.

12 . The system of claim 10 , wherein the set of predetermined .NET methods comprises:

Load;

GetProcesses; and

Create.

13 . The system of claim 10 , wherein, prior to modifying the contents of the given .NET method, the at least one hardware processor further causes the system to access the respective class of the given .NET method.

14 . The system of claim 13 , wherein to access the respective class comprises, the at least one hardware processor causes the system to execute a takeown utility.

15 . The system of claim 10 , wherein, by modifying the contents of the given .NET method, the at least one hardware processor causes the system to modify a behavior of the given .NET method.

16 . The system of claim 10 , wherein, prior to hiding the at least one native image library in the native image directory, the at least one hardware processor causes the system to access the at least one native image library.

17 . The system of claim 16 , wherein to access the at least one native image library, the at least one hardware processor causes the system to execute a takeown utility.

18 . The system of claim 10 , wherein to generate the respective modified native image library, the at least one hardware processor causes the system to execute an ngen.exe utility.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2025
From: F.A.C.C.T. NETWORK SECURITY LLC
To: GROUP-IB GLOBAL PRIVATE LIMITED
Reel/Frame 071439/0078 →
CHANGE OF NAME Recorded Feb 7, 2024
From: GROUP IB TDS, LTD
To: F.A.C.C.T. NETWORK SECURITY LLC
Reel/Frame 066522/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2023
From: SACHKOV, ILYA KONSTANTINOVICH; TRETYAKOV, YURY ALEKSEEVICH
To: GROUP IB TDS, LTD
Reel/Frame 065846/0283 →
Priority Claims (1)
RU 2022133041 · Dec 16, 2022 · national
Continuity (1)
Related Publication 20240202338A1 · Jun 20, 2024
References Cited (24)
US 8954929B2 · Braude · 2015 [cited by applicant]
US 20090089766A1 · Day · 2009 [cited by examiner]
US 20120304160A1 · Soeder · 2012 [cited by examiner]
US 20150277867A1 · Hasabnis et al. · 2015 [cited by applicant]
US 20160328221A1 · Soeder · 2016 [cited by applicant]
US 20210073015A1 · Dowling et al. · 2021 [cited by applicant]
US 20210073374A1 · Mookken et al. · 2021 [cited by applicant]
US 20230344838A1 · Rao · 2023 [cited by examiner]
US 20240403413A1 · Cohen · 2024 [cited by examiner]
RU 2628920C2 · 2017 [cited by applicant]
“Common Language Runtime”, Wikipedia, https://en.wikipedia.org/wiki/Common_Language_Runtime, retrieved on Dec. 9, 2023, pdf 2 pages. [cited by applicant]
“Common Intermediate Language”, Wikipedia, https://en.wikipedia.org/wiki/Common_Intermediate_Language, retrieved on Dec. 9, 2023, pdf 8 pages. [cited by applicant]
“Just-in-time compilation”, Wikipedia, https://en.wikipedia.org/wiki/Just-in-time_compilation, retrieved on Dec. 9, 2023, pdf 8 pages. [cited by applicant]
“Bytecode”, Wikipedia, https://en.wikipedia.org/wiki/Bytecode, retrieved on Dec. 9, 2023, pdf 6 pages. [cited by applicant]
“Phrack Magazine”, http://phrack.org/issues/70/6.html, retrieved on Dec. 9, 2023, pdf 31 pages. [cited by applicant]
“DotNetHooking”, https://github.com/tandasat/DotNetHooking, retrieved on Dec. 9, 2023, pdf 5 pages. [cited by applicant]
“How do I intercept a method call in C#?”, StackOverfow, https://stackoverflow.com/questions/25803/how-do-i-intercept-a-method-call-in-c, retrieved on Dec. 9, 2023, pdf 13 pages. [cited by applicant]
Wang, “.NET CLR Injection: Modify IL Code during Run-time”, https://www.codeproject.com/Articles/463508/NET-CLR-Injection-Modify-IL-Code-during-Run-time, Aug. 2014, retrieved on Dec. 9, 2023, pdf 22 pages. [cited by applicant]
“Aspect-oriented programming”, Wikipedia, https://en.wikipedia.org/wiki/Aspect-oriented_programming, retrieved on Dec. 9, 2023, pdf 17 pages. [cited by applicant]
“Assembly.Load Method”, https://learn.microsoft.com/en-us/dotnet/api/system.reflection.assembly.load?view=net-7.0, retrieved on Dec. 9, 2023, pdf 13 pages. [cited by applicant]
Search Report with regard to RU Patent Application No. 2022133041 completed Oct. 27, 2023. [cited by applicant]
Search Report with regard to the NL Patent Application No. 2036480 issued Jul. 21, 2025. [cited by applicant]
Javaheri et al., “A Framework for Recognition and Confronting of Obfuscated Malwares Based on Memory Dumping and Filter Drivers”, Wireless Pers Commun (2018) 98, pp. 119-137. [cited by applicant]
Dai et al., “DroidLogger: Reveal suspicious behavior of Android applications via instrumentation”, 2012 7th International Conference on Computing and Convergence Technology (ICCCT), Seoul, 2012, pp. 550-555. [cited by applicant]