KR101066375B1 - Mobile anti-malware service method based on cloud - Google Patents

Mobile anti-malware service method based on cloud Download PDF

Info

Publication number
KR101066375B1
KR101066375B1 KR1020090102566A KR20090102566A KR101066375B1 KR 101066375 B1 KR101066375 B1 KR 101066375B1 KR 1020090102566 A KR1020090102566 A KR 1020090102566A KR 20090102566 A KR20090102566 A KR 20090102566A KR 101066375 B1 KR101066375 B1 KR 101066375B1
Authority
KR
South Korea
Prior art keywords
client
block
location
information
server
Prior art date
Application number
KR1020090102566A
Other languages
Korean (ko)
Other versions
KR20110045842A (en
Inventor
유인선
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020090102566A priority Critical patent/KR101066375B1/en
Priority to US13/501,620 priority patent/US20120204266A1/en
Priority to PCT/KR2010/006988 priority patent/WO2011046356A2/en
Priority to EP10823595.3A priority patent/EP2490370B1/en
Publication of KR20110045842A publication Critical patent/KR20110045842A/en
Application granted granted Critical
Publication of KR101066375B1 publication Critical patent/KR101066375B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 모바일 안티 멀웨어 서비스 방법에 관한 것으로서, 클라이언트에서 현재 액티브된 VDB(Virus Database)위치의 유효성을 검사하고, 클라이언트 정보를 수집하여 서버에 전송하는 단계, 서버에서는 위치결정기의 변화가 있는지 여부를 확인하는 단계, 상기 위치결정기의 변화가 없으면, 상기 서버는 상기 VDB위치의 업데이트가 필요한지 여부를 검사하는 단계 및 상기 VDB 위치의 업데이트가 필요하면, 상기 서버는 상기 VDB 위치를 업데이트 하는 단계를 포함한다. 본 발명에 의하면 모바일 디바이스에서의 멀웨어 DB 업데이트 시에 최소한의 데이터 트래픽이 송수신되도록 하여 통신 자원의 낭비를 막는 효과가 있다.The present invention relates to a mobile anti-malware service method, comprising: checking the validity of a currently active VDB (Virus Database) location in a client, collecting client information, and transmitting the collected client information to a server; Checking, if there is no change in the locator, the server checking whether the update of the VDB location is necessary and if the update of the VDB location is necessary, the server updating the VDB location. . According to the present invention, at the time of updating the malware DB on the mobile device, minimal data traffic is transmitted and received, thereby preventing waste of communication resources.

멀웨어, 악성코드, 악성 소프트웨어, 리소스, 모바일, 클라우드, 어플리케이션. Malware, Malware, Malicious Software, Resources, Mobile, Cloud, Applications.

Description

클라우드 기반의 모바일 안티 멀웨어 서비스 방법 {Mobile anti-malware service method based on cloud}Mobile anti-malware service method based on cloud}

본 발명은 모바일 안티 멀웨어 서비스 방법에 관한 것으로서, 더욱 상세하게는 악성 코드 및 악성 소프트웨어를 포함하는 멀웨어로부터 모바일 디바이스를 안전하게 유지관리하도록 하기 위한 모바일 안티 멀웨어 서비스 방법에 관한 것이다. The present invention relates to a mobile anti-malware service method, and more particularly, to a mobile anti-malware service method for safely maintaining a mobile device from malware including malicious code and malicious software.

멀웨어(Malware)라 함은 바이러스나 트로이 목마와 같이 시스템에 해를 입히거나 시스템을 방해하기 위해 특별히 설계된 소프트웨어, 또는 데이터ㆍ컴퓨터ㆍ네트워크를 위험에 노출시킬 수 있는 코드 및 악성 소프트웨어(malicious software), 또는 악성 코드(malicious code)에서 나온 말로, 타 시스템에 피해를 입히기 위해 개발된 소프트웨어를 의미한다. 최근의 멀웨어는 첨부 파일을 열어 보거나, 소프트웨어를 다운받아 설치하는 종래의 통념을 벗어나 단지 유명 검색 페이지의 링크나 이미지를 클릭하기만 해도 원하지 않는 소프트웨어가 설치되고, 시스템이 하이재킹당할 수 있어 주의가 필요한다.Malware is software that is specifically designed to harm or interfere with a system, such as viruses or Trojan horses, or code and malicious software that can endanger data, computers, or networks, or This word is derived from malicious code and 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.

일반적으로 컴퓨터 바이러스란 컴퓨터 프로그램이나 실행 가능한 부분을 변형하여, 그곳에 자기 자신 또는 자신의 변형을 복사하여 컴퓨터 작동에 피해를 주는 명령어들의 조합으로서, 생물학적인 바이러스가 생물체에 침투하여 병을 일으키는 것처럼 컴퓨터 내에 침투하여 자료를 손상시키거나, 다른 프로그램들을 파괴하여 작동할 수 없도록 하는 컴퓨터 프로그램의 한 종류이다. 바이러스는 감염된 디스크로 컴퓨터를 기동시킬 때 혹은 특정 프로그램을 실행시킬 때 활동하며 자료를파괴하거나 컴퓨터 작동을 방해하고 자신을 복제하여 다른 컴퓨터를 감염시킨다.In general, a computer virus is a combination of instructions that modify a computer program or executable part and copy itself or its modifications to it to damage the computer's operation. It is a type of computer program that infiltrates data, destroys data, or destroys other programs. A virus works when you start your computer with an infected disk or when you run a specific program, which destroys data, interrupts your computer's operation, and replicates itself to infect other computers.

이러한 컴퓨터 바이러스의 감염 경로는 매우 다양하고 복잡한 구조를 가지는데, 가장 일반적인 경로는 불법복사, 컴퓨터통신, 컴퓨터 공동 사용, LAN 또는 인터넷 등이 있다. 불법 복제한 소프트웨어 디스켓을 사용하거나, 여러 사람이 공동으로 사용하는 컴퓨터에서 작업하면 바이러스 감염의 가능성이 높아 자신도 모르게 디스켓 또는 프로그램에 감염되고, 이렇게 감염된 디스켓이나 프로그램을 자신의 컴퓨터에서 사용하면 자신의 컴퓨터도 감염된다. 최근에는 컴퓨터 통신 이용률이 높아지면서 이를 통하여 자료를 주고 받을때 급속도로 바이러스가 확산되기도 한다. The path of infection of such a computer virus has a very diverse and complicated structure. The most common paths are illegal copying, computer communication, computer sharing, LAN or the Internet. Using pirated software diskettes or working on a computer that is shared by several people is more likely to cause a virus infection, and you will be infected with the diskette or program without your knowledge. If you use these infected diskettes or programs on your computer, The computer is also infected. Recently, as the use of computer communication increases, viruses spread rapidly when sending and receiving data.

한편, 컴퓨터와 비교하여 운영체제 및 파일 시스템의 편중이 덜하고, 이용되는 데이터들의 중요도가 상대적으로 떨어지는 관계 등으로 인하여 아직까지 무선 통신 시스템에 대한 모바일 바이러스의 인식 및 피해는 크지 않는 실정이다.On the other hand, due to the relationship between the operating system and the file system is less than the computer, and the importance of the data used is relatively low, the recognition and damage of the mobile virus to the wireless communication system is not yet large.

그러나, 현재 무선 단말기가 컴퓨터의 기능을 대폭 받아들여 스마트폰 형태로 발전하고 있으며, 무선 단말기의 무선망이 무선 인터넷에 버금갈 정도로 확장되 면서 컴퓨터에서 일어나고 있는 바이러스 피해가 곧 무선 단말기의 무선망에도 재현될 가능성이 높아지고 있다.However, wireless terminals are now adopting the functions of computers and developing them into smartphones. As the wireless network of wireless terminals expands to comparable to the wireless Internet, the virus damages occurring in computers are expected to affect wireless networks of wireless terminals. The likelihood of reproduction is increasing.

현실적으로 모바일 바이러스에 대한 피해들이 나타나고 있는데, 모바일 바이러스 피해의 구체적인 실례로서, 대표적 휴대전화 인터넷 서비스인 일본의 I-모드(Mode)에서는 소프트웨어에 저장된 악성코드로 인해 일본 내 수백대의 휴대전화가 경찰의 비상전화번호로 전화를 걸게 하는 사건이 발생하기도 했다.In reality, damages to mobile viruses are appearing. As a specific example of mobile virus damages, in Japan's representative mobile phone Internet service, Japan's I-Mode, hundreds of mobile phones in Japan are threatened by police due to malware stored in software. There was an incident that caused the phone number to be called.

