Systems and methods for performing internet site security analyses

A computer-implemented method for performing Internet site security analyzes may include (1) identifying a plurality of clients, each client within the plurality of clients connecting to the Internet from a different Internet Protocol address, (2) identifying a plurality of Internet sites targeted for a security assessment, and then, for each Internet site within the plurality of Internet sites, (3) selecting at least one client from the plurality of clients to use as a proxy for communicating with the Internet site, (4) communicating with the Internet site, using the client as a proxy, to gather information for a security analysis of the Internet site, and (5) performing the security analysis of the Internet site based at least in part on the gathered information. Various other methods, systems, and computer-readable media are also disclosed.

BACKGROUND

In recent years, the Internet has become a major vector for malware propagation. Due to the increasing complexity of web browsers and associated plugins, a considerable number of vulnerabilities have been discovered and are currently being leveraged by attackers to propagate malware samples that bypass standard security measures such as firewalls, which are generally designed to block inbound traffic but allow clients to freely interact with Internet sites.

In order to identify malicious Internet sites, security vendors may use web crawlers and/or other automated bots to inspect, interact with, and analyze Internet sites. Unfortunately, an attacker may escape detection by hiding malicious behavior from web crawlers. For example, an attacker may use a blacklist to block requests from and/or alter behavior for IP addresses associated with security vendors and/or security researchers. Attackers may even trade and circulate such blacklists in order to create nearly complete blacklists. Accordingly, the instant disclosure identifies a need for additional and improved systems and methods for performing Internet site security analyses.

SUMMARY

As will be described in greater detail below, the instant disclosure generally relates to systems and methods for performing Internet site security analyses. For example, a computer-implemented method for performing Internet site security analyses may include (1) identifying a plurality of clients, with each client within the plurality of clients connecting to the Internet from a different Internet Protocol address, (2) identifying a plurality of Internet sites targeted for a security assessment, and then, for each Internet site within the plurality of Internet sites, (3) selecting at least one client from the plurality of clients to use as a proxy for communicating with the Internet site, (4) communicating with the Internet site, using the client as a proxy, to gather information for a security analysis of the Internet site, and (5) performing the security analysis of the Internet site based at least in part on the gathered information.

In one example, a system for performing the above-described method may include one or more processors configured to execute an identification module, a selection module, a gathering module, and an analysis module. The identification module may be programmed to (1) identify a plurality of clients, with each client within the plurality of clients connecting to the Internet from a different Internet Protocol address, and (2) identify a plurality of Internet sites targeted for a security assessment, and, for each Internet site within the plurality of Internet sites. The selection module may be programmed to select at least one client from the plurality of clients to use as a proxy for communicating with the Internet site. The gathering module may be programmed to communicate with the Internet site, using the client as a proxy, to gather information for a security analysis of the Internet site, and the analysis module may be programmed to perform the security analysis of the Internet site based at least in part on the gathered information.

In some examples, each client within the plurality of clients may connect to the Internet not only from a different Internet Protocol address, but from a different Internet Protocol address block.

The selection module may select the client in any of a variety of ways. For example, the selection module may select the client based on the public Internet Protocol address of the client. In some examples, the selection module may select the client to test the Internet site for a response differentiated by Internet Protocol addresses. In another example, the selection module may select the client to prevent detection as a security vendor by the Internet site. Additionally or alternatively, the selection module may select the client based on a geographical region of the client ascertainable by the Internet site.

The gathering module may use the client as a proxy in any of a variety of contexts. For example, the gathering module may use the client as a proxy by (1) receiving a communication from the client to initiate a tunneling protocol and then (2) communicating with the client via the tunneling protocol. In some examples, the gathering module may use the client as a proxy by communicating with a proxy agent installed on the client as part of an endpoint security software installation on the client. Additionally or alternatively, the gathering module may use the client as a proxy by identifying a user-submitted agreement to allow a security vendor to use the client as a proxy for communications with Internet sites targeted for security assessments.

