Assessing a security state of a mobile communications device to determine access to specific tasks

Information

  • Patent Grant
  • 9407640
  • Patent Number
    9,407,640
  • Date Filed
    Friday, February 27, 2015
    9 years ago
  • Date Issued
    Tuesday, August 2, 2016
    7 years ago
Abstract
Methods for assessing the current security state of a mobile communications device to determine access to specific tasks is presented. A security component on a server is configured to receive a request to access services from a mobile communications device for a specific task. The security component on the server is further configured to determine whether a security state for the mobile communications device is acceptable for access to the services. Based on the security state for the mobile device being determined to be acceptable for access to the services, access to the services is granted and a determination is whether the security state is acceptable for access to the specific task requested. Based on the security state being determined to be acceptable for access to the specific task requested, access to the specific task requested is granted by the server security component.
Description
TECHNICAL FIELD

The present invention relates generally to mobile security, and specifically, to establishing a secure mobile platform system on a mobile communications device to enable secure transactions between the mobile communications device and a service provider, for example, a financial services transaction.


BACKGROUND

Because of inherent security concerns, mobile communications devices such as mobile phones, PDAs, and smartphones have yet to provide the same breadth of trusted connectivity found on desktop and laptop computer platforms. For example, mobile device users are less likely to access confidential information and/or perform financial transactions with a mobile communications device because such devices are not sufficiently secure. Similarly, service providers such as banks, online payment services and providers of confidential information are less likely to offer access to their services through mobile communications devices. As a result, mobile communications device users are limited by the types and availability of many online services. This is because present methods for securing mobile communications devices do not contemplate many ways users may wish to access online services and online service providers, and are therefore inadequate for providing a secure platform for access to and from online services or service providers.


Previous methods for securing mobile communications devices focus on an all-or-nothing approach. Access to or from the mobile device is either granted or not granted based upon whether the device meets certain standards, possesses certain configurations, or adheres to certain policy rules. If the device passes these standards, access is granted. If the device is deficient in any way, access is denied. Such an approach does not consider the types or levels of access required by certain service providers, nor does this approach contemplate the security and repair capabilities of the device itself. Indeed, prior art security systems and methods ignore the recent activity of the mobile device in relation to its overall security state. Furthermore, prior art security systems are typically limited to authorizing access to a given network, making them unsuitable for controlling access and access levels to services and service providers based on a device's security state.


What is therefore needed is a system and method for providing security for mobile communications devices that considers the security state of the device and provides a platform for integrating with services and service providers.





BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which:



FIG. 1 is an exemplary block diagram depicting an embodiment of the present invention.



FIG. 2 is an exemplary messaging diagram illustrating the flow of communications according to an embodiment of the present invention.



FIG. 3 is an exemplary messaging diagram illustrating the flow of communications according to an embodiment of the present invention.



FIG. 4 is an exemplary flow diagram illustrating the steps of an embodiment of the present invention.



FIG. 5 is an exemplary flow diagram illustrating the steps of an embodiment of the present invention.



FIG. 6 is an exemplary flow diagram illustrating the steps of an embodiment of the present invention.



FIG. 7 is an exemplary flow diagram illustrating the steps of an embodiment of the present invention.



FIG. 8 is an exemplary flow diagram illustrating the steps of an embodiment of the present invention.



FIG. 9 is an exemplary flow diagram illustrating the steps of an embodiment of the present invention.



FIG. 10 is an exemplary flow diagram illustrating the steps of an embodiment of the present invention.





DETAILED DESCRIPTION

The present invention is a system and method for creating a customizable secure environment on a mobile communications device in order to permit safe access to and from trusted services. The present invention is not limited to a simple grant or denial of access to the mobile communications device, nor is the present invention limited to network or protocol authorization. The present invention allows mobile communications device users to access services, and allows service providers to access a mobile communications device with the confidence that the mobile communications device, or portions of the mobile communications device, is secure. As used herein, the term “mobile communications device” refers to mobile phones, PDAs and smartphones, but excludes laptop computers, notebook computers or sub-notebook computers. In the present application, mobile communication device may also be referred to as “handset,” “device,” “mobile client” or “client.” Specifically, mobile communications devices include devices for which voice communications are a primary function, but may offer data or other wireless Internet access capabilities, including Bluetooth, infrared, or wireless Internet access.


It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium such as a computer readable storage medium containing computer readable instructions or computer program code, or a computer network wherein computer readable instructions or computer program code are sent over optical or electronic communication links. Applications may take the form of software executing on a general purpose computer or be hardwired or hard coded in hardware. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.


A. The Secure Mobile Platform System



FIG. 1 illustrates the various components that may comprise a system embodiment of the present invention. As shown, mobile communications device 101 is connected to a network 121. Network 121 may include access to different communications protocols, such as a wireless network, a cellular network, Bluetooth, infrared, Wi-Fi or any other network that device 101 may access. Network 121 provides a communications link between device 101 and server 111. In this fashion, network 121 may carry communications between device 101 and server 111, or between device 101 and service provider 150, or between server 111 and service provider 150. Network 121 may also carry communications between other wireless network or wireless Internet components not pictured in FIG. 1.


One skilled in the art will appreciate that the present invention comprises a local software component 105 installed on device 101. In an embodiment, local software component 105 may be responsible for maintaining a secure line of communication with server 111 over network 121. In addition, local software component 105 may manage requests for access to and from device 101. As will be discussed further below, managing requests for access may include requests between device 101 and service provider 150, requests between service provider 150 and server 111, requests between device 101 and server 111, etc. In an embodiment, these requests may be managed in whole or in part by server 111, or may be managed in whole or in part by a remote software component 115 residing on server 111. Remote software component 115 may be responsible for maintaining a secure line of communication with device 105 or service provider 150 over network 121. One will appreciate that in the examples discussed herein, reference may be made to communications between device 101, server 111 and service provider 150. One skilled in the art will appreciate that these communications may actually be between local software component 105, remote software component 115 and service provider 150. Other variations are also possible without departing from this disclosure or the scope of the invention.


A person having skill in the art will also appreciate that the system illustrated in FIG. 1 is merely exemplary, and that additional components or configurations may be incorporated without departing from this disclosure or the scope of the invention. For example, server 111 may be connected over network 121 to multiple mobile communications devices, and/or multiple service providers, and/or other servers. In another example, service provider 150 may host server 111. Alternatively, service provider 150 may manage server 111, in which case the services provided by service provider 150 may be hosted by server 111 in addition to the secure mobile platform system provided by server 111.


B. Secure Mobile


1. Security State


As discussed above, access to various sensitive services is currently neither available nor encouraged on a mobile communications device because the state of its security is often unknown. In order to assure service providers that a device is secure, the present invention provides information on recent security events, if any. Security events include but are not limited to finding possible threats such as exploits, suspicious network traffic, viruses, malware, suspicious system or function calls, authentication failures, etc. Security events may also include hardware or physical issues with the mobile communications device, such as a broken antenna, a cracked screen or case, or a malfunctioning Bluetooth or infrared sensor. Systems and methods for detecting and assessing security events are discussed in co-pending U.S. patent application Ser. No. 12/255,621, entitled System and Method for Attack and Malware Prevention, now U.S. Pat. No. 8,108,933, which is hereby incorporated by reference.


Using the system illustrated in FIG. 1, the present invention may provide a dynamic assessment of the security of device 101, also termed device 101's “security state” or “state.” An assessment of device 101's state may be performed in whole or in part by remote software component 115 on server 111, in whole or in part by local software component 105 on device 101, or a combination of the two. One will appreciate that as used herein, the data or information used to determine device 101's state may be called “security state information,” and the resulting assessment using this information may be called device 101's “state.” Device 101's state therefore reflects the its current, recent or historic level of security, and may be a measure, calculation or assessment of the security level of device in light of recent security events or other security state information. Device 101's state may also reflect attempts to repair or recover device 101 from harmful security events.


