FIELD OF THE INVENTION
The present invention generally relates to network security and in particular to an automated system and method for detecting, evaluating and reporting network threats.
The threat landscape has grown exponentially since the early 2000's, along with this landscape technology has continued to outpace itself, data has continued to grow, and the qualified people with the skillsets to sift through this data has shrunk. Computer security has become one of the largest markets in the technology field. It is becoming quintessential to everyday business, protection of intellectual property and to organizations, a way to stabilize the ever growing cyber arms race faced by nation states surrounding the economic empires of Americas, European, Russian, and Asia.
By way of example, there is a lack of ability and need to present security data to two major consumers of this type or category of data including analysts and customers. In current threat landscape, traditional portals that support security analysis or a customer base do not provide the comprehensive approach that is needed with the amount of data that is typically required to be presented in order for decisions to be made quickly, made by the right people, and made for the right reasons. These “security portals” typically do not have this comprehensive approach reflected to the customer in an easily readable, graphics intensive illustration that shows real-time threat data, the root cause analysis, metrics based on analysts assigned to monitor and security company assets, and the vulnerabilities associated with those assets.
Embodiments of the present invention, including systems and methods, serve to increate automation, analysis, and reporting of analysis to customers through several functions, programs. Systems and methods according to the teachings of the present invention provide advancements in areas that traditional security reporting and operations portals do not provide.
Embodiments of the invention may provide Real-Time Labeling, Sorting, Ranking of Incidents, by way of example. One embodiment may comprise a threat intelligence product that feeds portal real-time incident information providing situation awareness of sorted, categorized/labeled and ranked for our analysts.
Metrics and Routing of Incident Information may be provided. By way of example. a threat intelligence system may include analyst profiles stored which have inputs about analyst capabilities, background, and the like, that allow intelligent decision making by an incident routing system so that incidents that arrive at an analyst's desk match not only a skill level, but familiarity with customer assets affected by the incident.
Pivoting to Security Devices may be provided. By way of example, a threat intelligence system may comprise built-in links and direct software calls to various brands of security devices that are presented to the analyst so that a simple “click” will allow them to “pivot” into security devices to investigate incidents alerted to them by our threat intelligence programs.
Common Analysis Processes may be provided. By way of example, a threat intelligence system may allow triage of alerted incidents through simultaneous editing and work flow on incidents with real-time chat, spell checking, customer checks to make sure tickets are for the customer intended, and war-room response to involve a full suite of analysis by using contextual searches on previous written tickets.
Believability and Reliability may be provided. By way of example, a system may include functionality that takes input from the analyst that is sent to a threat intelligence program in order to help with believability and reliability rankings of the incident alerts that our analysts see.
Scenario Based Ticket Creation may be provided. A system may provide an input form with various menus that allow an analyst to build an illustrated incident scenario such as type of attack, type of asset, time based analysis, and transaction base analysis that provides overview through graphical entity illustrations to the client.
Customizable Views may be provided. By way of example, a system may provide a module-based, customized view in which customers have over 30 different types of data views that can be displayed from parabolic graphics, 3D views of geo-locations, etc.
Link Analysis may be provided, wherein a system provides a robust illustration of incidents that characterize incidents in terms of entities, relationship based computer to computer transactions based on data flow analysis, exploit used, success rate, compromise rate, and ranking of the data stream used in the incident, by way of example.
Root Cause Analysis may be provided. By way of example, a system may provide insight into the root cause of the incident that was reported. The incident may be categorized based on analyzing the timeline and/or sequence of events, confirmation of an exploit and or attempted exploit of the computer system, and human analysis of the event.
Vulnerability Data Association may be provided. By way of example, a system may provide an interface and logical mapping of enterprise IT assets across incidents, ranking those assets per a level of criticality to business units and or business objectives of the customer. Vulnerability data may be paired with asset information and incident information in order to provide the customer with a holistic view of their security posture.
Asset Management may be provided. By way of example, a system may provide an ability to receive in different file formats, and/or export from leading IT Asset Products the asset lists for customer enterprise computer systems and infrastructure, so that assets are linked to the computer systems that are described in the incident that is being reported to the customer.
Metrics may be provided, wherein by way of example, a system is enriched with a program that drives calculations of metrics on the analyst's over a period of time, allowing customers to be served by not only the correct analyst for their business vertical, but serve to allow the customer insight into threat intelligence operations by systems and methods of the invention, and the talent that serves a contract between a provider of embodiments of the invention and the customer.
One method aspect of the invention may include a computer-implemented method for detecting and reporting an internet threat. The method may comprise collecting a plurality of cyber threat data for an incident from a plurality of threat intelligence sources; weighting the cyber threat data based on past performance by the threat intelligence source providing the data; sorting the cyber threat data by severity and reliability for providing indicators for the incident; connecting to a client system; monitoring incidents of the cyber threats on the client system; retrieving incidents detected on the client system; selecting at least one incident by an analyst; displaying known information about the at least one incident to the analyst; analyzing the incident by the analyst based on the indicators of the cyber threat data; transmitting an incident report to the client system by the analyst, wherein the incident report includes a recommended course of action and modification to the user system; closing the incident report; and updating a database with the closed incident report.
It will be understood by those of ordinary skill in the art that where reference is made to a system, an appropriate related method is applicable and supported by the present disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention are described by way of example with reference to the accompanying drawings in which:
FIG. 1 is a block diagram illustrating one embodiment of the invention providing Analyst and Customer components;
FIG. 2 is a block diagram illustrating functions of a client side of FIG. 1;
FIG. 3 is a block diagram illustrating available client commands;
FIG. 4 illustrates a customizable dashboard according to the teachings of the present invention, by way of non-limiting example;
FIG. 5 illustrates dashboard plug and play modules that draw from data points associated within an incident database, analyst inputs and raw intelligence which provide customizable view points and/or mini dashboards, by way of example;
FIG. 6 is a flow chart illustrating an asset management functionality of the system, wherein surrounding data is organized and associated to assets in order to provide drill down features of link analysis of FIG. 5;
FIG. 7 is a flow chart illustrating a collection of metrics that help feed the decision-making processes involved in the routing engine referred to in FIG. 7; and
FIG. 8 is a flow chart illustrating one computer-implemented method for detecting and reporting an internet threat according to the teachings of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS
The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown by way of illustration and example. This invention may, however, be embodied in many forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
With reference initially to FIG. 1, one system 10 and associated method according to the teachings of the present invention is herein described, by way of example, as comprising two large components that fall in the category of data display components, which are aptly named Analyst and Customer. These two data display functions are both supported by two components named client side 12 and server side 14.
The client side 12 is a set of procedural steps taken in the lifecycle of one incident report. A connection 16 to the server side 14 is opened. A list of incidents is retrieved 18 and displayed 20. An analyst selects an incident and all known information is displayed to the analyst. After an incident is claimed 22, reporting fields are displayed for customer and internal reporting made 24. When reporting 24 has finished, the analyst closes the incident 26 and an incident database 28 is updated with the closed report.
With continued reference to FIG. 1, the server side 14 is an event driven and input driven process which delivers client-side 12 requested information about the incidents. After receiving the request to open a connection to the client, the server side 14 retrieves a list of incidents from the incident database 28 and passes it to the client. Additional information is made available to the client for all incidents passed in the list. Further, the client has multiple features available as illustrated with reference to FIG. 3. When an incident is claimed, it is updated in the database and all clients are informed of the claim. Reports are stored in the database as the client fills them out, and when the report is marked as complete 30 in the database, and all clients are informed of the update.
The first component that makes up the client side 12 program is called, “Establish Connection.” After authenticating, the socket connection 16 is established with the server side 14. Data are then synced across client and server sides 12, 14. Once all necessary items are set to sync and other objects used only by the client are instantiated, the client requests 18 the list of incidents from the server side 14.
After connecting to the server side 14, the client receives the list of incidents as an array of objects. Each item in the list represents one incident with several key fields meant to help an analyst quickly differentiate one incident from another. Each incident is parsed 34 into an HTML list 35 item and table row, given a class to help differentiate open incidents from claimed ones, and a click event handler is attached to each one. The list of incidents is then animated into the document for the analyst to interact with. When an incident is clicked, the client requests all additional information about the incident from the server.
In a claim incident, the data from the server-side 14 are returned as a dictionary of key value pairs. Each pair represents one field and its respective value about the incident. The pairs are parsed into table cells and displayed on the screen. If the incident had already been claimed by another analyst, no other options are made available beyond viewing the information about the incident as well as which analyst is handling it. If an analyst has not already claimed the incident, a claim button 37 is made visible. Clicking the button 37 sends the claim command to the server. The client then reinterprets the incident as being claimed by the analyst. When the incident is marked as claimed 30 by the analyst, the reporting process 24 becomes available.
After claim incident process flow has finished, the reporting process 24 becomes available to the analyst. Once the reporting process 24 is available, two fields are displayed, one for a client report, and one for internal reporting. Key press event handlers are attached to each field that sends a command to the server to save the modified report. A close report button 27, as illustrated with reference to FIG. 2 is also made visible which when clicked will send a command to the server side 14 closing 26 the completed report. After receiving confirmation from the server side 14, the view is reset and the updated incident list is requested again. A close report functional flow is illustrated with reference again to FIG. 3.
As herein described by way of example for one embodiment, there are two ways that the incident is sorted 36 either by a client-defined filter and/or the list is sorted comparing severity, believability, and the time the incident was discovered. The list is then parsed into a browser-friendly format and sent back to the client for display. When the client requests additional information about an incident, all information known about the incident is retrieved from the database, parsed, and sent back 38 to the client for display. Upon receiving the command to mark an incident as claimed 30 , the record is updated in the database 28, and the incident is no longer available to other clients for claiming. The reporting fields associated with the incident are unlocked and the server side 14 sends the client the signal to allow reporting. As the report is filled out on the client side 12, all changes are sent to the server side 14 to be stored to allow multitasking by the analyst. If the incident information is requested again later, the reports are sent along with it to allow analysts to work on multiple incidents at once while preventing data loss. When the client sends the command to close the report 26, the record is marked as closed and is removed from the display 20. The record is no longer available in the standard filter and must be specially requested by an analyst to view any closed report.
Customizable Views are available. By way of example and with reference to FIG. 4, a Customizable Dashboard 40 is meant to display metrics, statistics, and live insight into a customer's network. Information is displayed through dynamic widgets 42 that can be moved, resized, removed, or added as the customer sees fit, with a persistent layout that is stored for each user via a profile. The widgets 42 serve as an easy entry point for drilldown on incidents; threat Intel, assets, analysts, etc.
Link Analysis 44 is available. Data from analyst reports and information provided by automated analytics is processed, producing a graph showing the links between incidents and other events in the customer's network. Information is displayed as an interactive web, allowing for customer drilldown into the individual events to better analyze the incident.
Further, systems and methods according to the teachings of the present invention provide Root Cause Analysis 46, Vulnerability Data Association 48, and Asset Management 50. The system 10 provides insight into the root cause of the incident that was reported. When the forms are generated for the asset, that asset is assigned a category and associated with vulnerability information input previously by a customer. An analyst that examines the timeline then categorizes the incident or sequences of events, confirmation of exploit or attempted exploit.
An interface allows the customer to import vulnerability data 48 into the customer portal that is stored in the incident database 28, tied to asset management 50. When an incident affects a certain asset, the display page shows a logical mapping of assets across incidents, ranking those per level of criticality. Analysts are then routed via the server side 14 this information per the metrics and routing functionality. A page is dedicated to allowing the customer to manually add asset information regarding types of devices, and associating priority with each respective device. By providing this information, the customer helps tailor the automated response, affecting how incidents are displayed to an analyst by differentiating critical systems from normal devices.
As analysts operate on incidents identified in the customer's environment, statistics are tracked and displayed to the customer. Information like most severe incidents identified, number of false positives, average incidents per day, asset with most number of incidents, etc. are all available, and all act as starting points for drilldown.
Embodiments of the system are built in module sections of code client side 12 and server side 14, which support the architecture of both system analyst dashboard and customer dashboard. By way of non-limiting example only, the tickets and analyst part is known as analyst and the customer dashboard is known as customer.
In order to provide the efficient sharing of data between analysts and the threat intelligence engine in a security operations center, reference is again made to FIG. 3. As illustrated in FIG. 3 for retrieving an incident list 18c, a specific process flows where information presented to the analysts is controlled by two factors such as client-driven filter 36 profiles about the analyst and the threat intelligence alert which is sorted by performing machine learning and human analysis on comparing the severity, believability, reliability and timing of incident discovery. These factors are weighted to perform averages over determinate periods of time increasing the intelligence about the speed with which analysts are provided with the latest incident based on threat intelligence feeds and automated direct code access to enterprise security devices. The objective of Incident List retrieval 18 functionality is to provide real-time, near instant streaming of incidents to analysts that are ranked in order to provide prioritization through criticality, asset, vulnerability, root-cause, and the like.
The system 10 provides advanced metrics and routing of incident information. Referring again to FIG. 3, block entitled “Send Client Incident List”38 under the retrieve incident information process flow 18, is where the portal has profiles stored of SOC analysts, measured by key words, years of experience, familiarity with tools, understanding of customer network and assets, etc. The server side 14 engine makes efficient routing changes and collects metrics on analysts so that incidents match not only skill level but also various other degrees of experience in different categories uses these profiles.
While improving efficiency of data analysis, sharing of data, routing of incidents is important and also builds contextual information based on what enterprise device detected the incident and or threat that should be presented to the analyst to triage. In order to provide efficiency and speed to investigative analysis in security operation centers (SOC), the portal provides direct links to the enterprise security devices in the box called “Send Client Incident List ”52 at allows analysts to pivot directly to information that is more detailed than the alert, this allows for what is termed as deep analysis.
Automating common analysis processes on the analyst side of the system 10 is desirable for improving analyst processes. Referring again to FIG. 1, a process flow is illustrated with reference to the client side 12 incident flow for how analysts claim incidents from the client side program. This process flow parses the incident information, presents this to an analyst, which in return opens a flexible web 2.0 based chat session to similar ranked analysts allowing for editing and collaboration across ticket portals. In this routine are various checks to make sure the incident is assigned correctly, given the right priority, that spell check and customer are correct and also provides an administrative review option for junior analysts to senior analysts.
In order to provide an avenue for machine learning algorithms to improve processes, the system utilizes a believability and reliability ranking engine that helps to tailor the incident information the is processed and presented the analyst. Parts of this functionality are illustrated with reference again to FIG. 3 where all “incident fields” are retrieved as the threat intelligence engine has informed the incident database of previous ranking of believability, and reliability. With continued reference to FIG. 3 regarding an update report function 54, the analyst can provide human based input to teach the machine learning algorithm of whether the incident was a false positive, the threat intelligence was not correct, and or the threat has since moved and the threat intelligence data needs to be retired because its finite life period has expired, and the information was not used by threat actors recently, etc.
In order to add in the customer dashboard 40 creation, and the illustration of complex incidents, the system 10 also utilizes cutting edge techniques to allow human analysis to illustrate the scenario that correctly describes the incident routed to the analyst. With reference again to FIG. 1, referencing an analyst reporting, there are a multitude of drop down menus with entities, attack types, scenario language that is used to build from a form based input the entire attack scenario of the incident going as granular as known malware families and or threat actors that are being tracked by the operations centers that attack certain customer bases.
Displaying incident information to clients in an intelligent, comprehensive, collated, efficient, and illustrative way that combines power of root-cause, link analysis, vulnerability and asset information is ever more important to give clients and users the insight into their defensive posture, something that larger, branded, and outdated web portals have tried to do.
The system 10 starts the display engine with a series of graphical widgets 42 that are event driven consoles, which originate from various data sources. Referring to FIG. 5, there are a series of plug and play modules that draw from data points associated within the incident database, analyst inputs and raw intelligence which provide customizable view points and or mini dashboards such as link analysis in the form of parabolic graphs, geo-location view points, threat intelligence highlighted view points, etc. These modules are not selected all at once by the customer view point but are rather a menu of options that allow over 75 different customizations for preparation of data fed from incident ticketing, analysis, human analysis, threat intelligence, open source intelligence gathering, and “darknet” searching providing trademark, company, brand protection trends as related to OSIM (open source intelligence methodology) employed by analysts and automated resources.
The system 10 also provides a cutting edge presentation layer built around link analysis theory. Reference again to FIG. 5 illustrates that the data points from an incident, wherein all entities involved are given graphical characters, are put in a sequence that allow full visual playback for the incident. These data links are graphical characters that hold menu links allowing further drilldown by said customer into computer specific log files, screen captures, analyst notes.
The system 10 stores large amounts of what is termed “surrounding data”, wherein surrounding data are data about an organizations enterprise including assets, network names, host names, vulnerability data associated with the assets. FIG. 6 illustrates the asset management 50 functionality of the system, in which the surrounding data is are organized and associated to assets in order to provide the drill down features of link analysis in FIG. 5. The system 10 has a flexible parsing engine allowing upload of asset lists in industry standard formats and populates this into the incident database. Vulnerability data about particular assets are linked directly to those assets in the incident database. Presentation of these data is a sub-routine handled by link analysis in FIG. 5 where the “surrounding data” is retrieved. The system 10 takes analyst input, illustrated with reference again to FIG. 1, and allows analysts to report on a root cause of the incident. This root cause is associated with the vulnerability data inside the incident database adding to the “surrounding data” collected and or inputted into the system.
In order to gather metrics on large teams of analysts, the system 10 includes a metrics engine 56, illustrated by way of example in FIG. 7 titled “Calculate requested metrics across all sets of records”. This calculation allows large teams of analysts to be ranked on various attributes from close of incidents, what type of incidents handled over period of time, level of incident handled on daily or weekly basis. FIG. 7 allows for collection of metrics that help feed the decision-making processes involved in the routing engine referred to in FIG. 3.
By way of further example and with reference to FIG. 8, one method aspect of the invention may include a computer-implemented method 100 for detecting and reporting an internet threat. The method 100 may comprise collecting a plurality of cyber threat data 102 for an incident from a plurality of threat intelligence sources; weighting the cyber threat data 104 based on past performance by the threat intelligence source providing the data; sorting the cyber threat data 104 by severity and reliability for providing indicators for the incident; connecting to a client system; monitoring incidents 110 of the cyber threats on the client system; retrieving incidents 112 detected on the client system; selecting 114 at least one incident by an analyst; displaying 116 known information about the at least one incident to the analyst; analyzing 118 the incident by the analyst based on the indicators of the cyber threat data; transmitting 120 an incident report to the client system by the analyst, wherein the incident report includes a recommended course of action and modification to the user system; closing 122 the incident report; and updating 124 a database with the closed incident report.
Flowcharts and block diagrams herein described illustrate architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments. Therefore, it will be understood by those of skill in the art that each block in the flowchart or block diagram may represent a module, segment, or portion of code, which comprises one or more executable computer program instructions for implementing the specified logical function or functions. Further, some implementations may include the functions in the blocks occurring out of the order herein presented. By way of non-limiting example, two blocks shown in succession may be executed substantially concurrently, or the blocks may at times be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and flowcharts, and combinations of blocks in the block diagram and flowchart illustrations, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Aspects of various embodiments may be embodied as a system, method or computer program product, and accordingly may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, and the like) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a circuit, module or system. Furthermore, aspects of various embodiments may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon. It is understood that the computer implemented method herein described operates with readable media relating to non-transitory media, wherein the non-transitory computer-readable media comprise all computer-readable media, with the sole exception being a transitory, propagating signal.
Any combination of one or more computer readable media may be utilized. A computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, by way of non-limiting example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific non-limiting examples of the computer readable storage medium may include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, by way of non-limiting example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, and the like, or any suitable combination thereof. Computer program code for carrying out operations for aspects of various embodiments may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the C programming language or similar programming languages. The program code may also be written in a specialized language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. The remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (by way of non-limiting example, through the Internet using an Internet Service Provider).
Although the invention has been described relative to various selected embodiments herein presented by way of example, there are numerous variations and modifications that will be readily apparent to those skilled in the art in light of the above teachings. It is therefore to be understood that, within the scope of the claims supported by this specification, the invention may be practiced other than as specifically described.