+

KR102180098B1 - A malware detecting system performing monitoring of malware and controlling a device of user - Google Patents

A malware detecting system performing monitoring of malware and controlling a device of user Download PDF

Info

Publication number
KR102180098B1
KR102180098B1 KR1020200101809A KR20200101809A KR102180098B1 KR 102180098 B1 KR102180098 B1 KR 102180098B1 KR 1020200101809 A KR1020200101809 A KR 1020200101809A KR 20200101809 A KR20200101809 A KR 20200101809A KR 102180098 B1 KR102180098 B1 KR 102180098B1
Authority
KR
South Korea
Prior art keywords
user terminal
information
management server
malicious code
inspection
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020200101809A
Other languages
Korean (ko)
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 KR1020200101809A priority Critical patent/KR102180098B1/en
Application granted granted Critical
Publication of KR102180098B1 publication Critical patent/KR102180098B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Provided is a malicious code detection system performing malicious code monitoring and user terminal control functions. According to one embodiment of the present invention, the malicious code detection system comprises: a management server including a first control module and a first communications module; and a first user terminal including a second control module and a second communication module that transmits and receives data to and from the first communications module, wherein the management server performs real-time monitoring of the first user terminal and performs malicious code inspection of the first user terminal when abnormality of the first user terminal is detected. In addition, the first control module includes a tag analysis unit for extracting tag information by performing profiling tag analysis of an inspection file, a static inspection unit for extracting code information by performing static analysis of the inspection file, a dynamic inspection unit for extracting behavior information by performing dynamic analysis of the inspection file, and a risk degree determination unit for determining the risk degree of the inspection file based on the tag information, the code information, and the behavior information. The malicious code inspection is performed by at least one among the tag analysis unit, the static inspection unit, and the dynamic inspection unit, and the risk degree determination unit.

Description

악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 악성코드 탐지 시스템{A MALWARE DETECTING SYSTEM PERFORMING MONITORING OF MALWARE AND CONTROLLING A DEVICE OF USER}A malicious code detection system that performs malicious code monitoring and user terminal control functions {A MALWARE DETECTING SYSTEM PERFORMING MONITORING OF MALWARE AND CONTROLLING A DEVICE OF USER}

본 발명은 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 서버를 구비하는 악성코드 탐지 시스템에 관한 것으로, 특히, 기계 학습을 통해 태그 정보, 코드 정보 및 행위 정보로 구성된 학습 데이터를 기반으로 기계 학습을 수행하여 위험도를 판단하는 악성코드 탐지 시스템에 관한 것이다.The present invention relates to a malware detection system having a server that performs malware monitoring and user terminal control functions. In particular, machine learning is performed based on learning data composed of tag information, code information, and behavior information through machine learning. It relates to a malicious code detection system that determines the degree of risk by performing.

악성코드(Malicious software, malware)는 컴퓨터에 악영향을 끼칠 수 있는 소프트웨어를 말한다. 악성코드에는 고전적인 컴퓨터 바이러스 외에 웜, 트로이 목마, 스파이웨어, 애드웨어, 하이재커, 랜섬웨어, 키로거(keylogger) 등의 프로그램 형태뿐만 아니라 해킹된 아이디, 신용카드 정보, 해킹툴, 여권 등 서류, 익스플로잇(exploit) 혹은 취약점과 같은 정보 형태도 있다.Malicious software (malware) refers to software that can adversely affect a computer. In addition to classic computer viruses, malicious codes include programs such as worms, trojans, spyware, adware, hijackers, ransomware, and keyloggers, as well as hacked IDs, credit card information, hacking tools, passports, documents, and exploits. There are also forms of information such as (exploit) or vulnerability.

보안 장비에서 악성코드가 탐지되는 것을 우회하기 위해, 공격자는 주로 기존 악성코드를 변형한 변종 악성코드를 이용하여 사이버 공격을 수행한다. 신종 악성코드를 개발하는 것보다 기존 악성코드를 변형하는 것이 상대적으로 용이하고 개발 비용도 저렴하기 때문이다. 최근에는 악성코드를 자동으로 제작하는 도구가 등장하면서 전문적인 공격자가 아니더라도 손쉽게 다양한 기능을 갖춘 악성코드를 대량으로 생성, 유포할 수 있는 환경이 형성되고 있다. 새로운 악성코드와 변종 악성코드는 'AV-TEST'(Anti-Virus 시험기관) 통계 기준으로 하루에 평균 390,000개가 발생하고 있다.In order to bypass detection of malicious codes in security equipment, attackers mainly perform cyber attacks using variant malicious codes modified from existing malicious codes. This is because it is relatively easier to modify the existing malicious code than to develop a new type of malicious code, and the development cost is cheap. Recently, as tools that automatically create malicious codes have appeared, an environment in which malicious codes with various functions can be easily generated and distributed in large quantities, even without a professional attacker, has been formed. There are an average of 390,000 new malicious codes and variants of malicious codes per day based on the statistics of'AV-TEST' (Anti-Virus testing agency).

현재의 악성코드 탐지기술은 시그니처 기반의 패턴탐지가 핵심을 이루고 있고, 악성코드의 패턴은 분석가에 의하여 수작업으로 분석되며, 악성코드 패턴을 추출하여 악성코드 데이터베이스에 등록하여 비교하고 있다. 그러나, 해커들의 회피 기술 역시 발전해 악성코드 탐지가 더욱 어려워지고 있다. 즉, 이러한 방법은 더 이상 악성코드의 증가에 따른 대안이 될 수 없다는 문제가 있다.In the current malicious code detection technology, signature-based pattern detection is the core, and the pattern of malicious code is manually analyzed by an analyst, and malicious code patterns are extracted and registered in a malicious code database for comparison. However, hackers' evasion techniques have also developed, making it more difficult to detect malicious codes. In other words, there is a problem that such a method can no longer be an alternative to the increase of malicious codes.

이에 대하여 휴리스틱 탐지 방법과 동적 분석 탐지 방법이 계속 발전하면서 적용되고 있지만 아직까지 현실적인 대안으로는 부족하다.On the other hand, heuristic detection methods and dynamic analysis detection methods are being applied as they continue to develop, but there are still insufficient practical alternatives.

본 발명은 대상 파일의 태그 정보, 코드 정보 및 행위 정보를 모두 활용하여 기계학습을 시키고, 이를 통해 악성코드 여부 및 위험도를 판별함으로써, 패턴 기반의 한계를 넘어 제로데이(zero-day) 악성코드 및 변종 악성코드를 탐지 및 치료하는 악성코드 탐지 시스템을 제공하는데 그 목적이 있다. The present invention conducts machine learning by utilizing all of the tag information, code information, and behavior information of the target file, and determines the presence and risk of malicious code through this, thereby exceeding the limit of pattern-based, zero-day malicious code and Its purpose is to provide a malicious code detection system that detects and treats variant malicious codes.

또한 본 발명은 관리 서버 및 사용자 단말을 관리하는 방법을 다각화하여, 서버를 관리하는 관리자 및 사용자 디바이스를 이용하는 사용자의 편의를 증대할 수 있는 악성코드 탐지 시스템을 제공하는데 그 목적이 있다.Another object of the present invention is to provide a malicious code detection system capable of increasing the convenience of an administrator managing a server and a user using a user device by diversifying a method of managing a management server and a user terminal.

본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 악성코드 탐지 시스템은, 제1 제어 모듈 및 제1 통신 모듈을 포함하는 관리 서버, 및 제2 제어 모듈 및 상기 제1 통신 모듈과 데이터를 송수신하는 제2 통신 모듈을 포함하는 제1 사용자 단말을 포함하고, 상기 관리 서버는, 상기 제1 사용자 단말의 실시간 모니터링을 수행하고, 상기 제1 사용자 단말의 이상 여부가 감지되는 경우 상기 제1 사용자 단말의 악성코드 검사를 수행하며, 상기 제1 제어 모듈은, 검사 파일의 프로파일링 태그 분석을 수행하여 태그 정보를 추출하는 태그 분석부, 상기 검사 파일의 정적 분석을 수행하여 코드 정보를 추출하는 정적 검사부, 상기 검사 파일의 동적 분석을 수행하여 행위 정보를 추출하는 동적 검사부, 및 상기 태그 정보, 상기 코드 정보, 및 상기 행위 정보를 기초로 상기 검사 파일의 위험도를 판단하는 위험도 판단부를 포함하고, 상기 악성코드 검사는 상기 태그 분석부, 상기 정적 검사부, 및 상기 동적 검사부 중 적어도 하나와 상기 위험도 판단부에 의해 수행된다.A malicious code detection system according to an embodiment of the present invention for solving the above problem includes a management server including a first control module and a first communication module, and a second control module and transmitting and receiving data with the first communication module. And a first user terminal including a second communication module, wherein the management server performs real-time monitoring of the first user terminal, and when an abnormality in the first user terminal is detected, the first user terminal The first control module includes a tag analysis unit that extracts tag information by performing a profiling tag analysis of the inspection file, and a static inspection unit that extracts code information by performing static analysis of the inspection file. , A dynamic inspection unit for extracting behavior information by performing a dynamic analysis of the test file, and a risk determination unit for determining a risk of the test file based on the tag information, the code information, and the behavior information, and the malicious Code inspection is performed by at least one of the tag analysis unit, the static inspection unit, and the dynamic inspection unit and the risk level determination unit.

악성코드 검사 결과에 따라, 상기 제1 사용자 단말에 악성코드가 존재하는 경우, 상기 제1 사용자 단말은 상기 관리 서버에 악성코드 발견 신호를 전송하고, 상기 관리 서버는 상기 악성코드 발견 신호에 응답하여 상기 제1 사용자 단말의 상기 악성코드를 치료할 수 있다.According to a result of the malicious code inspection, when a malicious code exists in the first user terminal, the first user terminal transmits a malicious code detection signal to the management server, and the management server responds to the malicious code detection signal. The malicious code of the first user terminal can be treated.