또한, 무선 단말기를 이용하여 증권 및 은행거래가 가능해 지면서 모바일 바이러스 피해가 점차 증가할 것으로 예상되고, 폭발적으로 증가하는 무선 단말기 사용자들로 인하여 컴퓨터 바이러스의 피해 보다 휠씬 큰 영향을 미칠 것으로 예상됨에 따라 무선 단말기의 보안 및 안전이 무엇보다도 중요한 이슈로 자리매김되고 있다.In addition, mobile viruses are expected to increase gradually as securities and bank transactions are possible using wireless terminals, and the explosive increase in users of wireless terminals is expected to have a greater impact than the damage of computer viruses. Security and safety have become one of the most important issues.

이러한 모바일 디바이스의 안티 멀웨어(Anti-Malware)를 위한 안티 멀웨어 시스템에서, 종래에는 모바일 디바이스에서 멀웨어 데이터베이스(database, 이하 'DB'라 한다)를 업데이트하기 위하여 서버로부터 전체 멀웨어 DB를 다운로드하였다. 이렇게 함으로써, 종래에는 서버와 모바일 디바이스 간에 대량의 데이터 트래픽이 송수신되므로, 통신자원의 낭비를 초래하였고, 모바일 디바이스의 제한된 리소스로 인하여 모바일용 어플리케이션을 사용하는데 문제가 있었다. In an anti-malware system for anti-malware of such a mobile device, the entire malware DB is downloaded from a server in order to update a malware database (hereinafter referred to as 'DB') on a mobile device. By doing so, conventionally, a large amount of data traffic is transmitted and received between the server and the mobile device, resulting in waste of communication resources, and there is a problem in using a mobile application due to limited resources of the mobile device.

또한, 이동통신 환경도 글로벌화되어 세계 각국에 대하여 로밍 서비스가 도입되고 있는 요즘, 종래 안티 멀웨어 시스템에서는 각 지역적으로 발생하는 멀웨어에 대하여 효과적으로 대응할 수 없다고 하는 문제점이 있었다. In addition, the mobile communication environment is also globalized and roaming services are introduced to countries around the world. There is a problem that conventional anti-malware systems cannot effectively cope with malware generated locally.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 모바일 디바이스에서의 멀웨어 DB 업데이트 시에 최소한의 데이터 트래픽이 송수신되도록 하여 통신 자원의 낭비를 막고, 모바일 디바이스의 한정된 리소스를 효과적으로 사용할 수 있도록 하는 모바일 안티 멀웨어 서비스 방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, to minimize the waste of communication resources by transmitting and receiving a minimum data traffic when updating the malware DB on the mobile device, it is possible to effectively use the limited resources of the mobile device The purpose is to provide a mobile anti-malware service method.

또한, 본 발명은 전 세계의 각 지역에서 발생하는 멀웨어에 대해 효과적으로 대응할 수 있도록 하는 모바일 안티 멀웨어 서비스 방법을 제공하는데 그 목적이 있다. In addition, an object of the present invention is to provide a mobile anti-malware service method that can effectively respond to malware generated in each region of the world.

이와 같은 목적을 달성하기 위한 본 발명은 보유하고 있는 위치(location) DB의 갯수, 액티브된 위치에 대한 정보를 포함하는 자료구조인 VDB(Virus Database)마스터와, 위치 DB의 버전, 관리하는 블록들의 갯수, 블록들의 체크섬(checksum) 값을 포함하는 자료구조인 VDB위치와, 액티브된 위치를 결정하는 논리를 지닌 개체로서 VDB마스터 정보를 관리하는 위치결정기를 포함하는 모바일 안티 멀웨어 서비스 방법에 있어서, 클라이언트에서 현재 액티브된 VDB위치의 유효성을 검사하고, 클라이언트 정보를 수집하여 서버에 전송하는 단계, 서버에서는 위치결정기의 변화가 있는지 여부를 확인하는 단계, 상기 위치결정기의 변화가 없으면, 상기 서버는 상기 VDB위치의 업데이트가 필요한지 여부를 검사하는 단계 및 상기 VDB 위치의 업데이트가 필요하면, 상기 서버는 상기 VDB 위치를 업데이트 하는 단계를 포함한다. In order to achieve the above object, the present invention provides a VDB (Virus Database) master, which is a data structure including information about the number of location DBs and active locations, a version of a location DB, and blocks for managing the location DBs. A mobile anti-malware service method comprising: a VDB location, which is a data structure including the number of checksums of blocks, and a location determiner that manages VDB master information as an entity having logic to determine an active location. Checking the validity of the currently active VDB location, collecting and transmitting client information to the server, checking whether there is a change in the location determiner, and if there is no change in the location determiner, the server determines the VDB. Checking whether an update of the location is required and if an update of the VDB location is needed, the server And a step of updating the location VDB.

상기 클라이언트 정보를 수집하여 서버에 전송하는 단계에서, 상기 클라이언트 정보는 위치결정기의 체크섬, 클라이언트의 실행환경, 현재 액티브된 VDB위치의 위치ID, VDB위치의 버전ID, VDB위치의 블록갯수를 포함하는 것일 수 있다. In the collecting and transmitting the client information to the server, the client information includes the checksum of the positioner, the execution environment of the client, the location ID of the currently active VDB location, the version ID of the VDB location, and the number of blocks of the VDB location. It may be.

상기 위치결정기의 변화가 있으면, 상기 서버는 상기 클라이언트로부터 수신한 상기 클라이언트 정보에 따라 상기 클라이언트의 실행환경에 맞는 위치결정기를 상기 클라이언트에 송신하는 단계 및 상기 클라이언트는 상기 서버로부터 수신한 위치결정기로 업데이트하고, 업데이트된 위치결정기를 실행하는 단계를 더 포함할 수 있다. If there is a change in the locator, the server sends the locator for the client to the client according to the client information received from the client and the client updates the locator received from the server. And executing the updated positioner.

상기 클라이언트의 실행환경에 맞는 위치결정기를 상기 클라이언트에 송신하는 단계는, 상기 클라이언트로부터 수신한 클라이언트의 실행환경 정보에 따라 클라이언트의 실행환경에 맞는 위치결정기를 상기 클라이언트에 송신할 수 있다. In the transmitting of the positioner suitable for the execution environment of the client to the client, the positioner suitable for the execution environment of the client may be transmitted to the client according to the execution environment information of the client received from the client.

상기 서버에서 상기 VDB 위치를 업데이트 하는 단계는, 상기 서버에서 상기 클라이언트의 위치 DB 검사가 필요한지 여부를 확인하는 단계, 상기 클라이언트의 위치 DB 검사가 필요하면, 상기 클라이언트에 블록이 있는지 여부를 확인하는 단계, 상기 클라이언트에 블록이 없으면, 상기 서버는 다운로드 정보를 구성하는 단계, 상기 클라이언트에 블록이 있으면, 상기 서버는 블록에 대한 정보를 상기 클라이언트에 요청하는 단계, 상기 클라이언트는 상기 서버로부터 블록에 대한 정보를 요청 받으면, 클라이언트의 블록들에 대한 정보를 수집하여 상기 서버로 전송하는 단계, 상기 서버는 블록별로 수행해야할 작업을 판단하고 해당 작업에 필요한 정보를 구성하는 단계, 상기 서버는 구성한 정보를 상기 클라이언트로 송신하는 단계, 상기 클라이언트는 상기 서버로부터 수신한 정보를 기반으로 블록별로 업데이트 작업을 수행하고, 작업 결과를 상기 서버에 통보하는 단계 및 상기 서버는 상기 작업 결과를 기록하는 단계를 포함할 수 있다. The updating of the location of the VDB in the server may include: checking whether the location DB of the client is required at the server; and checking whether the client has a block if the location DB of the client is required. If the client does not have a block, the server configures download information; if the client has a block, the server requests the client for information about the block, and the client information for the block from the server When receiving a request, collecting and transmitting information about the blocks of the client to the server, the server determines the operation to be performed for each block and configures the information necessary for the operation, the server is configured to the information Sending the message to the client, Performing an update operation for each block based on the information received from the server, and notifying the server of the operation result, and the server may include the step of recording the operation result.