An assessment of the device's state can be made in any number of ways, from logging or counting the number of security events that have recently occurred, to calculating a rating or score based upon weighing the severities of various security events and determining if any events interact. For example, the device may have recently been subjected to any single security event or a set number of security events, at which point the device's state may be classified as “not secure,” and thereby not be able to access any service provider or be able to be accessed by any service provider. Alternatively, events such as viruses that may be spread to other devices may be considered severe security events, whereas suspicious network traffic may be considered less severe. If such events are scaled based on severity, the device may be scored accordingly or not classified as “not secure” until the score reaches a certain acceptable limit. In either scenario, if the event is repaired, such as by removing or quarantining the virus, deleting the infected email or message, etc., then the state of the device may improve or otherwise change. In this fashion, a device's state is a dynamic assessment. When a device's state is referenced, it may either be at the time of reference or a time range. Historical data for a device's state may be stored on device 101, on server 111, or a combination of the two. Similarly, data about the device, including its state and information on recent security events, may be stored on device 101, on server 111, or a combination of the two.


In an embodiment, a device's state may be reported or displayed on device 101, or outputted to server 111. Systems and methods for displaying state information and other security event-related information are discussed in co-pending U.S. patent application Ser. No. 12/255,635, entitled Security Status and Information Display System, now U.S. Pat. No. 8,060,936, which is hereby incorporated by reference. In an embodiment, a device's state may be sent to server 111 so that it has the most updated security state information about the device. This security state information may also include the device's identifier, configuration, settings, information on recent security events, as well as the device's state. As shown in FIG. 2, mobile communications device 101 may send this security data to server 111 over network 121 (step 201). In step 202, server 111 may acknowledge receipt of the security data from device 101.


In an embodiment, server 111 may initiate a request for device 101's security state information. This may occur if device 101 has not recently sent its security state information to server 101 in accordance with an update or data synchronization schedule, or if server 111 is communicating with device 101 for the first time. As shown in FIG. 3, server 111 may request that device 101 connect to server 111 using a secure protocol (step 301). In step 302, device 101 connects to server 111 over network 121 using the secure protocol indicated by server 111. In step 303, server 111 may request device 101's security state information, which device 101 transmits in step 304. In step 305, server 111 may acknowledge receipt of the security state information. Therefore, as shown in FIGS. 2 and 3, the present invention provides for two sources of a mobile communications device 101's security state information: the device itself, or on a secure server 111 that communicates with device 101. This information may be stored in a database, table or other memory on device 101 or server 111, or may form part of the local software component 105 or remote software component 115. One will appreciate that other sources of a mobile communications device's security state information are possible without departing from this disclosure or the scope of the present invention, and that FIGS. 2 and 3 are merely exemplary and are not intended to limit the present invention.


In an embodiment, the process for assessing the security state information for device 101 may be performed by the remote software component 115 on server 111. In this embodiment, the security state information may be received as raw or partially processed data from device 101. Server 111 may also store a database of security events and may compare device 101's security state information against information in this database in order to assess a severity, score or other determination of device 101's state. In an embodiment, this processing and assessment may be performed in whole or in part on device 101. One will appreciate that other methods for processing security state information or data to assess a mobile communications device's security state information are possible without departing from this disclosure or the scope of the present invention.


In an embodiment, the state of the device 101 may be a function of having installed a particular security software application. In other words, if this application is present on device 101, then its state may be considered “secure,” and able to request or accept access from a service provider 150. The application may enable secure communications with the service provider 150 or with a trusted server 111. Similarly, the state of device 101 may be a function of having access to a specific server 111 or remote software component 115 capable of monitoring activities on the mobile communications device 101. Access may be granted through the secure server 111, which then establishes a trusted and secure communications link 121 with mobile device 101. In this fashion, device 101 is considered secure since communications to and from the device must go through secure server 111.


2. Access


In an embodiment, the level of access that service provider 150 has to mobile communications device 101, and/or the level of access that device 101 has to service provider 150, may depend upon the device's state, either at the time access is requested, or based upon historical data for the device's state, or based upon security state information stored on server 111 for device 101. One will appreciate that “access” to and by mobile communications device 101 may have different meanings based upon the service provided by service provider 150. One will also appreciate that the method for granting access or processing requests for access may be performed in whole or in part by service provider 150, server 111 (on its own or as a proxy server for service provider 150), or a remote software component 115 on server 111. For example, if service provider 150 is a bank or similar financial institution, access may include checking an account balance, viewing previous financial transactions, transferring funds, etc. Access may include all of the activities typically conducted on website accessed by a desktop computer. However, if the mobile communications device 101 is compromised in any manner, and therefore exists in a “not secure” state, then access may be limited or even denied. For example, device 101 may only be able to check an account balance, but not transfer any funds. Alternatively, device 101 may be denied any access to service provider 150, and/or service provider 150 may not have any access to device 101. Service provider 150 may customize the level of allowable access based upon given states, or the level of access may be automatically determined by device 101, local component 105, server 111 and/or remote component 115.


In another example, service provider 150 may be a web application provider, such as Google® Docs or Zoho®. Alternatively, service provider 150 may be an organization that provides access to online documentation or other sensitive materials over the web. Using the present invention, a service provider 150 may be able to adjust access based upon the state of the device. For example, a device 101 in a severely compromised state may be denied from accessing service provider 150's website, or may be limited to only viewing a list of documents or files, or may be limited to viewing portions of the files. A device 101 that is not compromised may be able to access, edit, send, upload or perform other activities on the service provider 150's site. One will appreciate that other levels of access and interaction are available based upon device 101's state.


In another example, access may simply be a response returned following a request for security state information and/or the state of a mobile communications device. A service provider 150 or other third party may already have established communication with a mobile communications device, or the mobile communications device user may already be a user of the services provided by service provider 150. The present invention may have subsequently implemented, and service provider 150 may wish to check on the status of a mobile communications device. As such, service provider 150 may send a query to device 101 for its security state, or alternatively, service provider 150 may send a query server 111 that maintains updated security state information on device 101. The present invention provides a way for a service provider 150 to quickly and simply access information on a mobile communication device's security state without having to install or maintain its own security system network.


Various methods for enabling access to mobile communications device 101 are described in detail below. Access may originate as a request from mobile device 101 to service provider 150. As will be described in more detail below, this request may be passed through server 111. Alternatively, a request for access may originate from service provider 150, in which case the request may be directed toward device 101, or passed through server 111. In any case, an embodiment of the present invention provides a secure mobile platform system in which the level of interactivity between the mobile communications device 101 and the service provider 150 depends upon the state and security of device 101. Different examples are outlined further below, and are illustrated in the accompanying figures. However, one skilled in the art will appreciate that the following are merely exemplary, and not intended to limit the scope of the invention in any way.


a. Device to Server to Service Provider


In an embodiment, the user of a mobile communications device 101 may request access to service provider 150. As illustrated above, this may be an embodiment where the user attempts to access a banking service or other network based service using software installed on a handset. As shown in FIG. 4, this request may be managed by server 111, which receives the request from device 101 (step 401). Server 111 may access a database or other memory to determine whether it has updated security state information for device 101 (step 403). If not, then in step 405, this security state information is obtained from device 101. Once obtained, the security state for device 101 may be assessed (step 407). This assessment may be any method as described previously or incorporated by reference. If the security state is acceptable, then device 101 may have access to service provider 150 (step 413). If device 101's security state is unacceptable, then access may be limited or denied (step 411). As previously discussed, the acceptability of a device's security state and the level of access to the mobile communications device 101 may be set by the provider of server 111, the service provider 150, the manufacturer or provider of device 101, or other parties responsible for managing the system of the present invention.


b. Service Provider to Device


In an embodiment, service provider 150 may wish to query server 111 for the security status, security state or to gain security state information for a mobile communications device monitored or managed by server 111. In an embodiment, service provider 150 may not manage server 111, but may have a trust relationship with server 111 in order to allow access to the security state of device 101. In another embodiment, service provider 150 may manage server 111 and have an implicit trust relationship to allow the service to access the security state of the device. In either instance, service provider 150 may have the ability to communicate securely and directly with device 101 without using the server 111 to proxy or otherwise enable the connection.