상기 악성코드가 치료된 후, 상기 관리 서버는 상기 제1 사용자 단말에 데이터 전송 신호 및 데이터 삭제 신호를 전송하고, 상기 제1 사용자 단말은 상기 데이터 전송 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 정보 및 데이터를 상기 관리 서버에 전송하고, 이후 상기 제1 사용자 단말은 상기 데이터 삭제 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 상기 정보 및 상기 데이터를 삭제할 수 있다.After the malicious code is healed, the management server transmits a data transmission signal and a data deletion signal to the first user terminal, and the first user terminal responds to the data transmission signal with information stored in the first user terminal. And transmitting data to the management server, after which the first user terminal deletes the information and the data stored in the first user terminal in response to the data deletion signal.

악성코드 검사 결과에 따라, 상기 제1 사용자 단말에 악성코드가 존재하지 않는 경우, 상기 제1 사용자 단말은 상기 관리 서버에 악성코드 미발견 신호를 전송하고, 상기 관리 서버는 상기 악성코드 미발견 신호에 응답하여 제2 사용자 단말에 상기 제1 사용자 단말의 도난 여부 확인을 요청할 수 있다.According to the result of the malicious code inspection, when there is no malicious code in the first user terminal, the first user terminal transmits a malicious code non-discovery signal to the management server, and the management server sends the malicious code non-discovery signal. In response to, it is possible to request a second user terminal to check whether the first user terminal is stolen.

상기 제1 사용자 단말이 도난 상태인 경우, 상기 제2 사용자 단말은 상기 관리 서버에 도난 신호를 전송하고, 상기 관리 서버는 상기 도난 신호에 응답하여 상기 제1 사용자 단말에 데이터 전송 신호 및 데이터 삭제 신호를 전송할 수 있다.When the first user terminal is in a stolen state, the second user terminal transmits a theft signal to the management server, and the management server responds to the theft signal, a data transmission signal and a data deletion signal to the first user terminal Can be transmitted.

상기 제1 사용자 단말은, 상기 데이터 전송 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 정보 및 데이터를 상기 관리 서버에 전송하고, 이후, 상기 데이터 삭제 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 상기 정보 및 상기 데이터를 삭제할 수 있다.The first user terminal transmits the information and data stored in the first user terminal to the management server in response to the data transmission signal, and thereafter, the information stored in the first user terminal in response to the data deletion signal And delete the data.

상기 제1 사용자 단말은 상기 관리 서버 및 상기 제2 사용자 단말에 상기 제1 사용자 단말의 현재 위치를 전송할 수 있다.The first user terminal may transmit the current location of the first user terminal to the management server and the second user terminal.

상기 제1 사용자 단말이 도난 상태가 아닌 경우, 상기 제2 사용자 단말은 상기 관리 서버에 미도난 신호를 전송하고, 상기 관리 서버는 상기 미도난 신호에 응답하여 상기 제1 사용자 단말에 보안 모드 신호 및 저전력 모드 신호를 전송할 수 있다.When the first user terminal is not in a stolen state, the second user terminal transmits a non-theft signal to the management server, and the management server transmits a security mode signal to the first user terminal in response to the non-theft signal, and Can transmit low power mode signals.

상기 제1 사용자 단말은, 상기 보안 모드 신호에 응답하여 상기 관리 서버 또는 상기 제2 사용자 단말에 의해 설정되거나 미리 설정된 2차 암호로 잠금되고, 상기 저전력 모드 신호에 응답하여 상기 제1 사용자 단말의 전력 소모를 최소화할 수 있다.The first user terminal is locked with a secondary password set or preset by the management server or the second user terminal in response to the security mode signal, and power of the first user terminal in response to the low power mode signal Consumption can be minimized.

상기 위험도 판단부는 상기 태그 정보, 상기 코드 정보, 및 상기 행위 정보로 구성되는 학습 데이터에 의해 기계 학습(machine learning)을 수행할 수 있다.The risk determination unit may perform machine learning based on learning data composed of the tag information, the code information, and the behavior information.

기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.

본 발명의 실시예에 따른 악성코드 탐지 시스템에 의하면, 대상 파일의 태그 정보, 코드 정보 및 행위 정보를 모두 활용하여 기계학습을 시키고, 이를 통해 악성코드 여부 및 위험도를 판별함으로써, 패턴 기반의 한계를 넘어 제로데이(zero-day) 악성코드 및 변종 악성코드를 탐지 및 치료할 수 있다.According to the malicious code detection system according to an embodiment of the present invention, machine learning is performed by utilizing all of the tag information, code information, and behavior information of the target file, and by determining the presence and risk of malicious code through this, the pattern-based limit is reduced. Beyond that, it can detect and treat zero-day malware and variant malware.

또한 본 발명의 다양한 실시예들에 따르면, 서버 및 사용자 디바이스를 관리하는 방법을 다각화하여, 서버를 관리하는 관리자 및 사용자 디바이스를 이용하는 사용자의 편의를 증대할 수 있다.In addition, according to various embodiments of the present disclosure, a method of managing a server and a user device may be diversified to increase convenience of an administrator managing a server and a user using a user device.

실시예들에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.Effects according to the embodiments are not limited by the contents illustrated above, and more various effects are included in the present specification.

도 1은 본 발명의 일 실시예에 따른 악성코드 모니터링을 수행하는 방법을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 시스템을 나타내는 블록도이다.
도 3은 도 1의 관리 서버가 포함하는 제1 제어 모듈을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법을 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 일 예를 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 다른 예를 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 또 다른 예를 나타내는 흐름도이다.
1 is a diagram illustrating a method of monitoring a malicious code according to an embodiment of the present invention.
2 is a block diagram illustrating a system for monitoring a malicious code and controlling a user terminal according to an embodiment of the present invention.
3 is a block diagram illustrating a first control module included in the management server of FIG. 1.
4 is a flowchart illustrating a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention.
5 is a flowchart illustrating an example of a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention.
6 is a flowchart illustrating another example of a method of performing malicious code monitoring and user terminal control functions according to an embodiment of the present invention.
7 is a flowchart illustrating another example of a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms different from each other, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have it, and the invention is only defined by the scope of the claims.

실시예들을 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한, 도면에서 본 발명과 관계없는 부분은 본 발명의 설명을 명확하게 하기 위하여 생략되거나 간소하게 표현될 수 있다.The shapes, sizes, ratios, angles, numbers, etc. disclosed in the drawings for describing the embodiments are exemplary, and the present invention is not limited to the illustrated matters. The same reference numerals refer to the same components throughout the specification. In addition, parts not related to the present invention in the drawings may be omitted or simplified in order to clarify the description of the present invention.

비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Although the first, second, and the like are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.

이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다.In this case, it will be appreciated that each block of the flowchart diagrams and combinations of the flowchart diagrams may be executed by computer program instructions.

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a module, segment, or part of code that contains one or more executable instructions for executing the specified logical function(s). In addition, it should be noted that in some alternative execution examples, functions mentioned in blocks may occur out of order. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order depending on the corresponding function.

이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다.In this case, the term'~ unit' used in the present embodiment refers to software or hardware components such as field-programmable gate array (FPGA) or application specific integrated circuit (ASIC), and'~ unit' is a certain role. Perform them.

본 발명의 실시예들을 구체적으로 설명함에 있어서, 특정 시스템의 예를 주된 대상으로 할 것이지만, 본 명세서에서 청구하고자 하는 주요한 요지는 유사한 기술적 배경을 가지는 여타의 통신 시스템 및 서비스에도 본 명세서에 개시된 범위를 크게 벗어나지 아니하는 범위에서 적용 가능하며, 이는 당해 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.In describing the embodiments of the present invention in detail, examples of specific systems will be the main target, but the main subject matter to be claimed in this specification is the scope disclosed in the present specification to other communication systems and services having a similar technical background. It can be applied within a range that does not deviate greatly, and this will be possible at the judgment of a person skilled in the art.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 악성코드 모니터링을 수행하는 방법을 나타내는 도면이다.1 is a diagram illustrating a method of monitoring a malicious code according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 악성코드 탐지 시스템은 수집채널과 가상환경 분석시스템, 리얼머신 분석시스템, 연관정보 분석시스템 간의 정보공유 및 파일전송을 통하여 구현될 수 있다. 또한 파일정보를 관리/기록하는 가상환경 분석시스템과 행위정보를 관리/기록하는 리얼머신 분석시스템과 연관정보를 관리/기록하는 연관정보 분석시스템은 상호 간에 각종 정보들을 공유할 수 있다.Referring to FIG. 1, the malicious code detection system of the present invention may be implemented through information sharing and file transmission between a collection channel, a virtual environment analysis system, a real machine analysis system, and a related information analysis system. In addition, a virtual environment analysis system that manages/records file information, a real machine analysis system that manages/records behavior information, and a related information analysis system that manages/records related information can share various types of information with each other.

상기 가상환경 분석시스템, 리얼머신 분석시스템, 연관정보 분석시스템 각각은 후술하는 관리 서버(310) 및/또는 외부 서버(미도시)에 의해 구현되거나, 각각 관리 서버(310) 또는 외부 서버에 상응할 수 있다.Each of the virtual environment analysis system, real machine analysis system, and related information analysis system may be implemented by a management server 310 and/or an external server (not shown) to be described later, or correspond to the management server 310 or an external server, respectively. I can.

도 2는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 시스템을 나타내는 블록도이다.2 is a block diagram illustrating a system for monitoring a malicious code and controlling a user terminal according to an embodiment of the present invention.