As will be described in greater detail below, by leveraging a collection of clients (e.g., clients with a security endpoint installation) with a range of different Internet Protocol addresses for use as proxies, the systems and methods described herein may gather information from potentially malicious Internet sites without providing the Internet sites with a centralized Internet Protocol address block. Accordingly, these systems and methods may reduce the potential for malicious Internet sites to recognize a security crawling effort as such, thereby preventing malicious Internet sites from obscuring relevant information from security vendors and researchers. Furthermore, by only using these clients as proxies (i.e., performing analysis on gathered information on a central server), the systems and methods described herein may shield the clients from security vulnerabilities associated with interacting with malicious Internet sites and may reduce the computational burden placed on the clients.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The following will provide, with reference toFIGS. 1,2, and4, detailed descriptions of exemplary systems for performing Internet site security analyses. Detailed descriptions of corresponding computer-implemented methods will also be provided in connection withFIG. 3. In addition, detailed descriptions of an exemplary computing system and network architecture capable of implementing one or more of the embodiments described herein will be provided in connection withFIGS. 5 and 6, respectively.

FIG. 1is a block diagram of an exemplary system100for performing Internet site security analyses. As illustrated in this figure, exemplary system100may include one or more modules102for performing one or more tasks. For example, and as will be explained in greater detail below, exemplary system100may include an identification module104programmed to (1) identify a plurality of clients, with each client within the plurality of clients connecting to the Internet from a different Internet Protocol address, and (2) identify a plurality of Internet sites targeted for a security assessment, and, for each Internet within the plurality of Internet sites. Exemplary system100may also include a selection module106programmed to select at least one client from the plurality of clients to use as a proxy for communicating with the Internet site. Exemplary system100may additionally include a gathering module108programmed to communicate with the Internet site, using the client as a proxy, to gather information for a security analysis of the Internet site.

In addition, and as will be described in greater detail below, exemplary system100may include an analysis module110programmed to perform the security analysis of the Internet site based at least in part on the gathered information. Although illustrated as separate elements, one or more of modules102inFIG. 1may represent portions of a single module or application.

In certain embodiments, one or more of modules102inFIG. 1may represent one or more software applications or programs that, when executed by a computing device, may cause the computing device to perform one or more tasks. For example, and as will be described in greater detail below, one or more of modules102may represent software modules stored and configured to run on one or more computing devices, such as the devices illustrated inFIG. 2(e.g., security server202and/or clients206(1)-(n)), the devices illustrated inFIG. 4(e.g., security server402and/or security endpoint clients412,414,416, and418), computing system510inFIG. 5, and/or portions of exemplary network architecture600inFIG. 6. One or more of modules102inFIG. 1may also represent all or portions of one or more special-purpose computers configured to perform one or more tasks.

Exemplary system100inFIG. 1may be deployed in a variety of ways. For example, all or a portion of exemplary system100may represent portions of exemplary system200illustrated inFIG. 2. As shown inFIG. 2, system200may include a security server202in communication with clients206(1)-(n) via a network204. In one embodiment, and as will be described in greater detail below, modules102fromFIG. 1may program security server202to perform security analyses on Internet sites208(1)-(m) by (1) identifying a plurality of clients, with each client within the plurality of clients206(1)-(n) connecting to the Internet from a different Internet Protocol address, (2) identifying a plurality of Internet sites208(1)-(m) targeted for a security assessment, and then, for each Internet site within Internet sites208(1)-(m), (3) selecting at least one client from clients206(1)-(n) to use as a proxy for communicating with the Internet site (e.g., selecting client206(1) to use as a proxy for communicating with Internet site208(1)), (4) communicating with the Internet site, using the client as a proxy, to gather information for a security analysis of the Internet site (e.g., communicating with Internet site208(1) using client206(1) as a proxy to gather security information210for a security analysis of Internet site208(1)), and (5) performing the security analysis of the Internet site based at least in part on the gathered information.

Security server202generally represents any type or form of computing device capable of reading computer-executable instructions. In some examples, security server202may include a computing device configured for analyzing Internet sites. Examples of security server202include, without limitation, servers, desktops, laptops, embedded systems, combinations of one or more of the same, exemplary computing system510inFIG. 5, or any other suitable computing device.

Clients206(1)-(n) generally represent any type or form of computing device that is capable of acting as a forwarding proxy. In some examples, clients206(1)-(n) may represent computing devices configured with an endpoint security product. Examples of clients206(1)-(n) include, without limitation, laptops, desktops, servers, cellular phones, personal digital assistants (PDAs), multimedia players, embedded systems, combinations of one or more of the same, exemplary computing system510inFIG. 5, or any other suitable computing device.