FIG. 5 illustrates a method by which a service provider 150 may request device 101's security state. In step 501, the service provider 150 initiates the request to get mobile communication device 101's security state from server 111. In step 503, server 111 checks to see if there is updated security state information for device 101. This may require communicating with a database or memory store storing such information, or communicating directly with device 101. If the information is not updated, then in step 505, server 111 obtains the security state information from device 101. Once this information is obtained, then in step 507, server 111 determines the state of device 101. In step 509, device 101's state may be stored in a server 111 managed by service provider 150 or stored in a database or memory store accessible by service provider 150. This method may provide service provider 150 with a continuously updated overview of the security state of a mobile communications device 101 accessed by service provider 150.


In an embodiment, the server 111 may provide access to the security state of a device 101 through an API over a protocol such as HTTP. This API may have encryption and require authentication for a service provider 150 to retrieve security state information corresponding to a mobile communications device. As such, service provider 150 may perform step 501 of FIG. 5 by using the API. Alternatively, the server 111 may access an API hosted by service provider 150 whenever the security state of device 101 changes to update the service provider 150 with the newest state information.


As such, the present invention provides a simple implementation by which service providers can be updated on the security state of a device 101 monitored by server 111. This provides a significant advantage over prior art that requires installation of a security system or portions of a security system, and delegates security monitoring to a server specifically tailored for the task.


c. Service Provider to Server to Device


In an embodiment, service provider 150 may request access to device 101 through server 111. In other words, server 111 may be responsible for processing or proxying requests for access based upon device 101's state. If device 101 is in an acceptable state, server 111 may provide the desired access to device 101 by service provider 150. This is shown in FIG. 6.


In step 601, server 111 receives a request from service provider 150 to access device 101. One will appreciate that server 111 may be responsible for proxying access to device 101 from service provider 150, or service provider 150 may be allowed to access device 101 directly. In step 603, server 111 may check to see if the security state information for device 101 is up to date. Alternatively, this check may be performed by service provider 150 before or after it passes the request for device 101 to the server 111. If the security state information for device 101 is not updated, then this information is obtained from device 101 (step 605). In step 607, server 111 assesses device 101's state based upon the information received. This step may also be performed by the service provider 150. Once device 101's state is determined, server 111 or service provider 150 or a combination of the two may determine whether device 101's security state is acceptable (step 609). If not, access may be limited or denied (step 611). If it is acceptable, then service provider 150 may have access to device 101 (step 613).


In an embodiment, a variation of the above steps may be performed when service provider 150 directly requests access to device 101, but device 101 passes the request to server 111. In this embodiment, the steps of checking whether security state information for device 101 is updated (step 603), obtaining device 101's security state information (step 605), assessing device 101's security state (step 607) then granting (step 613) or denying (step 611) service provider 150 access to device 101 may be all be performed by server 111.


Similarly, in an embodiment, service provider may directly request access to device 101, and device 101 may itself determine whether it is in an acceptable state. This may require that device 101 run a separate process that oversees the security state of the device 101. If the process is not kept separate from device 101's other running functions, then it may be compromised by malware or other security event that tricks device 101 into presenting that it is more secure than it may in fact be. One skilled in the art will appreciate that other methods for self-monitoring device 101's security state are possible.


d. Conditional Access to Device


As mentioned previously, service provider 150 may be granted limited or conditional access depending upon the state of device 101. Such things as recent security events, unsuccessfully quarantined viruses, or hardware issues may prevent normal access to device 101. As such, the present invention contemplates instances where access may be limited in order to protect the overall secure mobile platform system and prevent contamination of other system components. In an embodiment, limited or conditional access may be decided by server 111 which may proxy the request for access to or from device 101 or may process the request locally. One will appreciate that if device 101 is attempting to access service provider 150, but is not in a sufficiently secure state, the request may be denied without notifying service provider 150 of the attempted access.


For example, in FIG. 7, step 701 illustrates that service provider 150 may receive a request to access its services from device 101. This request may originate directly from device 101, or through server 111. Alternatively, server 111 may receive the request to access service provider 150 from device 101. In step 703, service provider 150 or server 111 checks to see if the security state information for device 101 is up to date. If not, then in step 705, this information is obtained from device 101. Once obtained, server 111 may determine the security state for device 101 (step 707). If device 101's state is unacceptable, then access to service provider 150 will be denied (step 711). In such a case, if server 111 has determined that device 101's state is unacceptable, service provider 150 may never receive device 101's request for access. However, if device 101's state is acceptable, then there may be an additional check to ensure that the state is acceptable for the specific service request or task requested by device 101 (step 713). If device 101's state is acceptable for the requested task, then in step 717, access is granted. If device 101's state is unacceptable, then in step 715, then access is denied. As such, in FIG. 7, device 101 may gain access to service provider 150, but may be denied from performing certain tasks (step 715). In the previous examples, this may be an instance where device 101 has access to checking an account balance (step 717), but transferring funds may be denied (step 715) because of a recent or present security event that has affected device 101's state.


Similarly, conditional access and communications between service provider 150 and device 101 may be primarily managed by server 111. In this embodiment, server 111 provides device 101's security state information to service provider 150, rather than device 101 providing its security state information to service provider 150, as shown in FIG. 7. This is illustrated in FIGS. 8 and 9.


In FIG. 8, service provider 150 receives a request for access from device 101 (step 801). However, in step 803, service provider 150 obtains device 101's security state information from server 111, rather than from device 101 (step 705 of FIG. 7). Server 111 or service provider 150 may then determine whether device 101's state is acceptable for further access to service provider 150. If device 101's state is acceptable, then access is granted (step 807). If not, then device 101's access to service provider 150 is denied.



FIG. 9 illustrates steps similar to FIG. 8. In step 901, service provider 150 receives a request for access from device 101. Service provider 150 then obtains the security state information for device 101 from server 111 (step 903). If service provider 150 (or server 111) determines that device 101 is not in an acceptably secure state, then further access is denied (step 907). If, however, device 101 is acceptably secure, then there may be an additional assessment to determine whether device 101's state is acceptably secure for the particular service request (step 909). If so, then access to service provider 150 for that particular request is granted (step 913). If not, then access to service provider 150 for that particular request is denied.



FIG. 10 illustrates steps for conditionally accessing device 101 by service provider 150 depending on the state of device 101 as provided by server 111. This embodiment may occur after service provider 150 has established a trusted relationship with server 111, which in turn has established trusted relationships with device 101. Service provider 150 may interact with server 111 to check device 101's state before accessing device 101. In step 1001, service provider 150 requests device 101's security state from server 111. Service provider 150 (or server 111) determines whether device 101 is acceptably secure. If not, then service provider 150 will not access device 101 (step 1005). If device 101 is acceptably secure, then service provider 150 may access device 101 (step 1007).


One will appreciate that any of steps of the methods described above and depicted in the accompanying drawings may be performed in a different order or combined. For example, in FIGS. 7, 8 and 9, the steps of determining whether device 101 is acceptably secure for a specific task or request for access may be combined with the steps for determining whether device 101 is acceptably secure enough to access service provider 150. Other variations are possible without departing from this disclosure or the scope of the present invention.


C. Counteracting Cyber-Terrorism


One will appreciate that the present invention is directed to creating and implementing a secure mobile platform system that provides limited to complete access to one or more mobile communications devices depending upon the security state of the one or more devices. While this may be practical and important in most daily business transactions, it is especially important in the context of national security. While mobile devices may not usually be used for accessing sensitive or potentially classified information, at present, there is little to stop someone from attempting such access, especially since many mobile devices today are Internet, intranet and enterprise-enabled. As such, terrorist organizations have many available points of entry into supposedly secure systems simply by hijacking the mobile devices connected to those systems. Similarly, terrorist organizations can use non-secure systems to capture and control connected mobile communications devices. The present invention provides a secure defense against such attacks by continuously and dynamically monitoring the security state of all connected mobile devices. If an attack is underway, the system will be aware of such attacks and may possess the means to contain and classify the attack. Similarly, the mobile platform system will be aware if a mobile device is removed from contact, since the system will no longer be receiving updates on the device's security state. Because the present invention provides a gateway system for evaluating the security state of a device before granting access to or from the device, device providers as well as service providers can rest assured that they are protected against cyberattacks—on their systems.


