Fuzzy Hash Generator for File Similarity Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file classification techniques fail to accurately identify similar files, as they rely on hash algorithms like MD5 and SHA1 that only cluster files with identical features, and methods like Ssdeep and Bitshred are not scalable or effective for multiple file types, leading to false positives and storage issues.
Innovation Solution
A fuzzy hash generator that produces fixed-length hash values from various file features, emphasizing significant features and allowing for easy tuning to reduce false positives, enabling more accurate and scalable file clustering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional hash algorithms (MD5, SHA1) are used to cluster files, then files with identical features are accurately identified, but files with similar but not identical features cannot be correctly clustered, leading to false positives and missed detections
Solution Approach 1:
The patent changes the parameter of hash algorithm from traditional MD5/SHA1 to fuzzy hash algorithms (fuzzy1, fuzzy2, fuzzy3) that can handle variations in file features. This allows the system to cluster files based on similarity rather than exact equality, resolving the contradiction between accurate identification of identical files and reliable detection of similar files.
Solution Approach 2:
The patent introduces dynamic threshold adjustment mechanisms where the similarity threshold can be tuned based on specific detection requirements. This dynamic adaptation allows the system to adjust its sensitivity to handle different scenarios, improving both the precision of identical file identification and the reliability of similar file detection.
2Adaptability or versatility
If Ssdeep and Bitshred methods are used to identify similar files, then files with similar features can be clustered, but the methods are not scalable and cannot effectively handle multiple file types
Solution Approach 1:
The patent creates a universal fuzzy hash system that can handle multiple file types (executables, documents, images, etc.) through a single unified approach. The fuzzy hash algorithms are designed to work across different file formats and feature sets, providing multi-functionality that resolves the contradiction between adaptability to different file types and scalability of processing.
Solution Approach 2:
The patent segments the file analysis process into distinct feature extraction and hashing stages, where different file types are processed through standardized feature extraction modules that generate comparable fuzzy hash values. This segmentation enables scalable processing of multiple file types while maintaining effectiveness.
3Reliability
If existing hash methods are used, then processing speed is maintained, but false positives increase and storage requirements become problematic
Solution Approach 1:
The patent extracts only the essential features from files for hashing purposes, rather than processing entire files. By selecting and extracting only the most discriminative features (such as header information, signature bytes, or structural characteristics), the system reduces storage requirements while maintaining high reliability in false positive reduction.
Data Source
AI summary
Methods, apparatus, systems and articles of manufacture to classify a first file are disclosed herein. Example apparatus include a feature hash generator to generate respective sets of one or more feature hashes for respective features of the first file. The number of the one or more feature hashes to be generated is based on an ability of the feature to distinguish the first file from a second file. The apparatus also includes a bit setter to set respective bits of a first fuzzy hash value based on respective ones of the one or more feature hashes, a classifier to assign the first file to a class associated with a second file based on a similarity between the first fuzzy hash value and a second fuzzy hash value for a second file.


