The present disclosure relates to computer systems and methods for detecting and remediating database data adversely affected by ransomware.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Ransomware is malware that is used to deny access to computer files or other data on a computer. A ransom payment is requested in return for allowing access to the computer files or data. For example, ransomware may be used to encrypt the computer files or data. A key for decrypting the files or data is sent after the ransom payment is received. Ransomware may be installed on computers via Trojan horses, which are malware files that are disguised as legitimate files or programs. If the ransom payment is paid but the ransomware is not removed from the computer, the ransomware may repeat the process of encrypting files or data and demanding a ransom payment. For example, an email with an attachment including a malicious macro may be sent to a potential ransomware victim. When the user opens the attachment, the macro installs the ransomware on the computer.
A system for protecting a database against a ransomware attack includes a database backup handler configured to selectively output database backup data associated with a database to a storage device. A ransomware detector is configured to monitor changes to the database and to detect data changes to the database resulting from a ransomware attack. A ransomware remediator communicates with the ransomware detector and the database backup handler and is configured to restore data in the database to a point prior to the ransomware attack based upon the backup data in the storage device.
In other features, the ransomware detector includes an event data handler in communication with the database that is configured to receive database events from the database. A rule-based detector is configured to receive an output of the event data handler and to use a plurality of rules to detect the ransomware attack and generate a ransomware alert.
In other features, the ransomware detector further includes an analytics detector configured to receive the output of the event handler, to detect the ransomware attack using at least one of deep learning analysis detection and machine learning and to generate a ransomware alert.
In other features, the ransomware remediator includes an alert handler configured to receive the ransomware alert from the ransomware detector. A database data changer is configured to change at least one of selected rows and selected tables in the database based upon the database backup data in response to the ransomware alert.
In other features, the database backup handler is configured to schedule snapshots of the database in response to at least one of an event or a predetermined backup period and to store the snapshots in the storage device. The database backup handler includes a backup data retriever configured to retrieve changed row data and to store the changed row data in the storage device. The database backup handler is configured to retrieve changes to a database log and to store the changes in the storage device.
A system for protecting a database against a ransomware attack includes a processor and memory. A ransomware detection and remediation application, stored in the memory and executed by the processor, is configured to: retrieve and store database backup data associated with a database to a storage device; monitor the database to detect data changes to the database resulting from a ransomware attack; and in response to the ransomware attack, restore data in the database to a point prior to the ransomware attack based upon the backup data in the storage device.
In other features, the ransomware detection and remediation application is further configured to receive database events from the database, and apply a plurality of rules to the database events to detect the ransomware attack. The ransomware detection and remediation application is further configured to detect the ransomware attack based on the database events using at least one of deep learning analysis detection and machine learning.
In other features, the ransomware detection and remediation application is further configured to receive ransomware alerts and change at least one of a row and a table in the database based upon the database backup data in response to the ransomware alerts.
In other features, the ransomware detection and remediation application is further configured to schedule snapshots of the database in response to at least one of an event or a predetermined backup period and to store the snapshots in the storage device. The ransomware detection and remediation application is further configured to retrieve changed row data and to store the changed row data in the storage device.
In other features, the ransomware detection and remediation application is further configured to retrieve changes to a database log and to store the changes in the storage device.
A method for protecting a database against a ransomware attack includes selectively outputting database backup data associated with a database to a storage device; monitoring changes to the database; detecting data changes to the database resulting from a ransomware attack; and in response to detecting the ransomware attack, restoring data in the database to a point prior to the ransomware attack based upon the backup data in the storage device.
In other features, the method includes receiving database events from the database and monitoring the database events using a plurality of rules to detect the ransomware attack and to generate a ransomware alert.
In other features, the method includes detecting the ransomware attack and generating the ransomware alert based on the database events using at least one of deep learning analysis detection and machine learning. The database backup data includes row changes made to the database and the method further comprises, in response to the ransomware alert, changing data in the database based upon the database backup data.
In other features, the database backup data includes snapshots of the database and the method further comprises restoring the database using the snapshots in response to the ransomware alerts. The database backup data includes a database log and the method further comprises restoring the database using the database log in response to the ransomware alerts.
Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.
In the drawings, reference numbers may be reused to identify similar and/or identical elements.
A ransomware detection and remediation system and method according to the present disclosure includes a ransomware detector that detects database data (such as data entries, rows or tables) that is altered by ransomware. Once the ransomware detector detects database that is affected by ransomware, a ransomware remediator returns the database to a state prior to a point when the ransomware affected the database data.
In some examples, a database backup handler periodically stores snapshots of database data such as data entries, rows and/or tables in the database. The ransomware remediator uses a snapshot taken prior to a time when the ransomware altered the database data. The snapshot is used to restore the ransomware altered data with backup data in the snapshot.
In other examples, the database application stores a log of changes to the database. The ransomware remediator uses the database log file (by reversing the changes) to return the database to a state prior to a time when the ransomware altered the database data.
In other examples, the database backup handler stores a file including chronological list of row changes that are made to the database. The ransomware remediator reverses the row changes to return the state of the database to a point that is prior to a time when the ransomware altered the database data. As a result, the database owner will have the option to remediate the altered database data without the need to pay a ransom.
As can be appreciated, the ransomware detector and the ransomware remediator can be implemented in a network in a variety of ways. In some examples, the database, the ransomware detector and the ransomware remediator are stored and executed, respectively, by the same computing device. In other examples, the database, the ransomware detector and the ransomware remediator are executed by two or more computing devices. In some examples, the database, the ransomware detector and the ransomware remediator are all implemented in a cloud network using one or more servers, virtual machines or containers. Alternately, the database, the ransomware detector and the ransomware remediator can be implemented in an enterprise network using one or more servers, virtual machines or containers.
Referring now to
For example, the network 100 may further include a computing device 130, a cloud services provider 140, and/or an enterprise network 150. The computing device 130 may be connected to one or more local or remote databases 132. The cloud services provider 140 may manage or is connected to one or more databases 142. The enterprise network 150 may manage or is connected to one or more local or remote databases 152. All of the databases are potential targets for ransomware attacks by the hackers 120.
Referring now to
A database backup handler 214 selectively backs up portions of the database 212. In some examples, the database backup handler 214 includes a software module or controller. In some examples, the database backup handler 214 uses a snapshot feature of the database to store files 217 in bulk storage 216 such as a hard disk drive. When the ransomware detector 210 detects database data altered by the ransomware, the snapshots are used to return the database to a state prior to the ransomware attack. Alternately, the database backup handler 214 stores a chronological database log file of changes made to the database in the bulk storage 216.
In other examples, the database backup handler 214 stores row changes in chronological order in the bulk storage 216. In response to ransomware being detected by the ransomware detector 210, a ransomware remediator 218 uses the files 217 to restore the database to a time prior to the point where the ransomware altered the database data (for example by reversing the database changes). In some examples, the ransomware remediator includes a software module or controller. As can be appreciated, the locations of the ransomware detector 210, the database 212, the database backup handler 214, the bulk storage 216 and the ransomware remediator 218 will vary depending upon the architecture of the network.
Referring now to
If a ransomware attack is detected, the analytics detector 254 and/or the rule-based detector 256 outputs a ransomware alert to a queue 258. The queue 258 outputs the ransomware alerts to an alert handler 260 associated with the ransomware remediator 218. The alert handler 260 coordinates with a database changer 262 to use the files 217 stored in the bulk storage 216 to restore the data by restoring the database back to a point before the ransomware attack occurred. The database backup handler 214 includes a backup scheduler 270 and a backup data retriever 272. The backup scheduler 270 may schedule backups on a periodic basis or an event basis. For example, the backup scheduler 270 may schedule backups in response to an event relating to unusual or atypical amount of changes being made to the database within a predetermined period. The backup data retriever 272 retrieves row changes, database log file changes or snapshots and stores them in the files 217.
In
The computing device 290 communicates with a network 340 such as an enterprise network or cloud network (for example via the DCS, a firewall 342 and a router 344 shown in
The computing device 350 communicates via the router 344 with a server 410 storing a database 412. The computing device 250 also communicates with one or more additional servers 420 and 430. In some examples, the servers 410 and/or 420 may be used to store the backup files.
Referring now to
In other examples shown in
In
In
In
In
In some examples, the ransomware detector 210 may use data analytics to help distinguish between legitimate changes and malicious changes. The ransomware detector 210 may use various machine-learning techniques, such as a support vector machine, a Bayesian network, learning regression, a neural network, big data analytics, an evolutionary algorithm, and so on to detect malicious changes. The ransomware detector 210 may collect various features such as the number and frequency of changes, the location of changes, the patterns of the changes (extensions, headers, entropy changes, types), user information (e.g., organization or location), and so on. After collecting the features, the ransomware detector 210 may learn a classifier on a per-user basis, a per-organization basis, or on the basis of some other division of users. For example, the ransomware detector 210 may use various clustering techniques to generate clusters of users based on various attributes of the users (e.g., business user or personal user and frequency of computer usage).
In some examples, the ransomware detector 210 may employ a support vector machine to train classifiers for each user or each division of users. To train a classifier, the training data includes samples of malicious data changes and samples of legitimate data changes where each sample comprises a feature vector of features and a label indicating whether the sample represents a malicious or legitimate change. A support vector machine operates by finding a hypersurface in the space of possible inputs. The hypersurface attempts to split the positive examples (e.g., ransomware) from the negative samples (e.g., not ransomware) by maximizing the distance between the nearest of the positive and negative samples and the hypersurface.
A support vector machine simultaneously minimizes an empirical classification error and maximizes a geometric margin. This allows for correct classification of data that is similar to but not identical to the training data. Various techniques can be used to train a support vector machine. One technique uses a sequential minimal optimization algorithm that breaks the large quadratic programming problem down into a series of small quadratic programming problems that can be solved analytically. (See Platt, J., “Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Mechanisms,” 1998, http://research.microsoft.com/pubs/69644/tr-98-14.pdf, which is Incorporated herein by reference in its entirety.)
A support vector machine is provided training data represented by (xi, yi) where xi represents a feature vector and yi represents a label for sample i. A support vector machine may be used to optimize the following:
where vector w is perpendicular to the separating hypersurface, the offset variable b is used to increase the margin, the slack variable ξi represents the degree of misclassification of xi, the function ϕ maps the vector xi into a higher dimensional space, and C represents a penalty parameter of the error term. A support vector machine supports linear classification but can be adapted to perform nonlinear classification by modifying the kernel function, as represented by the following:
(K(xi,xj)=ϕ(xi)T(xj))
In some examples, the ransomware detector uses a radial basis function (“RBF”) kernel, as represented by the following:
K(xi,xj)=exp(−y∥xi−xj∥2),y>0
The ransomware detector may also use a polynomial Gaussian RBF or a sigmoid kernel. The ransomware detector may use cross-validation and grid search to find optimal values for parameters y and C. (See Hsu, C. W., Chang, C. C., and Lin, C. J., “A Practical Guide to Support Vector Classification,” Technical Report, Dept. of Computer Science and Information Engineering, National Taiwan University, Taipei, 2003, which is hereby Incorporated by reference in its entirety.)
In some examples, the ransomware detector inserts honeypot database data such as data entries, row entries or tables into the database being monitored. The honeypot database data is stored in the database solely for the purpose of detecting a malicious change to the honeypot database data. The user of the device may be unaware of the presence of the honeypot database data and would have no reason to change the content of the honeypot database data. For example, if the ransomware detector detects any change to the honeypot database data (or even a deletion of the honeypot database data), the ransomware detector may assume that the change was caused by ransomware and take remedial actions such as those described above. In some examples, the honeypot database data includes content that is similar to customer database data to help obscure detection by ransomware.
In some examples, the ransomware detector monitors changes to the honeypot database data, rather than behavior of an executing process (e.g., ransomware). The ransomware detector may factor in the entropy (e.g., Shannon entropy) of the honeypot database data because data affected by ransomware may have a high entropy output (e.g., as a result of encryption). The ransomware detector may also factor in variance in the honeypot database data because data affected by ransomware may have content that is completely dissimilar from its prior version. For example, the ransomware detector may employ a similarity-preserving hash function (e.g., Nilsimsa hash, TLSH, and Ssdeep) to detect changes. The ransomware detector may factor in the number of modifications to a honeypot database data because data affected by ransomware may be heavily modified. For example, the ransomware detector may monitor “magic marker” type modifications, extension changes, and/or content deletions.
Referring now to
In some examples, the method proceeds from 812 when ransomware is detected to 828 without notifying and requesting approval for remediation as indicated at alternate path 829. If 820 is false, the method optionally returns at 831. Alternately, the method can continue from 820 to 824 where the method determines whether the database administrator or other user wants to further investigate the ransomware alert using a database management tool prior to initiating remediation. If 824 is true, the method continues at 828 and the database management tool is launched. After the investigation, the database administrator as allowed another opportunity to approve or disapprove of the database remediation at 830. If 830 is true, the method continues at 828. If 830 is false, the method returns.
Referring now to
Referring now to
The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure. Further, although each of the examples is described above as having certain features, any one or more of those features described with respect to any example of the disclosure can be implemented in and/or combined with features of any of the other examples, even if that combination is not explicitly described. In other words, the described examples are not mutually exclusive, and permutations of one or more examples with one another remain within the scope of this disclosure.
Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and “disposed.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”
In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration. For example, when element A and element B exchange a variety of information but information transmitted from element A to element B is relevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A. Further, for information sent from element A to element B, element B may send requests for, or receipt acknowledgements of, the information to element A.
In this application, including the definitions below, the term “module” or the term “controller” may be replaced with the term “circuit.” The term “module” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
The module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules that are connected via interface circuits. For example, multiple modules may allow load balancing. In a further example, a server (also known as remote, or cloud) module may accomplish some functionality on behalf of a client module.
The term code, as used above, may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses a memory circuit that, in combination with additional memories, stores some or all code from one or more modules.
The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory, tangible computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).
In this application, apparatus elements described as having particular attributes or performing particular operations are specifically configured to have those particular attributes and perform those particular operations. Specifically, a description of an element to perform an action means that the element is configured to perform the action. The configuration of an element may include programming of the element, such as by encoding instructions on a non-transitory, tangible computer-readable medium associated with the element.
The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks, flowchart components, and other elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.
The computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may encompass a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.
The computer programs may include: (i) descriptive text to be parsed, such as JavaScript Object Notation (JSON), hypertext markup language (HTML) or extensible markup language (XML), (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code may be written using syntax from languages including C, C++, C#, Objective C, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTMLS, Ada, ASP (active server pages), PHP, Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, and Python®.
None of the elements recited in the claims are intended to be a means-plus-function element within the meaning of 35 U.S.C. § 112(f) unless an element is expressly recited using the phrase “means for,” or in the case of a method claim using the phrases “operation for” or “step for.”
This application claims the benefit of U.S. Provisional Application No. 62/449,367, filed Jan. 23, 2017. The entire disclosure of the application referenced above is incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
8555385 | Bhatkar et al. | Oct 2013 | B1 |
8769684 | Stolfo et al. | Jul 2014 | B2 |
8856542 | Tatarinov et al. | Oct 2014 | B2 |
8918878 | NiemelÄ | Dec 2014 | B2 |
9152789 | Natarajan et al. | Oct 2015 | B2 |
9189629 | Nachenburg et al. | Nov 2015 | B1 |
9262296 | Soeder et al. | Feb 2016 | B1 |
9317686 | Ye et al. | Apr 2016 | B1 |
9514309 | Mann | Dec 2016 | B1 |
9535932 | DeSantis | Jan 2017 | B1 |
9578044 | Sharma et al. | Feb 2017 | B1 |
9602536 | Brown et al. | Mar 2017 | B1 |
9679134 | Jing et al. | Jun 2017 | B1 |
9838405 | Guo et al. | Dec 2017 | B1 |
9852289 | Mann | Dec 2017 | B1 |
9860208 | Ettema et al. | Jan 2018 | B1 |
9860261 | Halfon et al. | Jan 2018 | B2 |
9888032 | Dekel | Feb 2018 | B2 |
9990511 | Dreyfus | Jun 2018 | B1 |
10007795 | Chung et al. | Jun 2018 | B1 |
10009360 | Todd et al. | Jun 2018 | B1 |
10032033 | Gu et al. | Jul 2018 | B2 |
10055582 | Weaver | Aug 2018 | B1 |
10063654 | Kirti et al. | Aug 2018 | B2 |
10122752 | Soman et al. | Nov 2018 | B1 |
10262137 | Hart et al. | Apr 2019 | B1 |
20020174349 | Wolff et al. | Nov 2002 | A1 |
20030023866 | Hinchliffe et al. | Jan 2003 | A1 |
20050108568 | Bussiere et al. | May 2005 | A1 |
20060031940 | Rozman et al. | Feb 2006 | A1 |
20080086638 | Mather | Apr 2008 | A1 |
20080141374 | Sidiroglou et al. | Jun 2008 | A1 |
20080148403 | Manion et al. | Jun 2008 | A1 |
20080196104 | Tuvell et al. | Aug 2008 | A1 |
20080263669 | Alme | Oct 2008 | A1 |
20090328216 | Rafalovich et al. | Dec 2009 | A1 |
20110047620 | Mahaffey et al. | Feb 2011 | A1 |
20110219450 | Mcdougal et al. | Sep 2011 | A1 |
20120066765 | O'brien | Mar 2012 | A1 |
20120151046 | Weiss et al. | Jun 2012 | A1 |
20130067576 | Niemela | Mar 2013 | A1 |
20130091570 | Mccorkendale et al. | Apr 2013 | A1 |
20130160124 | St Hlberg et al. | Jun 2013 | A1 |
20130263226 | Sudia | Oct 2013 | A1 |
20140130164 | Cafasso et al. | May 2014 | A1 |
20140181971 | Tatarinov et al. | Jun 2014 | A1 |
20140298468 | Yamamura et al. | Oct 2014 | A1 |
20140310246 | Vijayan | Oct 2014 | A1 |
20140373153 | Niemela | Dec 2014 | A1 |
20150163121 | Mahaffey et al. | Jun 2015 | A1 |
20150172304 | Kleczynski | Jun 2015 | A1 |
20150172311 | Freedman et al. | Jun 2015 | A1 |
20150235177 | Shraim et al. | Aug 2015 | A1 |
20150347768 | Martin et al. | Dec 2015 | A1 |
20150381637 | Raff et al. | Dec 2015 | A1 |
20160065594 | Srivastava et al. | Mar 2016 | A1 |
20160077923 | Zhang | Mar 2016 | A1 |
20160092684 | Langton et al. | Mar 2016 | A1 |
20160127388 | Cabot et al. | May 2016 | A1 |
20160149931 | Ramos et al. | May 2016 | A1 |
20160162886 | Howe | Jun 2016 | A1 |
20160164894 | Zeitlin et al. | Jun 2016 | A1 |
20160180087 | Edwards et al. | Jun 2016 | A1 |
20160188880 | Smith et al. | Jun 2016 | A1 |
20160253498 | Valencia et al. | Sep 2016 | A1 |
20160261621 | Srivastava et al. | Sep 2016 | A1 |
20160300227 | Subhedar et al. | Oct 2016 | A1 |
20160308898 | Teeple et al. | Oct 2016 | A1 |
20160323316 | Kolton et al. | Nov 2016 | A1 |
20160337390 | Sridhara et al. | Nov 2016 | A1 |
20160344749 | Mcalear | Nov 2016 | A1 |
20160378988 | Bhashkar et al. | Dec 2016 | A1 |
20170034189 | Powell | Feb 2017 | A1 |
20170063930 | Chesla | Mar 2017 | A1 |
20170076096 | Challener et al. | Mar 2017 | A1 |
20170091453 | Cochin | Mar 2017 | A1 |
20170093886 | Ovcharik et al. | Mar 2017 | A1 |
20170134405 | Ahmadzadeh et al. | May 2017 | A1 |
20170140156 | Gu et al. | May 2017 | A1 |
20170149825 | Gukal et al. | May 2017 | A1 |
20170161495 | Viswanath et al. | Jun 2017 | A1 |
20170163682 | Yu | Jun 2017 | A1 |
20170177627 | Singh et al. | Jun 2017 | A1 |
20170177867 | Crofton et al. | Jun 2017 | A1 |
20170180394 | Crofton et al. | Jun 2017 | A1 |
20170223031 | Gu et al. | Aug 2017 | A1 |
20170244672 | Shulman et al. | Aug 2017 | A1 |
20170250998 | Miliefsky et al. | Aug 2017 | A1 |
20170257397 | Graham | Sep 2017 | A1 |
20170264619 | Narayanaswamy et al. | Sep 2017 | A1 |
20170270293 | Gu et al. | Sep 2017 | A1 |
20170279822 | Lord et al. | Sep 2017 | A1 |
20170289184 | C et al. | Oct 2017 | A1 |
20170302683 | Kawauchi et al. | Oct 2017 | A1 |
20170308711 | Barak | Oct 2017 | A1 |
20170310705 | Gopalakrishna et al. | Oct 2017 | A1 |
20170310706 | Wu et al. | Oct 2017 | A1 |
20170324755 | Dekel et al. | Nov 2017 | A1 |
20170329783 | Singh et al. | Nov 2017 | A1 |
20170359370 | Humphries et al. | Dec 2017 | A1 |
20170364576 | Chesla et al. | Dec 2017 | A1 |
20170364681 | Roguine et al. | Dec 2017 | A1 |
20170366563 | Volfman et al. | Dec 2017 | A1 |
20180004939 | Kawakita | Jan 2018 | A1 |
20180007069 | Hunt et al. | Jan 2018 | A1 |
20180007074 | Kune et al. | Jan 2018 | A1 |
20180013681 | Kohout et al. | Jan 2018 | A1 |
20180018458 | Schmugar et al. | Jan 2018 | A1 |
20180018459 | Zhang et al. | Jan 2018 | A1 |
20180020013 | Yoshikawa et al. | Jan 2018 | A1 |
20180024893 | Sella | Jan 2018 | A1 |
20180034835 | Iwanir et al. | Feb 2018 | A1 |
20180046800 | Aoki et al. | Feb 2018 | A1 |
20180211038 | Breiman et al. | Jul 2018 | A1 |
20180225230 | Litichever et al. | Aug 2018 | A1 |
20180293377 | Tomonaga | Oct 2018 | A1 |
Number | Date | Country |
---|---|---|
2570955 | Mar 2013 | EP |
3038003 | Jun 2016 | EP |
3107024 | Dec 2016 | EP |
2018020362 | Feb 2018 | WO |
Entry |
---|
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US2017/067450”, dated Mar. 28, 2018, 11 Pages. |
“Protect yourself against encryption-based ransomware”, https://web-beta.archive.org/web/20160620200619/https:/www.synology.com/en-global/solution/ransomware, Published on: Jun. 20, 2016, 6 pages. |
“The end of Ransomware”, https://web-beta.archive.org/web/20161130034554/https:/www.sophos.com/Ip/ransomware.aspx, Published on: Nov. 30, 2016, 3 pages. |
Rosenquist, Matthew, “Cerber Ransomware Now Hunts for Databases”, https://securingtomorrow.mcafee.com/mcafee-labs/cerber-ransomware-now-hunts-databases/, Published on: Nov. 4, 2016, 5 pages. |
“Analytics for Ransomware”, Retrieved from http://www.exabeam.com/wp-content/uploads/2016/06/Exabeam_Ransomware_DS.pdf, Retrieved on: Oct. 19, 2016, 2 pages. |
“Exabeam Adds Ransomware Detection Capabilities to its Security Intelligence Platform”, Retrieved from http://www.exabeam.com/pr/exabeam-adds-ransomware-detection-capabilities-security-intelligence-platform/, Jun. 13, 2016, 2 Pages. |
“Kaspersky Lab”, Retrieved from https://web.archive.org/web/20161107222144/https://www.kaspersky.com/about, Nov. 7, 2016, 5 Pages. |
“My Files Were Corrupted or Renamed by Ransomware. What can I do?”, Retrieved from https://web.archive.org/web/20181009123347/https://www.dropbox.com/help/security/ransomware-recovery, Oct. 21, 2016, 4 Pages. |
“Final Office Action Issued in U.S. Appl. No. 15/375,001”, dated Dec. 13, 2018, 25 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 15/375,001”, dated Aug. 10, 2018, 27 Pages. |
Abade, Igor, “Ransomware and OneDrive”, Retrieved from http://www.tshooter.com.br/en/2016/07/18/ransomware-and-onedrive/, Jul. 18, 2016, 6 Pages. |
Ahmadian, et al., “Connection-Monitor & Connection-Breaker: A Nove Approach for Prevention and Detection of High Survivable Ransomwares”, In Proceedings of the 12th International Iranian Society of Cryptology Conference on Information Security and Cryptology, Sep. 8, 2015, 7 Pages. |
Nagpal, et al., “CATCH: Comparison and Analysis of Tools Covering Honeypots”, In Proceedings of the 2015 International Conference on Advances in Computer Engineering and Applications, Mar. 19, 2015, pp. 783-786. |
Crump, George, “Recovering from Ransomware Starts with Data Protection Strategy”, Retrieved from https://web.archive.org/web/20160724010550/https://searchdatabackup.techtarget.com/tip/Recovering-from-ransomware-starts-with-data-protection-strategy, Jul. 2016, 5 Pages. |
“Final Office Action Issued in U.S. Appl. No. 15/830,692”, dated May 24, 2019, 16 Pages. |
Hsu, et al., “A Practical Guide to Support Vector Classification”, In Proceedings of the Technical Report, Dept. of Computer Science and Information Engineering, 2003, 16 Pages. |
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US2018/014657”, dated May 4, 2018, 8 Pages. |
Platt, J., “Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Mechanisms”, Retrieved from: http://research.microsoft.com/pubs/69644/tr-98-14.pdf, Apr. 21, 1998, 21 Pages. |
“Final Office Action Issued in U.S. Appl. No. 15/375,001”, dated Oct. 25, 2019, 26 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 15/375,001”, dated Jul. 3, 2019, 26 Pages. |
Number | Date | Country | |
---|---|---|---|
20180211039 A1 | Jul 2018 | US |
Number | Date | Country | |
---|---|---|---|
62449367 | Jan 2017 | US |