Network204generally represents any medium or architecture capable of facilitating communication or data transfer. Examples of network204include, without limitation, the Internet, an intranet, a wide area network (WAN), a local area network (LAN), a personal area network (PAN), power line communications (PLC), a cellular network (e.g., a GSM Network), exemplary network architecture600inFIG. 6, or the like. Network204may facilitate communication or data transfer using wireless or wired connections. In one embodiment, network204may facilitate communication between security server202and clients206(1)-(n). Additionally or alternatively, network204may facilitate communication between clients206(1)-(n) and Internet sites208(1)-(m).

FIG. 3is a flow diagram of an exemplary computer-implemented method300for performing Internet site security analyses. The steps shown inFIG. 3may be performed by any suitable computer-executable code and/or computing system. In some embodiments, the steps shown inFIG. 3may be performed by one or more of the components of system100inFIG. 1and/or system200inFIG. 2.

As illustrated inFIG. 3, at step302one or more of the systems described herein may identify a plurality of clients, with each client within the plurality of clients connecting to the Internet from a different public Internet Protocol address. For example, at step302identification module104may, as part of security server202inFIG. 2, identify clients206(1)-(n).

As used herein, the phrase “public Internet Protocol address” generally refers to an Internet Protocol address associated with a client and used by a server (e.g., a server hosting an Internet site) to address responses to queries from the client. For example, a public Internet Protocol address may include an Internet Protocol address used for addressing communications on the Internet (i.e., as opposed to communications within a local and/or private network).

In some examples, each client within the plurality of clients may connect to the Internet from a different Internet Protocol address block. As used herein, the phrase “Internet Protocol address block” may refer to a collection of Internet Protocol addresses allocated to a single entity. For example, the phrase “Internet Protocol address block” may refer to a Class C address block (e.g., 198.51.100.0/24, including Internet Protocol addresses 198.51.100.0 to 198.51.100.255). Additionally or alternatively, the phrase “Internet Protocol address block” may refer to a collection of Internet Protocol addresses attributable to a single entity, either by standard or by implication (e.g., the proximity of two addresses implying single ownership, control, and/or use).

Identification module104may identify the plurality of clients in a variety of ways. For example, identification module104may access a database identifying clients with a security endpoint product installation and/or an opt-in agreement to participate in the methods described herein. In some examples, identification module104may identify the plurality of clients by identifying a larger group of clients, some of which may share a public Internet Protocol address and/or an Internet Protocol address block with one or more clients within the plurality of clients.

FIG. 4illustrates an exemplary system400for performing Internet site security analyses. As shown inFIG. 4, exemplary system400may include a security server402configured with modules102. UsingFIG. 4as an example of step302, identification module104may, as part of security server402, identify security endpoint clients412,414,416, and418.

At step304, one or more of the systems described herein may identify a plurality of Internet sites targeted for a security assessment. For example, at step304identification module104may, as part of security server202, identify Internet sites208(1)-(m). UsingFIG. 4as an example, at step304identification module104may, as part of security server402, identify Internet sites422,424, and426.

As used herein, the phrase “security assessment” may refer to any method and/or process for determining the safety, maliciousness, and/or legitimacy of an Internet site. For example, a security assessment may determine whether an Internet site hosts and/or distributes malware, attempts to exploit a vulnerability of a client, and/or attempts a phishing attack.

Identification module104may perform step304in any suitable manner. For example, identification module104may access a database of suspected Internet sites. Additionally or alternatively, identification module104may identify Internet sites that were suspected as malicious, but could not be accessed directly from, or appeared legitimate when accessed directly from, an Internet protocol address associated with the Internet site.

At step306, one or more of the systems described herein may, for each Internet site within the plurality of Internet sites, select at least one client from the plurality of clients to use as a proxy for communicating with the Internet site. For example, at step306selection module106may, as part of security server202, identify Internet sites208(1)-(m). UsingFIG. 4as an example, at step306selection module106may, as part of security server402, identify Internet sites422,424, and426.

As used herein, the term “proxy” may refer to a system that acts as a communication intermediary between computing systems on a network. For example, the term “proxy” may refer to a forward proxy. In some examples, a proxy may effectively hide the Internet Protocol address of a requesting client from a server by substituting the Internet Protocol address of the proxy in communications with the server. In some examples, the term “proxy” may refer to a system that only forwards data packets between a client and a server (e.g., without analyzing and/or manipulating the packets). As will be explained in greater detail below, in some examples, using a client as a proxy may entail communicating with a proxy agent on the client.