도 2를 참조하면, 관리 서버(100)는 제1 제어 모듈(110), 제1 통신 모듈(120), 제1 입력 모듈(130), 및/또는 제1 출력 모듈(140)을 포함할 수 있다. 또한 관리 서버(100)는 본 발명의 악성코드 모니터링 및 사용자 단말 제어 서비스를 제공하는 플랫폼에 관한 웹사이트(website) 및/또는 모바일 앱(mobile application)을 운용하는 서버일 수 있다.2, the management server 100 may include a first control module 110, a first communication module 120, a first input module 130, and/or a first output module 140. have. In addition, the management server 100 may be a server that operates a website and/or a mobile application related to a platform providing a malicious code monitoring and user terminal control service of the present invention.

사용자 단말(200)은 제2 제어 모듈(210), 제2 통신 모듈(220), 제2 입력 모듈(230), 및/또는 제2 출력 모듈(240)을 포함할 수 있다.The user terminal 200 may include a second control module 210, a second communication module 220, a second input module 230, and/or a second output module 240.

제1 제어 모듈(110)은 본 발명의 일 실시예에 따른 동작/단계/과정을 구현할 수 있도록 관리 서버(100)를 직/간접적으로 제어할 수 있다. 또한 제1 제어 모듈(110)은 적어도 하나의 프로세서를 포함할 수 있으며, 상기 프로세서는 적어도 하나의 중앙 처리 유닛(CPU) 및/또는 적어도 하나의 그래픽 처리 디바이스(GPU)를 포함할 수 있다.The first control module 110 may directly/indirectly control the management server 100 to implement the operation/step/process according to an embodiment of the present invention. In addition, the first control module 110 may include at least one processor, and the processor may include at least one central processing unit (CPU) and/or at least one graphic processing device (GPU).

또한 제1 제어 모듈(110)은 API(Application Programming Interface), IoT(Internet of Things), IIoT(Industrial Internet of Things), ICT(Information & Communication Technology) 기술에 기반하여 제어 정보(예를 들어, 명령어) 등을 생성하거나 및/또는 관리할 수 있다.In addition, the first control module 110 is based on API (Application Programming Interface), IoT (Internet of Things), IIoT (Industrial Internet of Things), ICT (Information & Communication Technology) technology based on control information (e.g., command ), etc. can be created and/or managed.

실시예에 따라, 제1 제어 모듈(110)은 사용자 단말(200)로부터 파일 정보를 제공받고, 제공된 파일 정보를 분석하여 악성코드 여부 및 위험도를 판단할 수 있다. 제1 제어 모듈(110)이 제공받는 파일 정보는 파일의 해시값(hash value)일 수 있으나, 이에 한정되는 것은 아니다. According to an embodiment, the first control module 110 receives file information from the user terminal 200 and analyzes the provided file information to determine the presence of a malicious code and a degree of risk. The file information provided by the first control module 110 may be a hash value of the file, but is not limited thereto.

또한, 제1 제어 모듈(110)은 사용자 단말(200)을 제어하기 위한 다양한 단말 신호를 생성할 수 있다. In addition, the first control module 110 may generate various terminal signals for controlling the user terminal 200.

제2 제어 모듈(210)은 본 발명의 일 실시예에 따른 동작/단계/과정을 구현할 수 있도록 사용자 단말(200)을 직/간접적으로 제어할 수 있다. 또한 제2 제어 모듈(210)은 적어도 하나의 프로세서를 포함할 수 있으며, 상기 프로세서는 적어도 하나의 중앙 처리 유닛(CPU) 및/또는 적어도 하나의 그래픽 처리 디바이스(GPU)를 포함할 수 있다. The second control module 210 may directly/indirectly control the user terminal 200 to implement an operation/step/process according to an embodiment of the present invention. In addition, the second control module 210 may include at least one processor, and the processor may include at least one central processing unit (CPU) and/or at least one graphic processing device (GPU).

제2 제어 모듈(210)은 사용자 단말(200)에서 실행되거나 실행될 예정인 파일을 분석하여 관리 서버(100)에 송신하기 위한 해시값을 생성할 수 있다.The second control module 210 may analyze a file to be executed or to be executed in the user terminal 200 and generate a hash value for transmission to the management server 100.

제1 통신 모듈(120) 및 제2 통신 모듈(220)은 관리 서버(100) 및 사용자 단말(200) 간 각종 데이터, 신호, 정보를 송수신할 수 있다. 예컨대, 상술한 해시값 및 단말 신호는 제1 통신 모듈(120) 및 제2 통신 모듈(220)에 의해 송수신될 수 있다. The first communication module 120 and the second communication module 220 may transmit and receive various data, signals, and information between the management server 100 and the user terminal 200. For example, the hash value and the terminal signal described above may be transmitted and received by the first communication module 120 and the second communication module 220.