The descriptions above illustrate how the present invention provides a secure platform for mobile communications devices, whereby the security state of the device affects the level and types of services accessible by the device. Similarly, the security state of the device determines the level and types of services that may access the device. One will appreciate that in the description above and throughout, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one of ordinary skill in the art, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate explanation. The description of the preferred embodiments is not intended to limit the scope of the claims appended hereto.

Claims
  • 1. A non-transitory computer-readable medium encoded with a plurality of instructions which, when executed by a processor, causes the processor to perform a method comprising: receiving, at a server security component, a request to access services from a mobile communications device for a specific task;determining, at the server security component, whether a security state for the mobile communications device is acceptable for access to the services, the determining the security state for the mobile communications device comprising:determining whether a security state information associated with the received request to access services is up to date,based on the security state information being determined to not be up to date, obtaining, at the server security component, an updated security state information from the mobile communications device, anddetermining the security state for the mobile communication device based on the updated security state information obtained from the mobile communications device;based on the security state for the mobile communications device being determined to be acceptable for access to the services, granting access, by the server security component, to the services, and determining, at the server security component, whether the security state for the mobile communications device is acceptable for access to the specified task requested; andbased on the security state for the mobile communications device being determined to be acceptable for access to the specified task requested, granting access, by the server security component, to the specific task requested.
  • 2. The computer-readable medium of claim 1, wherein determining whether the security state for the mobile communications device is acceptable for access to the specific task requested comprises: sending, from the server security component, a security state information associated with the received request to access services to a service provider; andreceiving, at the server security component, a response from the service provider corresponding to the request to access,wherein the response provides an indication of whether the security state for the mobile communications device is acceptable for the specific task requested.
  • 3. A non-transitory computer-readable medium encoded with a plurality of instructions which, when executed by a processor, causes the processor to perform a method comprising: receiving, at a service provider, a request to access services by a mobile communications device;determining, at the service provider, whether a security state for the mobile communications device is acceptable for access to the services, the determining the security state for the mobile communications device comprising:determining whether a security state information associated with the received request to access services is up to date,based on the security state information being determined to not being up to date, obtaining, at the server security component, an updated security state information from the mobile communications device, anddetermining the security state for the mobile communications device based on the updated security state information obtained from the mobile communications device;based on the security state for the mobile communications device being determined to be acceptable for access to the services, granting access, by the server security component, to the services, and determining, at the service provider, whether the security state for the mobile communications device is acceptable for access to the specified task requested; andbased on the security state for the mobile communications device being determined to be unacceptable for access to the specific task requested, denying access, by the service provider, to the specified task requested.
  • 4. The computer-readable medium of claim 3, wherein a server security component serves as a proxy between a mobile communications device and the service provider, and wherein receiving the request to access services by a mobile communications device comprises receiving the request from the server security component.
  • 5. The computer-readable medium of claim 3, wherein the updated security state information is obtained directly from the mobile communications device.
  • 6. The computer-readable medium of claim 3, wherein the updated security state information is obtained from a server security component serving as a proxy between the mobile communications device and the service provider.
  • 7. A method comprising: receiving, at a server security component, a request to access services from a mobile communications device for a specified task;determining, at the server security component, whether a security state for the mobile communications device is acceptable for access to the services, the determining the security state for the mobile communications device comprising:determining whether a security state information associated with the received request to access services is up to date,based on the security state information being determined to not be up to date, obtaining, at the server security component, an updated security state information from the mobile communication device, anddetermining the security state for the mobile communications device based on the updated security state information obtained from the mobile communications device;based on the security state for the mobile communications device being determined to be acceptable for access to the services, granting access, by the server security component, to the services, and determining, at the server security component, whether the security state for the mobile communications device is acceptable for access to the specified task requested; andbased on the security state for the mobile communications device being determined to be acceptable for access to the specified task requested, granting access, by the server security component, to the specified task requested.
  • 8. The method of claim 7, wherein determining whether the security state for the mobile communications device is acceptable for access to the specific task requested comprises: sending, from the server security component, a security state information associated with the received request to access services to a service provider; andreceiving, at the server security component, a response from the service provider corresponding to the request to access,wherein the response provides an indication of whether the security state for the mobile communications device is acceptable for the specific task requested.
  • 9. A method comprising: receiving, at a service provider, a request to access services by a mobile communications device;determining, at the service provider, whether a security state for the mobile communications device is acceptable for access to the services, the determining the security state for the mobile communications device comprising:determining whether a security state information associated with the received request to access services is up to date,based on the security state information being determined to not being up to date, obtaining, at the server security component, an updated security state information from the mobile communications device, anddetermining the security state for the mobile communications device based on the updated security state information obtained from the mobile communications device;based on the security state for the mobile communications device being determined to be acceptable for access to the services, granting access, by the server security component, to the services, and determining, at the service provider, whether the security state for the mobile communications device is acceptable for access to the specified task requested; andbased on the security state for the mobile communications device being determined to be unacceptable for access to the specific task requested, denying access, by the service provider, to the specified task requested.
  • 10. The method of claim 9, wherein a server security component serves as a proxy between a mobile communications device and the service provider, and wherein receiving the request to access services by a mobile communications device comprises receiving the request from the server security component.
  • 11. The method of claim 9, wherein the updated security state information is obtained directly from the mobile communications device.
  • 12. The method of claim 9, wherein the updated security state information is obtained from a server security component serving as a proxy between the mobile communications device and the service provider.
CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 14/034,320, filed Sep. 23, 2013, entitled Assessing the Security State of a Mobile Communications Device; which was a continuation of U.S. patent application Ser. No. 13/742,110, filed Jan. 15, 2013, entitled Enforcing Security Based on Security State Assessment of a Mobile Device, now U.S. Pat. No. 8,561,144; which was a continuation of U.S. patent application Ser. No. 13/314,032, filed Dec. 7, 2011, entitled Providing Access Levels to Services Based Upon Mobile Device Security State, now U.S. Pat. No. 8,365,252; which was a continuation of U.S. patent application Ser. No. 12/255,632, filed Oct. 21, 2008, entitled Secure Mobile Platform System, now U.S. Pat. No. 8,087,067; which is related to the following U.S. patents and co-pending U.S. patent applications: U.S. patent application Ser. No. 12/255,635, filed Oct. 21, 2008, entitled Security Status and Information Display System, now U.S. Pat. No. 8,060,936; U.S. patent application Ser. No. 12/255,626, filed Oct. 21, 2008, entitled System and Method for a Mobile Cross-Platform Software System, now U.S. Pat. No. 8,099,472; U.S. patent application Ser. No. 12/255,621, filed Oct. 21, 2008, entitled System and Method for Attack and Malware Prevention, now U.S. Pat. No. 8,108,933; and U.S. patent application Ser. No. 12/255,614, filed Oct. 21, 2008, entitled System and Method for Monitoring and Analyzing Multiple Interfaces and Multiple Protocols, now U.S. Pat. No. 8,051,480, all of which are hereby incorporated by reference.