Selection module106may select the client to use a proxy in any of a variety of ways. For example, selection module106may select the client based on the public Internet Protocol address of the client. By selecting the client based on the public Internet Protocol address of the client, selection module106may choose what Internet Protocol address to expose to the Internet site. As will be explained in greater detail below, selecting the Internet Protocol address to expose to the Internet site may present a variety of advantages. In some examples, the selection module106may select the client to test for a response differentiated by Internet Protocol addresses. For example, selection module106may select the client in order to see how the Internet site responds to a request from the Internet Protocol address of the client. For example, selection module106may select a client with an Internet Protocol address in a country suspected of being targeted for attacks and/or censorship. In some examples, selection module106may select one or more additional clients to act as a control. For example, selection module106may select one or more clients with Internet Protocol addresses expected to yield default and/or non-customized responses from the Internet site.

In some examples, selection module106may select the client to prevent detection as a security vendor by the Internet site. For example, selection module106may select the client because the client does not share a public Internet Protocol address and/or an Internet Protocol address block with a known security vendor and/or security research institution. Accordingly, the Internet site may be unable to block requests from and/or tailor requests for the security vendor and/or security research institution based on the Internet Protocol address of the client.

Selection module106may also select the client based on a geographical region of the client ascertainable by the Internet site. For example, selection module106may choose a client with a public Internet Protocol address corresponding to a geographical region. The client may then present requests to the Internet site as coming from the chosen geographical region.

In some examples, selection module106may also use other criteria for selecting the client. For example, selection module106may identify one or more policies and/or settings determining acceptable usage patterns for using the client as a proxy. For example, selection module106may select the client in part based on the public Internet Protocol address of the client and in part based on the bandwidth impact on the client and/or the total amount of proxy traffic already directed to the client. In some examples, an owner of the client may agree to the use of the client for the methods described herein subject to bandwidth limits and/or traffic limits (e.g., the owner may agree to donate 1 megabyte per hour of network bandwidth to security research). Accordingly, selection module106may identify such limits and choose the client based on a projection and/or determination that the client may be used as a proxy without exceeding these limits.

At step308, one or more of the systems described herein may communicate with the Internet site, using the client as a proxy, to gather information for a security analysis of the Internet site. For example, at step308gathering module108may, as part of security server202, communicate with Internet site208(1), using client206(1) as a proxy, to gather security information210. UsingFIG. 4as another example, at step308gathering module108may, as part of security server402, communicate with Internet site422using security endpoint client414as a proxy to add to security information410.

Gathering module108may use the client as a proxy in any of a variety of contexts. For example, gathering module108may receive a communication from the client to initiate a tunneling protocol. For example, gathering module108may receive a communication initiating a Transmission Control Protocol connection encrypted through a Secure Sockets Layer. UsingFIG. 4as an example, gathering module108may receive a communication from security endpoint client414to create a tunnel434between security endpoint client414and security server402. Likewise, gathering module108at various times may receive communications from security endpoint clients412,416, and418to create tunnels432,436, and438, respectively. By allowing the client to establish initiate the tunnel, gathering module108may securely communicate with the client while bypassing any firewalls and/or Network Address Translation devices between the client and a security server hosting gathering module108. After the tunnel is established, gathering module108may communicate with the client via the tunneling protocol to use the client as a proxy.

In some examples, gathering module108may use the client as a proxy by communicating with a proxy agent installed on the client as part of an endpoint security software installation on the client. For example, a user may have previously installed endpoint security software (e.g., anti-virus software) on the client. As part of the installation, the user may have also installed the proxy agent. In another example, the user may have installed the proxy agent at a later time via the endpoint security software (e.g., the endpoint security software may prompt the user to install the proxy agent and/or to agree to allow the client to serve as a proxy for security research). The proxy agent may include any agent and/or module configured to provide proxy functionality.

