Patent Publication Number: US-11044263-B2

Title: Systems and methods for threat discovery across distinct organizations

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This is a continuation of previously filed, co-pending U.S. patent application Ser. No. 16/006,236, filed on Jun. 12, 2018. 
     INCORPORATED BY REFERENCE 
     The disclosure and figures of U.S. patent application Ser. No. 16/006,236, filed on Jun. 12, 2018, are incorporated by reference herein for all purposes as if set forth in their entirety. 
    
    
     BACKGROUND 
     Organizations of all types and sizes face ever increasing threats from malicious attacks or security breaches, including attacks from traditional electronic criminal activity (“e-crime”), and/or from cyber-espionage actors. E-crime actors generally are motivated by monetary reward and often are not concerned about their tactics or actions being discovered and eradicated from individual victims, typically launching widespread spam campaigns and/or ransomware attacks without discriminating as to who they target. Cyber-espionage actors, on the other hand, usually have a specific objective, e.g., corporate espionage, identity theft, political or other attacks, etc. . . . , and generally try to remain more covert and evade detection, which may slow or frustrate their overall operation/goals. For example, it is common to see nation or state-sponsored groups launch cyber-attacks against particular industries or entities without overt flags or readily apparent patterns to such attacks. However, over time, indicators of compromise (IOC&#39;s) or other forensic marks or attributes can be revealed, such as when an organization audits their information systems and/or when such security attacks have been discovered. Knowing and curating attributes/marks, techniques or other indicators of compromise indicative of malicious attacks, can aid in threat detection, but when covert techniques are employed, i.e., to make such indicators of compromise more closely mimic more routine business actions/activities, the fidelity of such attributes as predictive of an attack (is lowered), such that using such low fidelity indicators of compromise can create a substantial amount of false positive alerts, which in turn can generate and require costly manual analysis. Accordingly, a need exists for improved detection of security threats across a variety of organizations and/or industries. The present disclosure addresses the foregoing and other related and unrelated problems/issues in the art. 
     SUMMARY 
     Briefly described, in one aspect, the present disclosure is directed to systems and methods for the review and use of security related data, such as data logs, raw data, forensic information, etc., that includes low fidelity or risk indicators of compromise (IOC&#39;s), to generate risk scores indicative of or associated with potential attacks or acts of compromise, e.g., malicious acts or security threats to individual security clients, based on clustering and/or similarities between such security clients and other organizations that have experienced similar threats associated with such low fidelity IOCs. Such risk scores can be used to determine client threat rankings using probabilities computed utilizing a likelihood that an IOC may be false-positive prone. Such client threat rankings in turn can be used as a similarity and risk measurements to help identify and/or predict new threats of which a client or clients may not be aware. The risk scores further can be dynamically updated or varied as new security data is created or arrives. 
     In one aspect, a method for threat discovery across distinct organizations or clients can include defining or selecting a series of indicators of compromise. Such indicators of compromise can include, for example, IP addresses, access times and/or dates, email addresses, countries or places of origin, traffic types, or other selected factors or activities that have been found or suspected to be linked to threats or malicious activities. 
     Forensic information, for example, security logs, specific security related data, raw data, or other suitable information/data associated with the defined/selected indicators of compromise, which may be aggregated by an MSSP or the like, can be accessed and used to curate the list of indicators of compromise based upon their occurrence, i.e., occurrence in known Incident Response (IR) engagements. For example, particular access times and/or dates, IP addresses, and/or other related information generated from IR engagements (e.g. known or detected malicious attacks, identification(s) of threat actors, etc.), involving the defined or selected indicators of compromise can be used to determine similarity scores representative of a fidelity or probability for each selected or defined indicator of compromise or series of indicators of compromise indicating a threat/malicious activity. Such fidelity scoring also can take into account a propensity or likelihood that the selected/defined indicators of compromise will result in or otherwise generate false positives. 
     The prevalence or recurrence of the indicators of compromise further can be searched across a broad client base, and multiple fractional values indicative of a likelihood of probability of a threat or event occurring with each indicator of compromise can be generated. 
     Risk scores thereafter will be produced for each of a series of selected or accessed organizations or clients within a client base in which each selected or defined indicator of compromise has been detected in such clients&#39; data, generally over a selected incremental time period such as each hour of a day, day of a set date range, etc., using the fractional values indicating a likelihood of a responsive (e.g., threat) event occurring with the indicator(s) of compromise being generated by each such client, as well as detection of events and/or generated alerts occurring within the selected analysis period. 
     The client risk scores can be used for ranking client similarities based upon the occurrence/recurrence of the indicators of compromise. These client rankings also can be used to cluster or group organizations/clients into a plurality of similar client groups or clusters. Other clustering grouping information, such as industry type, threat actor motive, employee information, such as number, type of employees, countries of operations, market capital, technology infrastructure, ranked information based on security risks to business or data leakage, disruption, etc. also can be taken into account to group clients. The composite result/output of the rankings of such clustered organizations/clients and their risk scores based on the selected/defined indicators of compromise further can be utilized for identifying possible new threats that a client was not aware of and/or had not yet experienced/detected. In addition, if it is determined that a client has been exposed to a threat or attack, an alarm can be generated and/or remediating or preventative action can be taken for threat prevention for each organization/client in the respective group or cluster. 
     The various indicators of compromise also can be updated in light of threat detection information and/or other new data. For example, new indicators of compromise can be defined or selected and/or the fidelity of the existing indicators of compromise can be updated or otherwise altered. 
     In another aspect, a system for threat discovery/detection across distinct organizations/clients can be provided. The system can include a data center, i.e., in one example a data center managed by an MSSP, which includes one or more information handling systems having at least one memory or storage for storing forensic information obtained from monitoring networked systems of one or more organizations or clients of a client base; and at least one processor. The system processor(s) can include programming and will be operable to access forensic information obtained from the security monitoring of the clients of the client base, and relate the accessed forensic information to one or more selected indicators of compromise. The system processor(s) further may be operable to determine a plurality of similarity scores at least partially representative of a fidelity of each of the one or more selected indicators of compromise indicating or evidencing a threat, and to generate risk scores for each of the organizations/clients of the client base experiencing each indicator of compromise. The system also can cluster the organizations/clients into a plurality of threat clusters or groups based at least in part on similarities, risk scores with respect to threats posed and/or additional, suitable clustering information. 
     If it is determined that an organization/client of the series of selected or accessed organizations/clients have been exposed to a threat or attack, the system can generate an alarm and/or take remediating or preventative action on behalf of each organization/client in the respective threat cluster or group identified to have an appropriate risk or probability of the threat/attack against them. 
     The system also can rank, generate similarity scores for, or cluster organizations/clients using the former organizations/clients based on the indicators of compromise risk scores determined for each organization/client. The system can allow for searching of a prevalence or recurrence of the one or more indicators of compromise across the client base, and can be operable to generate fractional values indicative of a likelihood of probability of a threat or event occurring with each indicator of compromise of the one or more indicators of compromise. 
     The system further can be operable to update the one or more indicators of compromise, define new indicators of compromise; and/or update or alter the fidelity of the one or more indicators of compromise based on this analysis/new incoming data. Organizations/clients additionally will be clustered or grouped by the system, such as by plotting values or points representative of a grouped organization&#39;s risk based at least in part on the one or more indicators of compromise, risk scores and/or the additional information, and a determination of whether the organizations or clients are significantly similar to each other, e.g., using probabilistic or statistical analysis, a hamming distance, etc. 
     Various objects, features and advantages of the present disclosure will become apparent to those skilled in the art upon a review of the following detail description, when taken in conjunction with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the Figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements. Embodiments incorporating teachings of the present disclosure are shown and described with respect to the drawings herein, in which: 
         FIG. 1  is a schematic diagram of a system for security information and event management according to one aspect of the present disclosure. 
         FIG. 2  is a schematic diagram of an organization/client networked system of information handling systems according to one aspect of the present disclosure. 
         FIGS. 3A-3B  are flow diagrams illustrating aspects of the method/process for threat discovery across distinct organizations/clients according to principles of the present disclosure. 
         FIG. 4A-C  show example plots for use in clustering or grouping the organizations/clients according to principles of the present disclosure. 
         FIG. 5  illustrates an information handling system according to one aspect of the present disclosure. 
     
    
    
     The use of the same reference symbols in different drawings indicates similar or identical items. 
     DETAILED DESCRIPTION 
     The following description in combination with the Figures is provided to assist in understanding the teachings disclosed herein. The description is focused on specific implementations and embodiments of the teachings, and is provided to assist in describing the teachings. This focus should not be interpreted as a limitation on the scope or applicability of the teachings. 
       FIG. 1  is a diagram illustrating a security and event management system  10  operable to enable or facilitate discovery of security threats or malicious actions across distinct organizations or clients, by using security data to generate risk scores associated with a series of indicators of compromise (IOC&#39;s), including low fidelity indicators of compromise, and utilizing clustering of and/or similarities with other organizations/clients that have or may have been compromised. As shown in  FIG. 1 , a series of organization/client networked systems  12  can be in communication with a security event management center  13  including one or more data management centers  14  managed, e.g., by an MSSP. The networked systems  12  can communicate with the data center  14  through a network  16 , such as a public or private network, e.g., a local area network, though client/customer information handling systems  12  can be in communication with the data center  14  through other suitable lines of communication  18 , such as peer to peer file sharing systems, or other suitable wireless, virtual, and/or wired connections. The data center  14  can further include one or more internal networks  20  with a plurality of information handling systems  22 , connected thereto. In one embodiment, the information handling systems  22  can include one or more processors  26  and one or more memories or other suitable storage mediums  28 . The memory  28  can include a random access memory (RAM), read only memory (ROM), and/or other non-transitory computer readable mediums. 
       FIG. 2  diagrammatically illustrates an exemplary client/customer networked system  12 . The system  12  can include a network  30 , which may include the internet or another wide area network, a local area network, or a combination thereof. The network  30  may provide data communications among a series of information handling systems  32 , which can include workstations, personal computers, smart cellular telephones, a personal digital assistant(s), laptop computers, servers, and other suitable devices. The information handling systems  32  can be coupled to the network  30  through wireline connections  34 , wireless connections  36 , such as Wi-Fi or cellular connections, or other suitable lines of communication, or combinations thereof. In some aspects, the information handling systems  32  of the networked systems  12  generally can be configured for a specific user or a specific use, such as financial transaction processing, airline reservations, enterprise data storage, online shopping, global communications, etc. 
     For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, read only memory (ROM), and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, a touchscreen and/or a video display. The information handling system also may include one or more buses operable to transmit communications between the various hardware components. 
     As shown in  FIG. 2 , the client/customer networked systems  12  further may include one or more monitoring devices  40  communicatively coupled to the network  30 , for example, through a wired connection  34 , though or other suitable connections, such as a wireless connection, also can be used. The monitoring devices  40  may include a server, a sequence analyzer or various other suitable computing devices that have a processor and a memory or other suitable storage. The memory can include a random access memory (RAM), read only memory (ROM), and/or other non-transitory computer readable medium. The monitoring devices  40  further typically will be operable to store and execute computer readable instructions to continuously monitor, in real-time, activity at each networked system  12 , for example, activity of the information handling systems  32  connected to network  30 . 
     Such monitored activity can include logging on and off of the networks by the information handling systems  32 , downloads or uploads, changes to settings, IP addressed accessed by or attempting to access the network, the work traffic, etc. Additionally, network activities such as executed processes (i.e., type, number of times accessed, resulting actions, etc.), types and/or numbers of files modified, net flow aggregate, memory forensics, and similar logged or other Digital Forensical and Incident Response (DFIR) investigative activities also can be monitored and collected as part of security log data/records. 
     The monitoring device(s)  40  communicatively coupled to the organization/client networked system  12  additionally can be configured to aggregate, ingest, or otherwise receive forensic information, such as specific security related data, security or event logs, raw data, and/or other suitable records or information, based at least in part on monitored activity of the plurality of devices  32  and/or the networked systems  12 . The security data may be stored in the memory or storage of the monitoring devices  40  and can be communicated to and/or accessed by an MSSP providing security services for the organizations/clients. For example, each monitoring system  40  may automatically send the security data/information to the one or more servers at the MSSP data center, or the MSSP can otherwise directly access the information or security data from the memory or storage of the monitoring device(s)  14 . 
     Forensic analyses/reviews of such data will be performed, e.g., to determine if the data has been threatened or corrupted by an actual attack or malicious actor, and responsive events determined and remediated. The resultant forensic information or security data further can be stored on the memory  28  or in servers or other suitable information handling systems  22  and/or data storage at the security event management center  13 , such that the security data is accessible to be analyzed/processed by the MSSP. It further will be recognized that the monitoring devices  40  at the client/customer networked systems  12  are optional, and organizations/clients or technology partners thereof can independently monitor the networked systems, for example, using one or more of the information handling systems  32 , and otherwise provide forensic information, security data or other suitable data/information to the MSSP. 
     With embodiments of the present disclosure, the processor(s)  26  can be operable to run or otherwise access one or more engines, computer program products, platforms, etc. that facilitate the discovery of threats and/or malicious acts across the networked systems  12 . For example, the processor(s)  26  can access the forensic information or processed security data and use the information to generate risk scores associated with a series of potential indicators of compromise based on clustering and/or similarities with organizations/clients that have or may have been compromised. For example, the processor(s)  26  can curate specific tools, attributes or marks of detected and/or suspected threats, malicious attacks, threat actors, which can be presented as low fidelity indicators of compromise (i.e., masked or to which covert techniques have been applied) to create similarity score rankings for clients that can be used as a clustering of clients and application of risk measurement to generate risk scores or probabilities indicating or facilitating detection of one or more security threats, actions of malicious actors, etc. These risk scores further generally will be dynamically updated/changed as new security data include such indicators of compromise is received and analyzed. 
       FIGS. 3A-3B  illustrate a method/process of threat discovery across distinct organizations according to the present disclosure. As shown in  FIG. 3A , the method can include defining or selecting a plurality of indicators of compromise (IOC&#39;s) including, for example, IP addresses, access times or dates, email addresses, country or place of origin, traffic type, common communication type, or other suitable factors or activities monitored and collected as part of security monitoring or DFIR activities (at  102 ). 
     As indicated at  104 , forensic information, such as security logs, data stores with security related data, raw data, etc., e.g., forensic/analyzed security data aggregated by the MSSP or other collective entity (i.e., a threat information sharing group or community), related to or otherwise associated with the defined/selected indicators of compromise, including attributes or features thereof such as access time(s) and/or date(s) and further related information detected from responsive engagements, e.g. known detection(s) of malicious attacks, identification(s) of threat actors, etc., involving the defined or selected indicators of compromise. 
     Thereafter, at  106 , a plurality of initial or similarity scores will be determined. Such similarity scores generally will be representative of a fidelity of the selected or defined indicator of compromise, which fidelity can related to a propensity or likelihood of the selected/defined indicators of compromise to result in or otherwise generate a false positive. 
     Additionally, as shown at  108 , a prevalence or recurrence of the selected or defined indicators of compromise can be searched across the broad client base (i.e., the collected security data of an entire group or a selected sub-set of clients of the MSSP or which are participants in a security threat sharing community) and fractional values indicative of a likelihood of probability of a security threat or event occurring with each indicator of compromise can be generated. 
     Risk scores then can be produced for and assigned to each of a series of selected or clustered clients of the client base for which each indicator of compromise has been detected, e.g., has been seen/occurring over selected incremental time periods, such as each hour of a day, day of a set date range, or other suitable time period, using the fractional values and also detection of client-generated alerts within the selected analysis period (at  110 ). 
     As indicated at  112 , clients will be clustered or grouped into a plurality of groups or clusters in view of their risk determined as well as based upon scores other additional clustering or grouping information. By way of example, only such clustering information can include client communities or related/similarities information such as industry type, motive, employee information, such as number, type of employees, etc., countries of operations, market capital, technology infrastructure, ranked information based on security risks to business or data leakage, disruption, user activities, cryptographically hashed application identifiers, etc. In addition, as shown at  114 , client similarities can be ranked based on the indicators of compromise risk scores determined for each client. 
       FIG. 3B  further shows that a probability or likelihood that clients in the groups/clusters have been compromised or exposed to a threat or attack accordingly can be determined (e.g., at  116 ). If it is determined that a client has been exposed to a security threat or attack, or that the probability that the client has been exposed or is likely to be exposed to a security threat or attack exceeds a threshold value, or a known security threat or attack already has been reported/detected for a similarly situated client (at  118 ), an alarm can be generated and/or remediating or preventative action can be taken for addressing the threat and for prevention of the threat/attack with respect to the other clients in the respective threat group (at  120 ). The probability or likelihood that a client has been compromised or exposed to a threat or attack, can be determined at least in part using the assigned client risk scores, the fidelity of the selected indicators of compromise, threats/potential attacks detected with respect to similarly clustered clients, and/or other suitable information or data. 
     At  122 , the curated indicators of compromise can be further analyzed and their fidelity updated in light of this information/analysis and/or new, incoming forensic information. For example, new indicators of compromise can be defined or selected, and/or the fidelity of existing indicators of compromise can be updated or otherwise altered (including being at least temporarily removed from a list or lists applicable to some clients) based, at least in part, upon the analysis results and/or new, incoming forensic analysis information ( FIG. 3B ). 
     If threat/attack has been detected (e.g., as noted at  118 ), the analysis information/data can be logged or otherwise reconnected (at  124 ) and further used for updating the indicators of compromise (e.g., at  122 ). 
     After the indicators of compromise have been updated, or new data has been identified in the participating client base, the method/process can return to the initial phase or portion actions of the method/process, and actions  102  to  124  can be repeated. It further will be understood that the actions indicated at  102  to  124  may be rearranged or omitted and other actions or steps may be included, without departing from the scope of the present disclosure. 
       FIGS. 4A-4C  show example plots that can be used for the clustering grouping the organizations/clients into the various clusters or groups. As shown in  FIGS. 4A-4C , included/participating organizations/clients can be plotted along one or more dimensions based upon their determined risk scores based upon the selected/defined indicators of compromise, which can be dynamically changing, and/or the other additional grouping/clustering information, e.g., market cap, number of employees, etc., which will be more static. Thereafter, the clients/organizations can be grouped or clustered together using a probabilistic or statistical analysis, e.g., to provide a likelihood or probability that certain organizations/clients are substantially similar or substantially not similar to other organizations/clients to facilitate clustering/grouping thereof. 
     For example, as shown in  FIG. 4A , data points for clients A, B, and C can be plotted onto at least one plane, e.g., a plane with x and y dimensions/axes as shown in  FIG. 4A , and a hamming distance (e.g., shown as D 1 , D 2 , and D 3  in  FIG. 4A ) between each of the points can be calculated to determine a level of similarity therebetween and facilitate clustering or grouping of clients A, B, and C. 
       FIG. 4C  shows an additional example wherein data points based on the client&#39;s risk scores and/or other additional clustering information for client&#39;s A, B, C, D, K, N, F, and G are plotted across a plurality of dimensions. For example, data points related to client risk scores determined for a particular indicator of compromise can be plotted about an x axis and data points related to the additional clustering information, e.g., market cap and number of employees, can be plotted about a y and a z axis, and these data points can be plotted in three dimensions to determine the groups/clusters, e.g., using statistical analysis, hamming distances, etc. 
     
       
         
           
               
               
               
               
             
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Client 
                 Risk Score 
                 Rankings 
               
               
                   
                   
               
             
            
               
                   
                 Client 1** 
                 5.352082 
                 1 
               
               
                   
                 Client 2 
                 0.017080 
                 2 
               
               
                   
                 Client 3** 
                 0.009714 
                 3 
               
               
                   
                 Client 4 
                 0.001373 
                 4 
               
               
                   
                 Client 5 
                 0.001350 
                 5 
               
               
                   
                 Client 6 
                 0.000988 
                 6 
               
               
                   
                 Client 7 
                 0.000797 
                 7 
               
               
                   
                   
               
               
                   
                 **Malicious actions detected 
               
            
           
         
       
     
     Table 1 shows an example group or cluster of clients 1-7 (which clients are part of a larger client base, e.g., of up to 100 or more clients) grouped/clustered in view of risk scores and/or additional clustering information. As shown in Table 1, clients 1 and 3 had been compromised by a security threat or malicious actions, for example, based upon detected events or actions (e.g., from monitoring of networked systems of clients 1 and 3 and/or review of forensic information gathered from such monitoring of networked systems managed by clients 1 and 3). Information relating to the detected events or actions was used to set or select the indicators of compromise for the grouping or clustering of clients 1-7 (as well as the other clients in the client base not shown). 
     As Table 1 further shows, clients 1-7 are ranked based on particular indicators of compromise risk scores attributed to each client. Client 1 had the highest risk score based on the selected/set indicators of compromise, while client 3 had the third highest risk score based on the selected/set indicators of compromise. Accordingly, based on such rankings and/or the detected events/actions for clients 1 and 3, appropriate actions can be taken for the other clients (i.e., clients 2 and 4-7) in the group who did not detect a threat or malicious action so as to address a potentially undiscovered threat or malicious action and/or to reduce the likelihood of exposure to or damage from potential future threats or malicious actions. 
     For example, client 2 (who had the second highest risk score, but had not yet discovered a threat or malicious actions) can be notified (e.g., by an alert or alarm) that there is a significant likelihood or probability that client 2 also may have been attacked (or that the likelihood of an imminent attach is significant). Thus, client 2 can take preventative and/or remediating actions to address an undetected threat or malicious actions and/or imminent future threats or malicious actions. In addition, clients 4-7 (who had significantly lower risk scores) can be notified (e.g., by an alarm or alert) that they may be or are likely to be attacked in the future, allowing clients 4-7 to take preventative actions/measures to thwart or significantly reduce the risks of future attacks or malicious actions. 
       FIG. 5  shows an example of an information handling system  700  capable of administering each of the specific embodiments of the present disclosure. The information handling system  700  can represent the user information handling systems  22 ,  32 , and  40  of  FIGS. 1 and 2 , and/or other information handling systems included in or otherwise in communication with the data center  13  and/or the networked systems  12 . The information handling system  700  may include a computer system or processor  702  such as a central processing unit (CPU), a graphics processing unit (GPU), or both. Moreover, the information handling system  700  can include a main memory  704  and a static memory  706  that can communicate with each other via a bus  708 . The information handling system  700  includes near-field communications (NFC) device and interface  718 , such as an antenna and NFC subsystem. The information handling system  700  can also include a disk drive unit  716 , and a network interface device  720 . 
     As shown, the information handling system  700  further may include a video display unit  710 , such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, or a cathode ray tube (CRT), or other suitable display. The video display unit  710  may also act as an input accepting touchscreen inputs. Additionally, the information handling system  700  may include an input device  712 , such as a keyboard, or a cursor control device, such as a mouse or touch pad, or a selectable interface on the display unit. Information handling system may include a battery system  714 . The information handling system  700  can represent a device capable of telecommunications and whose can be share resources, voice communications, and data communications among multiple devices. The information handling system  700  can also represent a server device whose resources can be shared by multiple client devices, or it can represent an individual client device, such as a laptop or tablet personal computer, and/or any other suitable device without departing from the scope of the present disclosure. 
     The information handling system  700  can include a set of instructions that can be executed to cause the processor to perform any one or more of the methods or computer based functions disclosed herein. The processor  702  may operate as a standalone device or may be connected such as using a network, to other computer systems or peripheral devices. 
     In a networked deployment, the information handling system  700  may operate in the capacity of a server or as a client information handling device in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The information handling system  700  can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a smartphone, a PDA, a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system  700  can be implemented using electronic devices that provide voice, video or data communication. Further, while a single information handling system  700  is illustrated, the term “system” shall also be taken to include any collection of systems or subsystems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions. 
     The disk drive unit  716  or static memory  714  may include a computer-readable medium  722  in which one or more sets of instructions  724  such as software can be embedded. The disk drive unit  716  or static memory  706  also contains space for data storage. Further, the instructions  724  may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions  724  may reside completely, or at least partially, within the main memory  704 , the static memory  706 , and/or within the processor  702  during execution by the information handling system  700 . The main memory  704  and the processor  702  also may include computer-readable media. The network interface device  720  can provide connectivity to a network  726 , e.g., a wide area network (WAN), a local area network (LAN), wireless network, or other network. The network interface device  720  may also interface with macrocellular networks including wireless telecommunications networks such as those characterized as 2G, 3G, 4G, 5G, LTE or similar wireless telecommunications networks similar to those described above. The network interface  720  may be a wireless adapter having antenna systems for various wireless connectivity and radio frequency subsystems for signal reception, transmission, or related processing. 
     In an alternative embodiment, dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations. In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limited embodiment, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein. 
     The present disclosure contemplates a computer-readable medium that includes instructions  724  or receives and executes instructions  724  responsive to a propagated signal; so that a device connected to a network  726  can communicate voice, video, or data or other information data over the network  726 . Further, the instructions  724  may be transmitted or received over the network  726  via the network interface device  720 . In a particular embodiment, BIOS/FW code  724  reside in memory  704 , and include machine-executable code that is executed by processor  702  to perform various functions of information handling system  700 . 
     Information handling system  700  includes one or more application programs  724 , and Basic Input/Output System and Firmware (BIOS/FW) code  724 . BIOS/FW code  724  functions to initialize information handling system  700  on power up, to launch an operating system, and to manage input and output interactions between the operating system and the other elements of information handling system  700 . 
     In another embodiment (not illustrated), application programs and BIOS/FW code reside in another storage medium of information handling system  700 . For example, application programs and BIOS/FW code can reside in drive  716 , in a ROM (not illustrated) associated with information handling system  700 , in an option-ROM (not illustrated) associated with various devices of information handling system  700 , in storage system  706 , in a storage system (not illustrated) associated with network channel  720 , in another storage medium of the information handling system  700 , or a combination thereof. Application programs  724  and BIOS/FW code  724  can each be implemented as single programs, or as separate programs carrying out the various features as described herein. 
     While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein. 
     In a particular non-limiting, exemplary embodiment, the computer-readable medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile, read-only memories. Further, the computer-readable medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium can include a magneto-optical or optical medium, such as a disk or tapes or other storage device to store information received via carrier wave signals such as a signal communicated over a transmission medium. Furthermore, a computer readable medium can store information received from distributed network resources such as from a cloud-based environment. A digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a distribution medium that is equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored. 
     In the embodiments described herein, an information handling system includes any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or use any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system can be a personal computer, a consumer electronic device, a network server or storage device, a switch router, wireless router, or other network communication device, a network connected device (cellular telephone, tablet device, etc.), or any other suitable device, and can vary in size, shape, performance, price, and functionality. 
     The information handling system can include memory (volatile (such as random-access memory, etc.), nonvolatile (read-only memory, flash memory etc.) or any combination thereof), one or more processing resources, such as a central processing unit (CPU), a graphics processing unit (GPU), hardware or software control logic, or any combination thereof. Additional components of the information handling system can include one or more storage devices, one or more communications ports for communicating with external devices, as well as, various input and output (I/O) devices, such as a keyboard, a mouse, a video/graphic display, or any combination thereof. The information handling system can also include one or more buses operable to transmit communications between the various hardware components. Portions of an information handling system may themselves be considered information handling systems. 
     When referred to as a “device,” a “module,” or the like, the embodiments described herein can be configured as hardware. For example, a portion of an information handling system device may be hardware such as, for example, an integrated circuit (such as an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a structured ASIC, or a device embedded on a larger chip), a card (such as a Peripheral Component Interface (PCI) card, a PCI-express card, a Personal Computer Memory Card International Association (PCMCIA) card, or other such expansion card), or a system (such as a motherboard, a system-on-a-chip (SoC), or a stand-alone device). 
     The device or module can include software, including firmware embedded at a device, such as a Pentium class or PowerPC™ brand processor, or other such device, or software capable of operating a relevant environment of the information handling system. The device or module can also include a combination of the foregoing examples of hardware or software. Note that an information handling system can include an integrated circuit or a board-level product having portions thereof that can also be any combination of hardware and software. 
     Devices, modules, resources, or programs that are in communication with one another need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices, modules, resources, or programs that are in communication with one another can communicate directly or indirectly through one or more intermediaries. 
     The foregoing description generally illustrates and describes various embodiments of the present disclosure. It will, however, be understood by those skilled in the art that various changes and modifications can be made to the above-discussed construction of the present disclosure without departing from the spirit and scope of the disclosure as disclosed herein, and that it is intended that all matter contained in the above description or shown in the accompanying drawings shall be interpreted as being illustrative, and not to be taken in a limiting sense. Furthermore, the scope of the present disclosure shall be construed to cover various modifications, combinations, additions, alterations, etc., above and to the above-described embodiments, which shall be considered to be within the scope of the present disclosure. Accordingly, various features and characteristics of the present disclosure as discussed herein may be selectively interchanged and applied to other illustrated and non-illustrated embodiments of the disclosure, and numerous variations, modifications, and additions further can be made thereto without departing from the spirit and scope of the present invention as set forth in the appended claims.