IP Library Granted Patent US 12,596,804
Granted Patent B1
US 12,596,804 · App. 18/906,591 · Granted Apr 7, 2026

Machine learning powered cloud sandbox for malware detection in portable document format (PDF) files

Inventors: Xinjun Zhang (San Jose, CA); Zhenxin Zhan (Fremont, CA); Ghanashyam Satpathy (Bangalore, IN); Hung-Ming Chen (Kaohsiung, TW); Dong Guo (San Jose, CA)
Assignee: Netskope, Inc.
G06F21/565G06F21/53G06F21/64
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,596,804
App. No.
18/906,591
Granted
Apr 7, 2026
Kind
B1
Abstract

A cloud-based network security system (NSS) is described. The NSS uses a sandbox to safely open and extract information about a PDF file and uses machine learning algorithms to analyze the information to predict whether the PDF file contains malware. Specifically, dynamic information about the PDF file is captured while it is open in the sandbox. Static information is extracted from the PDF file as well. The dynamic and static information is input to an AI or machine learning model trained to provide an output indicating a prediction of whether the PDF file contains malware. A verdict engine uses the output from the AI or machine learning model to classify the document as malicious or clean. Security policies can then be applied based on the classification.

Claims (62)

1 . A computer-implemented method, comprising:

receiving, by a cloud-based network security system, a request to access a portable document format (PDF) file;

opening, by the cloud-based network security system, the PDF file in a sandbox of the cloud-based network security system;

obtaining, by the cloud-based network security system, dynamic information associated with the PDF file in the sandbox, wherein the dynamic information comprises a size of a process tree spawned by the opening the PDF file, wherein the size of the process tree is a count of processes and subprocesses spawned by the opening;

extracting, by the cloud-based network security system, static information from the PDF file;

providing, by the cloud-based network security system, the dynamic information and the static information as input to an artificial intelligence model trained to provide an output indicating a prediction of whether the PDF file contains malware based on the input;

classifying, by a verdict engine of the cloud-based network security system, the PDF file as one of malicious or clean based at least in part on the output of the artificial intelligence model provided as input to the verdict engine; and

implementing, by the cloud-based network security system, a security policy based at least in part on the classification of the PDF file.

2 . The computer-implemented method of claim 1 , wherein the obtaining the dynamic information associated with the PDF file comprises:

analyzing behavior of the PDF file during opening in the sandbox; and

extracting data from the behavior, wherein the dynamic information associated with the PDF file further comprises:

a set of behavior features of the PDF file exhibited during the opening, and

a set of signature features exhibited during the opening.

3 . The computer-implemented method of claim 2 , wherein the set of behavior features comprises at least one of: visited files, visited paths, and pathways explored by processes in the sandbox.

4 . The computer-implemented method of claim 2 , wherein the set of signature features comprises:

a signature vector having a dimension for each of a plurality of software signatures, wherein a value of each dimension indicates whether the PDF file invoked the respective software signature in the sandbox, and

severity scores for each of the software signatures the PDF file invoked.

5 . The computer-implemented method of claim 2 , wherein the providing the dynamic information as input comprises:

generating a feature vector representing at least a portion of the dynamic information; and

providing the feature vector as the input to the artificial intelligence model.

6 . The computer-implemented method of claim 1 , wherein the artificial intelligence model comprises a gradient boosting tree algorithm.

7 . The computer-implemented method of claim 1 , wherein the extracting the static information from the PDF file comprises calculating an entropy of the PDF file based at least in part on a frequency of each occurrence of each American Standard Code for Information Interchange (ASCII) code in the PDF file.

8 . The computer-implemented method of claim 1 , wherein the extracting the static information from the PDF file comprises calculating a count of each of a plurality of keywords in the PDF file.

9 . The computer-implemented method of claim 1 , wherein:

the output of the artificial intelligence model is a score; and