UsingFIG. 4as an example, each of security endpoint clients412,414,416, and418may include a proxy agent420. Gathering module108may, as a part of security server402, use security endpoint client414as a proxy by communicating with proxy agent420installed on security endpoint client414as part of an endpoint security software installation. For example, communications transmitted via tunnel434from security server402to security endpoint client414may be forwarded by proxy agent420to Internet site422as part of communication444. Additionally, communications transmitted via Internet site422to security endpoint client414as part of communication444may be forwarded by proxy agent420via tunnel434to security server402. Likewise, communication442,446, and448may represent proxy communications received through and forwarded back through tunnels432,436, and438, respectively.

In some examples, as part of using the client as a proxy, gathering module108may identify a user-submitted agreement to allow a security vendor to use the client as a proxy for communications with Internet sites targeted for security assessments. UsingFIG. 4as an example, gathering module108may identify an agreement from security endpoint client414providing permission for a security vendor controlling security server402to use security endpoint client414as a proxy.

At step310, one or more of the systems described herein may perform the security analysis of the Internet site based at least in part on the gathered information. For example, at step310analysis module110may, as part of security server202, perform the security analysis of Internet site208(1) based at least in part on security information210. UsingFIG. 4as another example, at step310analysis module110may, as part of security server402, perform the security analysis of Internet site422based at least in part on the portion of security information410gathered from Internet site422via security endpoint client414.

Analysis module110may perform step310in any suitable manner. For example, analysis module110may scan data received from the Internet site for malware. Additionally or alternatively, analysis module110may analyze patterns in the communications between the client and the Internet site for indications of known security exploits. Generally, analysis module110may use any suitable methods for analyzing data to identify potential attacks and/or security problems.

In some examples, analysis module110may analyze information gathered from the Internet site via multiple clients. For example, the systems described herein may use multiple clients as proxies to gather differentiated information from the Internet site. UsingFIG. 4as an example, security server402may gather security information about Internet site422through security endpoint client412and security endpoint client414. Analysis module110may then compare the information gathered by each client as part of analyzing Internet site422. For example, if security endpoint clients412and414are in different geographical regions, but Internet site422appeared to only attempt an attack on security endpoint client414, analysis module110may determine that Internet site422is conducting a regional attack. Additionally or alternatively, analysis module110may determine that a suspicious transaction attempted by Internet site422on security endpoint client414is more suspect because Internet site422did not attempt the same on security endpoint client412.

As detailed above, by leveraging a collection of clients (e.g., clients with a security endpoint installation) with a range of different Internet Protocol addresses for use as proxies, the systems and methods described herein may gather information from potentially malicious Internet sites without providing the Internet sites with a centralized Internet Protocol address block. Accordingly, these systems and methods may reduce the potential for malicious Internet sites to recognize a security crawling effort as such, thereby preventing malicious Internet sites from obscuring relevant information from security vendors and researchers. Furthermore, by only using these clients as proxies (i.e., performing analysis on gathered information on a central server), the systems and methods described herein may shield the clients from security vulnerabilities associated with interacting with malicious Internet sites and may reduce the computational burden placed on the clients.

FIG. 5is a block diagram of an exemplary computing system510capable of implementing one or more of the embodiments described and/or illustrated herein. Computing system510broadly represents any single or multi-processor computing device or system capable of executing computer-readable instructions. Examples of computing system510include, without limitation, workstations, laptops, client-side terminals, servers, distributed computing systems, handheld devices, or any other computing system or device. In its most basic configuration, computing system510may include at least one processor514and a system memory516.

Processor514generally represents any type or form of processing unit capable of processing data or interpreting and executing instructions. In certain embodiments, processor514may receive instructions from a software application or module. These instructions may cause processor514to perform the functions of one or more of the exemplary embodiments described and/or illustrated herein. For example, processor514may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the identifying, selecting, communicating, using, gathering, receiving, and/or performing claims steps described herein. Processor514may also perform and/or be a means for performing any other steps, methods, or processes described and/or illustrated herein.

In certain embodiments, exemplary computing system510may also include one or more components or elements in addition to processor514and system memory516. For example, as illustrated inFIG. 5, computing system510may include a memory controller518, an input/output (I/O) controller520, and a communication interface522, each of which may be interconnected via a communication infrastructure512. Communication infrastructure512generally represents any type or form of infrastructure capable of facilitating communication between one or more components of a computing device. Examples of communication infrastructure512include, without limitation, a communication bus (such as an ISA, PCI, PCIe, or similar bus) and a network.

