IP Library › Granted Patent US 12,665,923
Granted Patent B2
US 12,665,923 · App. 18/918,795 · Granted Jun 23, 2026

Methods and apparatus for visualization of machine learning malware detection models

Inventors: Konstantin Berlin (Potomac, MD); Awalin Nabila Sopan (Reston, VA)
Assignee: Sophos Limited
H04L63/145G06N5/022H04L63/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 12,665,923
App. No.
18/918,795
Filed
Oct 17, 2024
Granted
Jun 23, 2026
Kind
B2
Examiner
LE, THANH T
Art Unit
2495
USPC
726/24
Abstract

Embodiments disclosed include methods and apparatus for visualization of data and models (e.g., machine learning models) used to monitor and/or detect malware to ensure data integrity and/or to prevent or detect potential attacks. Embodiments disclosed include receiving information associated with artifacts scored by one or more sources of classification (e.g., models, databases, repositories). The method includes receiving inputs indicating threshold values or criteria associated with a classification of maliciousness of an artifact and for selecting sample artifacts. The method further includes classifying and selecting the artifacts, based on the criteria, to define a sample set, and based on the sample set, generating a ground truth indication of classification of maliciousness for each sample artifact in the sample set. The method further includes using the ground truth indications to evaluate and display, via an interface, a representation of a performance of sources of classification and/or quality of data.

Claims (42)

1 . One or more non-transitory processor readable media storing code representing instructions to be executed by one or more processors, the instructions comprising code to cause the one or more processors to:

receive information associated with a plurality of artifacts, the information associated with each artifact from the plurality of artifacts being based on a source of classification from a plurality of sources of classification;

receive a criterion for selecting sample artifacts from the plurality of artifacts;

select, based on the criterion, sample artifacts from the plurality of artifacts to define a sample set;

determine, based on the selecting, a ground truth indication of classification of maliciousness for each sample artifact in the sample set; and

display, via an interface and based on the ground truth indication of classification of maliciousness for one or more sample artifacts in the sample set, a representation of a performance of a source of classification from the plurality of sources of classification.

2 . The one or more non-transitory processor readable media of claim 1 , wherein the criterion indicates a minimum number of sources of classification from the plurality of sources of classification associated with a sample artifact from the plurality of artifacts.

3 . The one or more non-transitory processor readable media of claim 1 , wherein the criterion is a first criterion, the one or more non-transitory processor readable media further comprising code to cause the one or more processors to:

receive a second criterion for selecting sample artifacts from the plurality of artifacts, the second criterion indicating a minimum number of scores associated with an artifact, each score from the minimum number of scores being associated with a classification of maliciousness of that artifact from an output from at least one source of classification from the plurality of sources of classification, the code to cause the one or more processors to determine includes code to cause the one or more processors to determine the ground truth indication of classification of maliciousness for each sample artifact in the sample set based on the second criterion.

4 . The one or more non-transitory processor readable media of claim 1 , wherein each artifact from the plurality of artifacts includes at least one of a file, a uniform resource locator (URL) or a device.

5 . The one or more non-transitory processor readable media of claim 1 , wherein the plurality of sources of classification includes at least one machine learning (ML) model trained to classify potentially malicious artifacts.

6 . The one or more non-transitory processor readable media of claim 1 , wherein the source of classification includes a machine learning (ML) model trained to classify potentially malicious artifacts, the instructions further comprising code to cause the one or more processors to:

automatically retrain the ML model based on the representation of the performance of the source of classification.

7 . The one or more non-transitory processor readable media of claim 1 , further comprising instructions to cause the one or more processors to:

receive, via the interface, new information associated with an artifact from the plurality of artifacts; and

update, based on the new information, the ground truth indication of the classification of maliciousness of that artifact.

8 . The one or more non-transitory processor readable media of claim 1 , wherein the criterion is user-selectable.

9 . The one or more non-transitory processor readable media of claim 1 , further comprising instructions to cause the one or more processors to:

receive, via the interface, a threshold score associated with a classification of maliciousness for each artifact from the plurality of artifacts, the code to cause the one or more processors to determine including code to cause the one or more processors to determine the ground truth indication of classification of maliciousness for each sample artifact in the sample set based on the threshold score for that sample artifact.

10 . One or more non-transitory processor readable media storing code representing instructions to be executed by one or more processors, the instructions comprising code to cause the one or more processors to:

receive, at a first time, a plurality of scores associated with a classification of maliciousness of an artifact, each score from the plurality of scores being from a different source of classification from a plurality of sources of classification than remaining scores from the plurality of scores;

determine, based on the plurality of scores, a ground truth indication of classification of maliciousness for the artifact;

receive, at a second time after the first time, at least one updated score associated with the classification of maliciousness of the artifact, the at least one updated score being from at least one source of classification from the plurality of sources of classification;

update, based on the at least one updated score, the ground truth indication of classification of maliciousness for the artifact to produce an updated ground truth indication of classification of maliciousness for the artifact; and

display, via an interface and based on the updated ground truth indication of classification of maliciousness for the artifact, a representation of a performance of a source of classification from the plurality of sources of classification for that artifact.

11 . The one or more non-transitory processor readable media of claim 10 , wherein the artifact includes at least one of a file, a uniform resource locator (URL) or a device.

12 . The one or more non-transitory processor readable media of claim 10 , wherein the plurality of sources of classification includes at least one machine learning (ML) model trained to classify potentially malicious artifacts.

13 . The one or more non-transitory processor readable media of claim 10 , wherein the code to cause the one or more processors to determine includes code to cause the one or more processors to determine the ground truth indication of classification of maliciousness for the artifact based on a predetermined number of scores from the plurality of scores identifying the artifact as malicious.

14 . The one or more non-transitory processor readable media of claim 10 , wherein the at least one source of classification from the plurality of sources of classification includes a machine learning (ML) model trained to classify potentially malicious artifacts, the instructions further comprising code to cause the one or more processors to:

automatically retrain the ML model based on the updated ground truth indication of classification of maliciousness for the artifact.

15 . The one or more non-transitory processor readable media of claim 10 , wherein the code to cause the one or more processors to determine includes code to cause the one or more processors to determine the ground truth indication of classification of maliciousness for the artifact based on a number of sources of classification from the plurality of sources of classification associated with the artifact meeting a criterion.

16 . A method, comprising:

receiving information associated with a plurality of artifacts, the information associated with each artifact from the plurality of artifacts being based on a source of classification from a plurality of sources of classification;

selecting, based on a minimum number of sources of classification for each artifact from the plurality of artifacts, sample artifacts from the plurality of artifacts to define a sample set;

determining, based on the selecting, a ground truth indication of classification of maliciousness for each sample artifact in the sample set; and

displaying, via an interface and based on the ground truth indication of classification of maliciousness for one or more sample artifacts in the sample set, a representation of a performance of a source of classification from the plurality of sources of classification.

17 . The method of claim 16 , further comprising:

receiving, from a user and via the interface, an indication of the minimum number of sources of classification.

18 . The method of claim 16 , wherein each artifact from the plurality of artifacts includes at least one of a file, a uniform resource locator (URL) or a device.

19 . The method of claim 16 , wherein the plurality of sources of classification includes at least one machine learning (ML) model trained to classify potentially malicious artifacts.

20 . The method of claim 16 , further comprising:

receiving, via the interface, a threshold score associated with a classification of maliciousness for each artifact from the plurality of artifacts, the determining being based on the threshold score.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2024
From: BERLIN, KONSTANTIN; SOPAN, AWALIN NABILA
To: SOPHOS LIMITED
Reel/Frame 068952/0250 →
Continuity (2)
Continuation 17710027 · Mar 31, 2022
Related Publication 20250119451A1 · Apr 10, 2025
References Cited (57)
US 8682812B1 · Ranjan · 2014 [cited by examiner]
US 9038177B1 · Tierney · 2015 [cited by examiner]
US 9373080B1 · Satish · 2016 [cited by examiner]
US 9769189B2 · Mohaisen · 2017 [cited by examiner]
US 9805192B1 · Gates · 2017 [cited by examiner]
US 9992211B1 · Viljoen · 2018 [cited by examiner]
US 11487879B2 · Doyle · 2022 [cited by examiner]
US 11496501B1 · Liu · 2022 [cited by examiner]
US 11637858B2 · Wojnowicz · 2023 [cited by examiner]
US 12166790B2 · Berlin et al. · 2024 [cited by applicant]
US 12314385B1 · Beauchesne · 2025 [cited by examiner]
US 20110047620A1 · Mahaffey · 2011 [cited by examiner]
US 20110145920A1 · Mahaffey · 2011 [cited by examiner]
US 20150128263A1 · Raugas · 2015 [cited by examiner]
US 20170171236A1 · Ouchn · 2017 [cited by examiner]
US 20170279828A1 · Savalle · 2017 [cited by examiner]
US 20180041533A1 · Chesla · 2018 [cited by examiner]
US 20190260779A1 · Bazalgette · 2019 [cited by examiner]
US 20200082083A1 · Choi · 2020 [cited by examiner]
US 20200134545A1 · Appel · 2020 [cited by examiner]
US 20220036208A1 · Rao · 2022 [cited by examiner]
US 20220122000A1 · Li · 2022 [cited by examiner]
US 20220229906A1 · Bálek · 2022 [cited by examiner]
US 20220385673A1 · Dong · 2022 [cited by examiner]
US 20230004888A1 · Li · 2023 [cited by examiner]
US 20230007042A1 · Haworth · 2023 [cited by examiner]
US 20230205884A1 · Nabeel · 2023 [cited by examiner]
US 20230216865A1 · Bhatia · 2023 [cited by examiner]
US 20230319098A1 · Berlin et al. · 2023 [cited by applicant]
Zhu, Shuofei et al., “Measuring and Modeling the Label Dynamics of Online Anti-Malware Engines” Procedings of the 29th USENIX Security Symposium, Aug. 12-14, 2020, 978-1-939133-17-5, pp. 2361-2378, https://www.usenix.or… [cited by examiner]
Amershi, Saleema et al., “ModelTracker: Redesigning Performance Analysis Tools for Machine Learning”, Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, 2015, pp. 337-346. [cited by applicant]
Amershi, Saleema et al., “Software Engineering for Machine Learning: A CaseStudy.” 2019 IEEE/ACM 41st International Conference on Software Engineering:Software Engineering in Practice (ICSE-SEIP), 2019, pp. 291-300. [cited by applicant]
Anderson, Hyrum et al., “DeepDGA: Adversarially-Tuned Domain Generation and Detection.” Proceedings of the 2016 ACM Workshop on Artificial Intelligence and Security, 2016, pp. 13-21. [cited by applicant]
Angelini, Marco et al., “The Goods, the Bads and the Uglies: Supporting Decisions in Malware Detection through Visual Analytics”, 2017 IEEE Symposium on Visualization for Cyber Security (VizSec), 2017, pp. 1-8. [cited by applicant]
[Author Unknown], “Customized Monitoring For Your ML Models”, aporia, Nov. 26, 2021, [Online] Retrieved from the Internet, https://web.archive.org/web/20211126093101/https://www.aporia.com/, 6 pages. [cited by applicant]
[Author Unknown] “How it works”. VirusTotal, Jun. 13, 2021, [Online] Retrieved from the Internet, https://web.archive.org/web/20210613054218/https://support.virustotal.com/hc/en-us/articles/115002126889-How-it-works , 2… [cited by applicant]
Blowers and Williams, “Machine Learning Applied to Cyber Operations”, Network Science and Cybersecurity, 2014, pp. 155-175, Springer, 282 pages. [cited by applicant]
Bosch, Jan et al., “Engineering AI systems: A Research Agenda”, In Artificial intelligence Paradigms for Smart Cyber-Physical Systems, IGI Global, 2021, pp. 1-19. [cited by applicant]
Breck, Eric et al., “Data Validation For Machine Learning”, MLSys, 2019, 14 pages. [cited by applicant]
Breck, Eric et al., “The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction”, 2017 IEEE International Conference on Big Data, IEEE, 2017, pp. 1123-1132. [cited by applicant]
Chatzimparmpas, Angelos et al., “Visual Analytics for Feature Engineering Using Stepwise Selection and Semi-Automatic Extraction Approaches”, arXiv preprint arXiv:2103.14539, 2021, 18 pages. [cited by applicant]
Cordeiro and Carneiro. “A Survey on Deep Learning with Noisy Labels: How to train your model when you cannot trust on the annotations?”, 2020 33rd SIBGRAPI Conference on Graphics, Patterns and Images (SIBGRAPI), IEEE, 2… [cited by applicant]
De Lorenzo, Andrea et al., “Visualizing the outcome of dynamic analysis of Android malware with VizMal”, Journal of Information Security and Applications, 2020, 50: 102423, doi: 10.1016/j.jisa.2019.102423, 9 pages. [cited by applicant]
Hermann and Del Balso, “Meet Michelangelo: Uber's Machine Learning Platform”, Uber Engineering, Sep. 5, 2017, [Online] Mar. 2, 2020, 17 pages. [cited by applicant]
Kahng, Minsuk et al., “ACTIVIS: Visual Exploration of Industry-Scale Deep Neural Network Models”, IEEE Transactions on Visualization and Computer Graphics, 2017, 24(1), pp. 88-97. [cited by applicant]
Kyadige, Adarsh et al., “Learning from Context: A Multi-View Deep Learning Architecture for Malware Detection”, 2020 Symposium on Security and Privacy Workshops (SPW), IEEE, 2020, pp. 1-7. [cited by applicant]
Ledoux and Lakhotia, “Malware and Machine Learning”, Intelligent Methods for Cyber Warfare, Springer, 2015, pp. 1-42. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 17/710,027, by Berlin, Konstantin et al., mailed Feb. 8, 2024, 10 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/710,027, by Berlin, Konstantin et al., mailed Jul. 18, 2024, 10 pages. [cited by applicant]
Sambasivan, Nithya et al., ““Everyone wants to do the model work, not the data work”: Data Cascades in High-Stakes AI”, Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems, May 8-13, 2021, pp. 1… [cited by applicant]
Saxe and Berlin, “Deep Neural Network Based Malware Detection Using Two Dimensional Binary Program Features”, 2015 10th International Conference on Malicious and Unwanted Software (Malware), IEEE, 2015, pp. 11-20. [cited by applicant]
Shneiderman, Ben, “The Eyes Have It: A Task By Data Type Taxonomy for Information Visualizations”, Proceedings 1996 IEEE Symposium on Visual Languages, 1996, pp. 336-343, doi: 10.1109NL.1996.545307. [cited by applicant]
Sopan and Berlin, “Ai Total: Analyzing Security ML Models with Imperfect Data in Production,”Oct. 13, 2021, [Online] Retrieved from the Internet, https://arxiv.org/abs/2110.07028 , 5 pages. [cited by applicant]
Sopan, Awalin et al., “Building a Machine Learning Model for the SOC, by the Input from the SOC, and Analyzing it for the SOC”, 2018 IEEE Symposium on Visualization for Cyber Security (VizSec ), IEEE, 2018, pp. 1-8. [cited by applicant]
Wagner, M. et al., “A Survey of Visualization Systems for Malware Analysis”, Eurographics Conference on Visualization (EuroVis), 2015, pp. 105-125. [cited by applicant]
Wongsuphasawat, Kanit et al., “Visualizing Dataflow Graphs of Deep Learning Models in TensorFlow”, IEEE Transactions on Visualization and Computer Graphics, 2017, 24(1), pp. 1-12. [cited by applicant]
Zhu, Shuofei et al., “Measuring and Modeling the Label Dynamics of Online Anti-Malware Engines”, Proceedings of the 29th USENIX Security Symposium, Aug. 12-14, 2020, 978-1-939133-17-5, pp. 2361-2378, https://www.usenix.… [cited by applicant]