제1 통신 모듈(120) 및 제2 통신 모듈(220)은 무선 통신 모듈(예를 들어, 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예를 들어, LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 또한, 통신 모듈(120, 220)은 제1 네트워크(예를 들어, 블루투스, WiFi direct 또는 IrDA(Infrared Data Association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(예를 들어, 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예를 들어, LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예를 들어, 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예를 들어, 복수 칩들)로 구현될 수 있다.The first communication module 120 and the second communication module 220 may be a wireless communication module (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (eg For example, a local area network (LAN) communication module, or a power line communication module) may be included. In addition, the communication module (120, 220) is a first network (for example, Bluetooth, WiFi direct, or a short-range communication network such as IrDA (Infrared Data Association)) or a second network (for example, a cellular network, the Internet, or a computer It can communicate with an external electronic device through a network (eg, a telecommunication network such as a LAN or WAN). These various types of communication modules may be integrated into one component (eg, a single chip), or may be implemented as a plurality of separate components (eg, multiple chips).

제1 입력 모듈(130) 및 제2 입력 모듈(230)은 관리 서버(100) 및 사용자 단말(200)의 구성요소(예를 들어, 제1 제어 모듈(110) 및 제2 제어 모듈(210))에 사용될 명령 또는 데이터를 관리 서버(100) 및/또는 사용자 단말(200)의 외부(예를 들어, 관리자 또는 사용자)로부터 수신할 수 있다. The first input module 130 and the second input module 230 are components of the management server 100 and the user terminal 200 (for example, the first control module 110 and the second control module 210 ). ) Command or data to be used may be received from the management server 100 and/or external to the user terminal 200 (eg, an administrator or a user).

제1 입력 모듈(130) 및 제2 입력 모듈(230)은 관리 서버(100) 및/또는 사용자 단말(200)에 설치된 터치인식가능 디스플레이, 터치패드, 버튼형 인식 모듈, 음성인식센서, 마이크, 마우스, 또는 키보드 등을 포함할 수 있다. 여기서 터치인식가능 디스플레이, 터치패드, 버튼형 인식 모듈은 감압식 및/또는 정전식 방식을 통하여 사용자의 신체(예; 손가락)를 통한 터치를 인식할 수 있다. 또한 상기 제1 입력 모듈(130) 및 제2 입력 모듈(230) 각각은 지문인식 및/또는 홍채인식을 위한 센서부를 더 포함할 수도 있다.The first input module 130 and the second input module 230 are a touch recognition capable display installed in the management server 100 and/or the user terminal 200, a touch pad, a button type recognition module, a voice recognition sensor, a microphone, and a mouse. , Or a keyboard or the like. Here, the touch-recognizable display, touch pad, and button-type recognition module may recognize a touch through a user's body (eg, a finger) through a pressure-sensitive and/or capacitive method. In addition, each of the first input module 130 and the second input module 230 may further include a sensor unit for fingerprint recognition and/or iris recognition.

제1 출력 모듈(140) 및 제2 출력 모듈(240)은 관리 서버(100) 및/또는 사용자 단말(200)의 제1 제어 모듈(110) 및 제2 제어 모듈(210)에 의해 생성되거나 제1 통신 모듈(120) 및 제2 통신 모듈(220)을 통하여 획득된 신호, 정보, 데이터, 이미지, 및/또는 각종 객체(object) 등을 표시하는 모듈일 수 있다. 예를 들어, 제1 출력 모듈(140) 및 제2 출력 모듈(240)은 디스플레이, 스크린, 표시부(displaying unit), 스피커 및/또는 발광장치(예; LED 램프) 등을 포함할 수 있다.The first output module 140 and the second output module 240 are generated by the management server 100 and/or the first control module 110 and the second control module 210 of the user terminal 200 or It may be a module that displays signals, information, data, images, and/or various objects acquired through the 1 communication module 120 and the second communication module 220. For example, the first output module 140 and the second output module 240 may include a display, a screen, a display unit, a speaker and/or a light emitting device (eg, an LED lamp).

저장 모듈(150)은 관리 서버(100)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 또한, 저장 모듈은 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한 저장 모듈(150)은 클라우드 서버 및/또는 블록체인 서버를 포함하는 하드웨어 모듈이거나 상기 클라우드 서버 및/또는 블록체인 서버의 기능을 포함하는 소프트웨어 모듈일 수도 있다.The storage module 150 stores data such as a basic program, an application program, and setting information for the operation of the management server 100. In addition, the storage module includes a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory, etc.), Magnetic memory, magnetic disk, optical disk, RAM (Random Access Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory, ROM), PROM (Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read) -Only Memory) may include at least one storage medium. In addition, the storage module 150 may be a hardware module including a cloud server and/or a block chain server, or a software module including the functions of the cloud server and/or a block chain server.

또한, 저장 모듈(150)은 관리 서버(100) 및/또는 사용자 단말(200)을 사용하거나 운용하는 자의 개인정보 등을 저장할 수 있다. 여기서 개인 정보는 이름, 생년월일정보, 아이디(ID; identifier), 패스워드, 도로명 주소, 전화 번호, 휴대폰 번호, 이메일 주소 등을 포함할 수 있다. 또한 제1 제어 모듈(110) 및 제2 제어 모듈(210)은 상기 저장 모듈(150)에 저장된 각종 프로그램, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.In addition, the storage module 150 may store personal information of a person who uses or operates the management server 100 and/or the user terminal 200. Here, the personal information may include name, date of birth information, ID (identifier), password, street name address, phone number, mobile phone number, email address, and the like. In addition, the first control module 110 and the second control module 210 may perform various operations using various programs and data stored in the storage module 150.

도 3은 도 1의 관리 서버가 포함하는 제1 제어 모듈을 나타내는 블록도이다.3 is a block diagram illustrating a first control module included in the management server of FIG. 1.

도 3을 참조하면, 제1 제어 모듈(110)은 태그 분석부(111), 정적 검사부(112), 동적 검사부(113), 및 위험도 판단부(114)를 포함할 수 있다. Referring to FIG. 3, the first control module 110 may include a tag analysis unit 111, a static inspection unit 112, a dynamic inspection unit 113, and a risk determination unit 114.

상술한 바와 같이, 제1 통신 모듈(120) 및 제2 통신 모듈(220)에 의해, 관리 서버(100) 및 사용자 단말(200)은 제어 신호 및 데이터를 송수신할 수 있다. 이를 통해, 관리 서버(100)는 사용자 단말(200)에 대한 실시간 모니터링을 수행할 수 있다. 사용자 단말(200)은 사용자 단말(200)에서 실행 또는 실행 예정인 파일의 파일 정보를 관리 서버(100)에 송신할 수 있으며, 관리 서버(100)는 수신된 파일 정보를 분석하여 악성코드 여부 및 위험도 등을 판단할 수 있다. 여기서 파일은 어플리케이션 파일, 설치 파일, 실행 파일 등을 포함할 수 있다. 또한 상기 파일은 웹 브라우저(web browser), 이메일(e-mail), 엑셀(excel), 오피스(office) 프로그램, 이동식 디스크(usb) 등을 포함하는 외부 유입 경로를 통해 생성될 수 있다.As described above, by the first communication module 120 and the second communication module 220, the management server 100 and the user terminal 200 may transmit and receive control signals and data. Through this, the management server 100 may perform real-time monitoring of the user terminal 200. The user terminal 200 may transmit file information of a file to be executed or scheduled to be executed in the user terminal 200 to the management server 100, and the management server 100 analyzes the received file information to determine whether there is a malicious code and the degree of risk. Etc. can be judged. Here, the file may include an application file, an installation file, and an executable file. In addition, the file may be generated through an external inflow path including a web browser, e-mail, excel, office program, and removable disk.

실시예에 따라, 관리 서버(100)는 파일에 대한 위험도(또는, 보안 등급)을 설정할 수 있다. 일 예로, 관리 서버(100)는 상기 파일의 파일 시그니쳐(file signature) 및 클라우드(cloud) DB 정보 등을 활용하여 악성코드가 의심되는 파일인지를 검사하고, 악성코드가 의심되는 경우에는 상기 파일을 '의심 파일'로 설정하고 상기 파일에 대한 보안 등급을 '의심 등급'으로 설정할 수 있다. 관리 서버(100)는 사용자 단말(200)로부터 상기 파일의 생성 이력, 유입 경로, 실행된 이력, 수정된 이력 및/또는 서명 정보 등을 획득할 수 있다.According to an embodiment, the management server 100 may set a risk (or security level) for a file. For example, the management server 100 checks whether a malicious code is a suspicious file by using the file signature and cloud DB information of the file, and if the malicious code is suspected, the file is 'Suspicious file' can be set and the security level for the file can be set as'suspicious level'. The management server 100 may obtain a creation history, an inflow path, an execution history, a modified history and/or signature information, etc. of the file from the user terminal 200.

구체적으로, 관리 서버(100)는 제1 제어 모듈(110)의 태그 분석부(111)를 통해 파일의 프로파일링 태그를 분석하고 태그 정보를 추출할 수 있다. 여기서 프로파일링 태그는 빅데이터 기반의 머신 러닝을 통해 획득된 다양한 파일들에 대한 정보로서, 악성코드 종류, 침해 대상 및 침해 방법 등에 대한 정보일 수 있다. 예컨대, 태그 분석부(111)는 수신된 파일에 대한 정보 중 기존 존재하는 프로파일링 태그에 부합하는 정보가 존재할 경우, 태그 내용을 바탕으로 파일의 악성코드 여부 및 위험도 등을 판단하기 위한 태그 정보를 추출할 수 있다.Specifically, the management server 100 may analyze a profiling tag of a file through the tag analysis unit 111 of the first control module 110 and extract tag information. Here, the profiling tag is information on various files acquired through machine learning based on big data, and may be information on a type of malicious code, a target of infringement, and a method of infringement. For example, if there is information corresponding to an existing profiling tag among the information on the received file, the tag analysis unit 111 collects tag information for determining whether the file has a malicious code or not, based on the tag content. Can be extracted.

또한, 제1 제어 모듈(110)의 정적 검사부(112)는 파일에 대한 정적 분석을 수행하여 파일의 코드 정보를 추출할 수 있다. 여기서, 코드 정보란 파일을 실행하지 않고 코드 자체로부터 추출할 수 있는 정보를 의미하는 것으로, 예를 들어, 해시값, 코드 크기 정보, 파일 헤더 정보, 코드 내에 포함되어 있는 식별 가능한 문자열 정보 및 동작 플랫폼 정보 등을 포함할 수 있다.In addition, the static inspection unit 112 of the first control module 110 may perform static analysis on the file to extract code information of the file. Here, code information refers to information that can be extracted from the code itself without executing the file. For example, hash value, code size information, file header information, identifiable string information included in the code, and operation platform Information may be included.

또한, 제1 제어 모듈(110)의 동적 검사부(113)는 파일에 대한 동적 분석을 수행하여 파일의 행위 정보를 추출한다. 일 예로, 동적 검사부(113)는 파일을 관리 서버(100), 사용자 단말(200) 및 모바일 단말 환경과 동일하게 구성된 에뮬레이터나 가상화 환경 중 적어도 하나에서 직접 실행하고, 파일이 실행된 후에 단말(또는, 에뮬레이터)에 발생하는 모든 변화, 즉 행위 정보를 추출하고 기록한다. 행위 정보는 단말의 OS 환경에 따라 상이하나, 통상적으로 프로세스, 파일, 메모리 및 네트워크 정보를 포함할 수 있다.Also, the dynamic inspection unit 113 of the first control module 110 extracts behavior information of the file by performing dynamic analysis on the file. For example, the dynamic inspection unit 113 directly executes the file in at least one of the management server 100, the user terminal 200, and an emulator or virtualization environment configured identically to the mobile terminal environment, and after the file is executed, the terminal (or , Emulator), extracts and records behavior information. The behavior information is different depending on the OS environment of the terminal, but may generally include process, file, memory, and network information.

한편, 제1 제어 모듈(110)의 위험도 판단부(114)는 태그 분석부(111), 정적 검사부(112), 및 동적 검사부(113)로부터 제공되는 정보를 토대로 파일의 위험도를 결정할 수 있다. 위험도 판단부(114)는 태그 분석부(111)의 태그 정보, 정적 검사부(112)의 코드 정보, 및 동적 검사부(113)의 행위 정보를 종합적으로 고려하여 위험도를 판단할 수 있으나, 태그 분석부(111), 정적 검사부(112), 및 동적 검사부(113)에서 제공된 정보들의 가중치는 서로 상이할 수 있다. 예를 들어, 동적 검사부(113)에서 추출된 행위 정보의 중요도가 가장 높고, 정적 검사부(112)에서 추출된 코드 정보의 중요도가 가장 낮을 수 있으나, 이에 한정되는 것은 아니다. 또한, 검사 대상 파일의 종류에 따라 상기 가중치는 변경될 수 있다. Meanwhile, the risk level determination unit 114 of the first control module 110 may determine the risk level of the file based on information provided from the tag analysis unit 111, the static test unit 112, and the dynamic test unit 113. The risk determination unit 114 may determine the risk by comprehensively considering tag information of the tag analysis unit 111, code information of the static test unit 112, and behavior information of the dynamic test unit 113, but the tag analysis unit Weights of the information provided by (111), the static test unit 112, and the dynamic test unit 113 may be different from each other. For example, the importance of the behavior information extracted by the dynamic tester 113 may be the highest, and the importance of the code information extracted by the static tester 112 may be the lowest, but is not limited thereto. In addition, the weight may be changed according to the type of the file to be inspected.

일 실시예로, 위험도 판단부(114)는 인공신경망 모델(artificial intelligence network model)이 적용된 구성으로서, 머신 러닝을 통해 위험도 판단 방법을 지속적으로 학습할 수 있다. 예컨대, 위험도 판단부(114)는 태그 정보, 코드 정보, 및 행위 정보로 구성되는 학습 데이터에 의해 기계 학습(machine learning)되는 구성일 수 있다. In one embodiment, the risk determination unit 114 is a component to which an artificial intelligence network model is applied, and may continuously learn a risk determination method through machine learning. For example, the risk determination unit 114 may be a component in which machine learning is performed by learning data consisting of tag information, code information, and behavior information.

상술한 바와 같이, 본 발명에 따른 악성코드 탐지 시스템에 의하면, 대상 파일의 태그 정보, 코드 정보 및 행위 정보를 모두 활용하여 악성의 특징이 강한 특징(feature)들의 연관성과 그들의 연속성에 대해 기계학습을 시키고, 이를 통해, 악성코드 여부 및 위험도를 판별함으로써 패턴기반의 한계를 넘어 제로데이(zero-day) 악성코드 및 변종 악성코드를 탐지할 수 있으며 악성코드를 신속히 파악하여 대응할 수 있다. As described above, according to the malicious code detection system according to the present invention, machine learning is performed on the relevance of features with strong malicious features and their continuity by utilizing all of the tag information, code information, and behavior information of the target file. Through this, it is possible to detect zero-day malicious code and variant malicious code beyond the pattern-based limit by determining the presence of malicious code and the degree of risk, and quickly identify and respond to malicious code.

도 4는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법을 나타내는 흐름도이다. 도 5는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 일 예를 나타내는 흐름도이다. 도 6은 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 다른 예를 나타내는 흐름도이다. 도 7은 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 또 다른 예를 나타내는 흐름도이다.4 is a flowchart illustrating a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention. 5 is a flowchart illustrating an example of a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention. 6 is a flowchart illustrating another example of a method of performing malicious code monitoring and user terminal control functions according to an embodiment of the present invention. 7 is a flowchart illustrating another example of a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention.

이하, 도 4 내지 도 7을 더 참조하여, 본 발명에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법에 대해 구체적으로 설명한다.Hereinafter, a method of performing malicious code monitoring and user terminal control functions according to the present invention will be described in detail with further reference to FIGS. 4 to 7.

도 4를 참조하면, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말에 대한 실시간 모니터링을 수행하는 단계를 포함할 수 있다(S100).Referring to FIG. 4, a method of performing malicious code monitoring and user terminal control functions may include performing real-time monitoring of the user terminal (S100).

도 5 내지 도 7에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)에 대해 실시간 모니터링(310, 410, 510)을 수행할 수 있다. 이를 위해, 관리 서버(100)는 사용자 단말(200)로부터 온라인 접속 기록 및 파일 실행 기록 등에 대한 정보를 실시간으로 제공받을 수 있다. As shown in FIGS. 5 to 7, the management server 100 may perform real-time monitoring 310, 410, 510 on the user terminal 200. To this end, the management server 100 may receive information about an online connection record and a file execution record from the user terminal 200 in real time.

상기 온라인 접속 기록은 사용자 단말(200)이 접속한 IP 주소, 접속 시간(예를 들어, 접속 내역, 마지막 접속 시간 등), 접속 횟수, 접속 대상(예를 들어, 특정 사이트, 네트워크 노드, 단말 등)에 대한 정보를 포함할 수 있다. The online access record includes the IP address to which the user terminal 200 is connected, access time (eg, access details, last access time, etc.), access number, access target (eg, a specific site, network node, terminal, etc.). ) Can be included.