Memory controller518generally represents any type or form of device capable of handling memory or data or controlling communication between one or more components of computing system510. For example, in certain embodiments memory controller518may control communication between processor514, system memory516, and I/O controller520via communication infrastructure512. In certain embodiments, memory controller518may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the steps or features described and/or illustrated herein, such as identifying, selecting, communicating, using, gathering, receiving, and/or performing claims.

I/O controller520generally represents any type or form of module capable of coordinating and/or controlling the input and output functions of a computing device. For example, in certain embodiments I/O controller520may control or facilitate transfer of data between one or more elements of computing system510, such as processor514, system memory516, communication interface522, display adapter526, input interface530, and storage interface534. I/O controller520may be used, for example, to perform and/or be a means for performing, either alone or in combination with other elements, one or more of the identifying, selecting, communicating, using, gathering, receiving, and/or performing claims steps described herein. I/O controller520may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure.

In certain embodiments, communication interface522may also represent a host adapter configured to facilitate communication between computing system510and one or more additional network or storage devices via an external bus or communications channel. Examples of host adapters include, without limitation, SCSI host adapters, USB host adapters, IEEE 1394 host adapters, SATA and eSATA host adapters, ATA and PATA host adapters, Fibre Channel interface adapters, Ethernet adapters, or the like. Communication interface522may also allow computing system510to engage in distributed or remote computing. For example, communication interface522may receive instructions from a remote device or send instructions to a remote device for execution. In certain embodiments, communication interface522may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the identifying, selecting, communicating, using, gathering, receiving, and/or performing claims steps disclosed herein. Communication interface522may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure.

As illustrated inFIG. 5, exemplary computing system510may also include at least one input device528coupled to communication infrastructure512via an input interface530. Input device528generally represents any type or form of input device capable of providing input, either computer or human generated, to exemplary computing system510. Examples of input device528include, without limitation, a keyboard, a pointing device, a speech recognition device, or any other input device. In at least one embodiment, input device528may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the identifying, selecting, communicating, using, gathering, receiving, and/or performing claims steps disclosed herein. Input device528may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure.

In certain embodiments, storage devices532and533may be used, for example, to perform and/or be a means for performing, either alone or in combination with other elements, one or more of the identifying, selecting, communicating, using, gathering, receiving, and/or performing claims steps disclosed herein. Storage devices532and533may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure.

FIG. 6is a block diagram of an exemplary network architecture600in which client systems610,620, and630and servers640and645may be coupled to a network650. Client systems610,620, and630generally represent any type or form of computing device or system, such as exemplary computing system510inFIG. 5. In one example, client system610may include system100fromFIG. 1.

Similarly, servers640and645generally represent computing devices or systems, such as application servers or database servers, configured to provide various database services and/or run certain software applications. Network650generally represents any telecommunication or computer network including, for example, an intranet, a wide area network (WAN), a local area network (LAN), a personal area network (PAN), or the Internet.

As illustrated inFIG. 6, one or more storage devices660(1)-(N) may be directly attached to server640. Similarly, one or more storage devices670(1)-(N) may be directly attached to server645. Storage devices660(1)-(N) and storage devices670(1)-(N) generally represent any type or form of storage device or medium capable of storing data and/or other computer-readable instructions. In certain embodiments, storage devices660(1)-(N) and storage devices670(1)-(N) may represent network-attached storage (NAS) devices configured to communicate with servers640and645using various protocols, such as NFS, SMB, or CIFS.

In at least one embodiment, all or a portion of one or more of the exemplary embodiments disclosed herein may be encoded as a computer program and loaded onto and executed by server640, server645, storage devices660(1)-(N), storage devices670(1)-(N), storage devices690(1)-(N), intelligent storage array695, or any combination thereof. All or a portion of one or more of the exemplary embodiments disclosed herein may also be encoded as a computer program, stored in server640, run by server645, and distributed to client systems610,620, and630over network650. Accordingly, network architecture600may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the identifying, selecting, communicating, using, gathering, receiving, and/or performing claims steps disclosed herein. Network architecture600may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure.

In addition, one or more of the modules described herein may transform data, physical devices, and/or representations of physical devices from one form to another. For example, one or more of the modules described herein may transform a security server into a security server capable of leveraging clients for distributed security information gathering.