the verdict engine classifies the PDF file based at least in part on comparing the score with a threshold value.

10 . The computer-implemented method of claim 1 , further comprising:

calculating one or more heuristics based on content of the PDF file; and

providing, by the cloud-based network security system, the one or more heuristics to the verdict engine, wherein the verdict engine classifies the PDF file further based at least in part on the one or more heuristics.

11 . A cloud-based network security system, comprising:

one or more processors; and

one or more memories having stored thereon instructions that, upon execution by the one or more processors, cause the one or more processors to:

receive a request to access a portable document format (PDF) file;

open the PDF file in a sandbox of the cloud-based network security system;

obtain dynamic information associated with the PDF file in the sandbox, wherein the dynamic information comprises a size of a process tree spawned by the opening the PDF file, wherein the size is a count of processes and subprocess spawned by the opening;

extract static information from the PDF file;

provide the dynamic information and the static information as input to an artificial intelligence model trained to provide an output indicating a prediction of whether the PDF file contains malware based on the input;

classify, with a verdict engine, the PDF file as one of malicious or clean based at least in part on the output of the artificial intelligence model provided as input to the verdict engine; and

implement a security policy based at least in part on the classification of the PDF file.

12 . The cloud-based network security system of claim 11 , wherein the instructions to obtain the dynamic information associated with the PDF file comprise further instructions that, upon execution by the one or more processors, cause the one or more processors to:

analyze behavior of the PDF file during opening in the sandbox; and

extract data from the behavior, wherein the dynamic information associated with the PDF file further comprises:

a set of behavior features of the PDF file exhibited during the opening, and

a set of signature features exhibited during the opening.

13 . The cloud-based network security system of claim 12 , wherein the set of behavior features comprises at least one of: visited files, visited paths, and pathways explored by processes in the sandbox.

14 . The cloud-based network security system of claim 12 , wherein the set of signature features comprises:

a signature vector having a dimension for each of a plurality of software signatures, wherein a value of each dimension indicates whether the PDF file invoked the respective software signature in the sandbox, and

severity scores for each of the software signatures the PDF file invoked.

15 . The cloud-based network security system of claim 12 , wherein the instructions to provide the dynamic information as input comprise further instructions that, upon execution by the one or more processors, cause the one or more processors to:

generate a feature vector representing at least a portion of the dynamic information; and

provide the feature vector as the input to the artificial intelligence model.

16 . The cloud-based network security system of claim 11 , wherein the artificial intelligence model comprises a gradient boosting tree algorithm.

17 . The cloud-based network security system of claim 11 , wherein the instructions to extract the static information from the PDF file comprise further instructions that, upon execution by the one or more processors, cause the one or more processors to:

calculate an entropy of the PDF file based at least in part on a frequency of each occurrence of each American Standard Code for Information Interchange (ASCII) code in the PDF file.

18 . The cloud-based network security system of claim 11 , wherein the instructions to extract the static information from the PDF file comprise further instructions that, upon execution by the one or more processors, cause the one or more processors to:

calculate a count of each of a plurality of keywords in the PDF file.

19 . The cloud-based network security system of claim 11 , wherein:

the output of the artificial intelligence model is a score; and

the verdict engine classifies the PDF file based at least in part on comparing the score with a threshold value.

20 . The cloud-based network security system of claim 11 , wherein the instructions comprise further instructions that, upon execution by the one or more processors, cause the one or more processors to:

calculate one or more heuristics based on content of the PDF file; and

