IP Library Granted Patent US 11,575,704
Granted Patent B2
US 11,575,704 · App. 15/993,426 · Granted Feb 7, 2023

Real-time detection of and protection from malware and steganography in a kernel mode

Inventors: Stewart P. MacLeod (Woodinville, WA); Robert Pike (Woodinville, WA)
Assignee: CYEMPTIVE TECHNOLOGIES, INC.
H04L63/145G06F11/2038G06F21/554G06F21/566H04L63/0236H04L63/1416
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 11,575,704
App. No.
15/993,426
Granted
Feb 7, 2023
Kind
B2
Abstract

A method for real-time detection of and protection from steganography in a kernel mode comprises detecting transmission of a file via a firewall, an operating system, or an e-mail system. A size of the file is determined. From a file system, a stored filesize of the file is retrieved. The determined size of the file is compared to the stored filesize of the file. Responsive to the determined size of the file being larger than the stored filesize of the file, steganography detection analytics are executed on the file. Responsive to the steganography detection analytics indicating presence of steganography in the file, a steganography remediation action is executed, and information is transmitted describing the steganography to a client device.

Claims (101)

1. A method for real-time detection of and protection from steganography in a kernel mode, comprising:

detecting a transmission of a file over a network via a firewall, an operating system, or an e-mail system;

in response to detecting the transmission of the file:

storing the transmitted file in a file system residing on physical storage media;

determining a size of the transmitted file, by retrieving size data from a plurality of sections within the transmitted file;

retrieving, from the file system from a source other than the file, a stored filesize value of the transmitted file by accessing a filesize value of the transmitted file from the file system, wherein the file is in a portable executable file format comprising an operating system executable header containing relocation information, wherein the operating system executable header allows multiple segments of the file to be loaded at arbitrary memory addresses; and

comparing the determined size of the transmitted file to the stored filesize value of the transmitted file;

determining, based on the comparison, that the determined size of the transmitted file is greater than the stored filesize value of the transmitted file;

executing, responsive to determining that the determined size of the transmitted file is greater than the stored filesize value of the transmitted file, steganography detection analytics on the transmitted file; and

responsive to the steganography detection analytics indicating presence of steganography in the transmitted file:

executing a steganography remediation action, and

transmitting information describing the steganography to a client device.

2. The method of claim 1 , wherein the determining of the size of the transmitted file comprises:

obtaining a pointer to a section header of the file, the section header associated with a plurality of sections of the transmitted file;

for each section of the plurality of sections of the transmitted file, determining a size of the section; and

summing the size of each section of the plurality of sections of the transmitted file to determine the size of the transmitted file.

3. The method of claim 2 , wherein the obtaining of the pointer to the section header of the transmitted file comprises:

opening the transmitted file using a filename of the file or a path of the transmitted file;

reading a header of the transmitted file;

retrieving a magic number from the header; and

verifying the magic number to obtain a pointer to the section header of the transmitted file.

4. The method of claim 1 , wherein the executing of the steganography detection analytics on the transmitted file comprises:

identifying an appended payload in the transmitted file;

analyzing the appended payload to determine a file format of the appended payload; and

executing the steganography detection analytics based on the file format of the appended payload.

5. The method of claim 1 , wherein the executing of the steganography detection analytics on the transmitted file comprises:

identifying an appended payload in the transmitted file; and

performing one or more of Monte Carlo approximation, entropy determination, serial coefficient analysis, arithmetic mean determination, Chi-Square determination, and standard deviation determination to determine whether data within the appended payload is encrypted.

6. The method of claim 1 , wherein the executing of the steganography detection analytics on the transmitted file comprises:

identifying an appended payload in the transmitted file; and

identifying presence of unauthorized data within the appended payload.

7. The method of claim 1 , wherein the executing of the steganography detection analytics on the transmitted file comprises:

identifying an appended payload in the transmitted file; and

identifying presence of assembly level or machine level instructions within the appended payload.

8. The method of claim 1 , wherein the executing of the steganography remediation action comprises:

terminating processing and transmission of the transmitted file; and

isolating the transmitted file.

9. A non-transitory computer readable medium storing instructions that when executed by at least one processor cause the at least one processor to:

detect a transmission of a file via a firewall, an operating system, or an e-mail system;

in response to detecting the transmission of the file:

store the transmitted file in a file system residing on physical storage media;

determine a size of the transmitted file, by retrieving size data from a plurality of sections within the transmitted file;

retrieve, from the file system from a source other than the transmitted file, a stored filesize value of the transmitted file by accessing a filesize value of the transmitted file from the file system, wherein the file is in a portable executable file format comprising an operating system executable header containing relocation information, wherein the operating system executable header allows multiple segments of the file to be loaded at arbitrary memory addresses; and

compare the determined size of the transmitted file to the stored filesize value of the transmitted file;

determine, based on the comparison, that the determined size of the transmitted file is greater than the stored filesize value of the transmitted file;

execute, responsive to determining that the determined size of the file is greater than the stored filesize value of the transmitted file, steganography detection analytics on the transmitted file; and

in response to the steganography detection analytics indicating presence of steganography in the transmitted file:

execute a steganography remediation action, and

transmit information describing the steganography to a client device.

