| CPC G06F 16/1752 (2019.01) [G06F 3/0608 (2013.01); G06F 3/0641 (2013.01); G06F 3/067 (2013.01)] | 8 Claims |

|
1. A system for identifying a file type comprising:
a computing device comprising a processor, a memory, and a non-volatile data storage device;
a file-print extractor comprising a first plurality of programming instructions stored in the memory and operable on the processor, wherein the first plurality of programming instructions, when operating on the processor, causes the computing device to:
segment an entire file into groups of bytes;
generate a statistical file-print for file type identification of the entire file, the statistical file-print comprising a plurality of statistical characteristics of a distribution of the groups of bytes across the entire file, wherein the statistical file-print comprises at least a mean value and a variance value for the distribution of bytes in the file; and
a file classifier comprising a second plurality of programming instructions stored in the memory and operable on the processor, wherein the second plurality of programming instructions, when operating on the processor, causes the processor to;
process the statistical file-print through a trained machine learning classifier to identify a file type of the file;
wherein the trained machine learning classifier is specifically trained using a plurality of training datasets comprising statistical file-prints derived from files of known types; and
wherein the trained machine learning classifier determines a file type based on statistical patterns in the file-print that correspond to patterns previously identified in files of known type during training.
|