Abstract:
A method of protecting a mobile device against malware is described. The mobile device comprises a backup operating system, the backup operating system being stored, preferably in a ROM, in the mobile device separately from the active operating system. The method comprises the steps of: providing a signal indicative of the possible presence of malware in the mobile device; and, replacing in response to the signal the active operating system with the backup operating system.

Description:
FIELD OF THE INVENTION 
       [0001]    The invention relates to protecting a mobile device against a denial of service attack and, in particular, though not exclusively, to a method and a protection unit for protecting a mobile device against a denial of service attack. 
       BACKGROUND OF THE INVENTION 
       [0002]    Denial of Service (DOS) attacks or Distributed Denial of Service (DDOS) attacks are characterized by an explicit attempt by attackers to prevent legitimate users of a mobile service from using that service. Such attacks can be directed at any device in the mobile network. Although a network itself is not so vulnerable for such attacks, the individual mobile end-terminals are, as nowadays such devices allow all kinds of software to be downloaded and to be executed via the operating system of the mobile device. 
         [0003]    On the mobile device level, a DOS attack may be realized by malicious software, e.g. a virus or the like, which is designed to block access to the mobile services. Typically the attack is targeted to block or lock the mobile device and/or the removable smart-card, which may be located in the mobile device. 
         [0004]    Mobile devices use smart cards for authentication purposes. The smart card may e.g. comprise a Subscriber Identity Module (SIM) holding a service-subscriber key (Ki) for authentication to a GSM-type network and/or a Universal Subscriber Identity Module (USIM) also holding a service-subscriber key (Ki) for authentication to a UMTS-type network. Further, the smart card may allow the mobile device to authenticate the user. To that end the mobile device requires the user to enter his or her Personal Identification Number (PIN) and subsequently sends an authentication command comprising the PIN to the (U)SIM. If the wrong PIN is entered more than three times, either the (U)SIM, the mobile device or both become locked. 
         [0005]    A possible DOS attack could consist of malicious software (malware) which sends authentication commands with random data instead of the correct PIN to the (U)SIM. After the third time the (U)SIM is blocked for further access, making the mobile device at least temporarily useless. Using a further authentication code, the Personal Unblocking Code (PUC), the (U)SIM may be unblocked. A subsequent DOS attack on the basis of the PUC code would make the U(SIM) permanently useless as entering the wrong PUC ten times in a row unrecoverably blocks the (U)SIM. In that case a new smart card is required. 
         [0006]    Hence, large distribution of such malware could result in a serious DOS attack which would take a significant number of mobile devices either temporarily or permanently out of order. Therefore, measures to protect mobile devices from such DOS attacks are needed. 
         [0007]    One way of preventing DOS attacks is to improve the channel assignment in the GSM standard. In the article by Bocan et al (V. Bocan and V. Cretu, “Mitigating Denial of Service Threats in GSM Networks”, Proceedings of ARES 2006, The First International Conference on Availability, Reliability and Security, Vienna 2006, pp. 523-528) an improved DOS-resistant GSM channel assignment process is proposed by adding pre-authentication information in the GSM channel assignment protocol. This technique however requires changes in the existing GSM networks and thus will be difficult to implement. 
         [0008]    Another way of preventing DOS attacks is known from WO2004/038652. In this method a mobile device is blocked for a requested service after a predetermined number of failures to pass an authentication test. After each failure the user has to wait a predetermined time before the user is allowed to proceed with a subsequent authentication step. The introduction of such delay generates a temporary denial of services. The requested services will be blocked for a predefined time period which is long enough for the user to notice that something is wrong with the mobile device. 
         [0009]    One disadvantage of this method is that if the user accidentally enters a wrong PIN, the device will be blocked for a considerable time before the user may enter the PIN for a second time. Further, this method only delays the DOS attack. Measures should be taken by an administrator or another capable person in order to deactivate the malicious code which executes the DOS attack. In many situations this may not be possible. If the temporarily denial of service caused by the delay is not timely noticed by the user, the mobile device will be blocked by the DOS attack. 
         [0010]    A way of removing malware from the mobile device is known from US 2005/0064859. In this method copies of various stages of the operating system of the mobile device are stored on a backup server in the network. If, by scanning the copies in the network with an up-to-date virusscanner, it is detected that malware is present on the mobile device, the backup server downloads an uninfected old version of the operating system to the mobile device to replace the newer infected version. In fact the use of this prior art method ensures that the network always has the most recent and most sophisticated version of the up-to-date virusscanner available. However, this method does not prevent malware that has reached the mobile device, from rendering the (U)SIM useless, as the mobile device itself is not able to detect the malware and act accordingly. If the (U)SIM is not operating any more, it is in most cases not even possible to download a new operating system to the mobile device. Even if a new operating system has been downloaded, the mobile device is still unusable because the (U)SIM is out of order. 
         [0011]    U.S. patent application 2006/0010314 describes running multiple operating systems on a mobile device, while preserving the original one. The method provides solutions to ensure that newer parts of the operating system, called ‘guest OS’, do not erase the original OS, called ‘host OS’. The U.S. patent application 2006/0010314, however, does not give any teaching how to detect the presence of malware in either the host OS or the quest OS more does it teach how to act in situations where the mobile device is infected with malware. The U.S. patent application 2006/0010314 in fact does not make any hint to malware or other third party operating systems into the device. Moreover the multiple operating systems as disclosed in U.S. patent application 2006/0010314 are running independent one of another without any interaction therebetween, other than preserving the original running operating system and other than to run a guest OS or application from within the host OS in a mobile device. 
       SUMMARY OF THE INVENTION 
       [0012]    It is an object of the invention to reduce or eliminate at least one of the drawbacks known in the prior art and to provide in a first aspect of the invention a method of protecting a mobile device against malware. The mobile device comprises a backup operating system, the backup operating system being stored, preferably in a Read Only Memory (ROM), in the mobile device separately from an active operating system. The method comprises the steps of: providing preferably inside the mobile device or generated by a user of the mobile device a signal indicative of an assumed presence of malware in the mobile device. The method can then in addition comprise the step of, in the mobile device replacing in response to the signal the active operating system with the backup operating system. 
         [0013]    An assumed presence of malware can for example mean that the device contains intelligence, preferably programmed as algorithms in processor code, preferably in the back-up operating system, to analyse signals representative for or from inside the functioning of the device. The analysis software provides then a positive or negative indication of the presence of malware in the mobile device. The analysis software can be complemented with co-running software means for immediately triggering the replacement software of the backup operating system to become active. An assumed presence of malware and the possible subsequent remedy actions as to the device can also be triggered by human intelligence. 
         [0014]    Hence, after the reception of an indication of possible malware, the method allows the running operating system to be replaced with the backup operating system so that the malicious code is removed on the spot. The invention thus provides a simple and very effective way of removing malware from a mobile device. The method is very hard to compromise because the backup operating system is implemented in the hardware of the mobile device, e.g. a ROM. 
         [0015]    In an embodiment a predetermined number of subsequent failures to pass an authentication test on the mobile device and/or changes in the active OS provide a signal indicative of a possible presence of malware in the mobile device. 
         [0016]    In another embodiment the method further comprises the steps of: counting the number of failures to pass the authentication test; and, replacing the active operating system with the backup operating system on the condition that the number of failures is equal to a predetermined maximum Nmax and the active operating system differs from the backup operating system. A predetermined number of subsequent registered failures provide a strong indication of the possible presence of malware in the mobile device. The predetermined number of subsequent failures Nmax may be set to below the maximum number of failures allowed by the authentication test. In this way the method is capable of avoiding e.g. that the SIM will be reversibly or irreversibly blocked by malware sending the wrong PIN or PUC to the mobile device. 
         [0017]    In an embodiment the method further comprises the steps of comparing at least part of the active operating system of the mobile device with at least part of an backup operating system; and, replacing the active OS with the backup operating system on the basis of the detection of changes in the running operating system. 
         [0018]    In one embodiment the method further comprises the steps of: counting the number of failures to pass the authentication test; comparing at least part of the active operating system of the mobile device with at least part of an backup operating system; and, replacing the active operating system with the backup operating system on the condition that the number of failures is equal to a predetermined number Nmax and that the active operating system differs from the backup operating system. Combining two or more signals indicative of the possible presence of malware further improves the reliability of indication that the mobile device may indeed be infected. The reliability of the indication is important as flushing the running operating system is a rather drastic measure. 
         [0019]    In yet another embodiment the authentication test uses an authentication code received by the mobile device and a predetermined code stored in the mobile device or stored in a removable smart card located in the mobile device. 
         [0020]    In one embodiment the authentication test is a Personal Identification Number (PIN) type authentication test, wherein the test blocks the mobile device and/or a SIM card located in the mobile device after a predetermined number of subsequent failures of the test as defined by the PIN type authentication test. 
         [0021]    In another embodiment the authentication test is a Personal Unblocking Code (PUC) type authentication test for unblocking a mobile device and/or a SIM card located in the mobile device, wherein the test blocks the mobile device and/or a SIM card after a predetermined number of subsequent failures of the test as defined by the PUC type authentication test. 
         [0022]    In one embodiment the step of comparing the active OS with the backup OS comprises comparing hash type values of the respective operating systems. Using hash functions is an effective comparison between parts of the running OS and parts of the backup OS. 
         [0023]    In a further aspect the invention relates to a protection unit for a mobile device. The mobile device comprises a backup operating system, the backup operating system being stored, preferably in a ROM, in the mobile device separately from an active operating system. The protection unit comprises: means for receiving a signal indicative of an assumed presence of malware in the mobile device; the signal being generated inside the mobile device or by a user of the mobile device; and, means for replacing the active operating system with the backup operating system. The protection unit thus provides a simple hardware solution for protecting mobile devices against DOS attacks which can be easily implemented in various types of mobile devices. 
         [0024]    An assumed presence of malware can for example mean that the device contains intelligence, preferably programmed as algorithms in processor code, preferably in the back-up operating system, to analyse signals representative for or from inside the functioning of the device. The analysis software provides then a positive or negative indication of the presence of malware in the mobile device. The analysis software can be complemented with co-running software means for immediately triggering the replacement software of the backup operating system to become active. An assumed presence of malware and the possible subsequent remedy actions as to the device can also be triggered by human or a living being intelligence. 
         [0025]    In one embodiment of the protection unit, a predetermined number of subsequent failures to pass an authentication test on the mobile device and/or changes in the active OS provide a signal indicative of a possible presence of malware. 
         [0026]    In another embodiment the protection unit further comprises means for counting the number of failures to pass the authentication test on the mobile device and/or means for comparing the active operating system with the backup operating system. 
         [0027]    In yet another embodiment the means for replacing the active operating system with the backup operating system is configured to replace the running OS on the condition that the number of failures to pass the test is equal to a predetermined maximum Nmax and/or on the condition that the active operating system differs from the backup operating system. 
         [0028]    In another aspect the invention relates to a mobile device comprising a malware protection unit as described in the embodiments above. 
         [0029]    In yet another aspect the invention relates to a computer program product comprising software code portions configured for, when run in the memory of a mobile device comprising a backup operating system, executes the method steps as described in the embodiments above. 
         [0030]    The invention will be further illustrated with reference to the attached drawings, which schematically will show embodiments according to the invention. It will be understood that the invention is not in any way restricted to these specific embodiments. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0031]      FIG. 1  depicts a schematic representation of mobile device comprising a malware protection unit according to an embodiment of the invention. 
           [0032]      FIG. 2  depicts a flow diagram of the method according to one embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0033]      FIG. 1  illustrates a typical mobile device  100  comprising a malware protection unit  102  according to one embodiment of the invention. The mobile device may be a smart phone, a personal digital assistant (PDA), a laptop or any other mobile communications device capable of providing services over one or more mobile networks. The mobile device comprises an input terminal  104 , e.g. a keypad or a touch screen, allowing a user to enter a personal code, e.g. a PIN or a PUC. Further, the mobile device may comprise a smart card  106  for authentication purposes. 
         [0034]    The smart card may comprise a SIM for authentication to a GMS type network and/or a USIM for authentication to an UMTS type network. CDMA-based mobile devices often use a Removable User Identity Module (RUIM). Many CDMA-based standards however do not include any such card. In that case authentication to the network is based on a unique code contained in the mobile device itself. The smart card comprising the SIM or the USIM or—in the case of e.g. a CDMA-based mobile device—the mobile device itself are capable of receiving an authentication command comprising the PIN or PUC received by the mobile device via the input terminal. 
         [0035]    The mobile device further comprises a memory with an Operating System (OS)  108 , e.g. a Microsoft® OS, a Unix type OS such as Linux® mobile OS or a proprietary OS, which is responsible for the management and coordination of the activities and the sharing of the resources of the mobile device. Besides the memory with the active (running) OS, the mobile device further comprises a backup OS  110 . Preferably, the backup OS is permanently stored in a ROM type chip or any other storage device which allows tamper-free, permanent storage of the OS. Such hardware implementation allows a very robust solution against malware. 
         [0036]    The mobile device further comprises a malware protection unit  102 , which is connected to the input terminal  104 , the smart card  106 , the running OS  108  and the backup OS  110 . The protection unit is capable of receiving a signal  112  indicative of the possible presence of malware in the mobile device. Such signal may be provided by a smart card, e.g. a (U)SIM or the like, or by the mobile device itself (e.g. in the case of a CDMA-based mobile device). In that case, the SIM or the mobile device informs the protection unit of each failure of a user to enter a correct PIN or PUC code into the input terminal. When a failure occurs it is registered. A number of subsequent failures is an indication that malware is present on the mobile device. The larger the number of failures, the stronger the indication. Hence, after a predetermined number of failures the protection unit may decide to flush the running OS. Another signal indicative of the possible presence of malware are changes in the running operating system. 
         [0037]    The protection unit may also receive other signals which indicate the possible presence of malware in the mobile device. For instance, the signal may also be a user generated signal  114 , e.g. by pushing a predetermined button of the input terminal of the mobile device. The protection unit may use combinations of these signals for deciding to flush the running operating system. In one embodiment the protection unit checks whether the active (running) OS has been modified after a predetermined number Nmax of failures to pass an authentication test. 
         [0038]    Changes in the running OS may be detected by comparing the running OS with the backup OS. To that end, the protection unit comprises a comparison function  116  in the form of a mathematical algorithm which is capable of finding differences between the active and the backup OS. In one preferred embodiment, the mathematical algorithm comprises a set of hash functions which are capable of producing hash values. By comparing the hash values of both operating systems differences between the operating systems may be efficiently detected. 
         [0039]    The protection unit further comprises a flush function  118 . The flush function is capable of replacing the active, infected OS, with a clean copy of the backup OS stored in the ROM or any other storage device which allows tamper-free and/or permanent storage of the OS. Any previously downloaded software, including the malware, will be flushed and replaced by a clean OS. Although flushing the OS may be a quite rigorous measure, it is preferred over a permanently blocked SIM. 
         [0040]    The protection unit also comprises a counter N  120  for registering failures of the PIN and/or PUC authentication test. When turning on the power of the mobile device, the counter is set to zero. Failure of entering the correct PIN or PUC will increase the counter N by one and successful input of the PIN or PUC will set the counter back to zero. 
         [0041]    After a predetermined number of failures Nmax the protection unit will check whether changes in the running OS are present. If this is the case, the protection unit will flush the running OS with a backup OS. In one embodiment, the flushing will not affect the counter. Hence—after flushing the operating system—the input of further incorrect codes will block the mobile device. If no changes in the running OS have been detected, presumably the failure is caused by a wrong entry of the authentication code. In that case the user is offered a further chance to enter the correct authentication code. 
         [0042]    Preferably the functionality in the protection unit may be implemented as one or more executable software programs. Similar to the backup OS, these programs may be programmed in a ROM chip, so that it is very difficult or impossible for malicious code to manipulate or change these functions. 
         [0043]      FIG. 2  illustrates a typical flow diagram  200  of a method according to one embodiment of the invention. In step  202  the mobile device requests the user to enter an authentication code (e.g. PIN or PUC). Thereafter, in step  204  the authentication test is executed and a signal indicating whether the test is successful or not is returned to the mobile device. If the test is successful, the user is given access to the mobile device (step  206 ). 
         [0044]    Failure of the test  204  is regarded as an indication that the mobile device may be infected with malware. Hence, in that case the malware protection unit in the mobile device registers the failure to pass the authentication test by increasing a counter N by one unit (step  208 ). Subsequently, the protection unit checks whether the counter has reached a predetermined maximum Nmax (step  210 ). If the maximum has not been reached the user is offered a further chance to enter the correct authentication code (step  212 ). If the maximum has been reached the protection unit checks, using e.g. hashing techniques, whether differences are present between the running OS and the backup OS (step  214 ). If no differences are detected the user is offered a further chance to enter the correct authentication code (step  216 ). If a difference is detected the protection unit will flush the running OS thereby replacing the running OS with a copy of the backup OS (step  218 ). The new OS will be rebooted and bringing the procedure back to the initial situation wherein the user has to enter his or her personal code (step  220 ). 
         [0045]    The predetermined maximum Nmax is set to a number which is less than the maximum number of subsequent failures allowed by an authentication test (e.g. three for the PIN authentication test and ten for the PUC authentication test). The higher the number of subsequent failures, the stronger the indication that malware is present on the mobile device. Moreover, failure of the PUC test results in permanent blockage of the mobile device and/or (U)SIM. Hence, a preferred implementation of the method is at the level of the PUC authentication in which Nmax is set to nine, i.e. just below the maximum number of subsequent failures defined by the PUC test. 
         [0046]    It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.