상기 클라이언트에서 현재 액티브된 VDB위치의 유효성을 검사하는 것은, 현재 액티브된 VDB위치의 정보가 존재하는지 여부를 확인하고, 상기 VDB위치 정보가 존재하면 VDB위치를 로드하고 블록갯수 만큼 루프를 실행하는 단계, 상기 블록갯수 만큼 루프를 실행하였는지 여부를 확인하는 단계, 상기 블록갯수 만큼 루프를 실행하지 않았으면, 상기 VDB위치의 블록 체크섬과 실제블록의 md5 해시(hash)값이 같은지 여부를 확인하는 단계, 상기 VDB위치의 블록 체크섬과 실제블록의 md5 해시값이 같지 않으면 손상된 블록을 제거하는 단계, 상기 블록 갯수 만큼 루프를 실행하였으면, VDB위치 정보의 변경 여부를 확인하는 단계 및 상기 VDB위치 정보가 변경되었으면, 변경된 VDB위치 정보를 업데이트하는 단계를 포함할 수 있다. The validating of the currently active VDB location in the client may include checking whether information of the currently active VDB location exists, and if the VDB location information exists, loading the VDB location and executing a loop by the number of blocks. Checking whether the loop is executed as many times as the number of blocks, and if the loop is not executed as many times as the number of blocks, checking whether the block checksum of the VDB position is equal to the md5 hash value of the actual block, If the block checksum of the VDB position and the md5 hash value of the actual block are not the same, removing the damaged block, if the loop is executed as many as the number of blocks, checking whether the VDB position information is changed, and if the VDB position information is changed The method may include updating the changed VDB location information.

상기 클라이언트가 상기 서버로부터 수신한 정보를 기반으로 블록별로 업데이트 작업을 수행하는 것은, 상기 클라이언트는 상기 서버로부터 수신한 블록정보 갯수만큼 루프를 수행하는 단계, 상기 블록정보 갯수만큼 루프를 수행하였는지 여부를 확인하는 단계, 상기 블록정보 갯수만큼 루프를 수행하지 않았으면, 블록변경 작업결과를 저장할 여유공간이 있는지 여부를 검사하고, 여유공간이 없으면 저장소 공간을 확보하여 서버에서 구성한 블록변경정보를 기반으로 블록변경작업을 하고, 여유공간이 있으면 서버에서 구성한 블록변경정보를 기반으로 블록변경작업을 하는 단계 및 상기 블록정보 갯수만큼 루프를 수행하였으면, 블록변화 발생 여부를 확인하여 변경된 VDB 위치정보를 업데이트하는 단계를 포함할 수 있다. The client may perform the update operation for each block based on the information received from the server, wherein the client performs a loop by the number of block information received from the server, and whether the loop is performed by the number of block information. In the checking step, if the loop is not performed as many as the block information, it is checked whether there is free space to store the result of the block change operation, and if there is no free space, the block is secured based on the block change information configured in the server. Changing the block, if there is free space, performing the block change operation based on the block change information configured in the server, and if looping is performed as many as the block information, checking the block change occurrence and updating the changed VDB location information. It may include.

상기 저장소 공간을 확보하는 것은 저장소 관리 정책에 따라 상기 저장소 공간을 확보하는 것일 수 있다. Securing the storage space may be to secure the storage space according to a storage management policy.

상기 서버는 블록별로 수행해야할 작업을 판단하고 해당 작업에 필요한 정보를 구성하는 단계에서, 상기 서버는 블록별로 추가/제거/교체/업데이트 작업의 수행 여부를 판단하고, 해당 작업에 필요한 정보를 구성하는 것일 수 있다. The server determines a task to be performed for each block and configures the information necessary for the task, the server determines whether to perform the addition / removal / replacement / update operation for each block, and configures the information necessary for the task It may be.

상기 서버는 블록별로 추가/제거/교체/업데이트 작업의 수행 여부를 판단하고, 해당 작업에 필요한 정보를 구성하는 것은, 상기 서버는 서버DB에서 위치ID에 해당하는 블록정보를 조회하여 블록갯수만큼 루프를 수행하는 단계, 상기 블록갯수만큼 루프를 수행하였는지 여부를 확인하는 단계, 상기 블록갯수만큼 루프를 수행하지 않았으면 블록 ID가 클라이언트에도 존재하는지 확인하여, 블록 ID가 클라이언트에 존재하지 않으면 추가정보를 구성하고, 블록 ID가 클라이언트에 존재하면 조회한 블록버전 ID와 클라이언트 블록버전 ID가 일치하는지 여부를 확인하는 단계, 상기 블록버전 ID와 클라이언트 블록버전 ID가 일치하지 않으면, 교체 작업인지 업데이트 작업인지를 판단하여 교체 작업이면 교체 작업 정보구성을 수행하고, 업데이트 작업이면 업데이트 작업 정보구성을 수행하는 단계, 상기 블록버전 ID와 클라이언트 블록버전 ID가 일치하면, 조회한 블록 체크섬과 클라이언트의 블록 체 크섬이 일치하는지 여부를 확인하는 단계, 상기 블록 체크섬과 클라이언트의 블록 체크섬이 일치하지 않으면 교체 작업 정보구성을 수행하는 단계, 상기 블록갯수만큼 루프를 수행하였으면, 상기 블록 ID가 조회결과에 존재하는지 여부를 확인하는 단계 및 상기 블록 ID가 조회결과에 존재하여 제거 작업 정보 구성을 수행하는 단계를 포함할 수 있다. The server determines whether to perform the addition / removal / replacement / update operation for each block, and to configure the information necessary for the operation, the server inquires block information corresponding to the location ID from the server DB and loops as many as the number of blocks. Performing the step of determining whether or not the loop is performed as many as the number of blocks, and if the loop is not performed as many as the number of blocks, checking whether the block ID exists in the client, and if the block ID does not exist in the client, providing additional information. Configuring and checking whether the block version ID and the client block version ID matched if the block ID exists in the client, and if the block version ID and the client block version ID do not match, If it is judged to be a replacement operation, the replacement operation information configuration is performed. Performing job information configuration, if the block version ID and the client block version ID match, checking whether the inquired block checksum and the client block checksum match, and the block checksum and the client block checksum match If not, performing replacement operation information configuration; if looping is performed as many as the number of blocks, checking whether the block ID exists in the inquiry result; and removing the operation information configuration because the block ID exists in the inquiry result. It may include the step.

상기 서버는 상기 클라이언트로부터 수신한 위치 결정기의 체크섬 정보를 이용하여 상기 위치 결정기의 변화가 있는지 여부를 확인할 수 있다. The server may determine whether there is a change in the positioner by using checksum information of the positioner received from the client.

상기 서버는 상기 클라이언트로부터 수신한 VDB위치의 위치ID, VDB위치의 버전ID, VDB위치의 블록갯수를 이용하여 상기 VDB위치의 업데이트가 필요한지 여부를 검사할 수 있다. The server may check whether the update of the VDB location is necessary using the location ID of the VDB location, the version ID of the VDB location, and the number of blocks of the VDB location received from the client.

상기 서버는 블록에 대한 정보를 상기 클라이언트에 요청하는 단계는, 상기 서버는 블록 ID, 블록 버전 ID, 블록 체크섬을 포함하는 블록 정보를 상기 클라이언트에 요청하는 것일 수 있다. The server may request the client for information about a block, wherein the server requests the client for block information including a block ID, a block version ID, and a block checksum.

상기 블록버전 ID와 클라이언트 블록버전 ID가 일치하지 않으면, 교체 작업인지 업데이트 작업인지를 판단하는 것은, 상기 클라이언트 블록버전 ID를 변경할 사항이 기준치 이상이면 교체 작업으로 판단하고, 그렇지 않으면 업데이트 작업으로 판단하는 것일 수 있다. If the block version ID and the client block version ID do not match, determining whether to replace or update is determined as a replacement if the change to the client block version ID is equal to or greater than a reference value, otherwise, the operation is determined as an update. It may be.

