Reference is made to FIG. 1, which is a simplified diagram of a prior art enterprise network 100 connected to an external internet 10. Network 100 is shown generally with resources including computers 110, databases 120, switches and routers 130, and mobile devices 140 such as smart phones and tablets, for ease of presentation, although it will be appreciated by those skilled in the art that enterprise networks today are generally much more complex and include other devices such as printers, other types of network elements such as relays, and any Internet of Things objects. The various connections shown in FIG. 1 may be direct or indirect, wired or wireless communications, or a combination of wired and wireless connections. Computers 110 and databases 120 may be physical elements or logical elements, or a mix of physical and logical elements. Computers 110 and databases 120 may be virtual machines. Computer 110 and databases 120 may be local, remote or cloud-based elements, or a mix of local, remote and cloud-based elements. Computers 110 may be client workstation computers, or server computers including inter alia file transfer protocol (FTP) servers, email servers, structured query language (SQL) servers, secure shell (SSH) servers and other application servers, or a mix of client and server computers. A corporate information technology (IT) department manages and controls network 100 in order to serve the corporate requirements and meet the corporate needs.
Access to computers 110 and servers 120 in network 100 may optionally be governed by an access governor 150, such as a directory service, that authorizes users to access 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 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 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 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 a 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.
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 enterprise 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 stealing data, using data and systems, 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 orientation, movement and propagation, and includes 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 and organization structure, learns “where can I go from my current step” and “how can I go from my current step (privileged required)”, and learns implemented security solutions, and then operates in accordance with that data. One method to defend against such attacks, termed “honeypots”, is to plant and monitor misleading information/decoys/bait, with the objective of the attacker learning of their existence and then consuming those bait resources, and to notify an administrator of the malicious activity. Background information about honeypots is available at Wikipedia.
Conventional honeypot systems operate by monitoring access to a supervised element in a computer network. Access monitoring generates many false alerts, caused by non-malicious access from automatic monitoring systems and by user mistakes. Conventional systems try to mitigate this problem by adding a level of interactivity to the honeypot, and by performing behavioral analysis of suspected malware if it has infected the honeypot itself.
An advanced attacker may use different attack techniques to enter a corporate network and to move laterally within the network in order to obtain its resource goals. The advanced attacker may begin with a workstation, server or any other network entity to start his lateral movement. He uses different methods to enter the first network node, including inter alia social engineering, existing exploit and/or vulnerability that he knows to exercise, and a Trojan horse or any other malware allowing him to control the first node.
Reference is made to FIG. 2, which is a simplified diagram of enterprise network 100 with attack vectors of an attacker at an early stage of lateral movement. Once an attacker has taken control of a first node in a corporate network, he uses different advance attack techniques for orientation and propagation and discovery of additional ways to reach other network nodes in the corporate network. Attacker movement from node to node is performed via an “attack vector”, which is an object in memory or storage of a first computer that may be used to access a second computer.
Exemplary attack vectors include inter alia credentials of users with enhanced privileges, existing share names on different servers, and details of an FTP server, an email server, an SQL server or an SSH server and its credentials. Attack vectors are often available to an attacker because a user did not logoff his workstation or clear his cache. E.g., if a user contacted a help desk and gave the help desk remote access to his workstation and did not logoff his workstation, then the help desk access credentials may still be stored in the user's local cache and available to the attacker. Similarly, if the user accessed an FTP server, then the FTP account login parameters may be stored in the user's local cache or profile and available to the attacker.
Attack vectors enable inter alia a move from workstation A→server B based on a shared name and its credentials, connection to a different workstation using local admin credentials that reside on a current workstation, and connection to an FTP server using specific access credentials.
Reference is made to FIG. 3, which is a simplified diagram of enterprise network 100 with attack paths of an attacker at a later stage of lateral movement. Whereas IT “sees” the logical and physical network topology, an attacker that lands on the first network node “sees” attack vectors that depart from that node and move laterally to other nodes. The attacker can move to such nodes and then follow “attack paths” by successively discovering attack vectors from node to node.
When the attacker implements such a discovery process on all nodes in the network, he will be able to “see” all attack vectors of the corporate network and generate a “maximal attack map”. Before the attacker discovers all attack vectors on network nodes and completes the discovery process, he generates a “current attack map” that is currently available to him.
An objective of the attacker is to discover an attack path that leads him to a target network node. The target may be a bank authorized server that is used by the corporation for ordering bank account transfers of money, it may be an FTP server that updates the image of all corporate points of sale, it may be a server or workstation that stores confidential information such as source code and secret formulas of the corporation, or it may be any other network node that is of value to the attacker and is his “attack goal node”.
When the attacker lands on the first node, but does not know how to reach the attack goal node, he generates a current attack map that leads to the attack goal node.