provide the one or more heuristics to the verdict engine, wherein the verdict engine classifies the PDF file further based at least in part on the one or more heuristics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2024
From: ZHANG, XINJUN; ZHAN, ZHENXIN; SATPATHY, GHANASHYAM; CHEN, HUNG-MING; GUO, DONG
To: NETSKOPE, INC.
Reel/Frame 068800/0672 →
References Cited (140)
US 5440723A · Arnold et al. · 1995 [cited by applicant]
US 6513122B1 · Magdych et al. · 2003 [cited by applicant]
US 6622248B1 · Hirai · 2003 [cited by applicant]
US 7080408B1 · Pak et al. · 2006 [cited by applicant]
US 7298864B2 · Jones · 2007 [cited by applicant]
US 7376719B1 · Shafer et al. · 2008 [cited by applicant]
US 7735116B1 · Gauvin · 2010 [cited by applicant]
US 7966654B2 · Crawford · 2011 [cited by applicant]
US 8000329B2 · Fendick et al. · 2011 [cited by applicant]
US 8296178B2 · Hudis et al. · 2012 [cited by applicant]
US 8793151B2 · DelZoppo et al. · 2014 [cited by applicant]
US 8839417B1 · Jordan · 2014 [cited by applicant]
US 8997219B2 · Staniford et al. · 2015 [cited by applicant]
US 9177142B2 · Montoro · 2015 [cited by applicant]
US 9197601B2 · Pasdar · 2015 [cited by applicant]
US 9225734B1 · Hastings · 2015 [cited by applicant]
US 9231968B2 · Fang et al. · 2016 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9811662B2 · Sharpe et al. · 2017 [cited by applicant]
US 10084825B1 · Xu · 2018 [cited by applicant]
US 10169579B1 · Xu et al. · 2019 [cited by applicant]
US 10237282B2 · Nelson et al. · 2019 [cited by applicant]
US 10334442B2 · Vaughn et al. · 2019 [cited by applicant]
US 10382468B2 · Dods · 2019 [cited by applicant]
US 10462173B1 · Aziz et al. · 2019 [cited by applicant]
US 10484334B1 · Lee et al. · 2019 [cited by applicant]
US 10762206B2 · Titonis et al. · 2020 [cited by applicant]
US 10826941B2 · Jain et al. · 2020 [cited by applicant]
US 11025666B1 · Han et al. · 2021 [cited by applicant]
US 11032301B2 · Mandrychenko et al. · 2021 [cited by applicant]
US 11036856B2 · Graun et al. · 2021 [cited by applicant]
US 11281775B2 · Burdett et al. · 2022 [cited by applicant]
US 11310282B1 · Zhang et al. · 2022 [cited by applicant]
US 11349865B1 · Satpathy et al. · 2022 [cited by applicant]
US 11444951B1 · Patil et al. · 2022 [cited by applicant]
US 11481709B1 · Liao et al. · 2022 [cited by applicant]
US 20020099666A1 · Dryer et al. · 2002 [cited by applicant]
US 20030055994A1 · Herrmann et al. · 2003 [cited by applicant]
US 20030063321A1 · Inoue et al. · 2003 [cited by applicant]
US 20030172292A1 · Judge · 2003 [cited by applicant]
US 20030204632A1 · Willebeek-LeMair et al. · 2003 [cited by applicant]
US 20040015719A1 · Lee et al. · 2004 [cited by applicant]
US 20050010593A1 · Fellenstein et al. · 2005 [cited by applicant]
US 20050271246A1 · Sharma et al. · 2005 [cited by applicant]
US 20060156401A1 · Newstadt et al. · 2006 [cited by applicant]
US 20070204018A1 · Chandra et al. · 2007 [cited by applicant]
US 20070237147A1 · Quinn et al. · 2007 [cited by applicant]
US 20080069480A1 · Aarabi et al. · 2008 [cited by applicant]
US 20080134332A1 · Keohane et al. · 2008 [cited by applicant]
US 20090144818A1 · Kumar et al. · 2009 [cited by applicant]
US 20090249470A1 · Litvin et al. · 2009 [cited by applicant]
US 20090300351A1 · Lei et al. · 2009 [cited by applicant]
US 20100017436A1 · Wolge · 2010 [cited by applicant]
US 20110119481A1 · Auradkar et al. · 2011 [cited by applicant]
US 20110145594A1 · Jho et al. · 2011 [cited by applicant]
US 20120278896A1 · Fang et al. · 2012 [cited by applicant]
US 20130159694A1 · Chiueh et al. · 2013 [cited by applicant]
US 20130298190A1 · Sikka et al. · 2013 [cited by applicant]
US 20130347085A1 · Hawthorn et al. · 2013 [cited by applicant]
US 20140013112A1 · Cidon et al. · 2014 [cited by applicant]
US 20140068030A1 · Chambers et al. · 2014 [cited by applicant]
US 20140068705A1 · Chambers et al. · 2014 [cited by applicant]
US 20140259093A1 · Narayanaswamy et al. · 2014 [cited by applicant]
US 20140282843A1 · Buruganahalli et al. · 2014 [cited by applicant]
US 20140289852A1 · Evans et al. · 2014 [cited by applicant]
US 20140359282A1 · Shikfa et al. · 2014 [cited by applicant]
US 20140366079A1 · Pasdar · 2014 [cited by applicant]
US 20150096024A1 · Haq · 2015 [cited by examiner]
US 20150100357A1 · Seese et al. · 2015 [cited by applicant]
US 20160323318A1 · Terrill et al. · 2016 [cited by applicant]
US 20160350145A1 · Botzer et al. · 2016 [cited by applicant]
US 20170064005A1 · Lee · 2017 [cited by applicant]
US 20170093917A1 · Chandra et al. · 2017 [cited by applicant]
US 20170250951A1 · Wang et al. · 2017 [cited by applicant]
US 20190222591A1 · Kislitsin et al. · 2019 [cited by applicant]
US 20200050686A1 · Kamalapuram et al. · 2020 [cited by applicant]
US 20200050762A1 · Sathyanarayana · 2020 [cited by examiner]
US 20200320192A1 · Ma et al. · 2020 [cited by applicant]
US 20200322361A1 · Ravindra et al. · 2020 [cited by applicant]
US 20210004458A1 · Edwards · 2021 [cited by examiner]
US 20230229771A1 · Gambhir Parekh · 2023 [cited by examiner]
US 20230297685A1 · Patil et al. · 2023 [cited by applicant]
US 20230342461A1 · Du et al. · 2023 [cited by applicant]
US 20240152616A1 · Buchanan · 2024 [cited by examiner]
US 20240348639A1 · Kim · 2024 [cited by examiner]
CN 111274583A · 2020 [cited by applicant]
EP 1063833A2 · 2000 [cited by applicant]
WO 2013184653A1 · 2013 [cited by applicant]
WO 2014012106A2 · 2014 [cited by applicant]
WO 2022246131A1 · 2022 [cited by applicant]
Morales, J.A., “Building malware infection trees”, 2011 6th International Conference on Malicious and Unwanted Software (2011, pp. 50-57) (Year: 2011). [cited by examiner]
Martin, Victoria “Cooperative Security Fabric, The Fortinet Cookbook, Jun. 8, 2016, 6 pgs., archived Jul. 28, 2016 at https://web.archive.org/web/20160728170025/http://cookbook.fortinet.com/cooperative-security-fabric-5… [cited by applicant]
Huckaby, Jeff “Ending Clear Text Protocols,” Rackaid.com, Dec. 9, 2008, 3 pgs. [cited by applicant]
Newton, Harry “fabric,” Newton's Telecom Dictionary, 30th Updated, Expanded, Anniversary Edition, 2016, 3 pgs. [cited by applicant]
Fortinet, “Fortinet Security Fabric Earns 100% Detection Scores Across Several Attack Vectors in NSS Labs' Latest Breach Detection Group Test [press release]”, Aug. 2, 2016, 4 pgs, available at https://www.fortinet.com/… [cited by applicant]
Fortinet, “Fortinet Security Fabric Named 2016 CRN Network Security Product of the Year [press release]”, Dec. 5, 2016, 4 pgs, available at https://www.fortinet.com/corporate/about-us/newsroom/press-releases/2016/fortin… [cited by applicant]
Mccullagh, Declan, “How safe is instant messaging? A security and privacy survey,” CNET, Jun. 9, 2008, 14 pgs. [cited by applicant]
Beck et al., “IBM and Cisco: Together for a World Class Data Center,” IBM Redbooks, Jul. 2013, 654 pgs. [cited by applicant]
Martin, Victoria “Installing internal FortiGates and enabling a security fabric, The Fortinet Cookbook, Jun. 8, 2016, 11 pgs, archived Aug. 28, 2016 at https://web.archive.org/web/20160828235831/http://cookbook.fortinet… [cited by applicant]
Zetter, Kim, “Revealed: The Internet's Biggest Security Hole,” Wired, Aug. 26, 2008, 13 pgs. [cited by applicant]
Adya et al., “Farsite: Federated, available, and reliable storage for an incompletely trusted environment,” SIGOPS Oper. Syst. Rev. 36, SI, Dec. 2002, pp. 1-14. [cited by applicant]
Agrawal et al., “Order preserving encryption for numeric data,” In Proceedings of the 2004 ACM SIGMOD international conference on Management of data, Jun. 2004, pp. 563-574. [cited by applicant]
Balakrishnan et al., “A layered naming architecture for the Internet,” ACM SIGCOMM Computer Communication Review, 34(4), 2004, pp. 343-352. [cited by applicant]
Downing et al., Naming Dictionary of Computer and Internet Terms, (11th Ed.) Barron's, 2013, 6 pgs. [cited by applicant]
Downing et al., Dictionary of Computer and Internet Terms, (10th Ed.) Barron's, 2009, 4 pgs. [cited by applicant]
Zoho Mail, “Email Protocols: What they are & their different types,” 2006, 7 pgs. available at https://www.zoho.com/mail/glossary/email-protocols.html#:˜:text=mode of communication.-,What are the different email protoco… [cited by applicant]
NIIT, Special Edition Using Storage Area Networks, Que, 2002, 6 pgs. [cited by applicant]
Chapple, Mike, “Firewall redundancy: Deployment scenarios and benefits,” TechTarget, 2005, 5 pgs. available at https://www.techtarget.com/searchsecurity/tip/Firewall-redundancy-Deployment-scenarios-and-benefits?Offer=ab… [cited by applicant]
Fortinet, FortiGate—3600 User Manual (vol. 1, Version 2.50 MR2) Sep. 5, 2003, 329 pgs. [cited by applicant]
Fortinet, FortiGate SOHO and SMB Configuration Example, (Version 3.0 MR5), Aug. 24, 2007, 54 pgs. [cited by applicant]
Fortinet, FortiSandbox—Administration Guide, (Version 2.3.2), Nov. 9, 2016, 191 pgs. [cited by applicant]
Fortinet, FortiSandbox Administration Guide, (Version 4.2.4) Jun. 12, 2023, 245 pgs. available at https://fortinetweb.s3.amazonaws.com/docs.fortinet.com/v2/attachments/fba32b46-b7c0-11ed-8e6d-fa163e15d75b/FortiSandbox-4… [cited by applicant]
Fortinet, FortiOS—Administration Guide, (Versions 6.4.0), Jun. 3, 2021, 1638 pgs. [cited by applicant]
Heady et al., “The Architecture of a Network Level Intrusion Detection System,” University of New Mexico, Aug. 15, 1990, 21 pgs. [cited by applicant]
Kephart et al., “Fighting Computer Viruses,” Scientific American (vol. 277, No. 5) Nov. 1997, pp. 88-93. [cited by applicant]
Wang, L., Chapter 5: Cooperative Security in D2D Communications, “Physical Layer Security in Wireless Cooperative Networks,” 41 pgs. first online on Sep. 1, 2017 at https://link.springer.com/chapter/10.1007/978-3-319-61… [cited by applicant]
Lee et al., “A Data Mining Framework for Building Intrusion Detection Models,” Columbia University, n.d. 13 pgs. [cited by applicant]
Merriam-Webster Dictionary, 2004, 5 pgs. [cited by applicant]
Microsoft Computer Dictionary, (5th Ed.), Microsoft Press, 2002, 8 pgs. [cited by applicant]
Microsoft Computer Dictionary, (4th Ed.), Microsoft Press, 1999, 5 pgs. [cited by applicant]
Mika et al., “Metadata Statistics for a Large Web Corpus,” LDOW2012, Apr. 16, 2012, 6 pgs. [cited by applicant]
Oxford Dictionary of Computing (6th Ed.), 2008, 5 pgs. [cited by applicant]
Paxson, Vern, “Bro: a System for Detecting Network Intruders in Real-Time,” Proceedings of the 7th USENIX Security Symposium, Jan. 1998, 22 pgs. [cited by applicant]
Fortinet Inc., U.S. Appl. No. 62/503,252, “Building a Cooperative Security Fabric of Hierarchically Interconnected Network Security Devices.” n.d., 87 pgs. [cited by applicant]
Song et al., “Practical techniques for searches on encrypted data,” In Proceeding 2000 IEEE symposium on security and privacy. S&P 2000, May 2000, pp. 44-55. [cited by applicant]
Dean, Tamara, Guide to Telecommunications Technology, Course Technology, 2003, 5 pgs. [cited by applicant]
U.S. Appl. No. 60/520,577, “Device, System, and Method for Defending a Computer Network,” filed Nov. 17, 2003, 21 pgs. [cited by applicant]
U.S. Appl. No. 60/552,457, “Fortinet Security Update Technology,” filed Mar. 2004, 6 pgs. [cited by applicant]
Tittel, Ed, Unified Threat Management For Dummies, John Wiley & Sons, Inc., 2012, 76 pgs. [cited by applicant]
Fortinet, FortiOS Handbook: UTM Guide (Version 2), Oct. 15, 2010, 188 pgs. [cited by applicant]
Full Definition of Security, Wayback Machine Archive of Merriam-Webster on Nov. 17, 2016, 1 pg. [cited by applicant]
Definition of Cooperative, Wayback Machine Archive of Merriam-Webster on Nov. 26, 2016, 1 pg. [cited by applicant]
Pfaffenberger, Bryan, Webster's New World Computer Dictionary, (10th Ed.), 2003, 5 pgs. [cited by applicant]
U.S. Appl. No. 18/656,895 Final Office Action dated Nov. 5, 2024, 21 pages. [cited by applicant]
Djenna, Amir, et al. “Artificial intelligence-based malware detection, analysis, and mitigation.” Symmetry 15.3 (2023): 677. (Year: 2023). [cited by applicant]
Kishore, Pushkar, Swadhin Kumar Barisal, and Durga Prasad Mohapatra. “JavaScript malware behaviour analysis and detection using sandbox assisted ensemble model.” 2020 IEEE Region 10 Conference (Tencon). IEEE, 2020. (Yea… [cited by applicant]
Singh, Jagsir, and Jaswinder Singh. “Detection of malicious software by analyzing the behavioral artifacts using machine learning algorithms.” Information and Software Technology 121 (2020): 106273. (Year: 2020). [cited by applicant]
U.S. Appl. No. 18/437,521 Notice of Allowance dated Aug. 7, 2024, USPTO, 10 pages. [cited by applicant]
U.S. Appl. No. 18/437,521 Notice of Allowance dated Apr. 29, 2024, USPTO, 15 pages. [cited by applicant]
U.S. Appl. No. 18/656,895 Non-Final Office Action dated Jul. 5, 2024, USPTO, 18 pages. [cited by applicant]