본 발명에 의하면 모바일 디바이스에서의 멀웨어 DB 업데이트 시에 최소한의 데이터 트래픽이 송수신되도록 하여 통신 자원의 낭비를 막는 효과가 있다. 즉, 본 발명에서는 모바일 디바이스가 위치한 지역에서 가까운 클라우드를 통하여 모바일 디바이스에 필요한 최소한의 데이터 트래픽이 전송되기 때문에 불필요한 대용량의 트래픽 전송을 방지할 수 있다. According to the present invention, at the time of updating the malware DB on the mobile device, minimal data traffic is transmitted and received, thereby preventing waste of communication resources. That is, in the present invention, since the minimum data traffic required for the mobile device is transmitted through the cloud close to the region where the mobile device is located, unnecessary large amount of traffic can be prevented from being transmitted.

또한, 본 발명에서는 모바일 디바이스의 한정된 리소스를 효과적으로 사용할 수 있도록 하는 장점이 있다. 즉, 본 발명에서는 최적화된 데이터가 송수신되므로 모바일 디바이스의 자원을 최소한으로 이용하면서 최적의 DB를 구축할 수 있는 효과가 있다. In addition, the present invention has the advantage that it is possible to effectively use the limited resources of the mobile device. That is, in the present invention, since optimized data is transmitted and received, there is an effect that an optimal DB can be constructed while using the minimum resources of the mobile device.

또한, 본 발명은 전 세계의 각 지역에서 발생하는 멀웨어에 대해 효과적으로 대응할 수 있도록 하는 장점이 있다. 즉, 본 발명에서는 전 세계 지역에서 발생하는 멀웨어에 대하여 즉각적으로 대응할 수 있는 효과가 있다.In addition, the present invention has the advantage of being able to effectively respond to malware occurring in each region of the world. That is, in the present invention, there is an effect that can immediately respond to malware generated in the world region.

이하, 첨부된 도면을 참조해서 본 발명의 실시예를 상세히 설명하면 다음과 같다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used for the same reference numerals even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

도 1은 본 발명의 일 실시예에 따른 모바일 안티 멀웨어 시스템을 보여주는 구성도이다. 1 is a block diagram showing a mobile anti-malware system according to an embodiment of the present invention.

도 1을 참조하면, 모바일 안티 멀웨어 시스템은 모바일 디바이스(100), 다수의 클라우드 센터(200a, 200b, 200c), 인터넷 망(300)을 포함하여 이루어진다. Referring to FIG. 1, the mobile anti-malware system includes a mobile device 100, a plurality of cloud centers 200a, 200b, and 200c, and an internet network 300.

다수의 클라우드 센터(200a, 200b, 200c)는 모바일 디바이스(100)가 위치한 지역을 기반으로 해당하는 클라우드 센터의 클라우드를 통하여 멀웨어(malware) 데이터베이스(Database, DB)를 포함하는 안티 멀웨어에 필요한 데이터를 모바일 디바이스(100)에 전송한다. 도 1의 실시예에서는 한국에 위치한 클라우드 센터(200a), 미국에 위치한 클라우드 센터(200b), 유럽에 위치한 클라우드 센터(200c)가 예시되어 있다. 예를 들어, 모바일 디바이스(100)가 미국에 위치해 있다면, 미국에 위치한 클라우드 센터(200b)에서 해당하는 안티 멀웨어에 필요한 데이터를 모바일 디바이스(100)에 전송하게 된다. The plurality of cloud centers 200a, 200b, and 200c provide data required for anti-malware including a malware database (DB) through a cloud of a corresponding cloud center based on the region where the mobile device 100 is located. Transmit to the mobile device 100. 1 illustrates a cloud center 200a located in Korea, a cloud center 200b located in the United States, and a cloud center 200c located in Europe. For example, if the mobile device 100 is located in the United States, the cloud center 200b located in the United States transmits data necessary for the anti-malware to the mobile device 100.

모바일 디바이스(100)는 클라우드 센터(200a, 200b, 200c)로부터 멀웨어 DB를 포함하는 안티 멀웨어에 필요한 데이터를 다운로드하여 안티 멀웨어 어플리케이션을 업데이트한다. 모바일 디바이스(100)는 다수의 중계기(11, 13)를 통해 인터넷 망(300)과 통신할 수 있다. The mobile device 100 downloads data necessary for anti-malware including a malware DB from the cloud centers 200a, 200b, and 200c to update the anti-malware application. The mobile device 100 may communicate with the internet network 300 through a plurality of repeaters 11 and 13.

인터넷 망(300)은 다수의 클라우드 센터(200a, 200b, 200c)와 모바일 디바이스(100)와 연결되어 있다. 도 1에서 인터넷 망(300)은 유무선 통신망의 일례일 뿐이고, 실시예에 따라서 다양한 유무선 통신망이 사용될 수 있다. 예를 들어, 유무선 통신망으로 WiFi 등의 이동 네트워크 망이 사용될 수 있다. The internet network 300 is connected to a plurality of cloud centers 200a, 200b and 200c and the mobile device 100. In FIG. 1, the internet network 300 is only one example of a wired and wireless communication network, and various wired and wireless communication networks may be used according to embodiments. For example, a mobile network such as WiFi may be used as the wired or wireless communication network.

이제, 이상에서 설명한 바와 같은 구성을 갖는 모바일 디바이스(100)와 클라우드 센터(200a, 200b, 200c)에서 구체적인 DB 업데이트 프로세스를 도면을 참조하여 상세히 설명하면 다음과 같다. Now, a detailed DB update process in the mobile device 100 and the cloud centers 200a, 200b, and 200c having the configuration as described above will be described in detail with reference to the accompanying drawings.

우선, 구체적인 설명에 앞서 프로세스 설명에 사용될 용어에 대한 설명을 하기로 한다. First, the terms to be used in the process description will be described before the detailed description.

'VDB마스터'는 보유하고 있는 위치 DB의 갯수, 액티브된 위치에 대한 정보들의 자료구조이고, 'VDB위치'는 위치 DB의 버전, 관리하는 블록들의 갯수, 블록들의 체크섬(checksum) 값 등의 자료구조이고, '체크섬'은 md5 해시(hash) 값으로 32바이트(byte) 문자열 값이고, 'VDB 매니저'는 바이러스 DB 업데이트를 담당하는 개체로서 VDB 위치 정보를 관리하고, '위치결정기'는 액티브된 위치를 결정하는 논리를 지닌 개체로서 VDB마스터 정보를 관리하는 역할을 한다. 'VDB master' is the data structure of information about the number of location DB and active location, and 'VDB location' is the data such as the version of location DB, the number of blocks managed and the checksum value of blocks. Structure, 'checksum' is md5 hash value and it is 32 byte string value, 'VDB manager' is an object responsible for virus database update, manages VDB location information, and 'locator' is activated. As an entity with logic to determine location, it manages VDB master information.

도 2 및 도 3은 본 발명의 일 실시예에 따른 모바일 안티 멀웨어 전체 프로세스를 보여주는 흐름도이다. 도 2 및 도 3에서 모바일 디바이스(100)가 클라이언트 측이고, 클라우드 센터(200a, 200b, 200c)가 서버 측이다.2 and 3 are flowcharts illustrating the entire mobile anti-malware process according to an embodiment of the present invention. In FIGS. 2 and 3, the mobile device 100 is on the client side, and the cloud centers 200a, 200b, 200c are on the server side.

도 2는 본 발명의 모바일 안티 멀웨어 프로세스를 간략하게 도시한 흐름도이고, 도 3은 본 발명의 모바일 안티 멀웨어 프로세스를 보다 상세하게 도시한 흐름도이다.2 is a flow chart briefly illustrating the mobile anti-malware process of the present invention, and FIG. 3 is a flow chart illustrating the mobile anti-malware process of the present invention in more detail.

도 2를 참조하여 본 발명의 모바일 안티 멀웨어 프로세스를 설명하면, 클라이언트에서 현재 액티브된 VDB위치의 유효성을 검사한다(S301). Referring to Figure 2 describes the mobile anti-malware process of the present invention, the client checks the validity of the currently active VDB location (S301).

그리고, 클라이언트 정보를 수집하여 서버에 전송한다(S303). 본 발명의 일 실시예에서 클라이어트 정보는 위치결정기의 체크섬, 클라이언트의 실행환경, 현재 액티브된 VDB위치의 위치ID, VDB위치의 버전ID, VDB위치의 블록갯수를 포함할 수 있다. The client information is collected and transmitted to the server (S303). In one embodiment of the present invention, the client information may include the checksum of the location determiner, the execution environment of the client, the location ID of the currently active VDB location, the version ID of the VDB location, and the number of blocks of the VDB location.

