WO2011046356A2 - 안티 멀웨어 서비스 방법 - Google Patents
안티 멀웨어 서비스 방법 Download PDFInfo
- Publication number
- WO2011046356A2 WO2011046356A2 PCT/KR2010/006988 KR2010006988W WO2011046356A2 WO 2011046356 A2 WO2011046356 A2 WO 2011046356A2 KR 2010006988 W KR2010006988 W KR 2010006988W WO 2011046356 A2 WO2011046356 A2 WO 2011046356A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- malware
- server
- information
- block
- local
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Definitions
- the present invention relates to a server-based anti-malware service method, system, and server and device used therein.
- Malware is software designed specifically to harm or interfere with a system, such as viruses or Trojan horses, or code and malicious software or malicious code that can endanger data, computers, or networks. From the "malicious code”, it refers to software developed to damage other systems. Recently, malware needs to be careful not to open attachments or download and install software, but simply clicking on a link or image on a popular search page can install unwanted software and hijack the system. Do.
- wireless terminals are now adopting the functions of computers and are developing into smart phones.
- the wireless network of wireless terminals has expanded to the same level as the wireless Internet, the virus damages occurring in computers are soon reproduced in wireless networks of wireless terminals. It is likely to be.
- 'DB' a malware database
- the entire malware DB is downloaded from a server. Therefore, in the related art, a large amount of data traffic is transmitted and received between the server and the mobile device, thus causing a waste of communication resources, and there may be a problem in using a mobile application due to limited resources of the mobile device.
- the mobile communication environment is also globalized and roaming services are introduced to countries around the world. In the conventional anti-malware system, it is difficult to effectively cope with malware generated locally.
- the present invention has been made to solve the above problems, the server-based to prevent the waste of communication resources by transmitting and receiving the minimum data traffic when updating the malware DB on the device, and to effectively use the limited resources of the device Its purpose is to provide an anti-malware service method, system, and server and device used therein.
- an object of the present invention is to provide a server-based anti-malware service method, a system, and a server and a device used to effectively respond to malware generated in each region of the world.
- At least one server may manage 'local-malware information' related to a predetermined region; Generating, by the server, 'malware configuration information' for the device based on the 'local-malware information' when the device is located in the region; And the server transmitting the 'malware configuration information' to the device.
- a server for managing 'local-malware information' associated with a predetermined area; And a device for transmitting information identifying the location of the device to the server, wherein the server determines whether the device is located in the region based on the information received from the device. If the location is located in the area is provided a server-based anti-malware service system, characterized in that to generate the 'malware configuration information' based on the 'local-malware information' to transmit to the device.
- the storage unit for storing a malware signature DB; Anti-malware engine; And a management module for requesting, to the server, 'malware configuration information' related to the region where the device is located, wherein the management module receives the 'malware configuration information' from the server and uses the malware signature DB. And at least one of an anti-malware engine is provided.
- a database server for storing 'local-malware information' associated with a predetermined area; And when a request for 'malware configuration information' is received from a device, determine a location of the device, and when the location of the device is located in the predetermined area, based on the 'regional-malware information'. It provides a server for providing an anti-malware service comprising a; update server for generating and transmitting to the device.
- the 'regional-malware information' may include at least one of a 'regional-malware engine' associated with the predetermined region and a 'regional-malware signature DB' associated with the predetermined region.
- the 'malware configuration information' may be information for updating the malware information pre-stored by the device with the 'local-malware information'.
- the server may also be configured to extract a block from a 'local-malware signature DB' according to a predetermined criterion to configure the block data DB, and block IDs may be assigned to blocks constituting the block data DB. .
- the server allocates and manages a version of a block ID to the block ID, and configures a delta data DB composed of differences between blocks having the same block ID.
- the device includes a location determiner, and transmits at least one information of a checksum of a malware signature DB stored therein, an execution environment of the device, a location ID, a version ID, and the number of blocks to a server.
- the server receiving the transmission may determine whether to transmit a new location determiner to the device based on the change of the information.
- the server may check whether the device has a block, and generate the 'malware configuration information' so that the block data DB is included in the 'malware configuration information' when the device does not have a block.
- the server may prestore a location determiner corresponding to the device execution environment.
- the device transmits at least one information of a checksum of a malware signature DB, an execution environment of the device, a location ID, a version ID, and the number of blocks to a server, and the server checks the information and checks the information of the malware signature DB.
- the update can be determined.
- the location determiner may activate a malware signature DB related to an area in which the device is currently located among the malware signature DBs stored in the storage unit.
- the management module may transmit a checksum of the malware signature DB, an execution environment of the device, a location ID, a version ID, and the number of blocks when requesting 'malware configuration information' to the server.
- the malware signature DB may be a block data DB classified for each block according to a predetermined criterion, and block IDs may be assigned to blocks constituting the block data DB.
- the management module may replace the existing location determiner with the received location determiner.
- the minimum data traffic is transmitted and received when the malware DB is updated in the device to prevent waste of communication resources, and the device can effectively use limited resources.
- FIG. 1 is a functional block diagram of a server-based anti-malware service system according to an embodiment of the present invention
- FIG. 2 is a functional block diagram of a mobile device according to an embodiment of the present invention.
- FIG. 3 is a functional block diagram of a server according to an embodiment of the present invention.
- FIG. 4 is a functional block diagram of a mobile device according to an embodiment of the present invention.
- FIG. 5 is a view provided to explain the pattern data DB according to an embodiment of the present invention.
- FIG. 6 is a view provided to explain a block data DB according to an embodiment of the present invention.
- FIG. 7 is a view provided to explain a malware signature DB according to an embodiment of the present invention.
- FIG. 9 is a view provided to explain a block data DB and a delta DB according to an embodiment of the present invention.
- 10 to 14 are views provided to explain a server-based anti-malware service method according to an embodiment of the present invention.
- FIG. 1 is a functional block diagram of a server-based anti-malware service system according to an embodiment of the present invention.
- a server-based anti-malware service system may include a first server 200a, a second server 200b, a third server 200c, a mobile device 100, And the Internet network.
- the first server 200a, the second server 200b, and the third server 200c may provide an anti-malware service to the mobile device 100 through an internet network.
- These servers can be, for example, cloud servers, but the invention is not limited to cloud servers.
- the mobile device 100 may perform wired and / or wireless communication with the first to third servers and may be provided with an anti-malware service.
- the mobile device 100 may be, for example, a device such as a notebook, a smartphone, an iPad, a PDA, a smart grid in a cell phone smart grid, or the like.
- the first server 200a manages a predetermined region and manages malware information (hereinafter, referred to as 'regional-malware information') related to a region (hereinafter, referred to as a 'jurisdiction') under its jurisdiction.
- 'management' may include storing, deleting, replacing, adding, and / or modifying.
- the first server 200a may, for example, manage the US region and may manage regional-malware information that is particularly generated in the US region.
- Regional-malware information may include, for example, i) a regional-anti-malware engine capable of scanning and / or filtering malware particularly occurring in the US region, and / or ii) regional-malware signatures specifically occurring in the US region.
- DB may be included.
- 'local-malware information' is a concept including an anti-malware engine that can scan and / or filter malware especially generated in a specific region as described above, and a signature DB of malware especially generated in a specific region. It can be used, but may also include signature databases or anti-malware engines for commonly occurring malware regardless of location.
- the second server 200b and the third server 200c may each have a jurisdiction and manage local-malware information particularly generated in the jurisdiction.
- the second server 200b and the third server 200c may each be a server that controls a Korean region and a server that controls a European region.
- the present invention is not limited to such countries. Since the first server 200a to the third server 200c are functionally the same, the following description will focus on the first server 200a.
- the first server 200a may transmit local-malware information related to an area where the mobile device 100 is located.
- the request for the anti-malware service may be, for example, replacement or update of the anti-malware engine stored by the mobile device 100, modification, replacement, deletion, or addition of the malware signature DB, or modification, replacement of the malware signature block data DB.
- the concept includes adding, deleting, or adding a server, and includes all requests required to receive anti-malware services on a server basis.
- anti-malware service requests in particular, the replacement or update of the anti-malware engine, or the modification, replacement, deletion or addition of the malware signature DB, or the modification, replacement, deletion, or addition request of the malware signature block data DB Etc. will be referred to collectively as a request for 'malware configuration information'.
- the first server 200a may store at least one location decider corresponding to the execution environment of the device.
- the first server 200a may store, for example, a location determiner corresponding to each OS such as Aesthetic, Blackberry, Aniphone, Windows Mobile, or Android.
- the first server 200a may transmit a location determiner corresponding to the execution environment of the device to the mobile device 100 located in its jurisdiction.
- the location determiner 110 of the mobile device 100 does not match an execution environment (for example, an OS) of the mobile device 100
- the first server 200a may have its own (first server 200a). And transmit the excitation location determiner to the mobile device 100.
- the mobile device 100 updates the location determiner stored in the mobile device 100 with the location determiner received from the first server 200a.
- the updated location determiner 110 may store the URL of the first server 200a in the mobile device 100.
- the device 100 may first check information of at least one of a checksum of a malware signature DB stored therein, an execution environment of the device, a location ID, a version ID, and the number of blocks.
- the first server 200a which is transmitted to the server 200a and receives the information, may determine whether to transmit a new location determiner to the device based on whether the information is changed.
- the first server 200a checks device information (for example, an operating system (OS)) transmitted from the mobile device 100 to determine whether to update the location determiner of the mobile device 100. You can decide.
- device information for example, an operating system (OS)
- a URL of a predetermined server may be stored.
- the mobile device 100 when the mobile device 100 subscribes to the anti-malware service according to the present invention or when the mobile device 100 is manufactured, a URL of a predetermined server may be stored.
- the mobile device 100 stores the URL of the first server 200a (hereinafter referred to as “first URL”).
- first URL the URL of the first server 200a
- the mobile device 100 requests the server having the first URL (that is, the first server).
- the mobile device 100 moves to Korea, the mobile device 100 still has a first URL and thus requests an anti-malware service to the first server 200a that controls the United States.
- the first server 200a may know that the location of the mobile device 100 that requested the service is Korea, not the United States. Therefore, the URL of the server that controls Korea, that is, the second server 200b (hereinafter, “second” URL ”) to the mobile device 100.
- the mobile device 100 stores the second URL instead of the previously stored first URL, and when the anti-malware service is requested in the future, the mobile device 100 requests the server having the second URL.
- the mobile device 100 is a second server 200b having a second URL, a checksum of a malware signature DB that it has, an execution environment of a mobile device 100, a location ID, a version ID, And / or information such as the number of blocks.
- the second server 200b determines whether the mobile device 100 has a location determiner suitable for its execution environment, and if it is determined that the mobile device 100 has a location determiner not suitable for the execution environment, Send the location determiner to the mobile device 100.
- the second server 200b uses at least one of the information received from the mobile device 100, the signature DB that the mobile device 100 has Determine if you need to update. For example, if the checksum of the signature DB of the mobile device 100 does not match the checksum of the regional-malware signature DB related to the Korea region, updating the malware signature DB of the mobile device 100. To perform the operation.
- the above-described embodiment is directed to a mobile device, but the present invention may be applied not only to a mobile device but also to a device having a fixed position such as a desktop PC.
- FIG. 2 is a functional block diagram of a mobile device according to an embodiment of the present invention.
- a mobile device may include a location determiner 110, a connection module 130, an anti-malware engine 150, a management module 170, and a storage 190. It may include.
- the location determiner 110 is an entity having logic for determining an active location and may include a checksum of a malware signature DB, a client execution environment, a location ID, a version ID, a block number, and the like as variables. According to an embodiment of the present invention, the location determiner 110 may activate a malware signature DB associated with the region where the mobile device is currently located, and deactivate at least a portion of the malware signature DB irrelevant to the region where the device is currently located.
- a mobile device For example, if a mobile device is located in Korea and then moves to the United States, it receives a regional-malware signature database associated with the United States from a server that has jurisdiction over the United States (for example, the first server), in which case the location determiner 110 may delete or deactivate at least a portion of the local-malware signature DB associated with the previously stored Korea region.
- a server that has jurisdiction over the United States (for example, the first server)
- the location determiner 110 may delete or deactivate at least a portion of the local-malware signature DB associated with the previously stored Korea region.
- the location determiner 110 may store the updated URL of the new server in the mobile device when it is updated.
- the anti-malware engine 150 may determine whether the malware is included in the file to be scanned by comparing the file to be scanned with the malware signature DB 195 stored in the storage 190.
- the management module 170 may manage the device information 191 stored in the storage 190, the server URL 193, the malware signature DB 195, and also the location determiner 110 and the anti-malware engine 150. , And / or malware signature DB 195 may be synchronized.
- the management module 170 may request the anti-malware service to the server 200a periodically or aperiodically. For example, the management module 170 may collect and transmit information of the mobile device (malware signature checksum, client execution environment, location ID, and version ID, number of blocks) to the server. In addition, when a request is made from the server, the management module 170 may transmit information such as a block ID, a block ID version, and a block checksum of the mobile device to the server.
- the mobile device malware signature checksum, client execution environment, location ID, and version ID, number of blocks
- the management module 170 may request an anti-malware service from the server URL 193 and process information requested by the server.
- the connection module 130 may support communication with the servers 200a, 200b, and 200c.
- the connection module 130 may support all the communication with the first server 200a to the third server 200c described above.
- the storage unit 190 has been described as storing the malware signature DB 195.
- the storage unit 190 may also store the block data DB to be described later.
- the block data DB is a block data DB composed of blocks classified by the malware signature DB according to predetermined criteria, and a block ID is assigned to each block included in the block data DB.
- the criteria for classifying blocks may be based on, for example, the date when the virus pattern is generated, or based on the date when the virus pattern is generated, but the present invention is not limited to such criteria.
- the management module 170 may update block by block when updating the malware signature DB 195.
- the storage 190 may store the URL of the first server 200a (“first URL”). Accordingly, the management module 170 requests the server having the first URL (ie, the first server) when the anti-malware service is requested.
- the mobile device 100 moves to Korea, the mobile device 100 still has the first URL, so that the management module 170 requests the anti-malware service to the first server 200a having jurisdiction over the United States. do.
- the first server 200a may know that the location of the mobile device 100 that requested the service is Korea, not the United States.
- the location determination module 211 of the first server 200a performs the location of the mobile device 100, and the location determination module 211 may determine the location of the mobile device 100 through various methods. See, for example, roaming records. In addition to referencing a roaming record, it may be possible to determine the location of the mobile device 100 using conventionally known methods of determining the location.
- the update management module 213 of the first server 200a transmits the URL (second URL) of the server that controls Korea, that is, the second server 200b, to the mobile device 100.
- the storage unit 190 stores the second URL instead of the previously stored first URL, and when the management module 170 requests the anti-malware service, the storage 190 requests the server having the second URL.
- the management module 170 is a second server 200b having a second URL, checksum of a malware signature DB, a execution environment, a location ID, a version ID, And / or collect and transmit information such as the number of blocks.
- the update management module 213 of the second server 200b determines whether the mobile device 100 has a location determiner suitable for its execution environment.
- the update management module of the server transmits a new location determiner for the execution environment to the mobile device 100.
- the update management module of the second server (200b) by using at least one of the information received from the mobile device 100, the mobile device 100 Determine whether you need to update the signature database you have.
- FIG. 3 is a functional block diagram of a server according to an embodiment of the present invention
- FIG. 5 is a view provided to explain a pattern data DB according to an embodiment of the present invention
- FIG. 6 is an embodiment of the present invention.
- FIG. 7 is a view provided to explain a block data DB according to FIG. 7, and
- FIG. 7 is a view provided to describe a malware signature DB according to an embodiment of the present invention.
- FIG. 8 is delta data according to an embodiment of the present invention. This figure is provided to explain the DB.
- a server may include a virus pattern generation server 240, an update server 210, and a database server 230.
- the virus pattern generation server 240 includes a virus pattern input processing module 241 and a block generation module 243, the update server 210 includes a location determination module 211 and an update management module 213,
- the database server may manage logs, data for malware signature DB 195, and anti-malware engine 150 updates.
- the virus pattern generation server 240 configures a malware signature DB, and configures a block data DB.
- the database server 230 may update the malware signature DB previously stored using the malware signature DB and the block data DB generated by the virus pattern generation server 210.
- the database server 230 stores the update status of the mobile device as a log, and stores data for updating the malware signature DB and the anti-malware engine.
- the database server DB may additionally store the block data DB or the delta data DB.
- the location determining module 211 may determine the location of the mobile device, and may update the malware information stored by the mobile device with local-malware information of an area including the location of the mobile device determined by the location determining module. According to an embodiment of the present invention, the location determination module 211 may determine the location of the mobile device. If it is determined that the location of the mobile device does not belong to the jurisdiction of the server 240, the update management module 213 may transmit the URL of the server that manages the location of the current mobile device to the mobile device.
- the location determination module 211 determines whether the checksum, execution environment (OS, etc.), location ID, version ID, and / or number of blocks of the malware signature DB received from the mobile device are changed. Check to see if there is a change in the positioner that the mobile device has.
- the update management module 213 may perform an operation of updating the malware signature DB 233 of the mobile device. For example, the update management module 213 may configure the above-described "multiware configuration information" and transmit it to the mobile device.
- the update management module 213 may transmit a new anti-malware engine or anti-malware engine update data to the mobile device.
- the update management module 213 may transmit a regional-malware signature DB associated with the region to which the mobile device belongs to the mobile device. According to an embodiment of the present invention, the process of updating the local-malware signature DB by the update management module 213 may refer to the description of FIGS. 11 to 14 to be described later.
- the virus pattern generation server 240 receives various types of malware patterns, classifies the malware into patterns, configures the malware signature DB, and configures the block data DB according to a predetermined criterion. 5 and 7, the virus pattern input processing module 241 receives various types of virus patterns (S501) and stores them in the temporary storage unit S503.
- the input method of the virus pattern may be various methods such as an input through the web, an input through FTP, and the like.
- the virus patterns of various types stored in the temporary storage unit include a location code (loc_cd) indicating a country where a virus has occurred, an OS code (os_cd) indicating an operating system used by a virus generating device, It may include a file name containing virus data, a checksum of the virus data, and a date of occurrence.
- the virus pattern input processing module 241 searches for various types of virus patterns stored in the temporary storage unit (not shown) to check whether the virus patterns have essential information, and the virus pattern having such essential information is a pattern. Classify by category and configure as pattern data DB. In the lower part of FIG. 7, the pattern data DB is exemplarily illustrated.
- the essential information of the virus pattern is, for example, a malware name, an offset, a target type, a signature type, or the like.
- the pattern data DB may be stored in a storage unit or stored in a storage unit provided separately.
- the pattern data DB may include a location code, an OS code, a block ID, a virus data, a virus occurrence date, a version of a block ID, and a task type.
- the block ID may include, for example, a location code, an OS code, and a virus occurrence month. Therefore, data having the same location code, OS code, and virus outbreak month may all have the same block ID.
- ADD is displayed as the job type in the pattern data DB.
- There may be other types of work such as REMOVE / REPLACE / UPDATE.
- the mobile device may receive the data as shown in FIG. 7 and perform an operation of REMOVE / REPLACE / UPDATE of the malware signature DB stored by the mobile device.
- the block generation module reads the pattern data DB (S601), extracts data to be blocked (S603), and generates a block using the extracted data (S605). Thereafter, the block data DB including the generated blocks may be stored in a storage unit (not shown) provided separately (S607). Meanwhile, the block data DB may be stored in the storage unit.
- a block data DB is illustrated by way of example.
- the block generation module searches for the pattern data DB and extracts data having the same block ID.
- data of data keys 1 to 4 have the same block ID.
- a block data DB including virus data having the same block ID as a single block may be configured.
- two blocks having the block ID 001002_002001_200902 are present.
- the location code Loc_cd, the operating system code os_cd, and the occurrence_month are the same but the occurrence dates are different.
- the block generation module assigns a version (block_ver) of the block ID to distinguish blocks having the same block ID.
- version 1 of the block ID includes the keys 1 through 4 of the virus data
- version 2 of the block ID includes the keys 1 through 9 of the virus data.
- the classification criteria of the blocks is set to month, but may be DAY instead of MONTH.
- the block generation module 243 may generate a delta data DB after generating the block data DB. That is, the block generation module 243 reads the block data DB (S801), checks whether there is a different block ID but different versions of the block ID, and if there is a different result (S8703: Y), generates delta data. (S805) and store as delta data DB (S807).
- the delta data DB may be stored in a storage unit or a storage unit provided separately. Referring to FIG. 9, a delta data DB is illustrated by way of example.
- the delta data DB is generated when the block IDs are the same but the block IDs are different from each other. That is, the delta data DB in FIG. 9 consists of virus data whose virus data data key is 5-9.
- the location determining module 211 determines the location of the mobile device, checksum of the malware signature DB received from the mobile device, execution environment (OS, etc.), location ID, version ID, and / Alternatively, the operation of checking whether there is a change in the positioner of the mobile device by checking whether the number of blocks has changed has been described.
- the location determining module 211 may be configured differently. For example, the location determining module 211 performs an operation of determining the location of the mobile device, but checks and executes a malware signature DB received from the mobile device.
- the operation of checking the environment (OS, etc.), location ID, version ID, and / or block number to check whether there is a change in the location determiner of the mobile device may be configured to be performed by the update management module 213. It is possible.
- FIG. 4 is a functional block diagram of a mobile device according to an embodiment of the present invention. 4 exemplarily illustrates a case in which a mobile device according to an embodiment of the present invention is configured in the form of a system on chip (SOC).
- SOC system on chip
- the mobile device according to an embodiment of the present invention, a portion (hereinafter referred to as "SOC") 440 composed of SOC and the main module (459, 461, 470, 471, 410, 430, 493, 491, 495).
- SOC a portion composed of SOC and the main module (459, 461, 470, 471, 410, 430, 493, 491, 495).
- the main module and the SOC 440 may be mounted on the main board.
- the SOC 440 may be implemented in the form of a system on chip for a semiconductor design asset or in the form of a general system on chip.
- 'SOC System on Chip
- 'SOC System on Chip
- the SOC 440 receives data used in or operated by the main module (any data such as an executable file, a data file, ...) ('scan data') from the main module, and malware exists in the scan data. Determine whether or not.
- SOC 440 may be equipped with an anti-virus engine.
- the SOC 440 may determine whether malware exists in the scan data by comparing the signature data with the scan data.
- the signature data may be stored and managed in the main module or the SOC 440.
- the SOC 440 receives the signature data from the main module to perform a virus scan operation.
- the SOC 440 may include a network interface unit 453, an SOC memory (MEMORY_SOC) 455, an SOC CPU (CPU_SOC) 457, an input / output interface 451, and an anti-malware engine 450.
- MEMORY_SOC SOC memory
- CPU_SOC SOC CPU
- the network interface unit 453 provides an interface through which a mobile device can communicate with an external network.
- the network interface unit 453 may support communication with at least one of the first to second regional servers illustrated in FIG. 1.
- all data received or transmitted to the mobile device through the network passes through the network interface unit 453, and the anti-malware engine 450 may scan all data passing through the network interface unit 453. have. That is, the anti-malware engine 450 may scan the malware by comparing the data passing through the network interface 453 and the malware signature DB 495.
- the input / output interface 451 may support communication between the SOC 440 and the main module.
- the data for malware scanning is transmitted from the main module to the SOC 440 through the input / output interface 451, and the antivirus engine receives the data received through the input / output interface 451 and the malware signature DB 495. ) To scan for malware.
- the management module 470, the location determiner 410, and the storage 490 respectively perform the same functions as the management module 170, the location determiner 110, and the storage 19 in the embodiment of FIG. 2. Can be.
- the main module stores the main CPU (CPU_MAIN), the main memory (MEMORY_MAIN), the management module 470, the anti-malware engine driver 471, the positioner 410, the device information 493, and the server URL 491. It may include a storage unit.
- the main CPU (CPU_MAIN) and the main memory (MEMORY_MAIN) controls the overall operation of the mobile device
- the anti-malware engine driver may transmit the data for scanning to the SOC (440).
- the management module 47 may transmit the scanning data to the SOC 440 through the anti-malware engine driver 471.
- the malware signature DB 495 may be included in the SOC 440 or included in the main module.
- the SOC has been described as having its own SOC CPU 457 and SOC memory MEMORY_SOC, but this is merely illustrative, so that the SOC has no SOC CPU 457 and / or SOC memory MEMORY_SOC. It is also possible to configure.
- FIG. 10 is a view provided to explain a server-based anti-malware service method according to an embodiment of the present invention.
- both the mobile device ie, the 'client'
- the server may exchange an authentication key (S1102) for secure communication with each other, but this may be optional and may be adopted when necessary.
- the mobile device 100 collects information of the mobile device (S1103), and transmits the collected mobile device information (checksum of signature DB, execution environment, location ID, version ID, and / or number of blocks) to the server.
- the server's positioning module 211 checks whether the information, for example, the checksum of the signature DB, the execution environment (OS, etc.), the location ID, the version ID, and / or the number of blocks changes, to change the location determiner. Check whether there is (S1105).
- the server may determine whether there is a change in the location determiner by determining whether the execution environment of the mobile device corresponds to the location determiner of the mobile device. If it is determined that there is a change in the location determiner (S1105: Y), the update management module 213 transmits a location determiner suitable for the execution environment of the mobile device to the mobile device (S1107), and the mobile device is sent by the received location determiner. It updates its positioner (S1109). Thereafter, the updated positioner is executed (S1111).
- the update management module 213 determines whether it is necessary to update the virus database (VDB) possessed by the mobile device (S1113), and that the update is necessary. If it is determined that the update is performed (S1115).
- the virus database means a malware signature DB.
- FIG. 11 is a view provided to explain a server-based anti-malware service method according to an embodiment of the present invention.
- FIG. 11 illustrates an update process of a virus database (VDB).
- VDB virus database
- the update management module of the server 200a determines whether the virus database is updated by referring to a location ID, a version ID, and the number of blocks transmitted by the mobile device (S1201). For example, in the update management module of the server 200a, the location ID and version ID of the malware signature DB stored by the server 200a and the number of all blocks belonging to the location ID are transmitted by the mobile device 200. If all of the, version ID, and the number of blocks match, it is determined that the mobile device 200 does not need to be updated (S1201: N). In this case, the server 200a may configure an answer RES_COMPLETE saying that the malware signature DB of the mobile device 200 is complete (S1213) and transmit it to the mobile device 200 (S1209).
- the update management module of the server 200a determines that the virus database needs to be updated if at least one of the location ID, the version ID, and the number of blocks is different as a result of the determination in step S1201 (S1201: Y). ).
- the update management module of the server 200a generates malware configuration information RES_LOCATION_DOWNLOAD to be transmitted to the client (S1215).
- the malware configuration information in step S1215 includes all block data belonging to the location ID transmitted by the mobile device.
- step S1203 determines whether the number of blocks is the same but the location ID and the version ID are different. (S1205). If it is determined in step S1205 that only the number of blocks is different, malware configuration information RES_BLOCK_APPEND composed of the remaining blocks that the mobile device does not have among the blocks belonging to the location ID transmitted by the mobile device is generated (S1217).
- the mobile device requests block information (S1207).
- the mobile device collects its block information (client's block ID, block ID version, block checksum) and transmits it to the server (S1209), and the server uses the block information received from the mobile device to transmit the malware to the client.
- Information is generated (S1211).
- the malware configuration information in step S1211 is information (RES_UPDATE_BLOCK) for modifying, deleting, replacing, or adding a block stored by the client.
- the mobile device receives the malware configuration information configured in S1213, S1215, S1217, or S1211, and performs an update operation according to the received information (S1221).
- FIG. 12 is a view provided to explain a server-based anti-malware service method according to an embodiment of the present invention.
- FIG. 12 illustrates an update process in a mobile device.
- the update management module of the server transmits the malware configuration information configured as in FIG. 11 to the mobile device (S1301).
- the malware configuration information may be any one of RES_BLOCK_APPEND, RES_UPDATE_BLOCK, RES_COMPLETE, and RES_LOCATION_DOWNLOAD.
- the mobile device receives the malware configuration information from the server and performs an update operation for each block (S1303). For example, when the mobile device receives the RES_BLOCK_APPEND, the mobile device adds a block included in the RES_BLOCK_APPEND to the block data DB stored therein. Meanwhile, when the mobile device receives the RES_UPDATE_BLOCK, the mobile device deletes, modifies, replaces, or adds a part of block data stored by using the data included in the RES_UPDATE_BLOCK. When the mobile device receives the RES_COMPLETE, the mobile device does not perform a separate operation. When the mobile device receives the RES_LOCATION_DOWNLOAD, the mobile device adds all the blocks included in the RES_LOCATION_DOWNLOAD to its own block ID.
- step S1303 If the update operation is completed in step S1303 and succeeds, configures the RES_COMPLETE that the update was successful (S1307), and if the update operation fails, configure the logging information (REQ_UPDATE_STATE_LOGGING) to send to the server.
- the server receives the reply from the mobile device and records the operation result (S1309).
- FIG. 13 is a view provided to explain a server-based anti-malware service method according to an embodiment of the present invention.
- FIG. 13 illustrates a method of configuring RES_UPDATE_BLOCK information in a server.
- the update management module of the server 200a receives block information from a mobile device (S1401).
- the block information includes a block ID of the mobile device, a version of the block ID, and a block checksum.
- the server queries the block information corresponding to the location ID from the malware signature DB (or block data DB) stored by the server using the location ID of the previously received mobile device.
- the server performs a loop A step (S1405) for each block corresponding to the location ID, and when the loop A step is completed for all blocks (S1407), the server determines whether the block ID of the mobile device exists only in the mobile device. (S1409).
- the loop A step will be described later with reference to FIG. 14.
- the malware configuration information for deleting the corresponding block ID from the mobile device is configured and transmitted to the mobile device, and the mobile device deletes the corresponding block ID accordingly. S1411).
- FIG. 14 is a view provided to explain a server-based anti-malware service method according to an embodiment of the present invention.
- FIG. 14 is a view provided to explain a server-based anti-malware service method according to an embodiment of the present invention.
- FIG. 14 is a view provided to explain a server-based anti-malware service method according to an embodiment of the present invention.
- FIG. 14 is a view provided to explain a server-based anti-malware service method according to an embodiment of the present invention. In particular, FIG.
- the server determines whether a block ID included in the search result of step S1403 of FIG. 13 exists in the mobile device block ID, and if it does not exist (S1501: N), it includes the search result.
- Update information for transmitting the block data having the determined block ID to the mobile device is configured (S1511). This update information may be transmitted to the mobile device and updated.
- the determination result of step S1501 if the block ID included in the inquiry result is present in the mobile device block ID, whether the version of the block ID included in the inquiry result and the version of the block ID received from the mobile device match? It is determined whether or not (S1503).
- the server checks the integrity by comparing the checksum of the block included in the query result with the checksum of the block received from the mobile device (S1504). If both checksums match (S1504: Y), step S1407 of FIG. 13 is performed. If both checksums do not match (S1504: N), update information for replacing block data having the corresponding block ID is configured (S1509), and step S1407 of FIG. 13 is performed.
- Step S1503 determines whether to transmit the new version of the block ID data or only the delta data DB (S1505).
- Step S1505 may be determined by, for example, the following equation.
- D replace is the amount of data having a new version of the block ID
- D delta is the amount of delta data
- * means multiplication.
- the server compares the data amounts of both to determine contents to be updated in a direction in which the data amount is small. For example, if (D replace * 3/4)> D delta , it configures information to be updated to the delta data DB (S1507), and if (D replace * 3/4)> D delta , the data of the new version of the block ID is not. Information to be replaced with each other is configured (S1509). When the steps S1507 and S1509 are completed, the server performs the step S1407 again.
- the area governed by the server has been described as a country, but a region larger than the country or a region smaller than the country may be implemented as a region controlled by the server.
- the area governed by the server may be a specific area (eg, Busan) in one country.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Virology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 서버 기반의 안티 멀웨어 서비스 방법에 관한 것으로서 적어도 하나의 서버가 소정 지역과 관련된 '지역적-멀웨어 정보'를 관리하고, 서버는 디바이스가 상기 소정 지역에 위치한 경우 '지역적-멀웨어 정보'에 기초하여 디바이스를 위한 '멀웨어 구성 정보'를 생성하며, 서버는 '멀웨어 구성 정보'를 디바이스로 전송한다. 이로써, 디바이스에서의 멀웨어 DB 업데이트 시에 최소한의 데이터 트래픽이 송수신되도록 하여 통신 자원의 낭비를 막고, 디바이스가 한정된 리소스를 효과적으로 사용할 수 있고, 전 세계의 각 지역에서 발생하는 멀웨어에 대해 효과적으로 대응할 수 있다.
Description
본 발명은 서버 기반의 안티 멀웨어 서비스 방법, 시스템, 및 이에 사용되는 서버와 디바이스에 관한 것이다.
멀웨어(Malware)는 바이러스나 트로이 목마와 같이 시스템에 해를 입히거나 시스템을 방해하기 위해 특별히 설계된 소프트웨어, 또는 데이터ㆍ컴퓨터ㆍ네트워크를 위험에 노출시킬 수 있는 코드 및 악성 소프트웨어(malicious software), 또는 악성 코드(malicious code)에서 나온 말로, 타 시스템에 피해를 입히기 위해 개발된 소프트웨어를 의미한다. 최근의 멀웨어는 첨부 파일을 열어 보거나, 소프트웨어를 다운받아 설치하는 종래의 통념을 벗어나 단지 유명 검색 페이지의 링크나 이미지를 클릭하기만 해도 원하지 않는 소프트웨어가 설치되고, 시스템이 하이재킹당할 수 있어 주의가 필요하다.
한편, 컴퓨터와 비교하여 운영체제 및 파일 시스템의 편중이 덜하고, 이용되는 데이터들의 중요도가 상대적으로 떨어지는 관계 등으로 인하여 아직까지 무선통신 시스템에 대한 모바일 바이러스의 인식 및 피해는 크지 않는 실정이다.
그러나, 현재 무선 단말기가 컴퓨터의 기능을 대폭 받아들여 스마트폰 형태로 발전하고 있으며, 무선 단말기의 무선망이 무선 인터넷에 버금갈 정도로 확장되면서 컴퓨터에서 일어나고 있는 바이러스 피해가 곧 무선 단말기의 무선망에도 재현될 가능성이 높아지고 있다.
종래에는 모바일 디바이스에서 멀웨어 데이터베이스(database, 이하'DB'라 한다)를 업데이트하기 위하여는 서버로부터 전체 멀웨어 DB를 다운로드하였다. 따라서, 종래에는 서버와 모바일 디바이스 간에 대량의 데이터 트래픽이 송수신되므로, 통신자원의 낭비를 초래하였고, 모바일 디바이스의 제한된 리소스로 인하여 모바일용 어플리케이션을 사용하는데 문제가 있을 수 있다. 또한, 이동통신 환경도 글로벌화되어 세계 각국에 대하여 로밍 서비스가 도입되고 있는 요즘, 종래 안티 멀웨어 시스템에서는 각 지역적으로 발생하는 멀웨어에 대하여 효과적으로 대응하기가 어렵다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 디바이스에서의 멀웨어 DB 업데이트 시에 최소한의 데이터 트래픽이 송수신되도록 하여 통신 자원의 낭비를 막고, 디바이스의 한정된 리소스를 효과적으로 사용할 수 있도록 하는 서버 기반의 안티 멀웨어 서비스 방법, 시스템, 및 이에 사용되는 서버 및 디바이스를 제공하는데 그 목적이 있다.
또한, 본 발명은 전 세계의 각 지역에서 발생하는 멀웨어에 대해 효과적으로 대응할 수 있도록 하는 서버 기반의 안티 멀웨어 서비스 방법, 시스템, 및 이에 사용되는 서버 및 디바이스를 제공하는데 그 목적이 있다.
본 발명의 일 실시예에 따르면, 적어도 하나의 서버가 소정 지역과 관련된 '지역적-멀웨어 정보'를 관리하는 단계; 상기 서버는 디바이스가 상기 지역에 위치한 경우 상기 '지역적-멀웨어 정보'에 기초하여 상기 디바이스를 위한 '멀웨어 구성 정보'를 생성하는 단계; 및 상기 서버는 상기 '멀웨어 구성 정보'를 상기 디바이스로 전송하는 단계;를 포함하는 서버 기반의 안티 멀웨어 서비스 방법이 제공된다.
또한, 본 발명의 일 실시예에 따르면, 소정 지역과 관련된 '지역적-멀웨어 정보'를 관리하는 서버; 및 자신의 위치를 확인할 수 있는 정보를 상기 서버로 전송하는 디바이스;를 포함하며, 상기 서버는 상기 디바이스로부터 수신한 정보에 기초하여 상기 디바이스가 상기 지역에 위치하였는지 여부를 판단하고, 만약 상기 디바이스가 상기 지역에 위치하였다면 상기 '지역적-멀웨어 정보'에 기초하여 '멀웨어 구성 정보'를 생성하여 상기 디바이스로 전송하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템이 제공된다.
또한, 본 발명의 일 실시예에 따르면, 멀웨어 시그네쳐 DB를 저장하는 저장부; 안티 멀웨어 엔진; 및 상기 디바이스가 위치한 지역과 관련된 '멀웨어 구성 정보'를 상기 서버로 요청하는 관리 모듈;을 포함하여, 상기 관리 모듈은 상기 서버로부터 상기 '멀웨어 구성 정보'를 수신하며, 이를 이용하여 상기 멀웨어 시그네쳐 DB와 안티 멀웨어 엔진 중 적어도 어느 하나를 업데이트하는 것을 특징으로 하는 디바이스가 제공된다.
또한, 본 발명의 일 실시예에 따르면, 소정 지역과 관련된 '지역적-멀웨어 정보'를 저장하는 데이터베이스 서버; 및 디바이스로부터 '멀웨어 구성 정보' 의 요청이 수신되면, 상기 디바이스의 위치를 결정하고, 상기 디바이스의 위치가 상기 소정의 지역에 위치한 경우, 상기 '지역적-멀웨어 정보'에 기초하여 상기 '멀웨어 구성 정보'를 생성하여 상기 디바이스로 전송하는 업데이트 서버;를 포함하는 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버가 제공된다.
상기 '지역적-멀웨어 정보'는, 상기 소정 지역과 관련된 '지역적-안티 멀웨어 엔진'과, 상기 소정 지역과 관련된 '지역적-멀웨어 시그네쳐 DB' 중 적어도 어느 하나를 포함할 수 있다.
상기 '멀웨어 구성 정보'는, 상기 디바이스가 기저장하는 멀웨어 정보를 상기 '지역적-멀웨어 정보'로 업데이트하기 위한 정보일 수 있다.
상기 서버는, 또한, '지역적-멀웨어 시그네쳐 DB'로부터 소정의 기준에 따라서 블록을 추출하여 블록 데이터 DB를 구성하며, 상기 블록 데이터 DB를 구성하는 블록들에는 블록 ID가 각각 할당되어 있는 것일 수 있다.
상기 서버는, 상기 동일한 블록 ID가 2개 존재할 경우, 블록 ID에 블록 ID의 버젼을 할당하여 관리하며, 동일한 블록 ID를 가진 블록들간의 차이로 이루어진 델타 데이터 DB를 구성하는 것일 수 있다.
상기 디바이스는 위치 결정기를 포함하며, 자신이 저장하는 멀웨어 시그네쳐 DB의 체크썸, 상기 디바이스의 실행 환경, 로케이션 ID, 버전 ID, 및 블록의 개수 중 적어도 어느 하나의 정보를 서버로 전송하며, 상기 정보를 전송받은 서버는 상기 정보의 변경 여부에 기초하여 새로운 위치 결정기를 상기 디바이스로 전송할지 여부를 판단할 수 있다.
상기 서버는 상기 디바이스가 블록을 가지고 있는지를 확인하여, 블록을 가지고 있지 않은 경우 상기 블록 데이터 DB가 '멀웨어 구성 정보'에 포함되도록 상기 '멀웨어 구성 정보'를 생성할 수 있다.
상기 서버는 상기 디바이스 실행 환경에 대응된 위치 결정기를 기 저장하고 있을 수 있다.
상기 디바이스는 멀웨어 시그네쳐 DB의 체크썸, 상기 디바이스의 실행 환경, 로케이션 ID, 버전 ID, 및 블록의 개수 중 적어도 어느 하나의 정보를 서버로 전송하며, 상기 서버는 상기 정보를 확인하여 멀웨어 시그네쳐 DB의 업데이트 여부를 판단할 수 있다.
상기 위치 결정기는, 상기 저장부에 저장된 멀웨어 시그너쳐 DB 중에서, 상기 디바이스가 현재 위치한 지역과 관련된 멀웨어 시그너쳐 DB를 활성화시킬 수 있다.
상기 관리 모듈은 '멀웨어 구성 정보'를 상기 서버로 요청할 때 상기 멀웨어 시그네쳐 DB의 체크썸, 상기 디바이스의 실행 환경, 로케이션 ID, 버전 ID, 및 블록의 개수를 전송할 수 있다.
상기 멀웨어 시그네쳐 DB는, 소정의 기준에 따라서 블록별로 분류된 블록 데이터 DB이며, 상기 블록 데이터 DB를 구성하는 블록들에는 블록 ID가 각각 할당되어 있는 것일 수 있다.
상기 관리 모듈은, 상기 서버로부터 새로운 위치 결정기를 전송받는 경우, 기존에 포함하고 있던 위치 결정기를 상기 전송받은 위치 결정기로 교체할 수 있다.
본 발명의 일 실시예에 따르면, 디바이스에서의 멀웨어 DB 업데이트 시에 최소한의 데이터 트래픽이 송수신되도록 하여 통신 자원의 낭비를 막고, 디바이스가 한정된 리소스를 효과적으로 사용할 수 있다.
또한, 본 발명의 일 실시예에 따르면 전 세계의 각 지역에서 발생하는 멀웨어에 대해 효과적으로 대응할 수 있다.
도 1은 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 시스템의 기능 블록도,
도 2는 본 발명의 일 실시예에 따른 모바일 디바이스의 기능 블록도,
도 3은 본 발명의 일 실시예에 따른 서버의 기능 블록도,
도 4는 본 발명의 일 실시예에 따른 모바일 디바이스의 기능 블록도,
도 5는 본 발명의 일 실시예에 따른 패턴 데이터 DB를 설명하기 위해서 제공되는 도면이고,
도 6은 본 발명의 일 실시예에 따른 블록 데이터 DB를 설명하기 위해서 제공되는 도면,
도 7은 본 발명의 일 실시예에 따른 멀웨어 시그네쳐 DB를 설명하기 위해서 제공되는 도면,
도 8은 본 발명의 일 실시예에 따른 델타 데이터 DB를 설명하기 위해서 제공되는 도면,
도 9는 본 발명의 일 실시예에 따른 블록 데이터 DB와 델타 DB를 설명하기 위해서 제공되는 도면, 그리고
도 10 내지 도 14는 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 방법을 설명하기 위해서 제공되는 도면들이다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시 예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
도 1은 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 시스템의 기능 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 시스템은, 제1 서버(200a), 제2 서버(200b), 제3 서버(200c), 모바일 디바이스(100), 및 인터넷 망을 포함할 수 있다.
제1 서버(200a), 제 2 서버(200b), 및 제3 서버(200c)는 인터넷 망을 통해서 모바일 디바이스(100)로 안티 멀웨어 서비스를 제공할 수 있다. 이들 서버들은 예를 들면 클라우드 서버일 수 있으나 클라우드 서버에만 본원 발명이 한정되는 것은 아니다.
모바일 디바이스(100)는 제1 서버 내지 제3 서버들과 유선 및/또는 무선 통신이 가능하며, 안티 멀웨어 서비스를 제공받는다. 본 실시예에서, 모바일 디바이스(100)는 예를 들면 노트북, 스마트폰, 아이패드, PDA, 셀룰라 폰 스마트 그리드에서의 스마트 그리드 등과 같은 디바이스일 수 있다.
제1 서버(200a)는 소정의 지역을 관할하며, 자신이 관할하는 지역(이하, '관할 지역'이라고 함)과 관련된 멀웨어 정보(이하, '지역적-멀웨어 정보'라고 함)를 관리한다. 여기서, '관리'는 저장, 삭제, 교체, 추가, 및/또는 수정을 포함할 수 있다. 제1 서버(200a)는 예를 들면 미국 지역을 관할할 수 있으며, 미국 지역에서 특히 발생되는 지역적-멀웨어 정보를 관리할 수 있다.
지역적-멀웨어 정보는, 예를 들면 i) 미국 지역에서 특히 발생 되는 멀웨어를 스캐닝 및/또는 필터링할 수 있는 지역적-안티 멀웨어 엔진 및/또는, ii) 미국 지역에서 특히 발생되는 지역적-멀웨어 시그네쳐(signature) DB를 포함할 수 있다.
본원 명세서에서 '지역적-멀웨어 정보'는 상술한 바와 같이 특정 지역에서 특히 발생되는 멀웨어를 스캐닝 및/또는 필터링할 수 있는 안티 멀웨어 엔진과, 특정 지역에서 특히 발생되는 멀웨어의 시그네쳐 DB를 포함하는 개념으로 사용되지만, 지역에 무관하게 공통적으로 발생되는 멀웨어에 대한 시그네쳐 DB나 안티 멀웨어 엔진도 추가적으로 포함할 수 있다.
제2 서버(200b)와 제3 서버(200c)도 상술한 제1 서버(200a)와 같이 각각 관할 지역을 가지고 있고, 각자 관할하는 지역에서 특히 발생되는 지역적-멀웨어 정보를 관리할 수 있다. 예를 들면, 제2 서버(200b)와 제3 서버(200c)는 각각 한국 지역을 관할하는 서버와 유럽 지역을 관할하는 서버일 수 있다. 한편, 본원 발명이 그러한 국가들에만 한정되는 것이 아님은 물론이다. 이들 제1 서버(200a) 내지 제3 서버(200c)는 기능적으로 동일하므로, 이하에서는 제1 서버(200a)를 위주로 설명하기로 한다.
제1 서버(200a)는 모바일 디바이스(100)로부터 서버 기반의 안티 멀웨어 서비스의 요청이 있는 경우, 모바일 디바이스(100)가 위치한 지역과 관련된 지역적-멀웨어 정보를 전송할 수 있다. 안티 멀웨어 서비스의 요청은 예를 들면, 모바일 디바이스(100)가 저장하는 안티 멀웨어 엔진의 교체나 업데이트, 또는 멀웨어 시그네쳐 DB의 수정, 교체, 삭제, 또는 추가, 또는 멀웨어 시그네쳐 블록 데이터 DB의 수정, 교체, 삭제, 또는 추가하는 것을 포함하는 개념으로서, 서버 기반으로 안티 멀웨어 서비스를 제공받기 위해서 필요한 모든 요청사항을 포함한다. 한편, 본원 명세서에서 안티 멀웨어 서비스 요청 중 특히, 안티 멀웨어 엔진의 교체나 업데이트, 또는 멀웨어 시그네쳐 DB의 수정, 교체, 삭제, 또는 추가, 또는 멀웨어 시그네쳐 블록 데이터 DB의 수정, 교체, 삭제, 또는 추가 요청 등을 '멀웨어 구성 정보'의 요청이라고 통칭하기로 한다.
제1 서버(200a)는 디바이스의 실행환경에 대응되는 위치 결정기(Location decider)를 적어도 하나 이상 저장할 수 있다. 제1 서버(200a)는 예를 들면, 심미안, 블랙베리, 아니폰, 윈도모바일, 또는 안드로이드와 같은 각각의 OS에 대응되는 위치 결정기를 저장하고 있을 수 있다.
제1 서버(200a)는, 디바이스의 실행환경에 대응되는 위치 결정기를 자신의 관할 지역에 위치한 모바일 디바이스(100)에게 전송할 수 있다. 제1 서버(200a)는, 모바일 디바이스(100)가 가진 위치 결정기(110)가 모바일 디바이스(100)의 실행 환경(예를 들면 OS)에 맞지 않는 경우, 자신(제1 서버(200a))이 가진 위치 결정기를 모바일 디바이스(100)로 전송한다. 모바일 디바이스(100)는 자신이 저장하던 위치 결정기를 제1 서버(200a)로부터 전송받은 위치 결정기로 업데이트한다. 본 발명의 일 실시예에 따르면, 업데이트된 위치 결정기(110)는 상기 제1 서버(200a)의 URL을 모바일 디바이스(100)에 저장할 수 있다.
본 발명의 일 실시예에 따르면, 디바이스(100)는 자신이 저장하는 멀웨어 시그네쳐 DB의 체크썸, 상기 디바이스의 실행 환경, 로케이션 ID, 버전 ID, 및 블록의 개수 중 적어도 어느 하나의 정보를 제1 서버(200a)로 전송하며, 상기 정보를 전송받은 제1 서버(200a)는 상기 정보의 변경 여부에 기초하여 새로운 위치 결정기를 상기 디바이스로 전송할지 여부를 판단할 수 있다.
일 실시예에 따르면, 제1 서버(200a)는 모바일 디바이스(100)로부터 전송되는 디바이스 정보(예를 들면 OS(Operating system))을 확인함으로써, 모바일 디바이스(100)가 가진 위치 결정기의 업데이트 여부를 결정할 수 있다.
본 발명의 일 실시예에 따른 모바일 디바이스(100)에는 모바일 디바이스(100)가 본 발명에 따른 안티 멀웨어 서비스에 가입할 때, 또는 모바일 디바이스(100)가 제조될 때, 소정 서버의 URL이 저장될 수 있다. 예를 들어, 모바일 디바이스(100)가 안티 멀웨어 서비스에 가입할 때 미국에 위치하였던 경우, 모바일 디바이스(100)에는 제1 서버(200a)의 URL(이하, “제1 URL”이라고 함)이 저장될 수 있다. 따라서, 모바일 디바이스(100)는 안티 멀웨어 서비스를 요청할 때 제1 URL을 가진 서버(즉, 제1 서버)로 요청하게 된다. 모바일 디바이스(100)가 한국으로 이동하게 되면, 여전이 모바일 디바이스(100)는 제1 URL을 가진 상태이므로 미국을 관할하는 제1 서버(200a)로 안티 멀웨어 서비스를 요청하게 된다.
제1 서버(200a)는 서비스를 요청한 모바일 디바이스(100)의 위치가 미국이 아닌 한국이라는 것을 알 수 있으며, 따라서 한국을 관할하는 서버, 즉 제2 서버(200b)의 URL(이하, “제2 URL”이라고 함)을 모바일 디바이스(100)로 송신한다. 모바일 디바이스(100)는 기 저장하던 제1 URL 대신에 제2 URL을 저장하며, 향후 안티 멀웨어 서비스를 요청할 때는 제2 URL을 가진 서버로 요청하게 된다. 예를 들면, 모바일 디바이스(100)는 제2 URL을 가진 제2 서버(200b)로 자신이 가진 멀웨어 시그너쳐 DB의 체크썸(Checksum), 모바일 디바이스(100)의 실행환경, 로케이션 ID, 버전 ID, 및/또는 블록 개수 등과 같은 정보를 전송한다. 제2 서버(200b)는 모바일 디바이스(100)가 자신의 실행환경에 맞는 위치 결정기를 가지고 있는지 여부를 판단하고, 실행환경에 맞지 않는 위치 결정기를 모바일 디바이스가(100)가 가지고 있다고 판단되면, 새로운 위치 결정기를 모바일 디바이스(100)로 전송한다. 한편, 새로운 위치 결정기를 보낼 필요가 없다고 판단된 경우, 제2 서버(200b)는 모바일 디바이스(100)로부터 전송받은 상기 정보들 중 적어도 어느 하나를 이용하여, 모바일 디바이스(100)가 가진 시그네쳐 DB를 업데이트할 필요가 있는지를 판단한다. 예를 들어, 모바일 디바이스(100)가 가진 시그너쳐 DB의 체크썸과, 상기 한국 지역과 관련된 지역적-멀웨어 시그네쳐 DB의 체크썸이 일치하지 않는 경우는, 모바일 디바이스(100)의 멀웨어 시그네쳐 DB를 업데이트하기 위한 동작을 수행한다.
멀웨어 시그네쳐 DB의 업데이트에 대한 상세한 설명은 아래에서 도 10 내지 도 14를 참조하여 설명한 부분을 참조하기 바란다.
이상과 같이 상술한 실시예는 모바일 디바이스를 대상으로 한 것이나, 본원 발명은 모바일 디바이스뿐만 아니라, 데스크 탑 PC와 같이 위치가 고정되는 디바이스에도 적용될 수 있을 것이다.
도 2는 본 발명의 일 실시예에 따른 모바일 디바이스의 기능 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 모바일 디바이스는, 위치 결정기(110), 커넥션 모듈(130), 안티 멀웨어 엔진(150), 관리 모듈(170), 및 저장부(190)를 포함할 수 있다.
위치 결정기(110)는 액티브된 위치를 결정하는 논리를 가진 개체로서, 멀웨어 시그네쳐 DB의 체크썸, 클라이언트 실행환경, 로케이션 ID, 버전 ID, 블록 개수 등을 변수로서 포함할 수 있다. 본 발명의 일 실시예에 따르면 위치 결정기(110)는 모바일 디바이스가 현재 위치한 지역과 관련된 멀웨어 시그너쳐 DB를 활성화시키고, 디바이스가 현재 위치한 지역과 무관한 멀웨어 시그너쳐 DB의 적어도 일부는 비활성화 시킬 수 있다.
예를 들면, 모바일 디바이스가 한국에 있다가 미국으로 이동한 경우, 미국을 관할하는 서버(예를 들면, 제1 서버)로부터 미국 지역과 관련된 지역적-멀웨어 시그너쳐 DB를 전송 받게 되는데, 이러한 경우 위치 결정기(110)는, 기저장하던 한국 지역과 관련된 지역적-멀웨어 시그너쳐 DB의 적어도 일부를 삭제하거나 또는 비활성화 시킬 수 있다.
한편, 본 발명의 다른 실시예에 따른 위치 결정기(110)는 자신이 업데이트된 경우 업데이트된 새로운 서버의 URL을 모바일 디바이스에 저장시킬 수 있다.
안티 멀웨어 엔진(150)은 스캔 대상이 되는 파일과 저장부(190)에 저장된 멀웨어 시그네쳐 DB(195)를 비교함으로써 스캔 대상이 되는 파일에 멀웨어가 포함되어 있는지 여부를 판단할 수 있다.
관리 모듈(170)은 저장부(190)에 저장된 디바이스 정보(191), 서버 URL(193), 멀웨어 시그네쳐 DB(195)를 관리할 수 있으며, 또한 위치 결정기(110), 안티 멀웨어 엔진(150), 및/또는 멀웨어 시그네쳐 DB(195)를 동기화할 수 있다.
관리 모듈(170)은 주기적 또는 비주기적으로 서버(200a)로 안티 멀웨어 서비스를 요청할 수 있다. 관리 모듈(170)은 예를 들어 모바일 디바이스의 정보(멀웨어 시그네쳐 체크썸, 클라이언트 실행환경, 로케이션 ID, 및 버젼 ID, 블록의 개수)를 수집하여 서버로 전송할 수 있다. 또한, 관리 모듈(170)은 서버로부터 요청이 있는 경우, 모바일 디바이스의 블록 ID, 블록 ID의 버젼, 및 블록 체크썸 등의 정보를 서버로 전송할 수 있다.
일 예를 들면 관리 모듈(170)은 상기 서버 URL(193)로 안티 멀웨어 서비스를 요청할 수 있으며, 서버가 요청하는 정보를 처리할 수 있다.
커넥션 모듈(130)은 상기 서버들(200a, 200b, 200c)과의 통신을 지원할 수 있다. 예를 들어, 커넥션 모듈(130)은 상술한 제1 서버(200a) 내지 제3 서버(200c)와의 통신을 모두 지원할 수 있다.
상술한 도 2의 실시예에서 저장부(190)는, 멀웨어 시그네쳐 DB(195)를 저장하는 것으로 설명하였지만, 후술할 블록 데이터 DB도 같이 저장할 수 있음은 물론이다. 여기서, 블록 데이터 DB는, 멀웨어 시그네쳐 DB를 소정의 기준에 따라서 분류한 블록으로 구성된 블록 데이터 DB로서, 블록 데이터 DB에 포함된 각 블록에 대하여는 블록 ID가 할당된다. 한편, 하나의 블록 데이터에 대하여 동일한 블록 ID가 할당되는 경우에는 블록 ID의 버젼이 할당된다. 여기서 블록을 분류하는 기준은 예를 들면, 바이러스가 패턴이 발생된 날짜를 기준으로 하거나, 또는 바이러스 패턴이 생성된 날짜를 기준으로 할 수 있으나 본원 발명이 이러한 기준에만 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 관리 모듈(170)은 멀웨어 시그네쳐 DB(195)를 업데이트할 때 블록별로 업데이트할 수 있다.
예를 들어, 모바일 디바이스(100)가 안티 멀웨어 서비스에 가입할 때 미국에 위치하였던 경우, 저장부(190)에는 제1 서버(200a)의 URL(“제1 URL”)이 저장될 수 있다. 따라서, 관리 모듈(170)는 안티 멀웨어 서비스를 요청할 때 제1 URL을 가진 서버(즉, 제1 서버)로 요청하게 된다. 모바일 디바이스(100)가 한국으로 이동하게 되면, 여전이 모바일 디바이스(100)는 제1 URL을 가진 상태이므로 관리 모듈(170)은 미국을 관할하는 제1 서버(200a)로 안티 멀웨어 서비스를 요청하게 된다.
제1 서버(200a)는 서비스를 요청한 모바일 디바이스(100)의 위치가 미국이 아닌 한국이라는 것을 알 수 있다. 모바일 디바이스(100)의 위치가 어딘지는 제1 서버(200a)의 위치 결정 모듈(211)이 수행하며, 위치 결정 모듈(211)는 다양한 방식을 통해서 모바일 디바이스(100)의 위치를 결정할 수 있다. 예를 들면, 로밍 기록을 참조할 수 있다. 로밍 기록을 참조하는 것 외에도 위치를 결정하는 종래의 공지된 방법들을 사용하여 모바일 디바이스(100)의 위치를 결정할 수 있을 것이다.
계속하여, 제1 서버(200a)의 업데이트 관리 모듈(213)은 한국을 관할하는 서버, 즉 제2 서버(200b)의 URL(제2 URL)을 모바일 디바이스(100)로 송신한다. 저장부(190)는 기 저장하던 제1 URL 대신에 제2 URL을 저장하며, 향후 관리 모듈(170)이 안티 멀웨어 서비스를 요청할 때는 제2 URL을 가진 서버로 요청하게 된다. 예를 들면, 관리 모듈(170)은 제2 URL을 가진 제2 서버(200b)로 자신이 가진 멀웨어 시그너쳐 DB의 체크썸(Checksum), 모바일 디바이스(100)의 실행환경, 로케이션 ID, 버전 ID, 및/또는 블록 개수 등과 같은 정보를 수집하여 전송한다. 제2 서버(200b)의 업데이트 관리 모듈(213)은 모바일 디바이스(100)가 자신의 실행환경에 맞는 위치 결정기를 가지고 있는지 여부를 판단한다. 만약 실행환경에 맞지 않는 위치 결정기를 모바일 디바이스가(100)가 가지고 있다고 판단된 경우에는 서버의 업데이트 관리 모듈이 실행환경에 맞는 새로운 위치 결정기를 모바일 디바이스(100)로 전송한다. 한편, 새로운 위치 결정기를 보낼 필요가 없다고 판단된 경우, 제2 서버(200b)의 업데이트 관리 모듈은 모바일 디바이스(100)로부터 전송받은 상기 정보들 중 적어도 어느 하나를 이용하여, 모바일 디바이스(100)가 가진 시그네쳐 DB를 업데이트할 필요가 있는지를 판단한다.
도 3은 본 발명의 일 실시예에 따른 서버의 기능 블록도이고, 도 5는 본 발명의 일 실시예에 따른 패턴 데이터 DB를 설명하기 위해서 제공되는 도면이고, 도 6은 본 발명의 일 실시예에 따른 블록 데이터 DB를 설명하기 위해서 제공되는 도면이고, 도 7은 본 발명의 일 실시예에 따른 멀웨어 시그네쳐 DB를 설명하기 위해서 제공되는 도면이며, 도 8은 본 발명의 일 실시예에 따른 델타 데이터 DB를 설명하기 위해서 제공되는 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 서버는, 바이러스 패턴 생성 서버(240), 업데이트 서버(210), 데이터베이스 서버(230)를 포함할 수 있다.
바이러스 패턴 생성 서버(240)는 바이러스 패턴 입력 처리 모듈(241), 블록 생성 모듈(243)을 포함하고, 업데이트 서버(210)는 위치 결정 모듈(211)과 업데이트 관리 모듈(213)을 포함하며, 데이터베이스 서버는 로그, 멀웨어 시그네쳐 DB(195), 및 안티 멀웨어 엔진(150) 업데이트용 데이터를 관리할 수 있다.
여기서, 바이러스 패턴 생성 서버(240)는 멀웨어 시그네쳐 DB를 구성하고, 블록 데이터 DB를 구성한다. 데이터베이스 서버(230)는 바이러스 패턴 생성 서버(210)가 생성한 멀웨어 시그네쳐 DB와 블록 데이터 DB를 이용하여 기저장하고 있던 멀웨어 시그네쳐 DB를 업데이트할 수 있다.
또한, 데이터베이스 서버(230)는 모바일 디바이스의 업데이트 현황 등을 로그로서 저장하고, 멀웨어 시그네쳐 DB, 및 안티 멀웨어 엔진을 업데이트하기 위한 데이터를 저장한다. 한편, 데이터 베이스 서버(DB)는 블록 데이터 DB나 델타 데이터 DB를 추가적으로 저장할 수 있다.
위치 결정 모듈(211)은 모바일 디바이스의 위치를 결정할 수 있으며, 위치결정모듈에 의해 결정된 모바일 디바이스의 위치가 포함된 지역의 지역적-멀웨어 정보로 상기 모바일 디바이스가 저장하는 멀웨어 정보를 업데이트할 수 있다. 본 발명의 일 실시예에 따르면 위치 결정 모듈(211)는 모바일 디바이스의 위치를 판단할 수 있다. 만약, 모바일 디바이스의 위치가 서버(240)의 관할지역에 속하지 않는다고 판단된 경우라면, 업데이트 관리 모듈(213)은 현재 모바일 디바이스의 위치를 관할하는 서버의 URL을 모바일 디바이스로 전송할 수 있다.
또한, 본 발명의 일 실시예에 따른 위치 결정 모듈(211)은 모바일 디바이스로부터 수신한 멀웨어 시그너쳐 DB의 체크썸, 실행환경(OS 등), 로케이션 ID, 버전 ID, 및/또는 블록 개수의 변화 여부를 검사하여 모바일 디바이스가 가진 위치 결정기의 변화가 있는지를 확인할 수 있다.
업데이트 관리 모듈(213)은 모바일 디바이스가 가지는 멀웨어 시그네쳐 DB(233)를 업데이트하는 동작을 수행할 수 있다. 예를 들면, 업데이트 관리 모듈(213)은 상술한 바 있는 “멀티웨어 구성 정보”를 구성하여 모바일 디바이스로 전송할 수 있다.
업데이트 관리 모듈(213)는 모바일 디바이스에 구비된 안티 멀웨어 엔진이 구 버젼이라면, 새로운 안티 멀웨어 엔진 또는 안티 멀웨어 엔진 업데이트용 데이트를 모바일 디바이스로 전송할 수 있다. 또한, 업데이트 관리 모듈(213)은, 모바일 디바이스가 속한 지역과 관련된 지역적-멀웨어 시그너쳐 DB를 모바일 디바이스로 전송할 수 있다. 본 발명의 일 실시예에 따르면, 업데이트 관리 모듈(213)이 지역적-멀웨어 시그너쳐 DB를 업데이트하는 과정은 후술하는 도 11 내지 도 14의 설명을 참조하기 바란다.
이하에서는, 도 3 내지 도 8의 도면을 참조하여 본 발명의 일 실시예에 따른 서버에 대하여 상세히 설명하기로 한다.
바이러스 패턴 생성 서버(240)는 다양한 종류의 멀웨어 패턴을 입력받아서 패턴별로 멀웨어를 분류하여 멀웨어 시그네쳐 DB로 구성하고, 소정의 기준에 따라서 블록 데이터 DB를 구성한다. 도 5와 도 7을 참조하여 상세하게 설명하면, 바이러스 패턴 입력 처리 모듈(241)은, 다양한 형식의 바이러스 패턴을 입력받아(S501) 임시 저장부(S503)에 저장한다. 바이러스 패턴의 입력 방법은 예를 들면 웹을 통한 입력, FTP를 통한 입력 등과 같이 다양한 방법일 수 있다.
임시 저장부(미도시)에 저장된 다양한 형식의 바이러스 패턴은 도 7에 나타난 바와 같이, 바이러스가 발생한 국가를 나타내는 로케이션 코드(loc_cd), 바이러스가 발생한 장치에서 사용하는 운영체제를 나타내는 OS 코드(os_cd), 바이러스 데이터가 포함된 파일명, 바이러스 데이터의 체크썸, 및 발생일자를 포함할 수 있다.
바이러스 패턴 입력 처리 모듈(241)은 임시 저장부(미도시)에 저장된 다양한 형식의 바이러스 패턴을 검색하여, 바이러스 패턴이 필수적으로 가지는 필수 정보를 가지는지를 확인하고, 그러한 필수 정보를 가진 바이러스 패턴은 패턴별로 분류하여 패턴 데이터 DB로서 구성한다. 도 7의 하단에는 패턴 데이터 DB가 예시적으로 도시되어 있다. 여기서 바이러스 패턴이 필수적으로 가지는 필수 정보는, 예를 들면 멀웨어 네임, 오프셋(Offset), 타켓 타입(target type), 시그네쳐 타입(signature type)등을 들 수 있다. 패턴 데이터 DB는 저장부에 저장되거나 별도로 마련된 저장부에 저장될 수 있다.
도 7을 참조하면, 패턴 데이터 DB는 로케이션 코드, OS 코드, 블록 ID, 바이러스 데이터, 바이러스 발생일자, 블록 ID의 버젼 및 작업 종류를 포함할 수 있다. 여기서, 블록 ID는 예를 들면, 로케이션 코드, OS 코드, 바이러스 발생 월(month)로 구성될 수 있다. 따라서, 로케이션 코드, OS 코드, 및 바이러스 발생_월(month)이 동일한 데이터는 블록 ID가 모두 동일하다.
도 7을 계속 참조하면, 패턴 데이터 DB에 작업 종류로서 ADD가 표시된 것을 알 수 있다. 작업 종류에는 이외에도 REMOVE/REPLACE/UPDATE와 같은 것이 있을 수 있다. 본 발명의 일 실시예에 따르면 모바일 디바이스는 상기 도 7과 같은 데이터를 전송받아, 모바일 디바이스가 저장하던 멀웨어 시그네쳐 DB를 REMOVE/REPLACE/UPDATE 하는 동작을 수행할 수 있다.
도 6과 도 7을 참조하여, 블록 데이터 DB를 생성하는 방법을 설명하기로 한다. 도 6과 도 7을 참조하면, 블록 생성 모듈은 패턴 데이터 DB를 읽고(S601), 블록화할 데이터를 추출하며(S603), 추출한 데이터를 이용하여 블록을 생성한다(S605). 이후, 생성한 블록들로 구성된 블록 데이터 DB를 별도로 마련된 저장부(미도시)에 저장할 수 있다(S607). 한편, 블록 데이터 DB는 저장부에 저장될 수도 있다.
도 7을 참조하면, 블록 데이터 DB가 예시적으로 도시되어 있다. 블록 생성 모듈은 패턴 데이터 DB를 검색하고, 블록 ID가 동일한 데이터들을 추출한다. 도 7에서는 data key가 1에서 4까지의 데이터들이 동일한 블록 ID를 가졌음을 알 수 있다. 이와 같이 블록 ID가 동일한 바이러스 데이터들을 하나의 블록으로 구성한 블록 데이터 DB를 구성할 수 있다. 또한 도 7에는, 블록 ID 001002_002001_200902를 가진 블록이 2개 존재함으로 알 수 있다. 이 경우, 로케이션 코드(Loc_cd), 운영 체제 코드(os_cd), 및 발생_월(month)이 동일하지만 발생 날짜가 상이한 경우이다. 블록 생성 모듈은 이러한 경우, 동일한 블록 ID를 가진 블록들을 구별하기 위해서 블록 ID의 버젼(block_ver)를 부여한다. 도 7에서 블록 ID 의 버젼 1은 바이러스 데이터의 키가 1 내지 4에 대한 것을 포함하고, 블록 ID의 버젼 2는 바이러스 데이터의 키가 1 내지 9에 대한 것을 포함한다.
상술한 도 7의 실시예에서는 블록의 분류 기준을 월로 하였지만, 월(MONTH)이 아니고 일(DAY)이어도 무방하다.
이제, 도 8과 도 9를 참조하여 델타 데이터 DB를 생성하는 방법을 설명하기로 한다. 블록 생성 모듈(243)은 블록 데이터 DB를 생성하고 난 후, 델타 데이터 DB를 생성할 수 있다. 즉, 블록 생성 모듈(243)은 블록 데이터 DB를 읽고(S801), 블록 ID는 같지만 블록 ID의 버젼이 다른 것이 있는지를 확인하며, 확인 결과 다른 것이 있으면(S8703: Y), 델타 데이터를 생성하여(S805), 델타 데이터 DB로서 저장한다(S807). 델타 데이터 DB는 저장부 또는 별도로 마련된 저장부에 저장될 수 있다. 도 9를 참조하면 델타 데이터 DB가 예시적으로 도시되어 있다. 델타 데이터 DB는 블록 ID는 같지만 블록 ID이 버젼이 다른 경우에 생성되며, 이들 블록간의 차이로 구성된다. 즉, 도 9에서의 델타 데이터 DB는, 바이러스 데이터 data key 가 5 내지 9인 바이러스 데이터로 구성된다.
이상 설명한 실시예에서, 위치 결정 모듈(211)이 모바일 디바이스의 위치를 결정하는 동작과, 모바일 디바이스로부터 수신한 멀웨어 시그너쳐 DB의 체크썸, 실행환경(OS 등), 로케이션 ID, 버전 ID, 및/또는 블록 개수의 변화 여부를 검사하여 모바일 디바이스가 가진 위치 결정기의 변화가 있는지를 확인하는 동작을 수행하는 것으로 설명하였다. 이러한 위치 결정 모듈(211)을 다르게 구성하는 것도 가능한데, 예를 들면, 모바일 디바이스의 위치를 결정하는 동작은 위치 결정 모듈(211)이 수행하되, 모바일 디바이스로부터 수신한 멀웨어 시그너쳐 DB의 체크썸, 실행환경(OS 등), 로케이션 ID, 버전 ID, 및/또는 블록 개수의 변화 여부를 검사하여 모바일 디바이스가 가진 위치 결정기의 변화가 있는지를 확인하는 동작은 업데이트 관리 모듈(213)이 수행하도록 구성하는 것도 가능하다.
도 4는 본 발명의 일 실시예에 따른 모바일 디바이스의 기능 블록도이다. 도 4의 실시예는 본 발명의 일 실시예에 따른 모바일 디바이스가 SOC(System On Chip)의 형태로 구성된 경우를 예시적으로 나타낸 것이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 모바일 디바이스는, SOC로 구성된 부분(이하, 'SOC'라고 함)(440)와 메인모듈(459, 461, 470, 471, 410, 430, 493, 491, 495)를 포함한다.
일 실시예에 따르면 메인 모듈과 SOC(440)는 메인 보드상에 장착될 수 있다. SOC(440)는 반도체 설계자산용 시스템 온 칩의 형태로 구현되거나 또는 일반적인 시스템 온 칩의 형태로 구현될 수 있다. 본원 명세서에서 'SOC(시스템 온 칩)'은 특별히 구별할 실익이 없는 한 상술한 일반적인 시스템 온 칩과 반도체 설계자산용 시스템 온 칩을 모두 통칭하는 것으로 사용하기로 한다.
SOC(440)는 메인 모듈에서 사용되거나 동작하는 데이터(실행파일, 데이터파일, ... 등 임의의 모든 데이터)('스캔용 데이터')를 메인 모듈로부터 수신하고, 스캔용 데이터에 멀웨어가 존재하는지 여부를 판단한다. 이를 위해서, SOC(440)는 안티-바이러스 엔진을 구비할 수 있다.
본 발명의 일 실시예에 따르면 SOC(440)는 시그네쳐 데이터와 스캔용 데이터를 비교함으로써, 스캔용 데이터에 멀웨어가 존재하는지 여부를 판단할 수 있다. 시그네쳐 데이터는 메인 모듈 또는 SOC(440)에 저장되어 관리될 수 있다. 시그네쳐 데이터가 메인 모듈에 저장되는 경우, SOC(440)는 메인 모듈로부터 시그네쳐 데이터를 전송받아서 바이러스 스캔 동작을 수행한다.
SOC(440)는 네트워크 인터페이스부(453), SOC 메모리(MEMORY_SOC)(455), SOC CPU(CPU_SOC)(457), 입출력 인터페이스부(451), 및 안티 멀웨어 엔진(450)을 포함할 수 있다.
네트워크 인터페이스부(453)는 모바일 디바이스가 외부 네트워크가 통신할 수 있는 인터페이스를 제공한다. 또한, 네트워크 인터페이스부(453)는 도 1에 예시된 제1 지역 서버 내지 제2 지역 서버들 중 적어도 어느 하나의 서버와의 통신을 지원할 수 있다.
본 실시예에서, 네트워크를 통해서 모바일 디바이스로 수신되거나 전송되는 데이터는 모두 네트워크 인터페이스부(453)를 통과하며, 안티 멀웨어 엔진(450)는 네트워크 인터페이스부(453)를 통과하는 데이터를 모두 스캐닝할 수 있다. 즉, 안티 멀웨어 엔진(450)은 네트워크 인터페이스부(453)를 통과하는 데이터와 멀웨어 시그네쳐 DB(495)를 비교하여 멀웨어를 스캐닝할 수 있다.
입출력 인터페이스부(451)는 SOC(440)와 메인 모듈간의 통신을 지원할 수 있다. 본 실시예에서, 멀웨어 스캔용 데이터는 메인 모듈로부터 입출력 인터페이스부(451)를 통해서 SOC(440)으로 전송되며, 안티 바이러스 엔진은 입출력 인터페이스부(451)를 통해서 수신되는 데이터와 멀웨어 시그네쳐 DB(495)를 비교함으로써 멀웨어를 스캐닝할수 있다.
관리 모듈(470), 위치 결정기(410), 및 저장부(490)는 각각 도 2의 실시예에서의 관리 모듈(170), 위치 결정기(110), 저장부(19)과 동일한 기능을 수행할 수 있다.
메인 모듈은, 메인 CPU(CPU_MAIN), 메인 메모리(MEMORY_MAIN), 관리 모듈(470), 안티 멀웨어 엔진 드라이버(471), 위치 결정기(410), 디바이스 정보(493)와 서버 URL(491)을 저장하는 저장부를 포함할 수 있다.
메인 CPU(CPU_MAIN)와 메인 메모리(MEMORY_MAIN)는 모바일 디바이스의 전반적인 동작을 제어하며, 안티 멀웨어 엔진 드라이버는 스캐닝용 데이터를 SOC(440)로 전송할 수 있다.
관리 모듈(47)은 안티 멀웨어 엔진 드라이버(471)를 통해서 스캐닝용 데이터를 SOC(440)로 전송할 수 있다.
한편, 멀웨어 시그네쳐 DB(495)는 SOC(440)에 포함되거나, 또는 메인 모듈에 포함될 수 있다. 그리고, 본 실시예에서, SOC가 자신의 SOC CPU(457)와 SOC 메모리(MEMORY_SOC)를 구비하는 것으로 설명하였지만 이는 예시적인 것으로서, SOC CPU(457) 및/또는 SOC 메모리(MEMORY_SOC)를 구비하지 않도록 구성하는 것도 가능하다.
도 10는 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 방법을 설명하기 위해서 제공되는 도면이다.
도 1과 도 10을 참조하면, 모바일 디바이스(즉, '클라이언트')와 서버 양자간은 서로 안전한 통신을 위해서 인증키를 교환(S1102)할 수 있으나, 이는 선택적인 것으로서 필요한 경우에 채택될 수 있다.
모바일 디바이스(100)는 모바일 디바이스의 정보를 수집하며(S1103), 수집한 모바일 디바이스 정보(시그너쳐 DB의 체크썸, 실행환경, 로케이션 ID, 버젼 ID, 및/또는 블록 개수)를 서버로 전송한다. 서버의 위치 결정 모듈(211)은, 상기 정보들 예를 들면 시그너쳐 DB의 체크썸, 실행환경(OS 등), 로케이션 ID, 버전 ID, 및/또는 블록 개수의 변화 여부를 검사하여 위치 결정기의 변화가 있는지를 확인한다(S1105).
예를 들면, S1105 단계에서 서버는 모바일 디바이스의 실행환경과 모바일 디바이스가 가진 위치 결정기가 대응하는 것인지 여부를 판단함으로써 위치 결정기의 변화가 있는지를 판단할 수 있다. 위치 결정기의 변화가 있다고 판단된 경우(S1105: Y), 업데이트 관리 모듈(213)는 모바일 디바이스의 실행환경에 맞는 위치 결정기를 모바일 디바이스로 송신하며(S1107), 모바일 디바이스는 송신 받은 위치 결정기에 의해 자신의 위치 결정기를 업데이트한다(S1109). 이후, 업데이트된 위치 결정기가 실행된다(S1111).
한편, 위치 결정기 변화가 없다고 판단된 경우(S1105: N), 업데이트 관리 모듈(213)은 모바일 디바이스가 가진 바이러스 데이터베이스(VDB)를 업데이트할 필요가 있는지 여부를 판단하며(S1113), 업데이트가 필요하다고 판단된 경우 업데이트를 수행한다(S1115). 여기서, 바이러스 데이터베이스는 멀웨어 시그네쳐 DB를 의미한다.
도 11은 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 방법을 설명하기 위해서 제공되는 도면으로서, 특히 바이러스 데이터베이스(VDB)의 업데이트 과정을 설명하기 위한 것이다.
도 1과 도 11을 참조하면, 서버(200a)의 업데이트 관리 모듈은 모바일 디바이스가 전송해준 로케이션 ID, 버젼 ID, 및 블록의 개수를 참조하여 바이러스 데이터베이스의 업데이트 여부를 판단한다(S1201). 예를 들면, 서버(200a)의 업데이트 관리 모듈은 자신이 저장하는 멀웨어 시그네쳐 DB에서의 로케이션 ID 및 버젼 ID와 상기 로케이션 ID에 속한 모든 블록의 개수가, 상기 모바일 디바이스(200)가 전송해준 로케이션 ID, 버젼 ID, 및 블록의 개수와 모두 일치하면, 모바일 디바이스(200)를 업데이트할 필요가 없다고 판단한다(S1201: N). 이러한 경우, 서버(200a)는 '모바일 디바이스(200)가 가진 멀웨어 시그네쳐 DB는 완전하다'는 답변(RES_COMPLETE)을 구성(S1213)하여 모바일 디바이스(200)로 전송(S1209)할 수 있다.
한편, 서버(200a)의 업데이트 관리 모듈은, S1201 단계의 판단 결과, 로케이션 ID, 버젼 ID, 및 블록의 개수 중 적어도 어느 하나가 다른 경우에는 바이러스 데이터베이스를 업데이트할 필요가 있다고 판단한다(S1201: Y). 서버(200a)의 업데이트 관리 모듈은, 모바일 디바이스가 가진 블록의 개수가 "0"인 경우, 클라이언트에게 전송할 멀웨어 구성 정보(RES_LOCATION_DOWNLOAD)를 생성한다(S1215). S1215 단계에서의 멀웨어 구성 정보는, 모바일 디바이스가 전송해준 로케이션 ID에 속하는 모든 블록 데이터를 포함한다.
S1203 단계의 판단결과 클라이언트가 가진 블록의 개수가 "0"이 아닌 경우(S1203: Y), 서버(200a)의 업데이트 관리 모듈은, 로케이션 ID와 버젼 ID는 동일하지만 블록 개수가 다른 것인지를 판단한다(S1205). S1205 단계의 판단결과, 블록 개수만 다르다고 판단한 경우, 모바일 디바이스가 전송해준 로케이션 ID에 속하는 블록들 중 모바일 디바이스가 가지고 있지 않은 나머지 블록들로 구성된 멀웨어 구성 정보(RES_BLOCK_APPEND)를 생성한다(S1217).
한편, S1205 단계의 판단결과 버젼 ID가 동일한 경우에는 모바일 디바이스에게 블록 정보를 요청한다(S1207). 모바일 디바이스는 자신의 블록 정보(클라이언트의 블록 ID, 블록 ID의 버젼, 블록 체크썸)를 수집하여 서버로 전송하며(S1209), 서버는 모바일 디바이스로부터 전송받은 블록 정보를 이용하여 클라이언트로 전송할 멀웨어 구성 정보를 생성한다(S1211). S1211 단계에서의 멀웨어 구성 정보는 클라이언트가 저장하는 블록을 수정, 삭제, 교체, 또는 추가하는 정보(RES_UPDATE_BLOCK)이다.
모바일 디바이스는, S1213, S1215, S1217, 또는 S1211에서 구성된 멀웨어 구성 정보를 수신하고, 수신한 정보에 따른 업데이트 동작을 수행한다(S1221).
도 12는 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 방법을 설명하기 위해서 제공되는 도면으로서, 특히 모바일 디바이스에서의 업데이트 과정을 설명하기 위한 것이다.
도 1과 도 12를 참조하면, 서버의 업데이트 관리 모듈은 도 11에서와 같이 구성한 멀웨어 구성 정보를 모바일 디바이스로 전송한다(S1301). 여기서, 멀웨어 구성 정보는, RES_BLOCK_APPEND, RES_UPDATE_BLOCK, RES_COMPLETE, RES_LOCATION_DOWNLOAD 중 어느 하나일 수 있다.
모바일 디바이스는 서버로부터 상기와 같은 멀웨어 구성 정보를 전송받고 블록별로 업데이트 동작을 수행한다(S1303). 예를 들어 모바일 디바이스는 RES_BLOCK_APPEND를 수신한 경우에는 RES_BLOCK_APPEND 에 포함된 블록을 자신이 저장하는 블록 데이터 DB에 추가하는 동작을 수행한다. 한편, 모바일 디바이스가 RES_UPDATE_BLOCK를 수신한 경우에는, RES_UPDATE_BLOCK에 포함된 데이터를 이용하여 자신이 저장하는 블록 데이터의 일부를 삭제, 수정, 교체하거나 추가하는 동작을 수행한다. 그리고, 모바일 디바이스가 RES_COMPLETE 를 수신한 경우에는 별도의 동작을 수행하지 않으며, RES_LOCATION_DOWNLOAD를 수신한 경우에는 RES_LOCATION_DOWNLOAD에 포함된 모든 블록들을 자신이 가진 블록 ID에 추가하는 동작을 수행한다.
S1303 단계에서 업데이트 동작이 완료되어 성공하면, 업데이트를 성공했다는 RES_COMPLETE를 구성하여 서버로 전송하고(S1307), 만약 업데이트 동작이 실패하면 로깅 정보(REQ_UPDATE_STATE_LOGGING)를 구성하여 서버로 전송한다.
서버는 모바일 디바이스로부터의 회신을 받아서 작업 결과를 기록한다(S1309).
도 13은 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 방법을 설명하기 위해서 제공되는 도면으로서, 특히 서버에서의 RES_UPDATE_BLOCK 정보를 구성하는 방법을 설명하기 위한 것이다.
도 1과 도 13를 참조하면, 서버(200a)의 업데이트 관리 모듈은 모바일 디바이스로부터 블록 정보를 수신한다(S1401). 여기서, 블록 정보는 모바일 디바이스의 블록 ID, 블록 ID의 버젼, 및 블록 체크썸을 포함한다.
서버는 기 전송받은 모바일 디바이스의 로케이션 ID를 이용하여, 자신이 저장하는 멀웨어 시그네쳐 DB(또는 블록 데이터 DB)에서 로케이션 ID에 대응되는 블록 정보를 조회한다.
이후, 서버는 로케이션 ID에 대응되는 블록마다 루프 A 단계(S1405)를 수행하며, 모든 블록에 대하여 루프 A 단계가 수행 완료되면(S1407) 모바일 디바이스의 블록 ID가 모바일 디바이스에만 존재하는지 여부를 판단한다(S1409). 여기서, 루프 A 단계는 도 14를 참조하여 후술하기로 한다.
한편, 모바일 디바이스의 블록 ID가 모바일 디바이스에만 존재하는 경우에는, 해당 블록 ID를 모바일 디바이스에서 삭제하는 멀웨어 구성 정보를 구성하여, 모바일 디바이스로 전송하며, 모바일 디바이스는 그에 따라 해당 블록 ID를 삭제한다(S1411).
도 14는 본 발명의 일 실시예에 따른 서버 기반의 안티 멀웨어 서비스 방법을 설명하기 위해서 제공되는 도면으로서, 특히 도 13에서의 루프 A 단계를 설명하기 위한 것이다.
도 1과 도 14를 참조하면, 서버는 도 13의 S1403 단계의 조회결과에 포함된 블록 ID가 모바일 디바이스 블록 ID에 존재하는지를 판단하며, 판단 결과 존재하지 않으면(S1501: N) 상기 조회결과에 포함된 블록 ID를 가진 블록 데이터를 모바일 디바이스로 전송하는 업데이트 정보를 구성한다(S1511). 이 업데이트 정보는 모바일 디바이스로 전송되어 업데이트 될 수 있다. 한편, S1501 단계의 판단결과, 상기 조회결과에 포함된 블록 ID가 모바일 디바이스 블록 ID에 존재하는 경우, 상기 조회결과에 포함된 블록 ID의 버젼과 상기 모바일 디바이스로부터 전송받은 블록 ID의 버젼이 일치하는지 여부를 판단한다(S1503).
만약, 양자의 버젼이 일치하면(S1503: Y), 서버는 상기 조회결과에 포함된 블록의 체크썸과 모바일 디바이스로부터 전송받은 블록의 체크썸을 비교하여 무결성을 검사한다(S1504). 그리고, 양자의 체크썸이 일치한다면(S1504: Y) 도 13의 S1407 단계를 수행한다. 양자의 체크썸이 일치하지 않는다면(S1504: N) 해당 블록 ID를 가진 블록 데이터를 교체하는 업데이트 정보를 구성하고(S1509), 도 13의 S1407 단계를 수행한다.
한편, S1503 단계의 수행결과, 서버는 양자의 버젼이 일치하지 않으면(S1503: N), 새로운 버젼의 블록 ID의 데이터 전송할지 아니면 델타 데이터 DB 만을 전송할지를 결정한다(S1505). S1505 단계는 예를 들면 다음의 수식에 의해서 결정할 수 있다.
Dreplace * 3/4 > Ddelta
여기서, Dreplace 는 새로운 버젼의 블록 ID를 가진 데이터의 량이고, Ddelta 는 델타 데이터의 량이며, * 는 곱하기를 의미한다.
서버는 S1505 단계에서 양자의 데이터량을 비교하여, 데이터량이 적은 방향으로 업데이트할 내용을 결정한다. 예를 들면, (Dreplace * 3/4 )> Ddelta 라면 델타 데이터 DB로 업데이트하는 정보를 구성하며(S1507), (Dreplace * 3/4 )> Ddelta 가 아니라면 새로운 버젼의 블록 ID의 데이터로 교체하는 정보를 구성한다(S1509). S1507과 S1509 단계가 완료되면, 서버는 다시 S1407 단계를 수행한다.
상술한 실시예에서 서버가 관할하는 지역을 국가로서 설명하였지만, 국가보다 큰 지역 또는 국가보다 작은 지역도 서버가 관할하는 지역으로 구현할 수 있다. 예를 들면, 본원 발명이 스마트 그리드 분야에 적용되는 경우, 서버가 관할하는 지역은 하나의 국가에서의 특정 지역(예를 들면, 부산)일 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
Claims (30)
- 적어도 하나의 서버가 소정 지역과 관련된 '지역적-멀웨어 정보'를 관리하는 단계;상기 서버는 디바이스가 상기 지역에 위치한 경우 상기 '지역적-멀웨어 정보'에 기초하여 상기 디바이스를 위한 '멀웨어 구성 정보'를 생성하는 단계; 및상기 서버는 상기 '멀웨어 구성 정보'를 상기 디바이스로 전송하는 단계;를 포함하는 서버 기반의 안티 멀웨어 서비스 방법.
- 제 1 항에 있어서,상기 '지역적-멀웨어 정보'는,상기 소정 지역과 관련된 '지역적-안티 멀웨어 엔진'과, 상기 소정 지역과 관련된 '지역적-멀웨어 시그네쳐 DB' 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 방법.
- 제 2 항에 있어서,상기 '멀웨어 구성 정보'는,상기 디바이스가 기저장하는 멀웨어 정보를 상기 '지역적-멀웨어 정보'로 업데이트하기 위한 정보인 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 방법.
- 제 2 항에 있어서,상기 서버는, 또한,'지역적-멀웨어 시그네쳐 DB'로부터 소정의 기준에 따라서 블록을 추출하여 블록 데이터 DB를 구성하며,상기 블록 데이터 DB를 구성하는 블록들에는 블록 ID가 각각 할당되어 있는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 방법.
- 제 4 항에 있어서,상기 서버는,상기 동일한 블록 ID가 2개 존재할 경우, 블록 ID에 버젼을 할당하여 관리하며, 동일한 블록 ID를 가진 블록들간의 차이로 이루어진 델타 데이터 DB를 구성하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 방법.
- 제 4 항에 있어서,상기 디바이스는 위치 결정기를 포함하며, 자신이 저장하는 멀웨어 시그네쳐 DB의 체크썸, 상기 디바이스의 실행 환경, 로케이션 ID, 버전 ID, 및 블록의 개수 중 적어도 어느 하나의 정보를 서버로 전송하며,상기 정보를 전송받은 서버는 상기 정보의 변경 여부에 기초하여 새로운 위치 결정기를 상기 디바이스로 전송할지 여부를 판단하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 방법.
- 제 6 항에 있어서상기 서버는 상기 디바이스가 블록을 가지고 있는지를 확인하여, 블록을 가지고 있지 않은 경우 상기 블록 데이터 DB가 '멀웨어 구성 정보'에 포함되도록 상기 '멀웨어 구성 정보'를 생성하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 방법.
- 제 1 항에 있어서상기 디바이스는 모바일 디바이스인 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 방법.
- 소정 지역과 관련된 '지역적-멀웨어 정보'를 관리하는 서버; 및자신의 위치를 확인할 수 있는 정보를 상기 서버로 전송하는 디바이스;를 포함하며,상기 서버는 상기 디바이스로부터 수신한 정보에 기초하여 상기 디바이스가 상기 지역에 위치하였는지 여부를 판단하고, 만약 상기 디바이스가 상기 지역에 위치하였다면 상기 '지역적-멀웨어 정보'에 기초하여 '멀웨어 구성 정보'를 생성하여 상기 디바이스로 전송하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템.
- 제 9 항에 있어서,상기 '지역적-멀웨어 정보'는,상기 소정 지역과 관련된 '지역적-안티 멀웨어 엔진'과, 상기 소정 지역과 관련된 '지역적-멀웨어 시그네쳐 DB' 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템.
- 제 10 항에 있어서,상기 '멀웨어 구성 정보'는,상기 디바이스가 기저장하는 멀웨어 정보를 상기 '지역적-멀웨어 정보'로 업데이트하기 위한 정보인 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템.
- 제 10 항에 있어서,상기 서버는, 또한,'지역적-멀웨어 시그네쳐 DB'로부터 소정의 기준에 따라서 블록을 추출하여 블록 데이터 DB를 구성하며상기 블록 데이터 DB를 구성하는 블록들에는 블록 ID가 각각 할당되어 있는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템.
- 제 12 항에 있어서,상기 서버는,상기 동일한 블록 ID가 2개 존재할 경우, 블록 ID에 버젼을 할당하여 관리하며, 동일한 블록 ID를 가진 블록들간의 차이로 이루어진 델타 데이터 DB를 구성하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템.
- 제 13 항에 있어서,상기 서버는 상기 디바이스의 실행환경에 대응된 위치 결정기를 기 저장하고 있는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템.
- 제 14 항에 있어서,상기 디바이스는 멀웨어 시그네쳐 DB의 체크썸, 상기 디바이스의 실행 환경, 로케이션 ID, 버전 ID, 및 블록의 개수 중 적어도 어느 하나의 정보를 서버로 전송하며,상기 서버는 상기 정보를 확인하여 멀웨어 시그네쳐 DB의 업데이트 여부를 판단하는 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템.
- 제 9 항에 있어서,상기 디바이스는 모바일 디바이스인 것을 특징으로 하는 서버 기반의 안티 멀웨어 서비스 시스템.
- 멀웨어 시그네쳐 DB를 저장하는 저장부;안티 멀웨어 엔진; 및상기 디바이스가 위치한 지역과 관련된 '멀웨어 구성 정보'를 상기 서버로 요청하는 관리 모듈;을 포함하여,상기 관리 모듈은 상기 서버로부터 상기 '멀웨어 구성 정보'를 수신하며, 이를 이용하여 상기 멀웨어 시그네쳐 DB와 안티 멀웨어 엔진 중 적어도 어느 하나를 업데이트하는 것을 특징으로 하는 디바이스.
- 제 17 항에 있어서,위치 결정기;를 더 포함하며,상기 위치 결정기는, 상기 저장부에 저장된 멀웨어 시그너쳐 DB 중에서, 상기 디바이스가 현재 위치한 지역과 관련된 멀웨어 시그너쳐 DB를 활성화시키는 것을 특징으로 하는 디바이스.
- 제 18 항에 있어서,상기 관리 모듈은 '멀웨어 구성 정보'를 상기 서버로 요청할 때 상기 멀웨어 시그네쳐 DB의 체크썸, 상기 디바이스의 실행 환경, 로케이션 ID, 버전 ID, 및 블록의 개수 중 적어도 하나의 정보를 전송하는 것을 특징으로 하는 디바이스.
- 제 17 항에 있어서,상기 멀웨어 시그네쳐 DB는, 소정의 기준에 따라서 블록별로 분류된 블록 데이터 DB이며, 상기 블록 데이터 DB를 구성하는 블록들에는 블록 ID가 각각 할당되어 있는 것을 특징으로 하는 디바이스.
- 제 18 항에 있어서,상기 관리 모듈은, 상기 서버로부터 새로운 위치 결정기를 전송받는 경우, 기존에 포함하고 있던 위치 결정기를 상기 전송받은 위치 결정기로 교체하는 것을 특징으로 하는 디바이스.
- 제 17 항에 있어서,상기 디바이스는 모바일 디바이스인 것을 특징으로 하는 디바이스.
- 소정 지역과 관련된 '지역적-멀웨어 정보'를 저장하는 데이터베이스 서버; 및디바이스로부터 '멀웨어 구성 정보' 의 요청이 수신되면, 상기 디바이스의 위치를 결정하고, 상기 디바이스의 위치가 상기 소정의 지역에 위치한 경우, 상기 '지역적-멀웨어 정보'에 기초하여 상기 '멀웨어 구성 정보'를 생성하여 상기 디바이스로 전송하는 업데이트 서버;를 포함하는 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버.
- 제 23 항에 있어서,상기 '지역적-멀웨어 정보'는,상기 소정 지역과 관련된 '지역적-안티 멀웨어 엔진'과, 상기 소정 지역과 관련된 '지역적-멀웨어 시그네쳐 DB' 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버.
- 제 24 항에 있어서,상기 '멀웨어 구성 정보'는,상기 디바이스가 기저장하는 멀웨어 정보를 상기 '지역적-멀웨어 정보'로 업데이트하기 위한 정보인 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버.
- 제 24 항에 있어서,상기 서버는,'지역적-멀웨어 시그네쳐 DB'로부터 소정의 기준에 따라서 블록을 추출하여 블록 데이터 DB를 구성하는 블록 생성 모듈;을 더 포함하며,상기 블록 생성 모듈은 블록 데이터 DB를 구성하는 블록들에 블록 ID를 각각 할당하는 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버.
- 제 26 항에 있어서,상기 블록 생성 모듈은,상기 동일한 블록 ID가 2개 존재할 경우, 블록 ID에 버젼를 할당하여 관리하며, 동일한 블록 ID를 가진 블록들간의 차이로 이루어진 델타 데이터 DB를 구성하는 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버.
- 제 23 항에 있어서,상기 데이터베이스 서버는 상기 디바이스의 실행환경에 대응된 위치 결정기를 저장하고 있는 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버.
- 제 28 항에 있어서,상기 업데이트 서버는 상기 디바이스로부터 멀웨어 시그네쳐 DB의 체크썸, 상기 디바이스의 실행 환경, 로케이션 ID, 버전 ID, 및 블록의 개수 중 적어도 어느 하나의 정보를 수신하고, 수신한 정보에 기초하여 멀웨어 시그네쳐 DB의 업데이트 여부를 판단하는 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버.
- 제23항에 있어서,상기 디바이스는 모바일 디바이스인 것을 특징으로 하는 안티 멀웨어 서비스를 제공하는 서버.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/501,620 US20120204266A1 (en) | 2009-10-12 | 2010-10-12 | Method for providing an anti-malware service |
EP10823595.3A EP2490370B1 (en) | 2009-10-12 | 2010-10-12 | Method for providing an anti-malware service |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2009-0096661 | 2009-10-12 | ||
KR1020090096661A KR101047659B1 (ko) | 2009-10-12 | 2009-10-12 | 클라우드 기반의 모바일 안티 멀웨어 시스템, 클라우드 센터 및 모바일 디바이스 |
KR10-2009-0102566 | 2009-10-28 | ||
KR1020090102566A KR101066375B1 (ko) | 2009-10-28 | 2009-10-28 | 클라우드 기반의 모바일 안티 멀웨어 서비스 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2011046356A2 true WO2011046356A2 (ko) | 2011-04-21 |
WO2011046356A3 WO2011046356A3 (ko) | 2011-09-15 |
Family
ID=43876698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2010/006988 WO2011046356A2 (ko) | 2009-10-12 | 2010-10-12 | 안티 멀웨어 서비스 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120204266A1 (ko) |
EP (1) | EP2490370B1 (ko) |
WO (1) | WO2011046356A2 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694820A (zh) * | 2012-06-13 | 2012-09-26 | 华为技术有限公司 | 签名规则的处理方法、服务器及入侵防御系统 |
WO2014004821A1 (en) * | 2012-06-29 | 2014-01-03 | Mcafee, Inc. | Preventing attacks on devices with multiple cpus |
EP2827273A1 (en) * | 2011-03-28 | 2015-01-21 | Kaspersky Lab, ZAO | System and method for dynamic generation of anti-virus databases |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US8635697B2 (en) * | 2011-03-29 | 2014-01-21 | Alcatel Lucent | Method and system for operating system identification in a network based security monitoring solution |
US9313211B1 (en) * | 2012-04-18 | 2016-04-12 | Symantec Corporation | Systems and methods to protect against a vulnerability event |
US9660949B2 (en) * | 2012-05-15 | 2017-05-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed geomessaging architecture |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9219747B2 (en) | 2013-10-28 | 2015-12-22 | At&T Intellectual Property I, L.P. | Filtering network traffic using protected filtering mechanisms |
CN103823871A (zh) * | 2014-02-26 | 2014-05-28 | 可牛网络技术(北京)有限公司 | 软件查找方法和装置 |
US9536176B2 (en) * | 2015-03-23 | 2017-01-03 | International Business Machines Corporation | Environmental-based location monitoring |
CN105095755A (zh) * | 2015-06-15 | 2015-11-25 | 安一恒通(北京)科技有限公司 | 文件识别方法和装置 |
WO2017131662A1 (en) | 2016-01-27 | 2017-08-03 | Aruba Networks, Inc. | Preventing malware downloads |
US20170262378A1 (en) * | 2016-03-11 | 2017-09-14 | Qualcomm Incorporated | System and method for ram capacity optimization using rom-based paging |
SG10201602449PA (en) | 2016-03-29 | 2017-10-30 | Huawei Int Pte Ltd | System and method for verifying integrity of an electronic device |
CN112052449A (zh) * | 2019-06-06 | 2020-12-08 | 深信服科技股份有限公司 | 一种恶意文件识别方法、装置、设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100551421B1 (ko) * | 2002-12-28 | 2006-02-09 | 주식회사 팬택앤큐리텔 | 바이러스치료기능을 가진 이동통신 시스템 |
US20060272006A1 (en) * | 2005-05-27 | 2006-11-30 | Shaohong Wei | Systems and methods for processing electronic data |
WO2007062673A1 (en) * | 2005-11-30 | 2007-06-07 | Telecom Italia S.P.A. | Method and system for updating applications in mobile communications terminals |
KR20080069852A (ko) * | 2007-01-24 | 2008-07-29 | 삼성전자주식회사 | 네트워크 모니터링을 통한 악성 코드 진단 시스템 및 그방법 |
KR100878895B1 (ko) * | 2007-02-08 | 2009-01-15 | 삼성전자주식회사 | 휴대단말 악성코드 처리장치 및 그 처리 방법 |
US8290513B2 (en) * | 2007-06-28 | 2012-10-16 | Apple Inc. | Location-based services |
US8689330B2 (en) * | 2007-09-05 | 2014-04-01 | Yahoo! Inc. | Instant messaging malware protection |
US20090313700A1 (en) * | 2008-06-11 | 2009-12-17 | Jefferson Horne | Method and system for generating malware definitions using a comparison of normalized assembly code |
US8528080B2 (en) * | 2009-09-15 | 2013-09-03 | Reefedge Networks, Llc | Short-range mobile honeypot for sampling and tracking threats |
-
2010
- 2010-10-12 EP EP10823595.3A patent/EP2490370B1/en not_active Not-in-force
- 2010-10-12 WO PCT/KR2010/006988 patent/WO2011046356A2/ko active Application Filing
- 2010-10-12 US US13/501,620 patent/US20120204266A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
None |
See also references of EP2490370A4 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2827273A1 (en) * | 2011-03-28 | 2015-01-21 | Kaspersky Lab, ZAO | System and method for dynamic generation of anti-virus databases |
CN102694820A (zh) * | 2012-06-13 | 2012-09-26 | 华为技术有限公司 | 签名规则的处理方法、服务器及入侵防御系统 |
CN102694820B (zh) * | 2012-06-13 | 2015-01-21 | 华为技术有限公司 | 签名规则的处理方法、服务器及入侵防御系统 |
US9479528B2 (en) | 2012-06-13 | 2016-10-25 | Huawei Technologies Co., Ltd. | Signature rule processing method, server, and intrusion prevention system |
US9948667B2 (en) | 2012-06-13 | 2018-04-17 | Huawei Technologies Co., Ltd. | Signature rule processing method, server, and intrusion prevention system |
WO2014004821A1 (en) * | 2012-06-29 | 2014-01-03 | Mcafee, Inc. | Preventing attacks on devices with multiple cpus |
US8832837B2 (en) | 2012-06-29 | 2014-09-09 | Mcafee Inc. | Preventing attacks on devices with multiple CPUs |
Also Published As
Publication number | Publication date |
---|---|
EP2490370A4 (en) | 2014-12-17 |
WO2011046356A3 (ko) | 2011-09-15 |
EP2490370A2 (en) | 2012-08-22 |
EP2490370B1 (en) | 2016-05-18 |
US20120204266A1 (en) | 2012-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011046356A2 (ko) | 안티 멀웨어 서비스 방법 | |
CN105474678B (zh) | 针对移动设备的集中选择应用许可 | |
CN1773417B (zh) | 聚集反病毒软件应用程序的知识库的系统和方法 | |
WO2018135766A1 (ko) | 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법 | |
RU2444056C1 (ru) | Система и способ ускорения решения проблем за счет накопления статистической информации | |
JP5809084B2 (ja) | ネットワーク・セキュリティ・システムおよび方法 | |
US9363285B2 (en) | Communication system, network for qualification screening/setting, communication device, and network connection method | |
JP5967107B2 (ja) | マルウェアに対処するための方法及び装置 | |
US7592906B1 (en) | Network policy evaluation | |
CN101894225B (zh) | 聚集反病毒软件应用程序的知识库的系统和方法 | |
CN111600856A (zh) | 数据中心运维的安全系统 | |
EP2541835B1 (en) | System and method for controlling access to network resources | |
KR101753647B1 (ko) | 클라우드 컴퓨팅 기반의 허니팟 보안시스템 및 그 실행방법 | |
JP2011108243A (ja) | アンチウイルス保護システム及び方法 | |
CN111510463B (zh) | 异常行为识别系统 | |
KR20110002947A (ko) | 필수 프로그램 설치정보를 이용한 네트워크 접근 제어시스템 및 이의 방법 | |
JP3840508B1 (ja) | 情報収集ソフトウエア管理システム,管理サーバおよび管理プログラム | |
JP4214280B2 (ja) | ソフトウエア管理システム,管理サーバおよび管理プログラム | |
CN115795493A (zh) | 访问控制策略部署方法和相关装置、以及访问控制系统 | |
JP6095839B1 (ja) | セキュリティ対策プログラム、ファイル追跡方法、情報処理装置、配信装置、及び管理装置 | |
CN110532769A (zh) | 一种生成扫描日志的方法、通信装置及系统 | |
CN103793647A (zh) | 病毒文件处理系统及方法 | |
JP6053450B2 (ja) | 情報処理装置、方法およびプログラム | |
WO2024106860A1 (ko) | 링크 특성 분석 기반의 비정상 웹 컨텐츠 탐지 방법 및 시스템 | |
RU2825724C1 (ru) | Поиск проблем безопасности в программном обеспечении и операционных системах в публичных облаках |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10823595 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13501620 Country of ref document: US Ref document number: 2010823595 Country of ref document: EP |