The contents of the following of applicant's US patent applications are hereby incorporated herein in their entireties.
The present invention relates to computer security, and in particular to preventing attackers from breaching computer networks.
Reference is made to
Access to endpoint computers 110 and databases 120 in network 100 may optionally be governed by an access governor 150, such as a directory service, that authorizes users to access endpoint computers 110 and databases 120 based on “credentials”. Access governor 150 may be a name directory, such as ACTIVE DIRECTORY® developed by Microsoft Corporation of Redmond, Wash., for WINDOWS® environments. Background information about ACTIVE DIRECTORY is available at Wikipedia. Other access governors for WINDOWS and non-WINDOWS environments, include inter alia Lightweight Directory Access Protocol (LDAP), Remote Authentication Dial-In User Service (RADIUS), and Apple Filing Protocol (AFP), formerly APPLETALK®, developed by Apple Inc. of Cupertino, Calif. Background information about LDAP, RADIUS and AFP is available at Wikipedia.
Access governor 150 may be one or more local machine access controllers. Access governor 150 may be one or more authorization servers, such as a database server or an application server.
In lieu of access governor 150, the endpoints and/or servers of network 100 determine their local access rights.
Credentials for accessing endpoint computers 110 and databases 120 include inter alia server account credentials such as <address> <username> <password> for an FTP server, an SQL server, or an SSH server. Credentials for accessing endpoint computers 110 and databases 120 also include user login credentials <username> <password>, or <username> <ticket>, where “ticket” is an authentication ticket, such as a ticket for the Kerberos authentication protocol or NTLM hash used by Microsoft Corp., or login credentials via certificates or via another implementation used today or in the future. Background information about the Kerberos protocol and the LM hash is available at Wikipedia.
Access governor 150 may maintain a directory of endpoint computers 110, databases 120 and their users. Access governor 150 authorizes users and computers, assigns and enforces security policies, and installs and updates software. When a user logs into an endpoint computer 110, access governor 150 checks the submitted password, and determines if the user is an administrator (admin), a normal user (user) or other user type.
Endpoint computers 110 may run a local or remote security service, which is an operating system process that verifies users logging in to computers and other single sign-on systems and other credential storage systems.
Network 100 may include a security information and event management (SIEM) server 160, which provides real-time analysis of security alerts generated by network hardware and applications. Background information about SIEM is available at Wikipedia.
Network 100 may include a domain name system (DNS) server 170, or such other name service system, for translating domain names to IP addresses. Background information about DNS is available at Wikipedia.
Network 100 may include a firewall 180 located within a demilitarized zone (DMZ), which is a gateway between organization network 100 and external internet 10. Firewall 180 controls incoming and outgoing traffic for network 100. Background information about firewalls and DMZ is available at Wikipedia.
One of the most prominent threats that organizations face is a targeted attack; i.e., an individual or group of individuals that attacks the organization for a specific purpose, such as leaking data from the organization, modifying data and systems, and sabotaging data and systems.
Targeted attacks are carried out in multiple stages, typically including inter alia reconnaissance, penetration, lateral movement and payload. Lateral movement involves establishing a foothold within the organization and expanding that foothold to additional systems within the organization.
In order to carry out the lateral movement stage, an attacker, whether a human being who is operating tools within the organization's network, or a tool with “learning” capabilities, learns information about the environment it is operating in, such as network topology, organization structure, and implemented security solutions, and then operates in accordance with that data. One method to defend against such attacks is to plant misleading information/decoys/bait with the aim that the attacker learns of their existence and consumes those bait resources, which are monitored so as to notify an administrator of malicious activity. In order to monitor usage of deceptive information, decoy servers, referred to as “honeypots”, are deployed in the organization. Background information about honeypots is available at Wikipedia.
Decoy servers try to mimic attractive real servers. However, a challenge in deploying decoy servers is to make then appear authentic. Specifically, an effective honeypot needs to appear reliable to an attacker, in particular matching attributes of real hosts such as operating system types, and local installed products.
Planting deceptions that appear reliable is a challenging issue. Conventionally, a lot of research must be carried out in order to generate reliable deceptions to plant in network resources, and the administrator, or such other user, does of have the capability to customize deceptions. I.e., the selection of deceptions is limited to those that the conventional security system provides.
Embodiments of the present invention enable an administrator or other such user to generate custom deceptions. The administrator or such other user can conduct their own research and plant their own generated deceptions, irrespective of what conventional security systems offer.
Embodiments of the present invention provide a formal language for defining customize deceptions, and a formal language translation unit to generate deceptions that are installable in endpoints of the network.
There is thus provided in accordance with an embodiment of the present invention a system for generating and deploying custom deceptions for a network, including an administrator computer for generating custom deception entities (CDEs), each CDE including parameters including inter alia (i) a type of entity, (ii) conditions for deployment of the CDE, and (iii) a deception type, and a management server, comprising an application programming interface for use by the administrator computer to generate CDEs through the medium of a formal language for specifying deceptions, and a translator for translating formal language CDEs to deceptions that are installable in network endpoint computers, wherein the management computer receives a request from a network endpoint computer to retrieve CDEs, selects CDEs that are relevant to the requesting network endpoint computer based on the parameters of the CDE, translates the requested CDEs to installable deceptions, and transmits the installable deceptions to the network endpoint computer for installation thereon.
There is additionally provided in accordance with an embodiment of the present invention a method performed by a management server of a network for generating and deploying custom deceptions for the network, including generating custom deception entities (CDEs) through the medium of a formal language for specifying deceptions, each CDE including parameters including inter alia (i) a type of entity, (ii) conditions for deployment of the CDE, and (iii) a deception type, receiving a request from a network endpoint computer to retrieve CDEs, selecting CDEs that are relevant to the requesting network endpoint computer based on the parameters of the CDE, translating the selected CDEs from their formal language description to installable deceptions, and transmitting the installable deceptions to the network endpoint computer for installation thereon.
The present invention will be more fully understood and appreciated from the following detailed description, taken in conjunction with the drawings in which:
For reference to the figures, the following index of elements and their numerals is provided. Similarly numbered elements represent elements of the same type, but they need not be identical elements.
Elements numbered in the 1000's are operations of flow charts.
In accordance with embodiments of the present invention, systems and methods are provided for generating, deploying and managing custom deceptions. These systems and methods employ a special formal language for defining deceptions of various types.
Reference is made to
Management server 210 includes an application programming interface (API) 211 for generating, editing and deleting custom deceptions, a translator 212 for translating from the native formal language for defining deceptions to actual deceptions that may be installed in endpoints of network 200, a deployer 213 that changes the deployment flow so as to include installation or uninstallation of custom deceptions. Generally, the administrator of network 200 generates, edits and deletes the custom deceptions using API 211.
Management server 210 also includes a forensic application 214, which is a real-time application that is transmitted to an endpoint computer 110 in the network, when a deception is accessed by that computer 110, this indicating that that computer has been breached by an attacker. When forensic application 214 is launched on the endpoint computer, it identifies a process running within that endpoint computer 110 that accessed the deception, logs the activities performed by the thus-identified process in a forensic report, and transmits the forensic report to management server 210.
Management server 210 also includes a policy manager 215. Policy manager 215 defines a decoy and response policy. The response policy defines different decoy types, different decoy combinations, response procedures, notification services, and assignments of policies to specific network nodes, network users, groups of nodes or users or both. Once policies are defined, they are stored in policy database 230 with the defined assignments.
Each decoy server 240 includes a forensic alert module 242, which alerts management system 210 that an attacker is accessing the decoy server via an endpoint computer 110 of the network, and causes management server 210 to send forensic application 214 to the endpoint computer 110 that is accessing the decoy server. In an alternative embodiment of the present invention, decoy server 240 may store forensic application 214, in which case decoy server 240 may transmit forensic application 214 directly to the endpoint computer 110 that is accessing decoy server 240. In another alternative embodiment of the present invention, management server 210 or decoy server 240 may transmit forensic application 214 to a destination computer other than the endpoint computer 110 that is accessing decoy server 240.
Based on a current policy, deployer 213 receives a request from an endpoint computer 110 for deceptions to install, and deployer 213 decides what should be installed and what should be uninstalled, based on inter alia the assignment of endpoint computer 110 and the deception settings. CDGs are assigned to policies. If a CDG is assigned to a current policy that includes endpoint computer 110, then deployer 213 sends the CDG to endpoint computer 110 for installation. Otherwise, if the current policy does not include endpoint computer 110 and the CDG was previously installed on endpoint computer 110, then deployer 213 sends an instruction to endpoint computer 110 to uninstall the CDG.
Reference is made to
In order to add a CDG to the flow, when management server 210 determines the relevant deceptions to install, management server 210 chooses from the regular deceptions and the CDGs that are configured on the system. Translator 212 then validates the conditions of the CDG, and translates the CDG from their formal language description into an actual deception to install.
When endpoint computer 110 finishes the installation process, it sends the status of each deception to management server 210. Management server 210 saves the status in a snapshot of endpoint computer 110. As such, when the administrator or such other user deletes the CDG, or unassigns endpoint computer 110 from the policy, management server 210 knows the exact file or registry to look for, in order to uninstall the CDG.
Formal Deception Language
A basic construct is a custom deception entity (CDE), which has parameters inter alia as shown in TABLE II below.
The type parameter specifies whether the deception is a file-based custom deception, a registry-based custom deception, or an executable deception. TABLES III-V below indicate inter alia the parameters for each of these types of deceptions.
The following keywords inter alia are used for the formal deception language. Each keyword is to be replaced with actual deceptive content.
A custom deception group (CDG) is a set of CDEs. Custom deceptions API 211 exposes inter alia the following methods.
The input to translator 212 is combined with custom deception parameters and the contextual parameters vis-à-vis the specific endpoint; e.g., contextual users, running processes and installed applications. Translator 212 replaces keywords with the given input. E.g., if the deception type is SSH, management server 210 chooses an SSH trap server and replaces <SERVER_NAME> with the name of the trap server. If there are multiple <SERVER_NAME> keywords, then management server 210 finds a number of trap servers to replace the keywords.
It is noted that each CDG has its own specific conditions; e.g., processes that run on the system, and a file that exists on the file system. When translator 212 translates a CDG to deceptions, translator 212 must validate that the conditions are met in order to transmit the deceptions.
It will be appreciated by those skilled in the art that the above formal language for defining deceptions may be extended. E.g., plant deception file_deception(name, location, file_name, permission, visibility, content) with values(“deception_name”, “C:\Users”, “file.txt”, “READ-ONLY”, “hidden”, “content with <SERVER_NAME> and <USER_NAME>) where “process1” is in running_processes and operating_system=“Windows”
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made to the specific exemplary embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
6363489 | Comay et al. | Mar 2002 | B1 |
6618709 | Sneeringer | Sep 2003 | B1 |
7065657 | Moran | Jun 2006 | B1 |
7089589 | Chefalas et al. | Aug 2006 | B2 |
7093291 | Bailey | Aug 2006 | B2 |
7516227 | Cohen | Apr 2009 | B2 |
7574741 | Aviani et al. | Aug 2009 | B2 |
7636944 | Raikar | Dec 2009 | B2 |
7665134 | Hernacki et al. | Feb 2010 | B1 |
7694339 | Blake et al. | Apr 2010 | B2 |
7725937 | Levy | May 2010 | B1 |
7752664 | Satish et al. | Jul 2010 | B1 |
7945953 | Salinas et al. | May 2011 | B1 |
8015284 | Isenberg et al. | Sep 2011 | B1 |
8181249 | Chow et al. | May 2012 | B2 |
8181250 | Rafalovich | May 2012 | B2 |
8250654 | Kennedy et al. | Aug 2012 | B1 |
8375447 | Amoroso et al. | Feb 2013 | B2 |
8499348 | Rubin | Jul 2013 | B1 |
8528091 | Bowen et al. | Sep 2013 | B2 |
8549642 | Lee | Oct 2013 | B2 |
8549643 | Shou | Oct 2013 | B1 |
8719938 | Chasko et al. | May 2014 | B2 |
8739281 | Wang et al. | May 2014 | B2 |
8739284 | Gardner | May 2014 | B1 |
8769684 | Stolfo et al. | Jul 2014 | B2 |
8819825 | Keromytis et al. | Aug 2014 | B2 |
8856928 | Rivner et al. | Oct 2014 | B1 |
8881288 | Levy et al. | Nov 2014 | B1 |
8925080 | Hebert | Dec 2014 | B2 |
9009829 | Stolfo et al. | Apr 2015 | B2 |
9043905 | Allen et al. | May 2015 | B1 |
9124622 | Falkowitz et al. | Sep 2015 | B1 |
9152808 | Ramalingam et al. | Oct 2015 | B1 |
9240976 | Murchison | Jan 2016 | B1 |
9325728 | Kennedy et al. | Apr 2016 | B1 |
9356942 | Joffe | May 2016 | B1 |
9386030 | Vashist et al. | Jul 2016 | B2 |
9495188 | Ettema | Nov 2016 | B1 |
20020066034 | Schlossberg et al. | May 2002 | A1 |
20020194489 | Almogy et al. | Dec 2002 | A1 |
20030084349 | Friedrichs et al. | May 2003 | A1 |
20030110396 | Lewis et al. | Jun 2003 | A1 |
20030145224 | Bailey | Jul 2003 | A1 |
20040088581 | Brawn et al. | May 2004 | A1 |
20040128543 | Blake et al. | Jul 2004 | A1 |
20040148521 | Cohen et al. | Jul 2004 | A1 |
20040160903 | Gai et al. | Aug 2004 | A1 |
20040172557 | Nakae et al. | Sep 2004 | A1 |
20040255155 | Stading | Dec 2004 | A1 |
20050114711 | Hesselink et al. | May 2005 | A1 |
20050132206 | Palliyil et al. | Jun 2005 | A1 |
20050149480 | Deshpande | Jul 2005 | A1 |
20050235360 | Pearson | Oct 2005 | A1 |
20060010493 | Piesco et al. | Jan 2006 | A1 |
20060041761 | Neumann et al. | Feb 2006 | A1 |
20060069697 | Shraim et al. | Mar 2006 | A1 |
20060101516 | Sudaharan et al. | May 2006 | A1 |
20060161982 | Chari et al. | Jul 2006 | A1 |
20060224677 | Ishikawa et al. | Oct 2006 | A1 |
20060242701 | Black et al. | Oct 2006 | A1 |
20070028301 | Shull et al. | Feb 2007 | A1 |
20070039038 | Goodman et al. | Feb 2007 | A1 |
20070157315 | Moran | Jul 2007 | A1 |
20070192853 | Shraim et al. | Aug 2007 | A1 |
20070226796 | Gilbert et al. | Sep 2007 | A1 |
20070299777 | Shraim et al. | Dec 2007 | A1 |
20080016570 | Capalik | Jan 2008 | A1 |
20080086773 | Tuvell et al. | Apr 2008 | A1 |
20080155693 | Mikan et al. | Jun 2008 | A1 |
20090019547 | Palliyil et al. | Jan 2009 | A1 |
20090144827 | Peinado et al. | Jun 2009 | A1 |
20090222920 | Chow et al. | Sep 2009 | A1 |
20090241173 | Troyansky | Sep 2009 | A1 |
20090241191 | Keromytis et al. | Sep 2009 | A1 |
20090241196 | Troyansky et al. | Sep 2009 | A1 |
20090328216 | Rafalovich | Dec 2009 | A1 |
20100058456 | Jajodia et al. | Mar 2010 | A1 |
20100071051 | Choyi et al. | Mar 2010 | A1 |
20100077483 | Stolfo | Mar 2010 | A1 |
20100082513 | Liu | Apr 2010 | A1 |
20100251369 | Grant | Sep 2010 | A1 |
20100269175 | Stolfo et al. | Oct 2010 | A1 |
20110016527 | Yanovsky et al. | Jan 2011 | A1 |
20110154494 | Sundaram et al. | Jun 2011 | A1 |
20110167494 | Bowen | Jul 2011 | A1 |
20110214182 | Adams et al. | Sep 2011 | A1 |
20110258705 | Vestergaard et al. | Oct 2011 | A1 |
20110302653 | Frantz et al. | Dec 2011 | A1 |
20110307705 | Fielder | Dec 2011 | A1 |
20120005756 | Hoefelmeyer et al. | Jan 2012 | A1 |
20120084866 | Stolfo | Apr 2012 | A1 |
20120167208 | Buford et al. | Jun 2012 | A1 |
20120210388 | Kolishchak | Aug 2012 | A1 |
20120246724 | Sheymov et al. | Sep 2012 | A1 |
20120311703 | Yanovsky et al. | Dec 2012 | A1 |
20130061055 | Schibuk | Mar 2013 | A1 |
20130086691 | Fielder | Apr 2013 | A1 |
20130139256 | Tegreene | May 2013 | A1 |
20130139257 | Tegreene | May 2013 | A1 |
20130139258 | Tegreene | May 2013 | A1 |
20130139259 | Tegreene | May 2013 | A1 |
20130212644 | Hughes et al. | Aug 2013 | A1 |
20130227697 | Zandani | Aug 2013 | A1 |
20130263226 | Sudia | Oct 2013 | A1 |
20140082730 | Vashist et al. | Mar 2014 | A1 |
20140101724 | Wick et al. | Apr 2014 | A1 |
20140115706 | Silva et al. | Apr 2014 | A1 |
20140201836 | Amsler | Jul 2014 | A1 |
20140208401 | Balakrishnan et al. | Jul 2014 | A1 |
20140237599 | Gertner et al. | Aug 2014 | A1 |
20140259095 | Bryant | Sep 2014 | A1 |
20140298469 | Marion et al. | Oct 2014 | A1 |
20140310770 | Mahaffey | Oct 2014 | A1 |
20140337978 | Keromytis et al. | Nov 2014 | A1 |
20140359708 | Schwartz | Dec 2014 | A1 |
20150007326 | Mooring et al. | Jan 2015 | A1 |
20150013006 | Shulman et al. | Jan 2015 | A1 |
20150047032 | Hannis et al. | Feb 2015 | A1 |
20150047035 | Arrowood | Feb 2015 | A1 |
20150074750 | Pearcy | Mar 2015 | A1 |
20150074811 | Capalik | Mar 2015 | A1 |
20150096048 | Zhang et al. | Apr 2015 | A1 |
20150128246 | Feghali et al. | May 2015 | A1 |
20150156211 | Chi Tin et al. | Jun 2015 | A1 |
20150264062 | Hagiwara et al. | Sep 2015 | A1 |
20150326587 | Vissamsetty et al. | Nov 2015 | A1 |
20150326598 | Vasseur et al. | Nov 2015 | A1 |
20160019395 | Ramalingam et al. | Jan 2016 | A1 |
20160080414 | Kolton et al. | Mar 2016 | A1 |
20160182545 | Stolfo | Jun 2016 | A1 |
20160212167 | Dotan et al. | Jul 2016 | A1 |
20160261608 | Hu et al. | Sep 2016 | A1 |
20160300227 | Subhedar et al. | Oct 2016 | A1 |
20160308895 | Kotler et al. | Oct 2016 | A1 |
20160314111 | Fougner | Oct 2016 | A1 |
20160323316 | Kolton et al. | Nov 2016 | A1 |
20160373447 | Akiyama et al. | Dec 2016 | A1 |
20170032130 | Durairaj et al. | Feb 2017 | A1 |
20170134423 | Sysman | May 2017 | A1 |
20170324777 | Ohayon | Nov 2017 | A1 |
20170344750 | Ekambaram | Nov 2017 | A1 |
20180018657 | Sawant | Jan 2018 | A1 |
Number | Date | Country |
---|---|---|
2006131124 | Dec 2006 | WO |
2015001969 | Jan 2015 | WO |
2015047555 | Apr 2015 | WO |
Entry |
---|
Wikipedia, Active Directory, https://en.wikipedia.org/wiki/Active_Directory, Jun. 24, 2015. |
Wikpedia, Apple Filing Protocol, https://en.wikipedia.org/wiki/Apple_Filing_Protocol, Aug. 14, 2015. |
Wikipedia, DMZ (computing), https://en.wikipedia.org/wiki/DMZ_(computing), Jun. 17, 2015. |
Wikipedia, Domain Name System, https://en.wikipedia.org/wiki/Domain_Name_System, Jul. 14, 2015. |
Wikipedia, Firewall (computing), https://en.wikipedia.org/wiki/Firewall_(computing), Jul. 14, 2015. |
Wikipedia, Honeypot (computing), https://en.wikipedia.org/wiki/Honeypot_(computing), Jun. 21, 2015. |
Wikipedia, Kerberos (protocol), https://en.wikipedia.org/wiki/Kerberos_(protocol), Jun. 30, 2015. |
Wikipedia, Lightweight Directory Access Protocol, https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol, Aug. 15, 2015. |
Wikipedia, LM hash, https://en.wikipedia.org/wiki/LM_hash, Jun. 8, 2015. |
Wikipedia, RADIUS, https://en.wikipedia.org/wiki/RADIUS, Aug. 16, 2015. |
Wikipedia, Rainbow table, https://en.wikipedia.org/wiki/Rainbow_table, Jul. 14, 2015. |
Wikipedia, Secure Shell, https://en.wikipedia.org/wiki/Honeypot_(computing), Jul. 12, 2015. |
Wikipedia, Security Information and Event Management, https://en.wikipedia.org/wiki/Security_information_and_event_management, Jun. 23, 2015. |
Wikipedia, Tarpit (networking), https://en.wikipedia.org/wiki/Tarpi_networking), Jul. 3, 2014. |
Mishra et al., Intrusion detection in wireless ad hoc networks, IEEE Wireless Communications, Feb. 2004, pp. 48-60. |
Zhang et al., Intrusion detection techniques for mobile wireless networks, Journal Wireless Networks vol. 9(5), Sep. 2003, pp. 545-556, Kluwer Academic Publishers, the Netherlands. |
U.S. Appl. No. 15/004,904, Office Action, dated May 27, 2016, 16 pages. |
U.S. Appl. No. 15/004,904, Notice of Allowance, dated Oct. 19, 2016, 13 pages. |
U.S. Appl. No. 15/175,048, Notice of Allowance, dated Oct. 13, 2016, 17 pages. |
U.S. Appl. No. 15/175,050, Office Action, dated Aug. 19, 2016, 34 pages. |
U.S. Appl. No. 15/175,050, Office Action, dated Nov. 30, 2016, 31 pages. |
U.S. Appl. No. 15/175,050, Notice of Allowance, dated Mar. 21, 2017, 13 pages. |
U.S. Appl. No. 15/175,052, Office Action, dated Feb. 13, 2017, 19 pages. |
U.S. Appl. No. 15/175,052, Office Action, dated Jun. 6, 2017, 19 pages. |
U.S. Appl. No. 15/175,054, Notice of Allowance, dated Feb. 21, 2017, 13 pages. |
U.S. Appl. No. 15/403,194, Office Action, dated Feb. 28, 2017, 13 pages. |
U.S. Appl. No. 15/403,194, Notice of Allowance, dated Jun. 16, 2017, 9 pages. |
U.S. Appl. No. 15/406,731, Notice of Allowance, dated Apr. 20, 2017. |
PCT Application No. PCT/IL16/50103, International Search Report and Written Opinion, dated May 26, 2016, 9 pages. |
PCT Application No. PCT/IL16/50579, International Search Report and Written Opinion, dated Sep. 30, 2016, 7 pages. |
PCT Application No. PCT/IL16/50581, International Search Report and Written Opinion, dated Nov. 29, 2016, 10 pages. |
PCT Application No. PCT/IL16/50582, International Search Report and Written Opinion, dated Nov. 16, 2016, 11 pages. |
PCT Application No. PCT/IL16/50583, International Search Report and Written Opinion, dated Dec. 8, 2016, 10 pages. |
U.S. Appl. No. 15/175,052, Notice of Allowance, dated Jan. 2, 2018, 9 pages. |
U.S. Appl. No. 15/679,180, Notice of Allowance, dated Mar. 26, 2018, 14 pages. |
U.S. Appl. No. 15/722,351, Office Action, dated Mar. 9, 2018, 17 pages. |
U.S. Appl. No. 15/722,351 Office Action, dated Aug. 8, 2018, 8 pages. |
U.S. Appl. No. 15/682,577, Notice of Allowance, dated Jun. 14, 2018, 15 pages. |
U.S. Appl. No. 15/641,817, Office Action, dated Jul. 26, 2018, 29 pages. |