서버에서는 위치결정기의 변화가 있는지 여부를 확인한다(S305). 본 발명의 일 실시예에서 서버는 클라이언트로부터 수신한 위치 결정기의 체크섬 정보를 이용하여 위치 결정기의 변화가 있는지 여부를 확인할 수 있다. The server checks whether there is a change in the positioner (S305). In an embodiment of the present invention, the server may check whether there is a change in the location determiner using the checksum information of the location determiner received from the client.

위치결정기의 변화가 있으면, 서버는 클라이언트로부터 수신한 클라이언트 정보에 따라 클라이언트의 실행환경에 맞는 위치결정기를 클라이언트에 송신한다(S307). 본 발명의 일 실시예에서 S307 단계에서 클라이언트로부터 수신한 클라이언트의 실행환경 정보에 따라 클라이언트의 실행환경에 맞는 위치결정기를 클라이언트에 송신하는 것일 수 있다.If there is a change in the positioner, the server transmits the positioner suitable for the execution environment of the client to the client according to the client information received from the client (S307). According to an embodiment of the present invention, according to the execution environment information of the client received from the client in step S307, it may be to transmit a locator suitable for the execution environment of the client to the client.

클라이언트는 서버로부터 수신한 위치결정기로 업데이트하고(S309), 업데이트된 위치결정기를 실행한다(S311). 그리고, 다시 S301 단계로 회귀한다.The client updates with the positioner received from the server (S309), and executes the updated positioner (S311). Then, the process returns to step S301 again.

위치결정기의 변화가 없으면, 서버는 VDB위치의 업데이트가 필요한지 여부를 검사한다(S313). VDB 위치의 업데이트가 필요하면, 서버는 VDB위치를 업데이트 한다(S315). 본 발명의 일 실시예에서 서버는 클라이언트로부터 수신한 VDB위치의 위치ID, VDB위치의 버전ID, VDB위치의 블록갯수를 이용하여 VDB위치의 업데이트가 필요한지 여부를 검사할 수 있다. If there is no change in the positioner, the server checks whether the update of the VDB location is necessary (S313). If the update of the VDB location is necessary, the server updates the VDB location (S315). In an embodiment of the present invention, the server may check whether the update of the VDB location is necessary by using the location ID of the VDB location, the version ID of the VDB location, and the number of blocks of the VDB location.

도 3을 참조하면, 클라이언트에서 현재 액티브된 VDB위치의 유효성을 검사한다(S401). 그리고, 클라이언트 정보를 수집하여 서버에 전송한다(S403). 본 발명에서 VDB위치의 유효성 검사에 대한 상세한 설명은 후술하기로 한다. Referring to FIG. 3, the client checks the validity of the currently active VDB location (S401). The client information is collected and transmitted to the server (S403). Detailed description of the validity of the VDB location in the present invention will be described later.

서버에서는 위치결정기의 변화가 있는지 여부를 확인한다(S405). 위치결정기의 변화가 있으면, 모바일 디바이스(100)의 실행환경에 맞는 위치결정기를 클라언트에 송신한다(S407). 그리고, 클라이언트에서는 위치결정기를 업데이트하고(S409), 위치결정기를 실행한다(S411).The server checks whether there is a change in the positioner (S405). If there is a change in the positioner, the positioner suitable for the execution environment of the mobile device 100 is transmitted to the client (S407). The client then updates the positioner (S409) and executes the positioner (S411).

한편, 서버에서 위치결정기의 변화가 없으면, 클라이언트의 위치 DB의 검사가 필요한지 여부를 확인한다(S413). 클라이언트의 위치 DB의 검사가 필요치 않으면, 정보구성을 수행하고(S415), 클라이언트의 위치 DB의 검사가 필요하면 클라이언트에 블록이 있는지 여부를 확인한다(S417). 클라이언트에 블록이 없으면 다운로드 정보구성을 수행하고(S421), 클라이언트에 블록이 있으면 클라이언트 블록들에 대한 정보를 클라이언트에 요청한다(S419). 요청을 받은 클라이언트 측에서는 클라이언트 블록들에 대한 정보를 수집하여 서버로 전송한다(S423). On the other hand, if there is no change in the positioner in the server, it is checked whether the inspection of the location DB of the client is necessary (S413). If it is not necessary to check the location DB of the client, information configuration is performed (S415), and if it is necessary to check the location DB of the client, it is checked whether there is a block in the client (S417). If there is no block in the client, download information configuration is performed (S421). If there is a block in the client, information about the client blocks is requested to the client (S419). The client side receiving the request collects information on the client blocks and transmits the information to the server (S423).

S419 단계에서 서버는 블록 ID, 블록 버전 ID, 블록 체크섬을 포함하는 블록 정보를 클라이언트에 요청할 수 있다. In operation S419, the server may request block information including a block ID, a block version ID, and a block checksum from the client.

다음, 서버에서는 블록별로 추가/제거/교체/업데이트 작업에 대한 판단 및 해당 작업에 필요한 정보를 구성한다(S425). 서버에서 필요한 작업 판단 및 해당 작업에 따른 필요한 정보 구성에 대한 상세한 설명은 후술하기로 한다. Next, the server configures the determination of the addition / removal / replacement / update operation for each block and the information necessary for the operation (S425). Determination of necessary tasks in the server and a detailed description of necessary information configuration according to the corresponding tasks will be described later.

다음, 서버에서는 구성한 정보를 클라이언트로 송신한다(S427). 클라이언트 에서는 블록별로 업데이트하고(S429), 그 작업 결과를 서버에 통보한다(S431). 본 발명에서 클라이언트에서 블록별 업데이트하는 구체적인 방법은 후술하기로 한다. Next, the server transmits the configured information to the client (S427). The client updates block by block (S429) and notifies the server of the result of the operation (S431). In the present invention, a specific method of updating block by block in the client will be described later.

다음, 서버에서는 클라이언트의 작업 결과를 기록한다(S433).Next, the server records the operation result of the client (S433).

도 4는 본 발명의 일 실시예에 따른 클라이언트측, 즉 모바일 디바이스에서의 유효성 검사 프로세스를 보여주는 흐름도이다. 4 is a flowchart illustrating a validation process on a client side, i. E. A mobile device, according to an embodiment of the invention.

도 4를 참조하면, 클라이언트에서 현재 액티브된 위치의 VDB 위치 정보가 존재하는지 여부를 확인한다(S501). 현재 VDB 위치 정보가 존재하지 않으면, 프로세스르르 종료하고, 현재 VDB 위치 정보가 존재하면 VDB 위치를 로드하고 블록갯수 만큼 루프를 실행시킨다(S503).Referring to FIG. 4, it is checked whether the VDB location information of the current active location exists in the client (S501). If the current VDB location information does not exist, the process is terminated. If the current VDB location information exists, the VDB location is loaded and a loop is executed as many as the number of blocks (S503).

블록갯수 만큼 루프를 수행했는지 확인하여(S505), 블록갯수만큼 루프를 수행되지 않았으면 VDB 위치의 블록 체크섬과 실제블록의 md5 해시 값이 같은지를 확인한다(S507). VDB 위치의 블록 체크섬과 실제블록의 md5 해시 값이 같으면, S505 단계로 돌아가고, 그렇지 않으면 손상된 블록을 제거한 후(S509), S505 단계로 돌아간다. If the loop is performed as many as the number of blocks (S505), if the loop is not performed as many as the number of blocks, it is checked whether the block checksum of the VDB position and the md5 hash value of the actual block are the same (S507). If the block checksum of the VDB position and the md5 hash value of the actual block are the same, the flow returns to step S505, otherwise, after removing the damaged block (S509), the flow returns to step S505.

S505 단계에서 블록갯수 만큼 루프가 수행되었으면, VDB 위치 정보가 변경되었는지 확인한다(S511). VDB 위치정보가 변경되었으면, 변경된 VDB 위치정보를 업데이트 한다(S513).If the loop is performed as many blocks in step S505, it is checked whether the VDB location information has been changed (S511). If the VDB location information has been changed, the changed VDB location information is updated (S513).