상기 파일 실행 기록은 실행된 파일명, 파일 용량, 파일 실행 시간, 파일 실행 후 사용자 단말(200)의 동작 프로세스, 파일 실행 후 사용자 단말(200)의 성능 등에 대한 정보를 포함할 수 있다. The file execution record may include information on an executed file name, a file capacity, a file execution time, an operation process of the user terminal 200 after executing the file, and a performance of the user terminal 200 after executing the file.

다음으로, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말의 이상 여부를 감지하는 단계를 포함할 수 있다(S200).Next, the method of performing the malicious code monitoring and user terminal control function may include detecting whether the user terminal is abnormal (S200).

도 5 내지 도 7에 도시된 바와 같이, 사용자 단말(200)은 이상 현상이 발생한 경우, 관리 서버(100)에 이상 신호를 전송(320, 420, 520)할 수 있다. 여기서 이상 현상은 사용자 단말(200)의 분실, 손상, 침수, 분해 등 다양한 현상을 의미할 수 있다. 이하에서는 상기 이상 현상이 사용자 단말(200)의 분실인 것으로 설명한다.5 to 7, when an abnormality occurs, the user terminal 200 may transmit (320, 420, 520) an abnormal signal to the management server 100. Here, the abnormal phenomenon may mean various phenomena such as loss, damage, immersion, and decomposition of the user terminal 200. Hereinafter, it will be described that the abnormal phenomenon is the loss of the user terminal 200.

다음으로, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말의 악성코드 검사를 수행하는 단계를 포함할 수 있다(S300).Next, a method of performing a malicious code monitoring and user terminal control function may include performing a malicious code inspection of the user terminal (S300).

도 5 내지 도 7에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)로부터 전송된 이상 신호에 응답하여 사용자 단말(200)에 대한 악성코드 검사(330, 430, 530)를 수행할 수 있다. 도 2 및 도 3을 통해 설명한 바와 같이, 관리 서버(100)는 제1 제어 모듈(110)을 이용하여 사용자 단말(200)의 악성코드 검사를 수행할 수 있는 바, 구체적인 검사 방법은 생략하기로 한다. 다른 예로, 사용자 단말(200)은 관리 서버(100)로부터 악성코드 검사 수행 명령 신호를 제공받고, 사용자 단말(200)에 기 설치된 악성코드 검사 프로그램을 동작하여 사용자 단말(200)에 대한 악성코드 검사를 수행할 수 있다. As shown in FIGS. 5 to 7, the management server 100 performs a malicious code scan (330, 430, 530) on the user terminal 200 in response to an abnormal signal transmitted from the user terminal 200. I can. As described with reference to FIGS. 2 and 3, the management server 100 can perform a malicious code inspection of the user terminal 200 using the first control module 110, and a detailed inspection method will be omitted. do. As another example, the user terminal 200 receives a command signal for performing malicious code inspection from the management server 100, and operates a malicious code inspection program previously installed in the user terminal 200 to scan the user terminal 200 You can do it.

다음으로, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 상기 악성코드 검사 결과에 따라 악성 코드 존재 여부를 판단하는 단계를 포함할 수 있다(S400). Next, a method of performing a malicious code monitoring and user terminal control function may include determining whether a malicious code exists according to the malicious code inspection result (S400).

여기서, 상기 악성코드 검사 결과에 따라 사용자 단말(200)에 악성코드가 존재하는 경우, 상기 방법은 사용자 단말의 악성코드를 치료하는 단계를 포함할 수 있다(S500). Here, when a malicious code exists in the user terminal 200 according to the result of the malicious code inspection, the method may include treating the malicious code of the user terminal (S500).

도 5에 도시된 바와 같이, 사용자 단말(200) 내에 악성코드가 존재하는 경우, 사용자 단말(200)은 관리 서버(100)로 악성코드 발견 신호를 전송(340)할 수 있다. 상기 악성코드 발견 신호는 사용자 단말(200) 내에 존재하는 악성코드의 종류, 실행 여부, 및 위험도에 대한 정보를 포함할 수 있다. As shown in FIG. 5, when a malicious code exists in the user terminal 200, the user terminal 200 may transmit a malicious code discovery signal to the management server 100 (340 ). The malicious code detection signal may include information on the type of malicious code existing in the user terminal 200, whether it is executed, and a risk.

또한, 관리 서버(100)는 사용자 단말(200)로부터 전송된 악성코드 발견 신호를 분석하여, 사용자 단말(200)의 악성코드를 치료(350)할 수 있다. 상기 악성코드를 치료하는 방법은 악성코드를 포함하는 파일을 삭제, 격리, 및/또는 치환하여 이루어질 수 있으나, 이에 한정되는 것은 아니며, 공지의 다양한 악성코드 치료 방법이 수행될 수 있다. In addition, the management server 100 may analyze the malicious code detection signal transmitted from the user terminal 200 to treat the malicious code of the user terminal 200 (350). The method of treating the malicious code may be performed by deleting, quarantining, and/or replacing a file including the malicious code, but is not limited thereto, and various known malicious code treatment methods may be performed.

몇몇 실시예에서, 사용자 단말(200)의 악성코드 발견 신호를 분석한 결과, 악성코드의 위험도가 극히 낮거나 사용자의 의도에 따라 설치된 것에 해당하는 경우, 관리 서버(100)는 사용자 단말(200) 내에 악성코드가 존재하지 않는 것으로 판정할 수도 있다. In some embodiments, as a result of analyzing the malicious code detection signal of the user terminal 200, if the risk of the malicious code is extremely low or corresponds to the installation according to the user's intention, the management server 100 is the user terminal 200 It can also be determined that there is no malicious code in it.

다음으로, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말의 데이터를 관리 서버에 전송하고, 사용자 단말의 데이터를 삭제하는 단계(S600)를 포함할 수 있다. Next, the method of performing the malicious code monitoring and user terminal control function may include transmitting the data of the user terminal to the management server and deleting the data of the user terminal (S600).

도 5에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)에 데이터 전송 신호 및 데이터 삭제 신호를 전송(360)할 수 있다. 사용자 단말(200)에 이상 현상(예컨대, 분실)이 발생한 상황에서, 악성코드에 감염된 사용자 단말(200)은 정보 유출 또는 데이터 손실이 발생할 우려가 있다. 이에 따라, 관리 서버(100)는 사용자 단말(200)의 정보 및 데이터를 보존하기 위해, 사용자 단말(200)로부터 사용자 단말(200)에 저장된 정보 및 데이터를 수신할 수 있다. 사용자 단말(200)로부터 제공된 정보 및 데이터는 관리 서버(100)의 저장 모듈(150)에 저장될 수 있다. 상술한 바와 같이 저장 모듈(150)은 블록체인 서버를 포함하는 하드웨어 모듈이거나 블록체인 서버의 기능을 포함하는 소프트웨어 모듈일 수도 있다. 이에 따라, 사용자 단말(200)의 정보 및 데이터는 그룹화 및/또는 해시(hash)되어 블록 체인에 저장될 수 있다. 또한, 사용자 단말(200)로부터 정보 및 데이터가 수신된 이후, 사용자 단말(200) 내 정보 및 데이터를 제거함으로써, 사용자 단말(200)의 정보 유출을 방지할 수 있다. As shown in FIG. 5, the management server 100 may transmit 360 a data transmission signal and a data deletion signal to the user terminal 200. In a situation in which an abnormal phenomenon (eg, loss) occurs in the user terminal 200, the user terminal 200 infected with the malicious code may leak information or lose data. Accordingly, the management server 100 may receive information and data stored in the user terminal 200 from the user terminal 200 in order to preserve the information and data of the user terminal 200. Information and data provided from the user terminal 200 may be stored in the storage module 150 of the management server 100. As described above, the storage module 150 may be a hardware module including a blockchain server or a software module including a function of a blockchain server. Accordingly, information and data of the user terminal 200 may be grouped and/or hashed and stored in a block chain. In addition, after information and data are received from the user terminal 200, information and data in the user terminal 200 are removed, thereby preventing information leakage from the user terminal 200.