US Referenced Citations (315)
Number Name Date Kind
3416032 Jahns et al. Dec 1968 A
4553257 Mori et al. Nov 1985 A
5319776 Hile et al. Jun 1994 A
5574775 Miller, II et al. Nov 1996 A
5715518 Barrere et al. Feb 1998 A
6185689 Todd et al. Feb 2001 B1
6269456 Hodges et al. Jul 2001 B1
6272353 Dicker et al. Aug 2001 B1
6301668 Gleichauf et al. Oct 2001 B1
6453345 Trcka et al. Sep 2002 B2
6529143 Mikkola et al. Mar 2003 B2
6696941 Baker Feb 2004 B2
6792543 Pak et al. Sep 2004 B2
6892225 Tu et al. May 2005 B1
6907530 Wang Jun 2005 B2
6959184 Byers et al. Oct 2005 B1
7020895 Albrecht Mar 2006 B2
7023383 Stilp et al. Apr 2006 B2
7069589 Schmall et al. Jun 2006 B2
7096368 Kouznetsov et al. Aug 2006 B2
7123933 Poor et al. Oct 2006 B2
7127455 Carson et al. Oct 2006 B2
7159036 Hinchliffe et al. Jan 2007 B2
7159237 Schneier et al. Jan 2007 B2
7171690 Kouznetsov et al. Jan 2007 B2
7178166 Taylor et al. Feb 2007 B1
7181252 Komsi Feb 2007 B2
7210168 Hursey et al. Apr 2007 B2
7228566 Caceres et al. Jun 2007 B2
7236598 Sheymov et al. Jun 2007 B2
7237264 Graham et al. Jun 2007 B1
7266810 Karkare et al. Sep 2007 B2
7290276 Ogata Oct 2007 B2
7304570 Thomas et al. Dec 2007 B2
7305245 Alizadeh-Shabdiz Dec 2007 B2
7308256 Morota et al. Dec 2007 B2
7308712 Banzhof Dec 2007 B2
7325249 Sutton et al. Jan 2008 B2
7356835 Gancarcik et al. Apr 2008 B2
7376969 Njemanze et al. May 2008 B1
7386297 An Jun 2008 B2
7392043 Kouznetsov et al. Jun 2008 B2
7392543 Szor Jun 2008 B2
7397424 Houri Jul 2008 B2
7397434 Mun et al. Jul 2008 B2
7401359 Gartside et al. Jul 2008 B2
7403762 Morgan et al. Jul 2008 B2
7414988 Jones et al. Aug 2008 B2
7415270 Wilhelmsson et al. Aug 2008 B2
7415536 Nakazawa Aug 2008 B2
7433694 Morgan et al. Oct 2008 B2
7467206 Moore et al. Dec 2008 B2
7471954 Brachet et al. Dec 2008 B2
7472422 Agbabian Dec 2008 B1
7474897 Morgan et al. Jan 2009 B2
7493127 Morgan et al. Feb 2009 B2
7502620 Morgan et al. Mar 2009 B2
7515578 Alizadeh-Shabdiz Apr 2009 B2
7525541 Chun et al. Apr 2009 B2
7526297 Holur et al. Apr 2009 B1
7539882 Jessup et al. May 2009 B2
7551579 Alizadeh-Shabdiz Jun 2009 B2
7551929 Alizadeh-Shabdiz Jun 2009 B2
7634800 Ide et al. Dec 2009 B2
7685132 Hyman Mar 2010 B2
7696923 Houri Apr 2010 B2
7768963 Alizadeh-Shabdiz Aug 2010 B2
7769396 Alizadeh-Shabdiz et al. Aug 2010 B2
7774637 Beddoe et al. Aug 2010 B1
7783281 Cook et al. Aug 2010 B1
7809353 Brown et al. Oct 2010 B2
7809366 Rao et al. Oct 2010 B2
7809936 Einloth et al. Oct 2010 B2
7813745 Li Oct 2010 B2
7818017 Alizadeh-Shabdiz et al. Oct 2010 B2
7835754 Alizadeh-Shabdiz et al. Nov 2010 B2
7856234 Alizadeh-Shabdiz et al. Dec 2010 B2
7856373 Ullah Dec 2010 B2
7861303 Kouznetsov et al. Dec 2010 B2
7907966 Mammen Mar 2011 B1
7916661 Alizadeh-Shabdiz et al. Mar 2011 B2
7991854 Bahl Aug 2011 B2
7999742 Alizadeh-Shabdiz et al. Aug 2011 B2
8014788 Alizadeh-Shabdiz et al. Sep 2011 B2
8019357 Alizadeh-Shabdiz et al. Sep 2011 B2
8031657 Jones et al. Oct 2011 B2
8037203 Accapadi et al. Oct 2011 B2
8054219 Alizadeh-Shabdiz Nov 2011 B2
8087082 Bloch et al. Dec 2011 B2
8089398 Alizadeh-Shabdiz Jan 2012 B2
8089399 Alizadeh-Shabdiz Jan 2012 B2
8090386 Alizadeh-Shabdiz Jan 2012 B2
8099764 Herzog et al. Jan 2012 B2
8108555 Awadallah et al. Jan 2012 B2
8121617 LaGrotta et al. Feb 2012 B1
8126456 Lotter et al. Feb 2012 B2
8127158 Jessup et al. Feb 2012 B2
8127358 Lee Feb 2012 B1
8135395 Cassett et al. Mar 2012 B2
8195196 Haran et al. Jun 2012 B2
8259568 Laudermilch et al. Sep 2012 B2
8261351 Thornewell et al. Sep 2012 B1
8266288 Banerjee et al. Sep 2012 B2
8266324 Baratakke et al. Sep 2012 B2
8346860 Berg et al. Jan 2013 B2
8356080 Luna et al. Jan 2013 B2
8364785 Plamondon Jan 2013 B2
8370580 Mobarak et al. Feb 2013 B2
8370933 Buckler Feb 2013 B1
8401521 Bennett et al. Mar 2013 B2
8447856 Drako May 2013 B2
8463915 Kim Jun 2013 B1
8484332 Bush et al. Jul 2013 B2
8504775 Plamondon Aug 2013 B2
20010044339 Cordero et al. Nov 2001 A1
20020042886 Lahti et al. Apr 2002 A1
20020087483 Harif Jul 2002 A1
20020108058 Iwamura Aug 2002 A1
20020183060 Ko et al. Dec 2002 A1
20020191018 Broussard Dec 2002 A1
20030028803 Bunker et al. Feb 2003 A1
20030046134 Frolick et al. Mar 2003 A1
20030079145 Kouznetsov et al. Apr 2003 A1
20030115485 Milliken et al. Jun 2003 A1
20030120951 Gartside et al. Jun 2003 A1
20030131148 Kelley et al. Jul 2003 A1
20040022258 Tsukada et al. Feb 2004 A1
20040025042 Kouznetsov et al. Feb 2004 A1
20040058644 Saigo et al. Mar 2004 A1
20040133624 Park Jul 2004 A1
20040158741 Schneider Aug 2004 A1
20040185900 McElveen Sep 2004 A1
20040199665 Omar et al. Oct 2004 A1
20040209608 Kouznetsov et al. Oct 2004 A1
20040225887 O'Neil et al. Nov 2004 A1
20040259532 Isomaki et al. Dec 2004 A1
20050010821 Cooper et al. Jan 2005 A1
20050015443 Levine et al. Jan 2005 A1
20050074106 Orlamunder et al. Apr 2005 A1
20050076246 Singhal Apr 2005 A1
20050091308 Bookman et al. Apr 2005 A1
20050125779 Kelley et al. Jun 2005 A1
20050130627 Calmels et al. Jun 2005 A1
20050138395 Benco et al. Jun 2005 A1
20050138413 Lippmann et al. Jun 2005 A1
20050138450 Hsieh Jun 2005 A1
20050154796 Forsyth Jul 2005 A1
20050186954 Kenney Aug 2005 A1
20050197099 Nehushtan Sep 2005 A1
20050221800 Jackson et al. Oct 2005 A1
20050227669 Haparnas Oct 2005 A1
20050237970 Inoue Oct 2005 A1
20050240999 Rubin et al. Oct 2005 A1
20050246767 Fazal Nov 2005 A1
20050254654 Rockwell et al. Nov 2005 A1
20050278777 Loza Dec 2005 A1
20050282533 Draluk et al. Dec 2005 A1
20060026283 Trueba Feb 2006 A1
20060073820 Craswell et al. Apr 2006 A1
20060075388 Kelley et al. Apr 2006 A1
20060080680 Anwar et al. Apr 2006 A1
20060095454 Shankar et al. May 2006 A1
20060101518 Schumaker et al. May 2006 A1
20060130145 Choi et al. Jun 2006 A1
20060150238 D'Agostino Jul 2006 A1
20060150256 Fanton et al. Jul 2006 A1
20060156380 Gladstone Jul 2006 A1
20060179485 Longsine et al. Aug 2006 A1
20060217115 Cassett et al. Sep 2006 A1
20060218482 Ralston et al. Sep 2006 A1
20060224742 Shahbazi Oct 2006 A1
20060236325 Rao et al. Oct 2006 A1
20060253205 Gardiner Nov 2006 A1
20060253584 Dixon et al. Nov 2006 A1
20060258385 Hovestadt Nov 2006 A1
20060272011 Ide et al. Nov 2006 A1
20060277408 Bhat et al. Dec 2006 A1
20060294582 Linsley-Hood et al. Dec 2006 A1
20070005327 Ferris Jan 2007 A1
20070011319 Mcclure et al. Jan 2007 A1
20070015519 Casey Jan 2007 A1
20070016953 Morris et al. Jan 2007 A1
20070016955 Goldberg et al. Jan 2007 A1
20070021112 Byrne et al. Jan 2007 A1
20070028095 Allen et al. Feb 2007 A1
20070028303 Brennan Feb 2007 A1
20070028304 Brennan Feb 2007 A1
20070038677 Reasor et al. Feb 2007 A1
20070050471 Patel et al. Mar 2007 A1
20070086476 Iglesias et al. Apr 2007 A1
20070089165 Wei et al. Apr 2007 A1
20070090954 Mahaffey Apr 2007 A1
20070101405 Engle May 2007 A1
20070154014 Aissi et al. Jul 2007 A1
20070174472 Kulakowski Jul 2007 A1
20070174490 Choi et al. Jul 2007 A1
20070186282 Jenkins Aug 2007 A1
20070190995 Wang et al. Aug 2007 A1
20070214245 Hamalainen et al. Sep 2007 A1
20070214504 Milani Comparetti et al. Sep 2007 A1
20070220608 Lahti et al. Sep 2007 A1
20070240217 Tuvell et al. Oct 2007 A1
20070240218 Tuvell et al. Oct 2007 A1
20070240221 Tuvell et al. Oct 2007 A1
20070240222 Tuvell et al. Oct 2007 A1
20070248047 Shorty et al. Oct 2007 A1
20070250627 May et al. Oct 2007 A1
20070253377 Janneteau et al. Nov 2007 A1
20070293263 Eslambolchi et al. Dec 2007 A1
20070297610 Chen et al. Dec 2007 A1
20080028470 Remington et al. Jan 2008 A1
20080046369 Wood Feb 2008 A1
20080046557 Cheng Feb 2008 A1
20080047007 Satkunanathan et al. Feb 2008 A1
20080049653 Demirhan et al. Feb 2008 A1
20080065507 Morrison et al. Mar 2008 A1
20080070495 Stricklen et al. Mar 2008 A1
20080072329 Herschaft et al. Mar 2008 A1
20080086773 Tuvell et al. Apr 2008 A1
20080086776 Tuvell et al. Apr 2008 A1
20080096526 Miettinen et al. Apr 2008 A1
20080109871 Jacobs May 2008 A1
20080127171 Tarassov May 2008 A1
20080127179 Moss et al. May 2008 A1
20080127334 Gassoway May 2008 A1
20080127336 Sun et al. May 2008 A1
20080132218 Samson et al. Jun 2008 A1
20080134281 Shinde et al. Jun 2008 A1
20080140767 Rao et al. Jun 2008 A1
20080148381 Aaron Jun 2008 A1
20080172746 Lotter et al. Jul 2008 A1
20080178294 Hu et al. Jul 2008 A1
20080181116 Kavanaugh et al. Jul 2008 A1
20080186162 Rajan et al. Aug 2008 A1
20080196104 Tuvell et al. Aug 2008 A1
20080200160 Fitzpatrick et al. Aug 2008 A1
20080208950 Kim et al. Aug 2008 A1
20080209557 Herley et al. Aug 2008 A1
20080235801 Soderberg et al. Sep 2008 A1
20080276111 Jacoby et al. Nov 2008 A1
20080293396 Barnes et al. Nov 2008 A1
20080298344 Zhang Dec 2008 A1
20080307243 Lee Dec 2008 A1
20080318562 Featherstone et al. Dec 2008 A1
20090070283 Kang et al. Mar 2009 A1
20090172227 Taylor et al. Jul 2009 A1
20090199298 Miliefsky Aug 2009 A1
20090205016 Milas Aug 2009 A1
20090205047 Podjarny Aug 2009 A1
20090248623 Adelman et al. Oct 2009 A1
20090292487 Duncan et al. Nov 2009 A1
20090293125 Szor Nov 2009 A1
20100019731 Connolly et al. Jan 2010 A1
20100041946 Kim Feb 2010 A1
20100064341 Aldera Mar 2010 A1
20100088398 Plamondon Apr 2010 A1
20100097494 Gum et al. Apr 2010 A1
20100100591 Burgess et al. Apr 2010 A1
20100100939 Burgess et al. Apr 2010 A1
20100100959 Mahaffey Apr 2010 A1
20100100963 Mahaffey et al. Apr 2010 A1
20100100964 Burgess et al. Apr 2010 A1
20100138501 Clinton et al. Jun 2010 A1
20100138908 Vennelakanti Jun 2010 A1
20100154032 Ollmann Jun 2010 A1
20100173658 Fan et al. Jul 2010 A1
20100210240 Mahaffey et al. Aug 2010 A1
20100240419 Horino Sep 2010 A1
20100313270 Kim et al. Dec 2010 A1
20100317324 Brown et al. Dec 2010 A1
20100332593 Barash et al. Dec 2010 A1
20110047033 Mahaffey et al. Feb 2011 A1
20110047594 Mahaffey et al. Feb 2011 A1
20110047597 Barton et al. Feb 2011 A1
20110047620 Mahaffey et al. Feb 2011 A1
20110119765 Burgess et al. May 2011 A1
20110145920 Burgess et al. Jun 2011 A1
20110171923 Daly et al. Jul 2011 A1
20110241872 Mahaffey Oct 2011 A1
20110296510 Hatlelid et al. Dec 2011 A1
20120042382 Mahaffey Feb 2012 A1
20120060222 Burgess et al. Mar 2012 A1
20120072569 Xu Mar 2012 A1
20120084864 Burgess et al. Mar 2012 A1
20120084836 Mahaffey et al. Apr 2012 A1
20120096555 Mahaffey Apr 2012 A1
20120110174 Mahaffey et al. May 2012 A1
20120124239 Shribman et al. May 2012 A1
20120159636 Pandya et al. Jun 2012 A1
20120179801 Luna et al. Jul 2012 A1
20120179814 Swildens et al. Jul 2012 A1
20120188064 Mahaffey et al. Jul 2012 A1
20120196571 Grkov et al. Aug 2012 A1
20120215938 Fletcher et al. Aug 2012 A1
20120233695 Mahaffey et al. Sep 2012 A1
20120246499 Jessup et al. Sep 2012 A1
20120259954 McCarthy et al. Oct 2012 A1
20120278467 Schneider Nov 2012 A1
20120303735 Raciborski et al. Nov 2012 A1
20120317153 Parthasarathy et al. Dec 2012 A1
20120317233 Redpath Dec 2012 A1
20120317370 Luna Dec 2012 A1
20120324076 Zerr et al. Dec 2012 A1
20120324094 Wyatt et al. Dec 2012 A1
20120324259 Aasheim et al. Dec 2012 A1
20120324568 Wyatt et al. Dec 2012 A1
20130013775 Baumback et al. Jan 2013 A1
20130019311 Swildens et al. Jan 2013 A1
20130023209 Fisher et al. Jan 2013 A1
20130041946 Joel et al. Feb 2013 A1
20130041974 Luna et al. Feb 2013 A1
20130047034 Salomon et al. Feb 2013 A1
20130054796 Baumback et al. Feb 2013 A1
20130067054 Pulleyn et al. Mar 2013 A1
20130086682 Mahaffey et al. Apr 2013 A1
Foreign Referenced Citations (9)
Number Date Country
2430588 Mar 2007 GB
WO2005101789 Oct 2005 WO
WO2006110181 Oct 2006 WO
WO2007081356 Jul 2007 WO
WO2008007111 Jan 2008 WO
WO2008057737 May 2008 WO
WO2010048218 Apr 2010 WO
WO2010048220 Apr 2010 WO
WO2012027588 Jan 2012 WO
Non-Patent Literature Citations (70)
Entry
Richardson, Alexis, “Introduction to RabbitMQ”, Google UK, available at http://www.rabbitmq.com/resources/google-tech-talk-final/alexis-google-rabbitmq-talk.pdf, retrieved on Mar. 30, 2012, 33 pages, published on Sep. 25, 2008.
Fisher, Oliver, “Malware? We Don't Need No Stinking Malware!”, Google, available at http://googlewebmastercentral.blogspot.com/2008/10/malware-we-dont-need-no-stinking.html, retrieved on Mar. 30, 2012, published on Oct. 24, 2008, 11 pages.
Reardon, Marguerite, “Mobile Phones That Track Your Buddies,” Cnet, available at <http://news.cnet.com/Mobile-phones-that-track-your-buddies/2100-1039—3-6135209.html, retrieved Mar. 30, 2012, published on Nov. 14, 2006, 6 pages.
Fette, Ian “Understanding Phishing and Malware Protection in Google Chrome,” The Chromium Blog, available at http://blog.chromium.org/2008—11—01—archive.html, retrieved on May 17, 2011, published on Nov. 14, 2008, 6 pages.
Kincaid, Jason “Urban Airship Brings Easy Push Notifications to Android,” TechCrunch, available at http://techcrunch.com/2010/08/10/urban-airship-brings-easy-push-notifications-to-android/, retrieved on Jun. 16, 2011, published on Aug. 10, 2010, 5 pages.
Keane, Justin K. “Using the Google Safe Browsing API from PHP,” Mad Irish, Aug. 7, 2009, available at http://www.madirish.net/node/245, retrieved Mar. 30, 2012, published on Aug. 7, 2009, 5 pages.
Jefferies, Charles P. “Webroot AntiVirus 2010 with Spy Sweeper Review,” Notebook Review, available at http://www.notebookreview.com/default.asp?newsID=5700&review=Webroot+AntiVirus+2010+With+Spy+Sweeper+Review, retrieved on May 18, 2011, published on Jun. 22, 2010, 3 pages.
“Berry Locator”, available at http://www.mobireport.com/apps/bl/, retrieved on Aug. 10, 2011, published Feb. 8, 2008.
Wikipedia, “Firefox Browser”, available at http://en.wikipedia.org/wiki/Firefox—browser, retrieved on Aug. 10, 2011, published on Dec. 15, 2005.
F-Secure, “F-Secure Mobile Security for S60 Users Guide”, pp. 1-34, retrieved on Aug. 10, 2011, published on Jan. 26, 2009.
Wikipedia, “Java Virtual Machine”, available at http://en.wikipedia.org/wiki/Java—virtual—machine, retrieved on Aug. 10, 2011, published on Dec. 9, 2003.
Kaspersky “Kaspersky Mobile Security”, available at http://usa.kaspersky.com/products-services/home-computer-security, published on Jan. 1, 2007, retrieved on Oct. 21, 2008.
“Kaspersky Mobile Security”, Kaspersky Lab 2008, available at http://www.kaspersky.com/kaspersky—mobile—security, retrieved on Sep. 11, 2008, published on Jun. 22, 2010, 3 Pages.
Symantec, “Symantec Norton Smartphone Security”, available at http://www.symantec.com/norton/smartphone—security, retrieved on Oct. 21, 2008, published on Jan. 1, 2007.
“PhoneBak PDA Phone Anti-theft software for your PDA phone”, 2007, Bak2u Pte Ltd (Singapore) pp. 1-4.
“PhoneBak: Mobile Phone Theft Recovery Software”, 2007, Westin Tech.
Symantec, “Symantec Endpoint Security, Data Sheet and Product Screen Shot”, retrieved on Oct. 21, 2008, published on Jun. 15, 2008.
Symantec, “Symantec Mobile Security Suite for Windows Mobile, Data Sheet and Product Screen Shot”, available at http://www.symantec.com/norton/smartphone—security, retrieved on Oct. 21, 2008, published on Mar. 1, 2008.
TippingPoint “TippingPoint Security Management System (SMS)”, available at http://www.tippingpoint.com/products—sms.html, retrieved on Oct. 21, 2008, published on Mar. 31, 2005, 2 pages.
Summerson, Cameron “5 Android Antivirus Apps Compared, Find Out Which Ones Are Worth Having!,” Android Headlines, available at http://androidheadlines.com/2011/03/5-android-antivirus-apps-comapred-find-out-which-ones-are-worth-having.html, retrieved on Mar. 30, 2012, published on Mar. 8, 2011, 9 pages.
“Android Cloud to Device Messaging Framework,” Google Code Labs, available at http://code.google.com/android/c2dm/, retrieved on Sep. 14, 2011, published on Apr. 11, 2011, 9 pages.
“BlackBerry Push Service Overview,” available at http://us.blackberry.com/developers/platform/pushapi.jsp#tab—tab—resources, retrieved on Sep. 14, 2011, published on Nov. 6, 2010, 21 pages.
“eSoft unveils SiteFilter 3.0 for OEMs,” Infosecurity, Mar. 23, 2010, available at http://www.infosecurity-magazine.com/view/8273/esoft-unveils-sitefilter-30-for-oems/, retrieved on Mar. 30, 2012, published on Mar. 23, 2010, 2 pages.
“Get the Physical Location of Wireless Router From its MAC Address (BSSID),” Coderrr, available at http://coderrr.wordpress.com/2008/09/10/get-the-physical-location-of-wireless-router-from-its-mac-address-bssid/, retrieved on Mar. 30, 2012, published on Sep. 12, 2008, 13 pages.
“Hooking—Wikipedia, the Free Encyclopedia,” Wikipedia, available at http://web.archive.org/web/20100415154752/http://en.wikipedia.org/wiki/Hooking, retrieved Mar. 30, 2012, published on Apr. 15, 2010, 6 pages.
Mytton, David “How to Build an Apple Push Notification Provider Server (Tutorial),” Server Density, available at http://blog.serverdensity.com/2009/07/10/how-to-build-an-apple-push-notification-provider-server-tutorial/, retrieved on Apr. 2, 2012, published on Jul. 10, 2009, 33 pages.
“Pidgin The Universal Chat Client,” Pidign, available at http://www.pidgin.im/, retrieved Sep. 14, 2011, published on May 1, 2007, 14 pages.
Pogue, David “Simplifying the Lives of Web Users,” The New York Times, available at http://www.nytimes.com/2010/08/19/technology/personaltech/19pogue.html, retrieved May 17, 2011, Published on Aug. 18, 2010, 5 pages.
“Twilio Cloud Communications Web Service API for Building Voice and SMS Applications,” Twilio, available at http://www.twilio.com, retrieved Sep. 14, 2011, published on Jun. 5, 2008, 12 pages.
“Understanding Direct Push,” Microsoft, Feb. 18, 2009, available at http://technet.microsoft.com/en-us/library/aa997252(v=exchg.80).aspx, retrieved on Mar. 30, 2012, published on Feb. 18, 2009, 3 pages.
“Urban Airship: Powering Modern Mobile,” available at http://urbanairship.com/products/, retrieved on Sep. 16, 2011, published on Feb. 19, 2010, 14 pages.
“zVeloDB URL Database,” zVelo, available at https://zvelo.com/technology/zvelodb-url-database, retrieved Mar. 30, 2012, published on Jan. 21, 2012, 2 pages.
Amazon.com: Mining the Web Discovering Knowledge from Hypertext Data (9781558607545): Soumen Chakrabarti: Books, Amazon available at http://www.amazon.com/exec/obidos/ASIN/1558607544/, retrieved on Jun. 7, 2012, published on Dec. 13, 2001, pp. 1-7.
Clickatell, available at http://www.clickatell.com, retrieved Sep. 14, 2011, published on Jan 18, 2011, 11 pages.
Dashwire: Manage Your Cell Phone on the Web, News Blog, with Jessica Dolocourt, Oct. 29, 2007, 5:00am PDT <http://news.cnet.com/8301-10784—3-9805657-7.html> retrieved Jun. 15, 2009; pp. 1-3.
Diligenti, M., et al. Focused Crawling Using Context Graphs:, Proceedings of the 26th VLDB Conference, Cairo, Egypt, pp. 1-8, available at www.vldb.org/conf/2000/P257.pdf, retrieved on Oct. 21, 2008, published on Sep. 10, 2000.
Grafio “Stay Secure”, available at http://widgets.opera.com/widget/4405/, retrieved Oct. 21, 2008, published on Sep. 29, 2008.
McAfee, Internet Archive, Way Back Machine, available at <http://web.archive.org/web/20080611095201/www.qualys.com/solutions/vulnerability—management>retrieved Feb. 24, 2011, 1 pages.
HTC “Mobile Wipe Smart Phone Management”, pp. 1-4, published on Dec. 5, 2007, retrieved on Dec. 5, 2007.
PagerDuty, available at http://www.pagerduty.com, retrieved on Sep. 14, 2011, published on Jun. 6, 2009, 23 pages.
PCT “International Search Report and Written Opinion of the International Searching Authority for PCT/US2009/061370”, mailed on Dec. 14, 2009.
Non-Final Office Action dated Apr. 14, 2011 for U.S. Appl. No. 12/255,614, filed Oct. 21, 2008; pp. 1-6.
Non-Final Office Action dated Apr. 13, 2011 for U.S. Appl. No. 12/255,621, filed Oct. 21, 2008; pp. 1-7.
Final Office Action dated Feb. 1, 2011 for U.S. Appl. No. 12/255,626, filed Oct. 21, 2008; pp. 1-18.
Non-Final Office Action dated Mar. 24, 2011 for U.S. Appl. No. 12/255,635, filed Oct. 21, 2008; pp. 1-17.
Notice of Allowance dated Nov. 3, 2011 for U.S. Appl. No. 12/255,632, filed Oct. 21, 2008; pp. 1-5.
Non-Final Office Action dated Apr. 13, 2011 for U.S. Appl. No. 12/255,632, filed Oct. 21, 2008; pp. 1-7.
Non-Final Office Action dated Dec. 26, 2012 for U.S. Appl. No. 13/160,382, filed Jun. 14, 2011; pp. 1-23.
Virus Total, VT Community, www.virustotal.com/index.html; Dated Dec. 16, 2011; 44 Pages.
Windows Update, Internet Archive, Way Back Machine, available at <http://web.archive.org/web/20071022193017/http://en.wikipedia.org/wiki/Windows—Update> Retrieved Feb. 23, 2011, 3 pages.
Sprite Mobile, Sprite Backup, Internet Archive, Way Back Machine, available at http://web.archive.org/web/20080901220103/http://www.spritesoftware.com/?page—id=280, 4 pages, Retrieved Jan. 16, 2013.
Sprint Nextel, Mobile Locator, Internet Archive, Way Back Machine, available at http://http://web.archive.org/web/20070516134304/http://nextel.com/en/solutions/gps/mobile—locator.shtml, published May 16, 2007.
PCT International Preliminary Report on Patentability for PCT/US2011/049182; Mailed on Mar. 7, 2013; pp. 1-9.
“Virgin Media—Phone Lost or Stolen?”, web page downloaded Apr. 11, 2013 from http://www.virginmobile.com/vm/ukCoverage.do?contentId=insurance.howdoi.sm283.
Jung, Jaeyeon et al. “DNS Performance and the Effectiveness of Caching,” IEEE/ACM Transactions on Networking, vol. 10, Issue 5, Oct. 2002, pp. 589-603.
Wu, Yi et al. “Performance Analysis of DNS with TTL Value 0 as Location Repository in Mobile Internet,” IEEE Wireless Communications and Networking Conference (WCNC), Mar. 11-15, 2007, pp. 3250-3255.
Liljeberg, M. et al. “Optimizing World-Wide Web for Weakly Connected Mobile Workstations: An Indirect Approach,”Second International Workshop on Services Distributed and Networked Environments, Jun. 5-6, 1995, pp. 132-139.
Song, Hui and Cao, Guohong. “Cache-Miss-Initiated Prefetch in Mobile Environments,” Dept. of Computer Science and Engineering, The Pennsylvania State University, Computer Communications, vol. 28, Issue 7, May 2, 2005, pp. 741-753.
“Sprint—Report that your device is lost or stolen”, web page downloaded Apr. 11, 2013 from http://support.sprint.com/support/article/Report—that—your—device—is—lost—or—stolen/case-ba416758-20090629-143222.
Tedeschi, Bob, “In Choosing a New Phone, Online Research Goes Only So Far”, The New York Times, Oct. 7, 2009; downloaded Jul. 13, 2013 from http://www.nytimes.com/2009/10/08/technology/personaltech/08smat.html?—r=0.
PCT “International Search Report and Written Opinion of the International Searching Authority for PCT/US2013/027166”, mailed on Jun. 19, 2013; received on Jun. 21, 2013.
PCT “International Search Report and Written Opinion of the International Searching Authority for PCT/US2009/061372”, mailed on Mar. 24, 2010; received on Mar. 29, 2010 .
PCT, “International Search Report and Written Opinion of the International Searching Authority for PCT/US2011/049182”, mailed on Dec. 23, 2011.
Prey, available at http://preyproject.com/, retrieved Jan. 10, 2012, published on May 16, 2009, 4 pages.
Qualys, “Executive Dashboard,” Internet Archive, Way back Machine, availble at <http://web.archive.org/web20080507161417/www.qualys.com/products/screens/?screen=Executive + Dashboard>, retrieved Feb. 23, 2011, 1 page.
Qualys, “Vulnerability Management,” Internet Archive, Way Back Machine, available at <http://web.archive.org/web/20080611095201/www.qualys.com/solutions/vulnerability—management> Retrieved Feb. 24, 2011, 1 page.
Real world Computing, Jun. 16, 2008 (PC Pro), pp. 1-2.
Simone, “Playing with ActiveMQ,” Mostly Useless, available at http://www.mostly-useless.com/blog/2007/12/27/playing-with-activemq/, retrieved Mar. 30, 2012, published on Dec. 27, 2007, 6 pages.
Teh, Joe, “Norton 360 Version 3.0 Review,”Mar. 9, 2009, Available at <http://techielobang-com/blog/2009/03/09/norton-360-version-30-review/> Retrieved Feb. 23, 2011, 12 pages.
Trillian, available at http://www.trillian.im/, retrieved on Sep. 14, 2011, published on Oct. 11, 2007, 24 pages.
Related Publications (1)
Number Date Country
20150188924 A1 Jul 2015 US
Continuations (4)
Number Date Country
Parent 14034320 Sep 2013 US
Child 14634115 US
Parent 13742110 Jan 2013 US
Child 14034320 US
Parent 13314032 Dec 2011 US
Child 13742110 US
Parent 12255632 Oct 2008 US
Child 13314032 US