도 5는 본 발명의 일 실시예에 따른 클라이언트측, 즉 모바일 디바이스에서 의 블록별 업데이트 작업을 보여주는 흐름도이다. 5 is a flowchart illustrating a block-by-block update operation on a client side, that is, a mobile device, according to an embodiment of the present invention.

도 5를 참조하면, 클라이언트에서 수신한 블록정보 갯수만큼 루프를 수행한다(S601). 그리고, 블록정보 갯수만큼 루프가 수행되었는지 확인한다(S603). 블록정보 갯수만큼 루프가 수행되지 않았으면, 블록변경 작업결과를 저장할 여유공간이 있는지 여부를 검사한다(S605). 여유공간이 없으면 저장소 관리 정책에 의해 저장소 공간을 확보한다(S607). 그리고, 서버에서 구성한 블록변경정보를 기반으로 블록변경작업을 하여 블록을 최신 버전으로 업데이트 한다(S609). Referring to FIG. 5, a loop is performed by the number of block information received from a client (S601). Then, it is checked whether the loop is performed by the number of block information (S603). If the loop is not performed as many as the number of block information, it is checked whether there is free space for storing the block change work result (S605). If there is no free space, the storage space is secured by the storage management policy (S607). Then, the block is updated based on the block change information configured in the server to update the block to the latest version (S609).

S603 단계에서 블록정보 갯수만큼 루프가 수행되었으면, 블록변화 발생 여부를 확인한다(S611). 블록변화가 있으면, 변경된 VDB 위치 정보를 업데이트한다(S613).If the loop is performed as many block information as in step S603, it is determined whether a block change occurs (S611). If there is a block change, the changed VDB location information is updated (S613).

도 6은 본 발명의 일 실시예에 따른 서버측, 즉 클라우드 센터에서의 정보 구성 프로세스를 보여주는 흐름도이다. 6 is a flowchart illustrating an information organization process at a server side, i.e., a cloud center, according to an embodiment of the present invention.

도 6을 참조하면, 서버는 서버DB에서 위치ID에 해당하는 블록정보를 조회하고(S701), 블록갯수만큼 루프를 수행한다(S703). Referring to FIG. 6, the server inquires block information corresponding to the location ID from the server DB (S701), and loops as many blocks (S703).

다음, 블록갯수만큼 루프를 수행했는지 확인한다(S705). 블록갯수만큼 루프가 수행되지 않았으면, 블록 ID가 클라이언트에도 존재하는지 여부를 확인한다(S707). 블록 ID가 클라이언트에 존재하지 않으면 추가 정보를 구성하여 S705 단계로 회귀한다(S709). 블록 ID가 클라이언트에 존재하면 조회한 블록버전 ID와 클라이언트 블록버전 ID가 일치하는지 여부를 확인한다(S711). Next, it is checked whether the loop is performed as many as the number of blocks (S705). If the loop is not performed as many as the number of blocks, it is checked whether the block ID exists in the client (S707). If the block ID does not exist in the client, the additional information is configured and the process returns to step S705 (S709). If the block ID exists in the client, it is checked whether the inquired block version ID and the client block version ID match (S711).

블록버전 ID와 클라이언트 블록버전 ID가 일치하지 않으면, 교체 작업인지 업데이트 작업인지를 판단한다(S713). 업데이트 작업이면 업데이트 정보구성을 수행하여 S705 단계로 회귀하고(S715), 교체 작업이면 교체 정보구성을 수행하여 S705 단계로 회귀한다(S717). 본 발명의 일 실시예에서 S713 단계는 클라이언트 블록버전 ID를 변경할 사항이 미리 설정된 기준치 이상이면 교체 작업으로 판단하고, 그렇지 않으면 업데이트 작업으로 판단할 수 있다. If the block version ID and the client block version ID do not match, it is determined whether the replacement operation or the update operation (S713). If it is an update operation, the configuration of the update information is performed to return to step S705 (S715), and if it is a replacement operation, the replacement information configuration is performed to return to the step S705 (S717). In an embodiment of the present disclosure, step S713 may be determined as a replacement task if the item to change the client block version ID is greater than or equal to a preset reference value. Otherwise, the operation S713 may be determined as an update task.

S711 단계에서 블록버전 ID와 클라이언트 블록버전 ID가 일치하면, 조회한 블록 체크섬과 클라이어트 블록 체크섬이 일치하는지 여부를 확인한다(S719). 조회한 블록 체크섬과 클라이언트 블록 체크섬이 일치하지 않으면 교체작업 정보구성을 수행하여 S705 단계로 회귀한다(S721).If the block version ID and the client block version ID match in step S711, it is checked whether the inquired block checksum and client block checksum match (S719). If the inquired block checksum and the client block checksum do not match, the replacement operation information configuration is performed, and the flow returns to step S705 (S721).

한편, S705 단계에서 블록갯수만큼 루프가 수행되었으면, 블록 ID가 클라이언트에만 존재하고 조회결과에도 존재하는지 여부를 확인한다(S723). 블록 ID가 조회결과에 존재하면 제거작업 정보구성을 수행한다(S725).On the other hand, if the loop is performed as many blocks in step S705, it is checked whether the block ID exists only in the client and also in the inquiry result (S723). If the block ID exists in the search result, the removal operation information configuration is performed (S725).

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.While the invention has been described using some preferred embodiments, these embodiments are illustrative and not restrictive. Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the invention and the scope of the rights set forth in the appended claims.

도 1은 본 발명의 일 실시예에 따른 모바일 안티 멀웨어 시스템을 보여주는 구성도이다. 1 is a block diagram showing a mobile anti-malware system according to an embodiment of the present invention.

도 2 및 도 3은 본 발명의 일 실시예에 따른 모바일 안티 멀웨어 전체 프로세스를 보여주는 흐름도이다. 2 and 3 are flowcharts illustrating the entire mobile anti-malware process according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 클라이언트에서의 유효성 검사 프로세스를 보여주는 흐름도이다. 4 is a flowchart illustrating a validity checking process in a client according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 클라이언트에서의 블록별 업데이트 작업을 보여주는 흐름도이다. 5 is a flowchart illustrating a block-by-block update operation in a client according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 서버에서의 정보 구성 프로세스를 보여주는 흐름도이다. 6 is a flowchart illustrating an information configuration process in a server according to an embodiment of the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100 모바일 디바이스 200a, 200b, 200c 클라우드 센터100 mobile devices 200a, 200b, 200c cloud center

300 인터넷 망300 internet networks

Claims (14)