이후, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말의 위치 정보를 전송하는 단계를 포함할 수 있다(S700).Thereafter, the method of performing the malicious code monitoring and user terminal control function may include transmitting location information of the user terminal (S700).

도 5에 도시된 바와 같이, 사용자 단말(200)은 정보 및 데이터를 삭제한 뒤, 사용자 단말(200)의 현재 위치를 전송하여 사용자에게 분실 장소 또는 도난 장소를 알릴 수 있다. As shown in FIG. 5, after deleting information and data, the user terminal 200 may transmit the current location of the user terminal 200 to inform the user of the lost or stolen place.

한편, 상기 악성코드 검사 결과에 따라 사용자 단말(200)에 악성코드가 존재하지 않는 경우, 상기 방법은 사용자 단말의 도난 신호 발생 여부를 판단하는 단계를 포함할 수 있다(S800). Meanwhile, when the malicious code does not exist in the user terminal 200 according to the result of the malicious code inspection, the method may include determining whether the theft signal of the user terminal is generated (S800).

도 6 및 도 7에 도시된 바와 같이, 사용자 단말(200) 내에 악성코드가 존재하지 않는 경우, 사용자 단말(또는, 제1 사용자 단말)(200)은 관리 서버(100)로 악성코드 미발견 신호를 전송(440, 540)할 수 있다. 6 and 7, when there is no malicious code in the user terminal 200, the user terminal (or the first user terminal) 200 sends a signal to the management server 100 for a malicious code not found. Can be transmitted (440, 540).

또한, 관리 서버(100)는 사용자 단말(200)로부터 전송된 악성코드 미발견 신호에 대응하여 제2 사용자 단말(201)에 제1 사용자 단말(200)의 도난 여부 확인을 요청(450, 550)할 수 있다. In addition, the management server 100 requests the second user terminal 201 to check whether the first user terminal 200 has been stolen in response to a malicious code not found signal transmitted from the user terminal 200 (450, 550). can do.

제1 사용자 단말(200)이 도난된 경우, 제1 사용자 단말(200)의 사용자는 다른 기기(예를 들어, 제2 사용자 단말(201))를 통해 제1 사용자 단말(200)이 도난 상태임을 표시할 수 있다. 예컨대, 제2 사용자 단말(201)은 제1 사용자의 퍼스널 PC, 태블릿 PC, 스마트폰, 스마트 워치 등 일 수 있다. 즉, 제1 사용자 단말(200) 및 제2 사용자 단말(201)은 서로 동일한 사용자에 의해 제어되는 단말들일 수 있으나, 이에 한정되는 것은 아니다. 제2 사용자 단말(201)은 관리 서버(100)의 도난 여부 확인 요청에 따라 도난 신호 또는 미도난 신호를 관리 서버(100)에 전송(460, 560)할 수 있다. When the first user terminal 200 is stolen, the user of the first user terminal 200 indicates that the first user terminal 200 is in a stolen state through another device (for example, the second user terminal 201). Can be displayed. For example, the second user terminal 201 may be a personal PC, a tablet PC, a smart phone, or a smart watch of the first user. That is, the first user terminal 200 and the second user terminal 201 may be terminals controlled by the same user, but are not limited thereto. The second user terminal 201 may transmit (460, 560) a stolen signal or a non-theft signal to the management server 100 in response to a request from the management server 100 to confirm whether or not it is stolen.

다른 실시예로 상기 도난 상태는 사용자 단말(200) 내의 제2 제어 모듈(210)에 의해 판정될 수 있다. 사용자 단말(200)이 인가되지 않은 사용자에 의해 제어되거나 실행되는 경우, 제2 제어 모듈(210)은 사용자 단말(200)이 도난 상태인 것으로 판정하여 도난 신호를 생성할 수 있다. 이 경우, 관리 서버(100)는 제2 사용자 단말(201)이 아닌 제1 사용자 단말(200)로부터 도난 신호 또는 미도난 신호를 직접 수신할 수 있다. In another embodiment, the theft state may be determined by the second control module 210 in the user terminal 200. When the user terminal 200 is controlled or executed by an unauthorized user, the second control module 210 may determine that the user terminal 200 is in a stolen state and generate a theft signal. In this case, the management server 100 may directly receive a stolen signal or a non-theft signal from the first user terminal 200 rather than the second user terminal 201.

여기서, 상기 도난 신호 발생 여부 판단에 따라 사용자 단말에 대한 도난 신호가 존재하는 경우, 상기 방법은 사용자 단말의 데이터를 관리 서버에 전송하고, 사용자 단말의 데이터를 삭제하는 단계(S600) 및 사용자 단말의 위치 정보를 전송하는 단계를 포함할 수 있다(S700).Here, when there is a theft signal for the user terminal according to the determination of whether the theft signal has occurred, the method includes transmitting the data of the user terminal to the management server and deleting the data of the user terminal (S600) and It may include the step of transmitting the location information (S700).

도 6에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)에 데이터 전송 신호 및 데이터 삭제 신호를 전송(470)할 수 있다. 사용자 단말(200)의 데이터 전송 및 삭제는 도 5를 통해 설명한 바와 유사한 바, 중복되는 설명은 생략하기로 한다. 또한, 사용자 단말(200)은 정보 및 데이터를 삭제한 뒤, 사용자 단말(200)의 현재 위치를 전송(480)하여 사용자에게 도난 장소를 알릴 수 있다. As shown in FIG. 6, the management server 100 may transmit 470 a data transmission signal and a data deletion signal to the user terminal 200. Data transmission and deletion of the user terminal 200 are similar to those described with reference to FIG. 5, and redundant descriptions will be omitted. In addition, after deleting information and data, the user terminal 200 may transmit 480 the current location of the user terminal 200 to inform the user of the stolen location.

이와 달리, 상기 도난 신호 발생 여부 판단에 따라 사용자 단말에 대한 도난 신호가 존재하지 않는 경우, 상기 방법은 사용자 단말의 보안 모드 및 저전력 모드를 실행하는 단계(S900) 및 사용자 단말의 위치 정보를 전송하는 단계를 포함할 수 있다(S700).In contrast, when there is no theft signal to the user terminal according to the determination of whether the theft signal has occurred, the method includes executing a security mode and a low power mode of the user terminal (S900) and transmitting location information of the user terminal. It may include a step (S700).

도 7에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)에 보안 모드 신호 및 저전력 모드 신호를 전송(570)할 수 있다. As shown in FIG. 7, the management server 100 may transmit 570 a security mode signal and a low power mode signal to the user terminal 200.

사용자 단말(200)이 보안 모드 상태로 설정된 경우, 사용자 단말(200)을 사용하기 위해 2차 암호가 요구될 수 있다. 여기서 2차 암호는 제1 사용자 단말(200) 또는 제2 사용자 단말(201)에 의해 설정되거나, 미리 설정되어 있는 값일 수 있다. 사용자 단말(200)이 보안 모드 상태 중 인가되지 않은 사용자에 의해 사용자 단말(200)이 실행되고, 2차 암호가 응답되지 않는 경우, 사용자 단말(200)은 단말 내 데이터를 관리 서버(100)에 전송하고 이후 데이터를 사용자 단말(200) 내에서 삭제할 수 있다.When the user terminal 200 is set to a security mode state, a second password may be required to use the user terminal 200. Here, the secondary password may be set by the first user terminal 200 or the second user terminal 201 or may be a preset value. If the user terminal 200 is executed by an unauthorized user during the security mode state and the secondary password is not answered, the user terminal 200 transfers the data in the terminal to the management server 100. After transmission, the data can be deleted in the user terminal 200.

사용자 단말(200)이 저전력 모드로 설정된 경우, 사용자 단말(200)은 단말의 동작 시간을 최대한 확보하기 위해, 사용자 단말(200)의 다양한 동작을 중단시키거나 최소화시킬 수 있다. 예를 들어, 사용자 단말(200)이 표시 장치를 포함하는 경우, 표시 장치의 밝기를 최소화할 수 있으며, 사용자 단말(200)로부터 음향 및 진동이 발생되지 않도록 변경할 수 있다.When the user terminal 200 is set to the low power mode, the user terminal 200 may stop or minimize various operations of the user terminal 200 in order to maximize the operation time of the terminal. For example, when the user terminal 200 includes a display device, the brightness of the display device may be minimized, and sound and vibration may not be generated from the user terminal 200.

또한, 사용자 단말(200)은 정보 및 데이터를 삭제한 뒤, 사용자 단말(200)의 현재 위치를 전송(580)하여 사용자에게 분실 장소를 알릴 수 있다. In addition, after deleting information and data, the user terminal 200 may transmit 580 the current location of the user terminal 200 to inform the user of the lost location.

또는 예를 들어, 상기 제1 사용자 단말로의 상기 보안 모드 신호 및 상기 저전력 모드 신호는 상기 관리 서버가 상기 제2 사용자 단말로부터 식별 코드 정보를 수신한 경우 전송될 수 있고, 상기 식별 코드 정보는 상기 관리 서버가 상기 제2 사용자 단말의 상기 미도난 신호에 응답하여 상기 제1 사용자 단말에 전송한 검증 코드 정보와 대응될 수도 있다. 여기서, 상기 검증 코드 정보 또는 식별 코드 정보는 영문 및 숫자로 구성된 8자리의 코드 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또는 예를 들어, 상기 관리 서버는 상기 제1 사용자 단말로 상기 검증 코드 정보를 전송한 시점으로부터 5분 내에 상기 제2 사용자 단말로부터 상기 식별 코드 정보를 수신하지 못한 경우, 상기 제1 사용자 단말로 새로운 검증 코드 정보를 전송할 수 있으며, 상기 관리 서버는 상기 제2 사용자 단말로부터 상기 새로운 검증 코드 정보에 대응되는 새로운 식별 코드 정보를 10분 내에 수신하지 못한 경우, 상기 제1 사용자 단말을 도난 상태로 판단할 수도 있다. 이를 통해 일 실시예는 제1 사용자 단말이 도난당하지 않은 것을 명확히 파악할 수 있으며, 이에 효과적으로 대응할 수 있다. Or, for example, the security mode signal and the low power mode signal to the first user terminal may be transmitted when the management server receives identification code information from the second user terminal, and the identification code information is The management server may correspond to verification code information transmitted to the first user terminal in response to the non-theft signal from the second user terminal. Here, the verification code information or identification code information may include 8-digit code information composed of English and numbers, but is not limited thereto. Or, for example, if the management server does not receive the identification code information from the second user terminal within 5 minutes from the time when the verification code information is transmitted to the first user terminal, a new Verification code information can be transmitted, and the management server may determine that the first user terminal is in a stolen state when new identification code information corresponding to the new verification code information is not received from the second user terminal within 10 minutes. May be. Through this, in an embodiment, it is possible to clearly identify that the first user terminal has not been stolen, and to respond effectively to this.

상술한 바와 같이, 본 발명의 실시예들에 따르면, 서버 및 사용자 디바이스를 관리하는 방법을 다각화하여, 서버를 관리하는 관리자 및 사용자 디바이스를 이용하는 사용자의 편의를 증대할 수 있다.As described above, according to embodiments of the present invention, it is possible to diversify a method of managing a server and a user device, thereby increasing the convenience of a manager managing a server and a user using a user device.

본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시예는 필요에 따라 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 모든 실시예는 일부분들이 서로 조합되어 관리 서버(100) 및 사용자 단말(200)에 의해 구현될 수 있다.The embodiments of the present invention disclosed in the present specification and drawings are only provided for specific examples to easily explain the technical content of the present invention and to aid understanding of the present invention, and are not intended to limit the scope of the present invention. That is, it is apparent to those of ordinary skill in the art that other modifications based on the technical idea of the present invention can be implemented. In addition, each of the above embodiments can be operated in combination with each other as needed. For example, in all embodiments of the present invention, portions may be combined with each other and implemented by the management server 100 and the user terminal 200.

또한, 본 발명에 따른 관리 서버(100) 및 사용자 단말(200) 등을 제어하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.In addition, the method for controlling the management server 100 and the user terminal 200 according to the present invention may be implemented in the form of program commands that can be executed through various computer means and recorded in a computer-readable medium.

이와 같이, 본 발명의 다양한 실시예들은 특정 관점에서 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 리드 가능 기록 매체의 예들은 읽기 전용 메모리(read only memory: ROM)와, 랜덤-접속 메모리(random access memory: RAM)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(인터넷을 통한 데이터 송신 등)을 포함할 수 있다. 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명의 다양한 실시예들을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.As described above, various embodiments of the present invention may be implemented as computer readable code in a computer readable recording medium from a specific viewpoint. A computer-readable recording medium is any data storage device capable of storing data that can be read by a computer system. Examples of computer-readable recording media include read only memory (ROM), random access memory (RAM), and compact disk-read only memory (CD-ROM). ), magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission over the Internet). The computer readable recording medium can also be distributed through networked computer systems, so that the computer readable code is stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for achieving various embodiments of the present invention can be easily interpreted by experienced programmers in the field to which the present invention is applied.

또한 본 발명의 다양한 실시예들에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 또한 상기 소프트웨어는 클라우드 서버 및/또는 블록체인 서버를 포함하는 하드웨어 모듈에 저장되거나 상기 클라우드 서버 및/또는 블록체인 서버의 기능을 포함하는 소프트웨어 모듈에 저장될 수도 있다. 본 발명의 다양한 실시예들에 따른 방법은 제어부(예를 들어, 제1 및 제2 제어 모듈(110, 210)) 및 메모리를 포함하는 컴퓨터, 데이터 서버 또는 휴대 단말에 의해 구현될 수 있고, 이러한 메모리는 본 발명의 실시예들을 구현하는 명령들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. In addition, it will be appreciated that the apparatus and method according to various embodiments of the present invention can be realized in the form of hardware, software, or a combination of hardware and software. Such software may be, for example, a volatile or nonvolatile storage device such as a storage device such as a ROM, or a memory such as a RAM, memory chip, device or integrated circuit, or For example, it may be optically or magnetically recordable, such as a compact disk (CD), a DVD, a magnetic disk, or a magnetic tape, and stored in a storage medium that can be read by a machine (for example, a computer). In addition, the software may be stored in a hardware module including a cloud server and/or a block chain server, or may be stored in a software module including a function of the cloud server and/or a block chain server. The method according to various embodiments of the present invention may be implemented by a computer, a data server, or a portable terminal including a control unit (eg, first and second control modules 110 and 210) and a memory. It will be appreciated that the memory is an example of a program including instructions for implementing the embodiments of the present invention or a machine-readable storage medium suitable for storing programs.

따라서, 본 발명은 본 명세서의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.Accordingly, the present invention includes a program including a code for implementing the apparatus or method described in the claims of the present specification, and a storage medium readable by a machine (such as a computer) storing such a program. Further, such a program may be transferred electronically through any medium, such as a communication signal transmitted through a wired or wireless connection, and the present invention suitably includes equivalents thereto.

100: 관리 서버 110: 제1 제어 모듈
120: 제1 통신 모듈 130: 제1 입력 모듈
140: 제1 출력 모듈 150: 저장 모듈
200: 사용자 단말, 제1 사용자 단말
201: 제2 사용자 단말 210: 제2 제어 모듈
220: 제2 통신 모듈 230: 제2 입력 모듈
240: 제2 출력 모듈
100: management server 110: first control module
120: first communication module 130: first input module
140: first output module 150: storage module
200: user terminal, first user terminal
201: second user terminal 210: second control module
220: second communication module 230: second input module
240: second output module

Claims (5)

악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 악성코드 탐지 시스템에 있어서,
제1 제어 모듈 및 제1 통신 모듈을 포함하는 관리 서버; 및
제2 제어 모듈 및 상기 제1 통신 모듈과 데이터를 송수신하는 제2 통신 모듈을 포함하는 제1 사용자 단말; 을 포함하고,
상기 관리 서버는,
상기 제1 사용자 단말의 실시간 모니터링을 수행하고,
상기 제1 사용자 단말의 이상 여부가 감지되는 경우 상기 제1 사용자 단말의 악성코드 검사를 수행하며,
상기 제1 제어 모듈은,
검사 파일의 프로파일링 태그 분석을 수행하여 태그 정보를 추출하는 태그 분석부;
상기 검사 파일의 정적 분석을 수행하여 코드 정보를 추출하는 정적 검사부;
상기 검사 파일의 동적 분석을 수행하여 행위 정보를 추출하는 동적 검사부; 및
상기 태그 정보, 상기 코드 정보, 및 상기 행위 정보를 기초로 상기 검사 파일의 위험도를 판단하는 위험도 판단부; 를 포함하고,
상기 악성코드 검사는 상기 태그 분석부, 상기 정적 검사부, 및 상기 동적 검사부 중 적어도 하나와 상기 위험도 판단부에 의해 수행되고,
악성코드 검사 결과에 따라, 상기 제1 사용자 단말에 악성코드가 존재하는 경우,
상기 관리 서버는 상기 제1 사용자 단말의 상기 악성코드를 치료하고,
상기 악성코드가 치료된 후, 상기 관리 서버는 상기 제1 사용자 단말에 데이터 전송 신호 및 데이터 삭제 신호를 전송하고,
상기 제1 사용자 단말은 상기 데이터 전송 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 정보 및 데이터를 상기 관리 서버에 전송하고,
이후 상기 제1 사용자 단말은 상기 데이터 삭제 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 상기 정보 및 상기 데이터를 삭제하고,
악성코드 검사 결과에 따라, 상기 제1 사용자 단말에 악성코드가 존재하지 않는 경우,
상기 제1 사용자 단말은 상기 관리 서버에 악성코드 미발견 신호를 전송하고,
상기 관리 서버는 상기 악성코드 미발견 신호에 응답하여 제2 사용자 단말에 상기 제1 사용자 단말의 도난 여부 확인을 요청하고,
상기 제1 사용자 단말이 도난 상태인 경우, 상기 제2 사용자 단말은 상기 관리 서버에 도난 신호를 전송하고,
상기 관리 서버는 상기 도난 신호에 응답하여 상기 제1 사용자 단말에 데이터 전송 신호 및 데이터 삭제 신호를 전송하고,
상기 제1 사용자 단말은,
상기 데이터 전송 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 정보 및 데이터를 상기 관리 서버에 전송하고,
이후, 상기 데이터 삭제 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 상기 정보 및 상기 데이터를 삭제하고,
상기 제1 사용자 단말은 상기 관리 서버 및 상기 제2 사용자 단말에 상기 제1 사용자 단말의 현재 위치를 전송하고,
상기 제1 사용자 단말이 도난 상태가 아닌 경우, 상기 제2 사용자 단말은 상기 관리 서버에 미도난 신호를 전송하고,
상기 관리 서버는 상기 미도난 신호에 응답하여 상기 제1 사용자 단말에 보안 모드 신호 및 저전력 모드 신호를 전송하고,
상기 제1 사용자 단말은,
상기 보안 모드 신호에 응답하여 상기 관리 서버 또는 상기 제2 사용자 단말에 의해 설정되거나 미리 설정된 2차 암호로 잠금되고,
상기 저전력 모드 신호에 응답하여 상기 제1 사용자 단말의 전력 소모를 최소화하고,
상기 위험도 판단부는 상기 태그 정보, 상기 코드 정보, 및 상기 행위 정보로 구성되는 학습 데이터에 의해 기계 학습(machine learning)을 수행하는 악성코드 탐지 시스템.
In a malicious code detection system that performs malicious code monitoring and user terminal control functions,
A management server including a first control module and a first communication module; And
A first user terminal including a second control module and a second communication module for transmitting and receiving data to and from the first communication module; Including,
The management server,
Perform real-time monitoring of the first user terminal,
When it is detected whether the first user terminal is abnormal, performs a malicious code inspection of the first user terminal,
The first control module,
A tag analysis unit for extracting tag information by performing profiling tag analysis of the inspection file;
A static inspection unit for extracting code information by performing static analysis of the inspection file;
A dynamic inspection unit for extracting behavior information by performing dynamic analysis of the inspection file; And
A risk level determination unit determining a risk level of the inspection file based on the tag information, the code information, and the behavior information; Including,
The malicious code inspection is performed by at least one of the tag analysis unit, the static inspection unit, and the dynamic inspection unit and the risk level determination unit,
According to the malicious code inspection result, if the malicious code is present in the first user terminal,
The management server treats the malicious code of the first user terminal,
After the malicious code is cured, the management server transmits a data transmission signal and a data deletion signal to the first user terminal,
The first user terminal transmits the information and data stored in the first user terminal to the management server in response to the data transmission signal,
Thereafter, the first user terminal deletes the information and the data stored in the first user terminal in response to the data deletion signal,
If there is no malicious code in the first user terminal according to the result of the malicious code inspection,
The first user terminal transmits a malicious code not found signal to the management server,
The management server requests a second user terminal to check whether the first user terminal is stolen in response to the malicious code not found signal,
When the first user terminal is in a stolen state, the second user terminal transmits a theft signal to the management server,
The management server transmits a data transmission signal and a data deletion signal to the first user terminal in response to the theft signal,
The first user terminal,
In response to the data transmission signal, information and data stored in the first user terminal are transmitted to the management server,
Thereafter, in response to the data deletion signal, the information and the data stored in the first user terminal are deleted,
The first user terminal transmits the current location of the first user terminal to the management server and the second user terminal,
When the first user terminal is not in a stolen state, the second user terminal transmits a non-theft signal to the management server,
The management server transmits a security mode signal and a low power mode signal to the first user terminal in response to the non-theft signal,
The first user terminal,
Locked with a secondary password set in advance or set by the management server or the second user terminal in response to the security mode signal,
Minimizing power consumption of the first user terminal in response to the low power mode signal,
The risk determination unit performs machine learning based on learning data composed of the tag information, the code information, and the behavior information.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020200101809A 2020-08-13 2020-08-13 A malware detecting system performing monitoring of malware and controlling a device of user Active KR102180098B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200101809A KR102180098B1 (en) 2020-08-13 2020-08-13 A malware detecting system performing monitoring of malware and controlling a device of user

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200101809A KR102180098B1 (en) 2020-08-13 2020-08-13 A malware detecting system performing monitoring of malware and controlling a device of user

Publications (1)

Publication Number Publication Date
KR102180098B1 true KR102180098B1 (en) 2020-11-17

Family

ID=73642497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200101809A Active KR102180098B1 (en) 2020-08-13 2020-08-13 A malware detecting system performing monitoring of malware and controlling a device of user

Country Status (1)

Country Link
KR (1) KR102180098B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220165073A (en) 2021-06-07 2022-12-14 숭실대학교산학협력단 Method for on-device android malware detection using transfer learning based adaptive model, recording medium and device for performing the method
KR102517057B1 (en) * 2021-11-12 2023-04-03 주식회사 시큐어링크 Detecting apparatus of evasion type malicious code for virtualization system based on artificial intelligence using integrated features
KR20230066754A (en) * 2021-11-08 2023-05-16 주식회사 발카리 Distributed endpoint security method using blockchain technology and device thereof
KR20230097974A (en) * 2021-12-24 2023-07-03 박승필 System and method to support detection, analysis, and training of cyber threat information
WO2025116601A1 (en) * 2023-11-30 2025-06-05 주식회사 유에이치엠소프트 Smart phone protection system and method using mdm when detecting ransomware
KR20250082999A (en) * 2023-11-30 2025-06-09 주식회사 유에이치엠소프트 The Smart Phone Protection System And Method Using MDM when detecting Ransomware

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030117316A1 (en) * 2001-12-21 2003-06-26 Steve Tischer Systems and methods for locating and tracking a wireless device
JP2009217556A (en) * 2008-03-11 2009-09-24 Nec Personal Products Co Ltd Information processing system, information terminal, and program
KR20130075430A (en) * 2011-12-27 2013-07-05 주식회사 안랩 Object data backup apparatus and backup server
KR20150124020A (en) * 2014-04-25 2015-11-05 (주) 세인트 시큐리티 System and method for setting malware identification tag, and system for searching malware using malware identification tag
KR101880686B1 (en) * 2018-02-28 2018-07-20 에스지에이솔루션즈 주식회사 A malware code detecting system based on AI(Artificial Intelligence) deep learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030117316A1 (en) * 2001-12-21 2003-06-26 Steve Tischer Systems and methods for locating and tracking a wireless device
JP2009217556A (en) * 2008-03-11 2009-09-24 Nec Personal Products Co Ltd Information processing system, information terminal, and program
KR20130075430A (en) * 2011-12-27 2013-07-05 주식회사 안랩 Object data backup apparatus and backup server
KR20150124020A (en) * 2014-04-25 2015-11-05 (주) 세인트 시큐리티 System and method for setting malware identification tag, and system for searching malware using malware identification tag
KR101880686B1 (en) * 2018-02-28 2018-07-20 에스지에이솔루션즈 주식회사 A malware code detecting system based on AI(Artificial Intelligence) deep learning

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220165073A (en) 2021-06-07 2022-12-14 숭실대학교산학협력단 Method for on-device android malware detection using transfer learning based adaptive model, recording medium and device for performing the method
US12248571B2 (en) 2021-06-07 2025-03-11 Foundation Of Soongsil University-Industry Cooperation On-device android malware detection method based on adaptive model through transfer learning, and recording medium and apparatus for performing the same
KR20230066754A (en) * 2021-11-08 2023-05-16 주식회사 발카리 Distributed endpoint security method using blockchain technology and device thereof
KR102574384B1 (en) * 2021-11-08 2023-09-04 주식회사 발카리 Distributed endpoint security method using blockchain technology and device thereof
KR102517057B1 (en) * 2021-11-12 2023-04-03 주식회사 시큐어링크 Detecting apparatus of evasion type malicious code for virtualization system based on artificial intelligence using integrated features
WO2023085476A1 (en) * 2021-11-12 2023-05-19 주식회사 시큐어링크 Device for detecting virtualization system-avoiding malicious code on basis of integrated characteristic artificial intelligence
KR20230097974A (en) * 2021-12-24 2023-07-03 박승필 System and method to support detection, analysis, and training of cyber threat information
KR102681411B1 (en) * 2021-12-24 2024-07-05 박승필 System and method to support detection, analysis, and training of cyber threat information
WO2025116601A1 (en) * 2023-11-30 2025-06-05 주식회사 유에이치엠소프트 Smart phone protection system and method using mdm when detecting ransomware
KR20250082999A (en) * 2023-11-30 2025-06-09 주식회사 유에이치엠소프트 The Smart Phone Protection System And Method Using MDM when detecting Ransomware
KR102838893B1 (en) * 2023-11-30 2025-07-28 주식회사 유에이치엠소프트 The Smart Phone Protection System And Method Using MDM when detecting Ransomware

Similar Documents

Publication Publication Date Title
KR102180098B1 (en) A malware detecting system performing monitoring of malware and controlling a device of user
CN111931166B (en) Application anti-attack method and system based on code injection and behavior analysis
CN104766011B (en) The sandbox detection alarm method and system of Intrusion Detection based on host feature
CN102651061B (en) System and method of protecting computing device from malicious objects using complex infection schemes
US7934261B1 (en) On-demand cleanup system
US10986103B2 (en) Signal tokens indicative of malware
US10783239B2 (en) System, method, and apparatus for computer security
US8640233B2 (en) Environmental imaging
US10142343B2 (en) Unauthorized access detecting system and unauthorized access detecting method
US10033761B2 (en) System and method for monitoring falsification of content after detection of unauthorized access
CN107463841B (en) System and method for detecting malicious computer systems
RU2750628C2 (en) System and method for determining the file trust level
WO2017071148A1 (en) Cloud computing platform-based intelligent defense system
CN116340943A (en) Application program protection method, device, equipment, storage medium and program product
Bhuiyan et al. API vulnerabilities: Current status and dependencies
Jang et al. Function‐Oriented Mobile Malware Analysis as First Aid
KR20160090566A (en) Apparatus and method for detecting APK malware filter using valid market data
KR102177223B1 (en) Server and system for performing mornitoring of malware
Shibija et al. A machine learning approach to the detection and analysis of android malicious apps
US11763004B1 (en) System and method for bootkit detection
Aneja et al. Malware Mobile Application Detection Using Blockchain and Machine Learning
EP3252645A1 (en) System and method of detecting malicious computer systems
Dua et al. Review on mobile threats and detection techniques
US20250272396A1 (en) Placement location selection device, placement location selection method, and non-transitory computer readable medium
US20240354406A1 (en) Malicious pattern matching using graph neural networks

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200813

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20200825

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20200813

Patent event code: PA03021R01I

Comment text: Patent Application

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20201106

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20201111

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20201111

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20231102

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20240820

Start annual number: 5

End annual number: 5

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载