10. The non-transitory computer readable medium of claim 9 , wherein the instructions that cause the at least one processor to determine the size of the transmitted file comprise instructions that cause the at least one processor to:

obtain a pointer to a section header of the transmitted file, the section header associated with a plurality of sections of the transmitted file;

for each section of the plurality of sections of the transmitted file, determine a size of the section; and

sum the size of each section of the plurality of sections of the transmitted file to determine the size of the transmitted file.

11. The non-transitory computer readable medium of claim 10 , wherein the instructions that cause the at least one processor to obtain the pointer to the section header of the transmitted file comprise instructions that cause the at least one processor to:

open the transmitted file using a filename of the transmitted file or a path of the transmitted file;

read a header of the transmitted file;

retrieve a magic number from the header; and

verify the magic number to obtain a pointer to the section header of the transmitted file.

12. The non-transitory computer readable medium of claim 9 , wherein the instructions that cause the at least one processor to execute the steganography detection analytics on the transmitted file comprise instructions that cause the at least one processor to:

identify an appended payload in the transmitted file;

analyze the appended payload to determine a file format of the appended payload; and

execute the steganography detection analytics based on the file format of the appended payload.

13. The non-transitory computer readable medium of claim 9 , wherein the instructions that cause the at least one processor to execute the steganography detection analytics on the transmitted file comprise instructions that cause the at least one processor to:

identify an appended payload in the transmitted file; and

perform one or more of Monte Carlo approximation, entropy determination, serial coefficient analysis, arithmetic mean determination, Chi-Square determination, and standard deviation determination to determine whether data within the appended payload is encrypted.

14. The non-transitory computer readable medium of claim 9 , wherein the instructions that cause the at least one processor to execute the steganography detection analytics on the transmitted file comprise instructions that cause the at least one processor to:

identify an appended payload in the transmitted file; and

identify presence of unauthorized data within the appended payload.

15. The non-transitory computer readable medium of claim 9 , wherein the instructions that cause the at least one processor to execute the steganography detection analytics on the transmitted file comprise instructions that cause the at least one processor to:

identify an appended payload in the transmitted file; and

identify presence of assembly level or machine level instructions within the appended payload.

16. The non-transitory computer readable medium of claim 9 , wherein the instructions that cause the at least one processor to execute the steganography remediation action comprise instructions that cause the at least one processor to:

terminate processing and transmission of the transmitted file; and

isolate the transmitted file.

17. A computer system comprising:

at least one computer processor; and

a non-transitory computer readable medium storing instructions that when executed by the at least one computer processor cause the at least one processor to:

detect a transmission of a file via a firewall, an operating system, or an e-mail system;

in response to detecting the transmission of the file:

store the transmitted file in a file system residing on physical storage media;

determine a size of the transmitted file, by retrieving size data from a plurality of sections within the transmitted file; and

retrieve, from the file system from a source other than the transmitted file, a stored filesize value of the transmitted file by accessing a filesize value of the transmitted file from the file system, wherein the file is in a portable executable file format comprising an operating system executable header containing relocation information, wherein the operating system executable header allows multiple segments of the file to be loaded at arbitrary memory addresses; and

compare the determined size of the transmitted file to the stored filesize value of the transmitted file retrieved by accessing the filesize value of the transmitted file from the file system;

determine, based on the comparison, that the determined size of the transmitted file is greater than the stored filesize value of the transmitted file;

execute, responsive to determining that the determined size of the transmitted file is greater being smaller than the stored filesize value of the transmitted file, steganography detection analytics on the transmitted file; and

responsive to the steganography detection analytics indicating presence of steganography in the transmitted file:

execute a steganography remediation action, and

transmit information describing the steganography to a client device.

18. The computer system of claim 17 , wherein the instructions that cause the at least one computer processor to determine the size of the file comprise instructions that cause the at least one computer processor to:

obtain a pointer to a section header of the transmitted file, the section header associated with a plurality of sections of the transmitted file;

for each section of the plurality of sections of the transmitted file, determine a size of the section; and

sum the size of each section of the plurality of sections of the file to determine the size of the transmitted file.

19. The computer system of claim 18 , wherein the instructions that cause the at least one computer processor to obtain the pointer to the section header of the transmitted file comprise instructions that cause the at least one computer processor to:

open the transmitted file using a filename of the transmitted file or a path of the transmitted file;

read a header of the transmitted file;

retrieve a magic number from the header; and

verify the magic number to obtain a pointer to the section header of the transmitted file.

20. The computer system of claim 17 , wherein the instructions that cause the at least one computer processor to execute the steganography detection analytics on the transmitted file comprise instructions that cause the at least one computer processor to:

identify an appended payload in the transmitted file;

analyze the appended payload to determine a file format of the appended payload; and

execute the steganography detection analytics based on the file format of the appended payload.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: MACLEOD, STEWART P.; PIKE, ROBERT
To: CYEMPTIVE TECHNOLOGIES, INC.
Reel/Frame 048217/0184 →
Continuity (2)
Provisional Application 62512659 · May 30, 2017
Related Publication 20180351969A1 · Dec 6, 2018
Cited By (2)
US 12,353,557 US 12,580,770