보유하고 있는 위치(location) DB의 갯수, 액티브된 위치에 대한 정보를 포함하는 자료구조인 VDB마스터와, 위치 DB의 버전, 관리하는 블록들의 갯수, 블록들의 체크섬(checksum) 값을 포함하는 자료구조인 VDB위치와, 액티브된 위치를 결정하는 논리를 지닌 개체로서 VDB마스터 정보를 관리하는 위치결정기를 포함하는 클라이언트의 모바일 안티 멀웨어 서비스 방법에 있어서,VDB master, which is a data structure that contains information about the number of location DBs that are held and active location, and a data structure that includes the version of the location DB, the number of blocks to be managed, and the checksum value of the blocks. A mobile anti-malware service method of a client comprising a VDB location and a location determiner that manages VDB master information as an entity having logic to determine an active location. 클라이언트에서 현재 액티브된 VDB위치의 유효성을 검사하고, 클라이언트 정보를 수집하여 서버에 전송하는 단계;Checking the validity of the currently active VDB location in the client, collecting the client information, and transmitting the collected client information to the server; 수신한 상기 클라이언트 정보에 기초하여 상기 서버는 위치결정기의 변화가 있는지 여부를 확인하는 단계;Based on the received client information, the server checking whether there is a change in the positioner; 상기 위치결정기의 변화가 있으면 수신한 상기 클라이언트 정보에 따라 클라이언트의 실행환경에 맞는 위치 결정기를 상기 클라이언트로 송신하고, 상기 위치결정기의 변화가 없으면 상기 서버는 상기 VDB위치의 업데이트가 필요한지 여부를 검사하는 단계; 및If there is a change in the locator, the locator for the client's execution environment is transmitted to the client according to the received client information. If there is no change in the locator, the server checks whether the update of the VDB location is necessary. step; And 상기 VDB 위치의 업데이트가 필요하면, 상기 서버는 상기 VDB 위치를 업데이트 하는 단계를 포함하는 모바일 안티 멀웨어 서비스 방법.And if the update of the VDB location is needed, the server updating the VDB location. 제1항에 있어서,The method of claim 1, 상기 클라이언트 정보를 수집하여 서버에 전송하는 단계에서, In the collecting and transmitting the client information to the server, 상기 클라이언트 정보는 위치결정기의 체크섬, 클라이언트의 실행환경, 현재 액티브된 VDB위치의 위치ID, VDB위치의 버전ID, VDB위치의 블록갯수를 포함하는 것 임을 특징으로 하는 모바일 안티 멀웨어 서비스 방법.The client information includes a checksum of the positioner, the execution environment of the client, the location ID of the currently active VDB location, the version ID of the VDB location, and the number of blocks of the VDB location. 제2항에 있어서, The method of claim 2, 상기 클라이언트는 상기 서버로부터 수신한 위치결정기로 업데이트하고, 업데이트된 위치결정기를 실행하는 단계를 더 포함하는 것을 특징으로 하는 모바일 안티 멀웨어 서비스 방법.And updating, by the client, the location determiner received from the server, and executing the updated location determiner. 제1항에 있어서,The method of claim 1, 상기 클라이언트의 실행환경에 맞는 위치결정기를 상기 클라이언트에 송신하는 단계는, 상기 클라이언트로부터 수신한 클라이언트의 실행환경 정보에 따라 클라이언트의 실행환경에 맞는 위치결정기를 상기 클라이언트에 송신하는 것을 특징으로 하는 모바일 안티 멀웨어 서비스 방법. The transmitting of the location determiner suitable for the execution environment of the client to the client may include transmitting the location determiner suitable for the execution environment of the client to the client according to the execution environment information of the client received from the client. Malware service method. 제2항에 있어서,The method of claim 2, 상기 서버에서 상기 VDB 위치를 업데이트 하는 단계는, Updating the VDB location in the server, 상기 서버에서 상기 클라이언트의 위치 DB 검사가 필요한지 여부를 확인하는 단계;Checking whether the server needs to check the location DB of the client; 상기 클라이언트의 위치 DB 검사가 필요하면, 상기 클라이언트에 블록이 있는지 여부를 확인하는 단계;If it is necessary to check the location DB of the client, checking whether the client has a block; 상기 클라이언트에 블록이 없으면, 상기 서버는 다운로드 정보를 구성하는 단계;If there is no block in the client, the server constructs download information; 상기 클라이언트에 블록이 있으면, 상기 서버는 블록에 대한 정보를 상기 클라이언트에 요청하는 단계;If the client has a block, the server requests the client for information about the block; 상기 클라이언트는 상기 서버로부터 블록에 대한 정보를 요청 받으면, 클라이언트의 블록들에 대한 정보를 수집하여 상기 서버로 전송하는 단계;When the client receives a request for information about a block from the server, collecting and transmitting information about blocks of the client to the server; 상기 서버는 블록별로 수행해야할 작업을 판단하고 해당 작업에 필요한 정보를 구성하는 단계;Determining, by the server, a task to be performed for each block and configuring information necessary for the task; 상기 서버는 구성한 정보를 상기 클라이언트로 송신하는 단계;The server transmitting the configured information to the client; 상기 클라이언트는 상기 서버로부터 수신한 정보를 기반으로 블록별로 업데이트 작업을 수행하고, 작업 결과를 상기 서버에 통보하는 단계; 및The client performing an update operation for each block based on the information received from the server, and notifying the server of the operation result; And 상기 서버는 상기 작업 결과를 기록하는 단계를 포함하는 것을 특징으로 하는 모바일 안티 멀웨어 서비스 방법. The server comprises the step of recording the operation result of the mobile anti-malware service. 제2항에 있어서,The method of claim 2, 상기 클라이언트에서 현재 액티브된 VDB위치의 유효성을 검사하는 것은, Validating the currently active VDB location on the client, 현재 액티브된 VDB위치의 정보가 존재하는지 여부를 확인하고, 상기 VDB위치 정보가 존재하면 VDB위치를 로드하고 블록갯수 만큼 루프를 실행하는 단계;Checking whether information on the currently active VDB location exists, and if the VDB location information exists, loading the VDB location and executing a loop by the number of blocks; 상기 블록갯수 만큼 루프를 실행하였는지 여부를 확인하는 단계;Checking whether the loop is executed by the number of blocks; 상기 블록갯수 만큼 루프를 실행하지 않았으면, 상기 VDB위치의 블록 체크섬과 실제블록의 md5 해시(hash)값이 같은지 여부를 확인하는 단계;If the loop is not executed as many times as the number of blocks, checking whether the block checksum of the VDB position and the md5 hash value of the actual block are the same; 상기 VDB위치의 블록 체크섬과 실제블록의 md5 해시값이 같지 않으면 손상된 블록을 제거하는 단계;Removing the damaged block if the block checksum of the VDB position and the md5 hash value of the actual block are not the same; 상기 블록 갯수 만큼 루프를 실행하였으면, VDB위치 정보의 변경 여부를 확인하는 단계; 및If the loop is executed as many as the number of blocks, checking whether the VDB location information is changed; And 상기 VDB위치 정보가 변경되었으면, 변경된 VDB위치 정보를 업데이트하는 단계를 포함하는 것을 특징으로 하는 안티 멀웨어 서비스 방법. And if the VDB location information has been changed, updating the changed VDB location information. 제5항에 있어서,The method of claim 5, 상기 클라이언트가 상기 서버로부터 수신한 정보를 기반으로 블록별로 업데이트 작업을 수행하는 것은,The client performing the update operation for each block based on the information received from the server, 상기 클라이언트는 상기 서버로부터 수신한 블록정보 갯수만큼 루프를 수행하는 단계;The client performing a loop by the number of block information received from the server; 상기 블록정보 갯수만큼 루프를 수행하였는지 여부를 확인하는 단계;Checking whether the loop is performed by the number of block information; 상기 블록정보 갯수만큼 루프를 수행하지 않았으면, 블록변경 작업결과를 저장할 여유공간이 있는지 여부를 검사하고, 여유공간이 없으면 저장소 공간을 확보하여 서버에서 구성한 블록변경정보를 기반으로 블록변경작업을 하고, 여유공간이 있으면 서버에서 구성한 블록변경정보를 기반으로 블록변경작업을 하는 단계; 및If the loop is not performed as many as the block information, it is checked whether there is free space to store the result of the block change operation. If there is free space, performing a block change operation based on the block change information configured in the server; And 상기 블록정보 갯수만큼 루프를 수행하였으면, 블록변화 발생 여부를 확인하여 변경된 VDB 위치정보를 업데이트하는 단계를 포함하는 것을 특징으로 하는 안티 멀웨어 서비스 방법. And if the loop is performed as many as the block information, checking whether a block change occurs and updating the changed VDB location information. 제7항에 있어서,The method of claim 7, wherein 상기 저장소 공간을 확보하는 것은 저장소 관리 정책에 따라 상기 저장소 공간을 확보하는 것임을 특징으로 하는 안티 멀웨어 서비스 방법. Securing the storage space is to secure the storage space according to a storage management policy. 제5항에 있어서,The method of claim 5, 상기 서버는 블록별로 수행해야할 작업을 판단하고 해당 작업에 필요한 정보를 구성하는 단계에서, In the step of determining the work to be performed for each block and configuring the information necessary for the work, the server, 상기 서버는 블록별로 추가/제거/교체/업데이트 작업의 수행 여부를 판단하고, 해당 작업에 필요한 정보를 구성하는 것을 특징으로 하는 모바일 안티 멀웨어 서비스 방법. The server determines whether to perform an add / remove / replace / update operation for each block, and configures information necessary for the operation. 제9항에 있어서,10. The method of claim 9, 상기 서버는 블록별로 추가/제거/교체/업데이트 작업의 수행 여부를 판단하고, 해당 작업에 필요한 정보를 구성하는 것은,The server determines whether to perform an add / remove / replace / update operation for each block, and configure information necessary for the operation. 상기 서버는 서버DB에서 위치ID에 해당하는 블록정보를 조회하여 블록갯수만큼 루프를 수행하는 단계;The server searching for block information corresponding to the location ID in the server DB and performing a loop as many as the number of blocks; 상기 블록갯수만큼 루프를 수행하였는지 여부를 확인하는 단계;Checking whether the loop is performed by the number of blocks; 상기 블록갯수만큼 루프를 수행하지 않았으면 블록 ID가 클라이언트에도 존재하는지 확인하여, 블록 ID가 클라이언트에 존재하지 않으면 추가정보를 구성하고, 블록 ID가 클라이언트에 존재하면 조회한 블록버전 ID와 클라이언트 블록버전 ID가 일치하는지 여부를 확인하는 단계;If the loop is not performed as many as the number of blocks, check whether the block ID exists in the client, and if the block ID does not exist in the client, configure additional information. Checking whether the IDs match; 상기 블록버전 ID와 클라이언트 블록버전 ID가 일치하지 않으면, 교체 작업인지 업데이트 작업인지를 판단하여 교체 작업이면 교체 작업 정보구성을 수행하고, 업데이트 작업이면 업데이트 작업 정보구성을 수행하는 단계;If the block version ID and the client block version ID do not match, determining whether the replacement operation or the update operation is performed, and performing replacement operation information configuration if the replacement operation is performed; 상기 블록버전 ID와 클라이언트 블록버전 ID가 일치하면, 조회한 블록 체크섬과 클라이언트의 블록 체크섬이 일치하는지 여부를 확인하는 단계;If the block version ID and the client block version ID coincide with each other, checking whether the inquired block checksum and the client block checksum match; 상기 블록 체크섬과 클라이언트의 블록 체크섬이 일치하지 않으면 교체 작업 정보구성을 수행하는 단계;Performing replacement operation information configuration if the block checksum does not match the client's block checksum; 상기 블록갯수만큼 루프를 수행하였으면, 상기 블록 ID가 조회결과에 존재하는지 여부를 확인하는 단계; 및Checking whether the block ID exists in an inquiry result when the number of blocks is looped; And 상기 블록 ID가 조회결과에 존재하여 제거 작업 정보 구성을 수행하는 단계를 포함하는 것을 특징으로 하는 모바일 안티 멀웨어 서비스 방법. And performing the removal operation information configuration because the block ID exists in the inquiry result. 제2항에 있어서,The method of claim 2, 상기 서버는 상기 클라이언트로부터 수신한 위치 결정기의 체크섬 정보를 이용하여 상기 위치 결정기의 변화가 있는지 여부를 확인하는 것을 특징으로 하는 모바일 안티 멀웨어 서비스 방법. And the server checks whether there is a change in the location determiner using the checksum information of the location determiner received from the client. 제2항에 있어서,The method of claim 2, 상기 서버는 상기 클라이언트로부터 수신한 VDB위치의 위치ID, VDB위치의 버전ID, VDB위치의 블록갯수를 이용하여 상기 VDB위치의 업데이트가 필요한지 여부를 검사하는 것을 특징으로 하는 모바일 안티 멀웨어 서비스 방법. The server checks whether the update of the VDB location is necessary by using the location ID of the VDB location, the version ID of the VDB location, and the number of blocks of the VDB location received from the client. 제4항에 있어서,5. The method of claim 4, 상기 서버는 블록에 대한 정보를 상기 클라이언트에 요청하는 단계는, The server requesting the client for information about the block includes: 상기 서버는 블록 ID, 블록 버전 ID, 블록 체크섬을 포함하는 블록 정보를 상기 클라이언트에 요청하는 것을 특징으로 하는 모바일 안티 멀웨어 서비스 방법. The server requests the client for block information including a block ID, a block version ID, and a block checksum. 제10항에 있어서,The method of claim 10, 상기 블록버전 ID와 클라이언트 블록버전 ID가 일치하지 않으면, 교체 작업인지 업데이트 작업인지를 판단하는 것은, If the block version ID and the client block version ID do not match, it is determined whether the replacement operation or the update operation, 상기 클라이언트 블록버전 ID를 변경할 사항이 기준치 이상이면 교체 작업으로 판단하고, 그렇지 않으면 업데이트 작업으로 판단하는 것임을 특징으로 하는 모바일 안티 멀웨어 서비스 방법. The mobile anti-malware service method, characterized in that if the change to the client block version ID more than the reference value is determined as a replacement operation, otherwise it is determined as an update operation.
KR1020090102566A 2009-10-12 2009-10-28 Mobile anti-malware service method based on cloud KR101066375B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020090102566A KR101066375B1 (en) 2009-10-28 2009-10-28 Mobile anti-malware service method based on cloud
US13/501,620 US20120204266A1 (en) 2009-10-12 2010-10-12 Method for providing an anti-malware service
PCT/KR2010/006988 WO2011046356A2 (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 (1)

Application Number Priority Date Filing Date Title
KR1020090102566A KR101066375B1 (en) 2009-10-28 2009-10-28 Mobile anti-malware service method based on cloud

Publications (2)

Publication Number Publication Date
KR20110045842A KR20110045842A (en) 2011-05-04
KR101066375B1 true KR101066375B1 (en) 2011-09-20

Family

ID=44240839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090102566A KR101066375B1 (en) 2009-10-12 2009-10-28 Mobile anti-malware service method based on cloud

Country Status (1)

Country Link
KR (1) KR101066375B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101908944B1 (en) 2011-12-13 2018-10-18 삼성전자주식회사 Apparatus and method for analyzing malware in data analysis system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004356706A (en) 2003-05-27 2004-12-16 Nec Corp System, method, and program for acquiring radio software
KR20050095760A (en) * 2005-09-16 2005-09-30 주식회사 팬택앤큐리텔 Method for updating vaccine program in mobile communication system
KR20060125635A (en) * 2006-10-18 2006-12-06 주식회사 비즈모델라인 Method for providing the moblie vaccine
KR100856657B1 (en) 2007-07-18 2008-09-04 주식회사 엘지데이콤 System and method for upgrading a software in set-top box of ip television

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004356706A (en) 2003-05-27 2004-12-16 Nec Corp System, method, and program for acquiring radio software
KR20050095760A (en) * 2005-09-16 2005-09-30 주식회사 팬택앤큐리텔 Method for updating vaccine program in mobile communication system
KR20060125635A (en) * 2006-10-18 2006-12-06 주식회사 비즈모델라인 Method for providing the moblie vaccine
KR100856657B1 (en) 2007-07-18 2008-09-04 주식회사 엘지데이콤 System and method for upgrading a software in set-top box of ip television

Also Published As

Publication number Publication date
KR20110045842A (en) 2011-05-04

Similar Documents

Publication Publication Date Title
US10630643B2 (en) Dual memory introspection for securing multiple network endpoints
JP5463268B2 (en) Anti-virus protection system and method
US8255926B2 (en) Virus notification based on social groups
EP2839406B1 (en) Detection and prevention of installation of malicious mobile applications
CN101496025B (en) System and method for providing network security to mobile devices
KR101122787B1 (en) Security-related programming interface
JP6513716B2 (en) Dynamic patching for diversity based software security
US7689835B2 (en) Computer program product and computer system for controlling performance of operations within a data processing system or networks
CN103294955B (en) Macrovirus checking and killing method and system
KR20180113295A (en) Security system and method for protecting personal information of file stored in external storage device
JP3904534B2 (en) Terminal status monitoring system and method
JP6255336B2 (en) Secure data storage method and device
JP2016189201A (en) Inoculator and antibody for computer security
JP4666906B2 (en) Method for detecting violation of system environment rules of client device
KR101066375B1 (en) Mobile anti-malware service method based on cloud
KR101451323B1 (en) Application security system, security server, security client apparatus, and recording medium
KR101215184B1 (en) Malicious web and virus scanning system based cloud and Method thereof
KR101047659B1 (en) Cloud-based mobile anti-malware systems, cloud centers and mobile devices
JP6084916B2 (en) Data transmission restriction method, data transmission restriction device, and data transmission restriction program
KR101058987B1 (en) Cloud-based malicious web and virus filtering system and method
JP2019008568A (en) Whitelist management system and whitelist management method
EP3588350B1 (en) Method and system for generating a request for information on a file to perform an antivirus scan
CN113779584A (en) Protection software installation method and system
RU2583709C2 (en) System and method for elimination of consequences of infection of virtual machines
KR101397431B1 (en) System for providing isolated- executing-environment and method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140603

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee